오렐리앙 제롱 지음
박해선 옮김
rickiepark/handson-ml2: 핸즈온 머신러닝 2/E의 주피터 노트북 (github.com)
내가 강의할 때 쓰는 책이다. 먼저 강의 용도로 말하자면 120시간 강의를 해도 다 설명하지 못할 정도로 내용이 방대하기 때문에 시간 걱정할 필요가 없다는 게 장점이다. 책에 있는 내용 전부 다 코랩에서 실행 가능하고, 소스 코드를 전부 깃허브로 오픈했기 때문에 수강생들이 공부하기도 편하다.
딥러닝에 대한 학문 체계를 살펴보면 인공지능 > 패턴인식 > 머신러닝 > 신경망 > 딥러닝 순으로 되어 있다. 여기서 골치아픈 통계와 확률을 다루는 패턴인식은 건너뛰고 현실적으로 딥러닝에 쓰일만한 요소들만 모아서 머신러닝을 설명한다. 그리고 고전이라고 할 수 있는 SVM, 앙상블, 클러스터링, PCA 를 소개하고 딥러닝으로 넘어간다. 딥러닝 파트에서는 텐서플로우-케라스를 기반으로 하여 영상처리, 시계열처리, 인코더-GAN, 강화학습 까지 충분한 범위의 주제들을 고루 다루고 있다.
이 책은 풀스택 개발자에게 좋다. 여기서 풀스택이란 연구에서부터 응용개발까지 아우른다는 뜻이다. 단순 사용자가 아닌 연구자를 위해 머신러닝의 기본 개념에서부터 차근차근 설명하는 책이며 나름 골치아픈 수식과 그림이 등장한다. 소스코드도 단순 사용자를 위한 것이 아니기 때문에 API 사용법을 친절하게 보여주는 것이 아니라 원하는 연구 방향대로 커스터마이징을 할 수 있도록 상당한 수준의 로우 레벨까지 커버한다.
저자는 어떻게든 방대한 머신러닝과 딥러닝의 세계를 한 권의 책, 900여 페이지에 담아보려 했다. 다양한 내용을 담고 있다보니 개별 항목에서는 다소 불친절한 부부이 있다. 기본적인 수학적 사고와 바탕은 갖추어야 혼자서 공부가 수월할 것이다. 기초적인 선형대는 할 줄 알아야 하고, 넘파이는 좀 해야 한다. 판다스는 몰라도 큰 지장이 없다. 이런 류의 책은 처음부터 끝까지 다 이해하기는 좀 어렵다. 그러나 소스를 실행해보면서 천천히 발을 담궈보기에는 매우 좋다. 누군가는 이렇게 말했다, '어려운 내용은 없다, 어려운 설명이 있을 뿐이다'. 그러나 나는 이렇게 말하고 싶다, '나의 부족함을 가지고 저자에게 화풀이하지 말라'. 이해할 수 있는 만큼만 이해하고 나머지는 내버려둔다 해도 책은 책으로서의 가치를 다 한 것이다.
기초가 부족한 사람들은 깃허브에 올려진 추가 내용을 보면 좋다. 넘파이와 판다스를 집중 공부할 수 있는 예제가 실려있다. 심지어는 자동미분에 대한 내용도 보충설명이 되어 있다.
박해선 선생님이 책을 번역한 것도 모자라서 깃허브 소스코드도 번역해놨다. (2판 추가 부분은 번역이 안 되어 있음) 직접 촬영해주신 강의 동영상도 있다. 공부하기 너무 좋다.