[도서 리뷰] 파이썬 날코딩으로 알고 짜는 딥러닝
이 리뷰는 한빛미디어의 나는 리뷰어다 이벤트를 통해 책을 제공받아 작성했습니다.
머신러닝, 딥러닝 알고리즘을 사용하다보면 내부를 이해하지 못한채 사용할 때가 종종있다. 일단 사용하고는 보지만 내부 알고리즘을 이해하고 사용하면 각각의 파라메터 옵션이 어떤 것을 의미하고 좀 더 좋은 성능을 낼 수 있도록 작성할 수 있을 것이다.
이미 잘 만들어진 알고리즘을 사용하더라도 파이썬의 자기호출 기능 등을 사용하면 소스코드를 볼 수도 있지만 라이브러리에 따라 소스코드 보기가 제공되지 않을 때도 있다.
또, 딥러닝을 이론적으로 학습하고 라이브러리를 통해 배우다보면 원리를 이해하기 어렵기도 한데 이 책은 한줄한줄 작성하며 코드를 이해할 수 있도록 되어 있다.
또, 가장 중요한 부분이 소스코드가 잘 공개되어 있는지에 대한 것이 중요한데, 아래의 URL에서 이 책의 소스코드를 확인할 수 있다. KONANtechnology/Academy.ALZZA: 교재 연습을 위한 자료를 다운받으실 수 있습니다.
전복 데이터를 불러와 학습, 데이터세트를 나누고 순전파, 역전파 함수를 정의한 후 정확도를 계산해 보는 코드다.
프로그래밍 책은 코드를 돌려보면서 읽는게 가장 좋다고 생각하는데 바로 돌려볼 수 있도록 실습 코드가 잘 작성되어 있다. 수치계산은 대부분 NumPy를 사용하는데 이 책을 읽을 때 NumPy에 대한 기본적인 이해를 필요로 한다. 이런 수치계산에 대한 설명은 책에서 자세한 수식과 함께 친절하게 설명을 해주고 있으나 어느정도 난이도는 있는 편이다. 처음부터 딥러닝을 이 책으로 공부하는 것도 좋겠지만 나 처럼 라이브러리를 사용하다가 이 책을 보면 그동안 궁금했던 내용들을 해소할 수 있기도 했다. 어떤 방식이든 딥러닝을 밑바닥부터 이해하고 학습해 볼 수 있는 좋은 책이다.
그리고 중요한 이론들에 대해 짤막한 삽화를 통해 이해할 수 있도록 구성되어 있으며 다양한 예제와 데이터셋도 이 책의 장점 중 하나다. 데이터셋도 각각의 폴더에 다운로드 받을 수 있는 경로가 data폴더의 readme.md 파일에 자세하게 안내되어 있다. 또, 이미지, 소리 등 다양한 종류의 데이터셋을 활용한 점도 이 책의 장점중 하나다.
방대한 양을 다루고 있고 또 친절한 설명까지 저자의 엄청난 내공을 느낄 수 있는 책이었다.
딥러닝의 기초이론부터 내부 수학적 표현까지 이해할 수 있도록 친절하게 구성되어 있는 점이 인상적이고 딥러닝에 입문하는 사람이든 이미 다른 라이브러리나 패키지를 사용했던 사람이든 원리를 이해하고 활용할 수 있는 점이 좋았고 최근 2주동안 열심히 봤는데 앞으로도 자주 보며 참고할 것 같다.