tee***
2019-08-07

이 책은 딥러닝 알고리즘의 원리를 깊숙이 이해하고 이를 파이썬 코딩만으로 구현하는 데 주안점을 둔다. 이를 위해 가장 간단한 신경망 구조부터 복잡한 응용 구조까지 다양한 딥러닝 신경망 예제의 실제 구현 과정을 소개한다.
개인적으로 구글이 만든 딥러닝 프레임워크인 텐서플로로 딥러닝에 입문했다. 수학 포기자, 통계 포기자여서 텐서플로를 이해하기는 쉽지 않았다. 상위 딥러닝 프레임워크인 케라스로 넘어갔다. 텐서플로는 백그라운드 엔진으로만 박아두고, 그 위에 래핑을 한 번 더 했기 때문에 그나마 할만했다. 원래도 길지 않은 딥러닝 코딩이 더 짧아졌다. 예제 정도는 가볍게 돌릴 수 있었다. 그렇지만 딥러닝을 제대로 이해하는 데는 오히려 멀어졌다는 느낌이 들었다. 아마 선형대수와 미적분을 제대로 알지 못하기 때문일 거다.
이 책은 두껍다. 무려 700페이지에 달한다. 저자는 교수 출신으로 오랜 기간 데이터 전문 기업에서 재직하고 있다. 그래서 이론과 실제를 모두 아는 것 같다. 본문의 설명 하나하나가 친절한 동시에 명확하다. 학자로서 이론의 정확성과 현업 실무자로서의 어려운 점을 모두 고려했다고 보인다. 문체도 부드럽다. 코드도 대중적인 주피터 노트북으로 한 줄씩 풀어준다. 예제도 캐글 데이터셋이나 실제 대용량 데이터를 수집해서 돌리기 때문에 수준급이다.
이 책은 입문서의 탈을 쓰고 있지만, 냉정하게 말하자면 딥러닝 실무자를 위한 책이다. 수학/통계/머신러닝의 백그라운드가 상당히 있는 사람만 이 책으로 딥러닝 입문이 가능할 거다. 비슷한 컨셉으로 대히트를 친 <밑바닥부터 시작하는 딥러닝>, <밑바닥부터 시작하는 딥러닝2> 보다는 내용이 훨씬 깊다. 수식도 많이 나온다. 그렇지만 고생하는 만큼 깊이 있는 이해를 이끄는 책이다. 딥러닝을 구조부터 제대로 공부하고 싶은 사람에게 교과서가 되어줄만 하다.
도서를 한장씩 넘겨가면서 예전에 보던 <오라클 성능 고도화 원리와 해법> 같은 책이라는 생각이 들었다. 누구나 오라클을 어렵지 않게 사용하지만, 오라클의 구조와 성능을 제대로 이해하는 것은 많은 공부가 필요하다. 딥러닝 분야에서도 이 같은 실무자를 위한 책이 필요했다. 딥러닝의 기반이 되는 내부 동작 구조가 항상 궁금했던 사람이라면 이 악물고 도전해볼만 하다. 책에 실린 어느 교수님의 추천평처럼 '깊은 이론적 배경지식 없이도 쉽고 빠르게 인공지능 기술을 활용'하기는 어렵겠지만 말이다.