1권은 마지막 2장(2개 챕터) 제외하고 모두 머신러닝 내용이였고, 그에 대한 리뷰는 윗글 참고하면 됨 ㅇㅇ
마지막 2장이랑 2권은 모두 딥러닝에 관한 내용이고 이어서 읽기 시작했는데, 결론부터 말하면 여기서 멈추려고 함.
윗글에서 지적했던 단점들이 고스란히 존재하고, 그냥 수식만 줄줄 읊는것보다 오히려 더 헷갈림.
핵심적인 내용은 앞서 4장에서 다뤘다는 이유만으로 수식도 안주고 말로 대충 때우면서 넘어가고, 역전파도 말로만 줄줄 설명해놓고 기본 이론만 부록으로 남겨둠. (2권 끝 부록파트로 넘어가서 따로 봐야함.....)
더 충격이였던건 sigmoid의 문제점과 그에 따른 세이버 초기화, he 초기화를 수식 하나만 딱 주고 대부분 말로만 설명하는데, 왜 이걸 써야하고 어떤 의미를 가지고 왜 fanin fanout을 쓰는지 하나도 이해 못하겠음.
처음 설명할 때 부터 이론적이고 꼼꼼하게 접근했으면 이런 모순이 발생하지 않았을거라 생각하는데, 역전파도 대충 말로만 때워서 설명해놓고 sigmoid 때문에 그레디언트가 갈수록 약해지는 소실이 발생하거나 폭주가 발생하는걸 딥러닝을 처음 공부하는 사람 입장으로써 어떻게 이해할 수 있나 싶음.
전체적으로 수식 비중을 줄이고 말로만 설명하는 비중이 높다보니, 기초 지식을 가지고 있는 사람들은 몰라도 처음 공부하는 사람 입장에선 오히려 더 헷갈리고 이해가 안되는 구조임.
하.....그래서 그냥 이 책은 여기까지 읽고, 딥러닝은 밑시딥 시리즈로 바로 이어서 읽으려고 함. 1, 2, 3, 4권 시리즈로 다 사놔서 다행이네 ^^1발
결론) 딥러닝 도입부 JOAT
- dc official App
시그모이드 쓰면 그레디언트가 vanishing 되는 이유가 1. 시그모이드는 기울기가 가장 커봤자 0.25밖에 안됨. 즉, 역전파에서 입력층에 가까워질수록 오차가 계속 작아지고, 따라서 그만큼 그래디언트(내가 얼마나 수정해야하는지 값)도 작아짐. 계속 작아지다 보면 앞쪽에는 거의 그래디언트가 0에 가까워져서(ex.10^-32) 가중치 업데이트를 거의 할 수 없게됨. 2. 또한, 그렇게 되면 FP 기법의 한계로 소수부가 길어지면 연산 오차가 생길 수 있음. 이거 맞나?? 나도 공부하는 단계인데 궁금해서 적어봄
이렇게 역전파에서 가중치 업데이트 하는 수치가 앞부분이 작아지면 당연히 학습 기간도 늘어나고 연산도 많이 필요함
ㅇㅇ 맞음. sigmoid는 최대 기울기가 x=0일때 0.25밖에 안되고 1이나 0으로 수렴하면 기울기가 0에 가깝게 수렴하기 때문에 역전파 특징상 그 값들이 계속 곱해지면서 입력층에 가까워질수록 소실되어서 학습이 제대로 이루어지지 않음. - dc App
그러니까 역전파 식을 굳이 쓰자면 시그모이드 함수를 g라 하고 각 노드에 들어오는 값들 합을 z(= (W^T)A : A는 각 노드의 활성화 행렬)라 하면 "g(z)를 z로 편미분 한 값" -> 계속 작아지게 만드는 원인인 그래디언트 인거지??
시그모이드에선 실제로 미분하면 a(1-a) 꼴이 되는 그 값
이 값이 0~1 사이의 작은 수이다 보니까 역전파 시 수정해야할 정도(또는 J를 가중치로 편미분한 값) 는 앞에놈 오차(또는 그래디언트)에 곱셈으로 영향을 받다 보니까 앞쪽 수정해야할 양이 줄어들고