한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.
책에 대한 리뷰를 작성하는 것이 처음이지만 글을 살펴보면서 느낀 것은 과연 이 책이 나에게 맞는 책일까? 라는 고민이었습니다. 다른 사람들이 좋다고 추천한 책이지만 나에겐 맞지 않아 책꽂이에서 먼지만 쌓이는 책이 한 두권쯤은 있을 것입니다. 한빛미디어를 통해 리뷰어 활동을 하는 동안 이 책을 읽어보면서 어떤 독자들이 읽었으면 좋은지, 이 책이 다른 책들과 어떤 차이점이 있는지 등을 이야기해보려고 합니다. 나에게 적합한 책인지 판단하는데 도움이 되었으면 좋겠습니다.
1. 대상 독자
이 책은 Computer Vision을 공부하고자 하는 입문자에게 도움이 될만한 책이라고 할 수 있을 것 같습니다. 특히, 모든 코드가 Tensorflow, Keras로 작성되어 있어, 해당 프레임워크에 익숙하신 분들에게 추천드립니다. 딥러닝을 공부하기 위해 기초가 되는 지식들을 1부에서 주로 다루고 있으며, 2부에서는 CNN에서 굵직한 모델들과 우리가 가진 데이터로 전이 학습하는 방법, 객체 탐지 모델을 다룹니다. 3부에서는 생성 모델에 대한 내용을 주로 다루고 있습니다. 어느 정도 인공지능에 대해서 공부하신 분이라면 1부와 2부는 빠르게 읽어 내려가실 수 있을 것 같습니다.
2. 이 책의 장점
1) 친절하게 작성된 주석
개인적으로 가장 눈에 들어왔던 부분인데, 저도 처음에 인공지능을 공부하면서 느꼈던 어려움은 각 코드의 내용이 어떤 것을 뜻하는 지 바로바로 알기가 어려웠습니다. 그래서 직접 shape를 찍어보거나 어떻게 동작하는지 디버깅하는 과정을 겪었는데, 위의 사진처럼 각 코드에 주석으로 설명을 작성해둬서 처음 공부하시는 분들에게 도움이 될 수 있을 것 같습니다.
2) 따라하기 쉽게 작성된 실습
이 책에서 두 번째로 좋았던 점은 프로젝트를 단계별로 나눠서 각 단계에 필요한 코드와 설명을 나눠 놓았다는 점입니다. 전체적인 프로세스에 대해서 이해하기도 편하다고 느꼈습니다.
3) 시나리오별 대처방법
직접 데이터를 학습하다 보면 다양한 문제에 부딪히게 되는데 이러한 부분들을 시나리오로 표현하여 어떤 문제가 발생할 수 있으며, 어떻게 대처하는 것이 좋은지 설명하고 있습니다. 처음 공부하는 사람들이라면 자신의 상황에서 발생할 수 있는 문제들에 대해 고민할 수 있을 것 같습니다.
3. 이 책의 아쉬운 점
1) 불필요한 내용도 번역하는 문제
번역하지 않고 영어 그대로 쓰는 것이 더 자연스러운 경우가 있는데, 거의 모든 단어를 번역하다 보니 한글로 봤을 때 어색한 부분은 어쩔 수 없는 것 같습니다. 그래도 통계학으로 배우는 머신러닝 번역본에 비하면 번역 퀄리티는 좋습니다.
2) 최신 모델에 대한 내용
워낙 인공지능 분야가 빠르게 바뀌다보니, 최신에는 Computer Vision 분야에서도 Transformer 계열의 모델을 많이 활용하고 있습니다. 이 책에서는 CNN을 주로 다루고 있고, 기본적인 CNN 모델도 Resnet까지 구현하고 있어서 아쉽습니다. 객체 인식에서도 Object detection을 주로 언급하고 있어서 Semantic Segmentation에 대한 내용도 부족한 부분은 아쉬운 것 같습니다.
4. 총평
Computer Vision에 대해 공부하고 싶은 Keras 입문자에게 추천하는 책! 객체 인식과 생성 모델에 대해 궁금하시다면 읽어보시는 것 추천드립니다. 어느 정도 인공지능을 공부하신 분이라면 다른 책으로 깊이 있는 공부를 해보기를 추천드립니다. 참고적으로 AWS EC2를 활용하는 방법도 포함되어 있으니, End-to-End 프로젝트를 진행하신다면 한번 참고하셔서 공부하시는 것도 좋을 것 같습니다.