1. http://neuralnetworksanddeeplearning.com

 처음 신경망을 공부하려고 마음먹고 공부한 자료다. MNIST Hand writing 문제를 가지고 neural network와 CNN까지 설명한다. 장점이라면, 쉽게 설명되어 있으면서도 Regularization, dropout, softmax, gradient vanishing등 전반적인 문제를 다루고, tensor레벨이 아니라 수식레벨에서 SGD와 Back Propagation을 유도하고 있어서 다소 이해가 쉬웠던 것 같다. 단점이라면 이 수식 유도를 일부만 보여주고 독자들에게 해보라고 시킨다는 것.. (내가 할 줄 알았으면 이걸 안 봤겠지..)

( 저자가 보는 나의 수식유도.. )

그리고 나중에 Tensor레벨의 back propagation을 이해하기 위해, 계산그래프를 이용한 Back Propagation유도와 Tensor 미적분 내용을 다시 찾아 봐야 했다는 것도 좀 단점이라면 단점이겠다.. 하지만 전체적으로 입문서로 보기에 231n 보다 좋은 것 같다. (참고로 샘플코드도 제공한다)

 

2. 밑바닥부터 시작하는 딥러닝 / 한빛 미디어 / 사이토 고키 저, 개앞맵시 역

물고기 책이다. 한글로 되어 있어서 1번보다 가독성이 좋은 장점이 있다. 계산 그래프 방식으로 back propagation을 소개하고 있어서 1번 자료를 정독하고 나서 읽었다. 1번 자료는 개별 데이터 단위, 계별 뉴런 단위로 back propagation을 유도해서 설명하다보니, 거기서 배운 것을 바로 layer단위, tensor 단위로 이뤄지는 back propagation에 적용하기 어려워서 이 책에서 설명하는 계산그래프를 공부했다.

책에서 설명하는 주제들은 대부분 1번 자료에서 다루는 주제와 겹친다. 하지만 설명만 놓고 보자면 1번 자료보다는 디테일이 좀 떨어지는 것 같다는 생각이 든다. 그래서 1번 자료를 한번 정독하고 보면 좋을 것 같다.

단점이라면 이놈의 책도 은근슬쩍 어려운 수식유도는 독자에게 넘긴다. 예를 들자면 affine계층의 backward pass를 유도할 때 "실제로 전개해 보면 다음 식이 도출 됩니다. [식 5.13]으로 이끄는 과정은 생략합니다." 라고 쓰고 유도를 안한다. 수식을 유도할 수 있어야 뭔가를 이해한 것 같다고 생각하는 사람에게는 상당히 찜찜한 전개다.

(필요한 만큼 못봤는데...)

그래서 한동안 Tesnor 미분을 어떻게 해야 하는지, Tensor 미분에서 chain rule은 어떻게 생각해야 하는지 한동안 자료를 찾아 구글을 떠돌아 다녔다. 그래도 상당히 친절한 편이며 코드를 제공하고 있어서 처음에 같이 따라해보면서 배우기에는 좋은 책인 것 같다.

 

3. cs231n (http://cs231n.stanford.edu/)

"딥러닝 입문자의 바이블이다." 라고 들었는데 실제로 나는 나 혼자 먼먼길을 돌아돌아 지금 이제서야 이걸 공부하고 있다. 하지만 1번 자료, 2번 자료를 어느정도 보고나서 공부하고 있기 때문에 그나마 이해를 하고 있는게 아닌가 싶다. 강의 비디오와 강의 노트가 제공되는데 강의 비디오를 아무 사전지식 없이 봤다면 영어 청취가 잘 안되는 나로서는 뭔소리인지 이해를 못하지 않았을까 싶다. 바이블인만큼 가장 많은 참고자료를 찾을 수 있어서 좋긴하다.

( 영어 잘하고 싶다.. )

'이론 > 신경망' 카테고리의 다른 글

He 초기화 구현 in tensorflow  (0) 2018.09.19
tensorboard 간단 요약  (0) 2018.09.13
인공신경망과 학습  (0) 2018.03.05
전미분, 편미분, Gradient에 대해  (2) 2018.02.28
신경망 글을 시작하면서..  (0) 2018.02.26
Posted by 굿쟌
,