AI 기술의 비약적 발전으로 AI가 직접 프로그래밍하는 시대가 되었습니다. 오픈 AI는 새 AI 모델 ‘o3’를 공개했고, 마이크로소프트는 ‘코파일럿 프리’를, 구글은 ‘줄스’를 출시했습니다. 이 중에서 o3는 프로그래밍 대회인 코드포스에서 상위 0.2% 수준의 실력을 보여주었다고 합니다. 이는 세계 최고 수준의 개발자와 비슷한 수준이라는 뜻입니다. AI가 생성해 내는 코드의 수준은 주니어 개발자를 대체할 수 있을 정도까지 발전했습니다. 개발자는 과연 AI와의 경쟁에서 살아남을 수 있을까요? 좀 더 솔직하게 말해 봅시다. 지금까지 AI가 대체할 수 있는 수준의 일 위주로 쉽게 살아온 건 아닐까요?

이전 모델인 o1보다 훨씬 뛰어난 성능을 보인다. (출처: open AI)
이런 상황에서는 이런 방법이 잘 먹힌다는 사실을 이해보다는 경험으로, 또는 남들의 경험을 공유받아 문제를 해결하는 방법. 보통 이를 ‘노하우’ 또는 ‘짬밥’이라고 말합니다. 그런데 수많은 문제 해결 사례를 참조해서 노하우를 정리하는 일은 AI의 장기입니다. 사람이 이 방식에서 AI를 능가할 수 있을까요? 이제 개발자는 AI에게는 없는 능력, 즉 근본을 이해하는 능력을 갖추어야 살아남을 수 있습니다. 그런데 생각보다 기본 개념이나 기법을 제대로 갖추지 못한 사람이 의외로 많습니다.
다음의 면접 상황을 살펴봅시다. 이 질문에 대한 답이 정확한 것일까요? 아니면 다른 답이 있을까요?
질문: 모델을 학습할 때 목표 함수를 likelihood 형태가 아닌 log likelihood 형태를 선택해서 최적화의 대상으로 삼는 경우를 많이 봅니다. 그 이유는 무엇인가요?
답변: 로그를 취하면 목표 함수가 함수곱의 형태에서 함수합의 형태로 바뀌게 됩니다.
질문: 그렇게 형태가 바뀌면 학습할 때 뭐가 좋아지나요?
답변: 확률값은 1 이하의 작은 숫자인데 이 작은 숫자들을 반복적으로 곱하면 언더플로(underflow) 문제를 야기할 수 있습니다. 반면 로그 확률 간의 덧셈은 이 문제를 피해갈 수 있습니다. 게다가 로그를 취하면 확률값의 범위가 0과 1 사이에서 -∞와 0 사이로 확대되어 수치의 변별력이 좋아집니다. 다이내믹 레인지(dynamic range)가 좋아진다고도 표현하죠. 즉, 큰 값을 다루게 되어 손실값이 크게 나오고 이는 학습의 효과를 높입니다.
저 답변이 완전히 틀렸다고는 할 수는 없습니다. 하지만 중요한 본질이 빠진 답변입니다. 목표 함수가 특정한 형태를 띠는 이유는 단순히 계산의 안전성이나 효율 문제 때문만은 아닙니다(정답은 책을 확인하세요!!).
실무에서 많이 사용하는 익숙한 개념과 기법들이지만 왜 사용하는지, 어떤 경우에 사용하는지 묻는다면 제대로 설명할 수 있을까요? 《머신 러닝 마스터 클래스: 기본기를 바로잡는 9가지 레슨》은 저자인 민재식님이 10여 년간 네이버, 현대자동차 등의 채용 면접에 면접관으로 참여하면서 생각보다 많은 개발자가 기초 개념에 대한 정확한 이해가 부족하다는 점을 알게 되었고, 여기에 문제의식을 느껴 집필한 책입니다. 이 책에서는 모델 설계나 학습에 필요한 기초 개념을 확실하게 정리하고 모델 설계와 실제 학습, 평가 단계별로 중요한 포인트를 짚어 줍니다. 이에 더해 AI를 더 잘 이해하기 위해 알아야 할 고차원 공간의 특성, AI의 대표적 문제점으로 꼽히는 AI 할루시네이션에 관한 이야기도 담고 있습니다.
이 책은 딥러닝과 머신 러닝 업무에 종사하거나 이 분야를 공부하는 사람들 중 입문 과정은 마친 사람을 위한 책입니다. 그중에서도 토대가 되는 개념을 제대로 익힐 기회가 없던 사람들이 타깃입니다. 머신 러닝 기본 개념에 대한 허술한 이해를 보강하고 서로 연결하는, 지식의 질적 성장을 목표로 합니다.
AI도 결국 개발자가 만드는 것입니다. AI가 신뢰도 높은 결과를 내놓으려면 제대로 된 이해를 바탕으로 한 모델 설계와 학습이 전제되어야 합니다. 그리고 신뢰도 높은 AI를 활용해 AI가 더 잘 할 수 있는 일은 AI에게 맡기고, 사람은 더 깊은 고찰이 필요한 일을 하는 것이 가장 바람직한 AI 활용법이 아닐까요? 《머신 러닝 마스터 클래스: 기본기를 바로잡는 9가지 레슨》을 통해 익숙하지만 이해가 부족했던 개념들을 바로잡고, 상황에 맞게 응용하는 능력을 키울 수 있습니다.
[이 책에서 다루는 내용]
- 기계에게 상식적 판단 능력 부여하는 방법
- 확률 분포의 해석과 비교, 상황에 맞는 확률 분포 만드는 방법
- 분포를 가정해야 할 때 가우시안 분포를 가정하는 이유
- 손실 함수에 학습 규제를 더하기 형태로 반영하는 이유
- 오버피팅의 발생 이유와 방지법
- 고차원 공간에서 신경써야 할 것들/ 신경쓸 필요 없는 것들
AI 프로젝트를 진행하다 보면 늘 이런 고민이 생깁니다.
“왜 우리는 항상 남이 만들어 놓은 기술에 의존해야 하지?”
“우리 문제는 우리 방식으로 풀 수 없는 걸까?”
이 질문은 단순히 기술적인 목마름이 아니라, 진짜 문제 해결자로 성장하고 싶은 모든 AI 엔지니어에게 던져진 숙제입니다. 우리는 캐글(Kaggle) 대회에서 점수를 올리려는 게 아니라, 현업의 복잡한 문제를 풀어야 합니다. 하지만 현실은 최신 논문을 재현하거나 빅테크가 제공하는 툴로 문제를 해결하는 데 그치고 있죠.
《머신 러닝 마스터 클래스》는 그런 갈증에 대한 해답을 제시합니다. 단순히 기술적인 스킬이나 최신 트렌드를 나열하는 책이 아닙니다. 문제를 정의하고, 본질을 이해하고, 창의적으로 해결하는 방법을 알려 주는 책입니다. EMD를 써야 하는 이유, 고차원 공간에서 불필요한 거리 계산으로 싸우지 말아야 하는 이유, Log Likelihood나 크로스 엔트로피의 근본적 의미 등, 수식과 알고리즘의 ‘이유’를 짚어 줍니다.
이 책은 한 번 읽고 끝나는 책이 아닙니다. 한 번 읽고 생각하고, 다시 읽으면서 새롭게 깨달음을 얻을 수 있는 책입니다. 그 과정에서 여러분은 단순한 코더가 아닌 문제 해결자로 성장할 것입니다.
특히 주니어 엔지니어에게 강력히 추천합니다. 단순히 기술을 따라 하는 수준에서 벗어나 자신만의 방식으로 문제를 풀어 가는 진짜 엔지니어로 성장하고 싶다면, 이 책을 반드시 읽어 보세요. 다 읽고 나면 문제 해결에 대해 근본적인 원인들을 고민하고 있는 자신을 발견하게 될 것입니다.
– 박근한, 현대자동차 ICT본부 머신러닝랩 상무
모든 길은 인공 지능으로 통하는 시대가 도래했습니다. 머지않은 미래에는 인공 지능을 잘 활용하는 사람들이 그렇지 않은 사람들을 대체하게 될 것입니다. 인공 지능과 함께 일하는 시대에 인공 지능이 만든 결과를 얼마나 믿을 수 있을까? 어떻게 하면 인공 지능을 더 강력하면서 나에게 맞는 도구로 만들 수 있을까? 이 물음에 대한 답을 얻으려면 데이터 중심의 기계 학습에 대한 이해가 중요하고 이 책은 바로 그 해답을 제공합니다. 일반적인 인공 지능 활용을 넘어 진정한 전문가가 되기를 원하는 분들이라면 이 책의 일독을 적극 권합니다.
– 하정우, 네이버 클라우드 AI Innovation 센터장
인공 지능은 수많은 개념들이 복잡하게 얽혀 있어서 단편적으로 이해하거나 잘못 이해하는 경우가 많습니다. 그런 분들께 이 책은 자상한 비서 역할을 할 것입니다. 핵심 개념들을 딱딱하지 않고 재미있게 풀어내어 전체 큰 흐름을 이해하면서 개념을 정립하게 도와줍니다. 과거 면접관으로 참여하여 인재를 구분하기 위한 질문을 선별할 때 저자의 통찰을 참고한 경우가 많았습니다. 여러분도 이 책을 통해 핵심 개념을 명확히 갖춘 통찰력 있는 인재가 되길 바랍니다.
– 임준호, LG에너지솔루션 AI빅데이터그룹 AI기술팀 리더
이 책은 저자의 뛰어난 전문성과 삶에 대한 여유가 자연스럽게 배어 있습니다. 십 년 넘는 기간 동안 네이버, 현대자동차에서 진행한 다양한 프로젝트 경험이 녹아 있고, 어려운 기술도 저자 특유의 은유와 촌철살인의 비유를 곁들여 설명하고 있어서 독자들은 단순한 기술 지식 이상의 것을 얻을 수 있습니다. 이 책은 컴퓨터 비전 분야와 기계 학습에 관심 있는 모든 이에게 필독서가 될 것입니다.
– 김준석, 한화생명 AI실 상무
《머신 러닝 마스터 클래스: 기본기를 바로잡는 9가지 레슨》은 다음 서점에서 구입하실 수 있습니다.