bum***
2019-08-10

이 책은 딥러닝 알고리즘의 원리를 깊숙이 이해하고 이를 파이썬 코딩만으로 구현하는 데 주안점을 둔다. 이를 위해 가장 간단한 신경망 구조부터 복잡한 응용 구조까지 다양한 딥러닝 신경망 예제의 실제 구현 과정을 소개한다.
이번에 리뷰할 책은 "파이썬 날코딩으로 알고 짜는 딥러닝" 입니다.
검색엔진/AI업체인 코난테크놀로지에 다니는 분이 쓴 국내저서입니다.
퍼셉트론부터 시작해서 CNN,RNN,AutoEncoder,GAN등을 680여 페이지에 다룹니다.
numpy등 아주 기본적인 라이브러리를 제외하곤 직접 시그모이드, 소프트맥스, 미분함수등을
하나씩 만들어서 신경망 프로그램을 작성한다는 점에서 "밑바닥부터 시작하는 딥러닝"과 어느정도
비슷한 위치의 책인거 같습니다. (텐서플로는 사용하지 않으므로 주의하시기 바랍니다.)
각 챕터별 도입부는 전챕터에서에서 부족한 부분이 무엇이었고, 이를 극복하기 위해 새로운 구조나 이론등을
소개하는 형태로 되어있습니다. 도입부의 설명은 꽤 충실한 편인데 이야기뿐 아니라 중간중간 "시그모이드 쿄차 엔트로피 정의식 도출과정",
"L1손실의 역전파 처리", "쌍곡탄젠트의 수학적 성질" 등과 같은
각종 수식과 도출과정들이 잘 정리되어 있어
입문자보다는 어느정도 텐서플로도 좀 사용해 본 사람이 추상화된 내부로직등에 궁금증을 갖게 되었을때 원리를 이해하는데 도움이 될 거 같습니다.
저는 ... 졸업한지가 오래되서 수식만 나오면 책 진도가 안나가더군요.-_-
프로그래밍적으로는 단순히 하나의 함수를 만들고 호출하는 형태에서 부터 시작해 기본적인 신경망 처리 흐름 얼개를 만든 뒤
객체지향방식으로 구현하는 형태로 되어있고,
따라서 단원마다 새로운 내용을 배우지만 메소드명이나 흐름등은 이미 어느정도 정해진 상태에서
구현만 달라지는 형태라서 변경된 부분만 집중해서 볼 수 있어 좋았습니다.
그결과 학습결과가 좋지 않아 신경망을 바꾸거나
학습률을 바꾸거나 은닉층을 늘려보거나 할때 이를 쉽게 해주어 여러가지로 유연하게 확장해서 쓸 수 있도록 되어 있습니다.
케글의 데이타셋이나 mnist등의 데이타가 사용되는데 앞으론 우리나라도 쓸만한 공공데이타셋들이 많아져서
그런 데이타를 사용한 예제나 챕터들이 포함된다면 좀 더 친숙하게 볼 수 있지 않을까
직접 작성하는것도 좋긴한데 나중에라도 텐서플로를 쓰게 된다면 이 책에 쓰인 프로그램과 어떤 형태로 같이 쓰는게 좋을지도 고민해 볼 사항인거 같습니다.