딥러닝 스터디를 하면서 관련 서적이나 온라인 자료를 많이 접하고 있다. 이전에 한빛미디어의 이벤트에 응모한 적이 있는데 생각지도 않게 이벤트에 당첨이 되어 책을 몇 권 받게 되었다. 그 중 한권이 바로 이 책이다. TensorFlow를 이용하면 딥러닝을 정말 믿을 수 없이 간단하게 구성할 수 있지만, 공대생이라면 추상화된 라이브러리 뒤에서 어떠 일이 일어나고 있는지 궁금하기 마련이다. 이 책은 그런 궁금증이 있는 사람들을 위한 책이다. 머신 러닝 입문자라면, 딥러닝 첫걸음, 김성훈 교수님의 모두를 위한 머신러닝을 배운 뒤에 읽으면 좋을 것 같다.

나는 책을 읽을 때 머릿말을 꼭 먼저 읽는 편인데, 저자와 역자의 의도나 책의 구성에 대해서 이해할 수 있기 때문이다. 역자가 정말 친절하다. 딥러닝 분야에서 용어 간 번역에 대해 통일된 것이 아직 없는데, 역자가 친절히 용어정리를 해서 제공하고 있다. 그리고 중요한 용어의 경우는 역자가 각주를 달아 다른 문헌에서는 어떻게 번역하고 있는지 알려준다. 이뿐만 아니라, 딥러닝을 배우는데 도움이 되는 로드맵도 제공하고 있다. '딥러닝 첫걸음'을 읽으면서 불만이었던 부분을 해소해주고 있어서 정말 마음에 드는 부분이었다.

이 책은 입문서로서는 상당히 자세하게 이론에 대해서 설명하고 있다. 특히, 6장에서는 학습 관련 기술들을 소개하고 있는데 매개변수 최적화 방법(SGD, Momentum, AdaGrad, Adam), 매개변수 초기화 방법(Xavier, He method), 오버피팅 방지법(Weight decay, drop-out), 하이퍼파라미터 최적화 방법 네가지로 분류하여 직관적으로 이해할 수 있도록 설명하고 있다. 더 구체적인 설명은 레퍼런스 논문들을 참고하면 될 것 같다.

매개변수 최적화 방식 비교

가장 마음에 들었던 챕터는 5장이다. Backpropagation 방법을 그래프 계산으로 설명하고 있는데 편미분으로 식을 유도하는 것보다 쉽고 재미있었다. 식이 복잡해도 '국소적 연산'이라는 것에 주목하면 Backpropagation을 쉽게 유도해낼 수 있다는 것이 인상적이었다. TensorFlow의 신경망은 TensorBoard를 통해 시각화하여 확인할 수 있는데, 이 신경망의 모습이 Graph 계산식의 모습과 유사했다. 이 둘을 비교하며 공부하면 더 재미있을 것이다.

그래프 계산식 예제

TensorBoard를 통해 시각화한 신경망

마지막 장인 8장에서는 Vision분야의 응용기술 및 최신 머신러닝 트렌드를 소개한다. 학습자와 평가자 두 모델을 경쟁적으로 학습시키는 기술(DCGAN)이 인상적이었다. 예제로 침실 이미지를 생성해주는 신경망이 나왔는데, 실제로 존재하는 장소라고 믿을만큼 그럴듯한 결과가 나왔다. 기존 머신러닝에서 허들이 되는 부분 중 하나가 대량의 정답셋 생성이었는데, 이 분야가 잘 연구된다면 머신러닝이 더 부흥하게 될 것 같다.

이 책은 '진지한' 학습자를 위한 딥러닝 입문서이다. 이 책을 읽기 전에 머신러닝에 대해 나름 잘 알고있다고 착각하고 있었다. 배우면 배울수록 모르는게 많아진다는 것을 새삼 느끼게 해주는 책이었다. 딥러닝을 배우고자 하는 모든 사람들에게 추천해주고 싶다.