어떤 신경망...예를 들어 입력으로 이미지를 받아서 CNN과 ReLU을 거치고 이걸 반복.. 한 10번해서 출력을 내는 신경망이 있다고 생각해봐봐
CNN+ReLU 를 총10번하는거야
근데 모든 층의 CNN 연산직후, ReLU직전 단계에서의 데이터들은 전부 정규분포를 띈다 하더라고
근데 학습이 잘되려면 정규분포를 띄어야 한다는게 아니라 고른 분포를 가져야한다고 어디서 그러길래 헷갈려서 물어보는거임
일단 모든 CNN층에서의 가중치 초기값을 He 초기값으로 했다고 할게 밑에그림보면
위 그림에서는 각 층마다 0값이 많은데 CNN후 0을 평균으로하는 정규분포에서 ReLU거쳐서 저렇게 나오는거임
He 초기화된 신경망은 모든 결과가 저렇게 바른 정규분포를 띔
근데 저렇게 바른 정규분포를 띄는게 올바른거임?
다른 He초기값을 설명하는 자료에서는
이렇게
이렇게
He를 쓰면 정규분포가 아닌 고른값이 띄고 고른 모양이어야 학습이 잘된거라고 하는거 같더라고...
학습의 목적이 각 레이어를 거칠수록 입력값이 고른값을 갖도록 하는게 맞음?
질문을 정리하자면...
합성곱 신경망에서 학습이 잘되었다면 테스트할 입력값이 각 계층을 거칠때마다 나오는 값의 분포는 번드시 정규분포여야함?
아니면 평평히 고른 모양이어야함?
정규분포로 나오는게 맞음. 저기서 평평하게 나온다는것을 강조한 이유는 ReLu He가 분포를 좀더 완만하게 함으로써 기존 ReLu가 가지는 문제인 Gradient Vanishing을 어느정도 해소했다는것을 말하기위함으로 보이는데, 그렇다해도 저렇게 평평한건 너무 극단적으로 평평해서 오히려 학습이 잘못됐다고 말해도 될듯
그런거임? ㄳㄳ!
학습이 잘됐으면 정규분포로 나오는게 아니라 원래 그냥 정규분포로 나옴. 특히 L2 Normalization 을 하면 weight 들을 가우시안 분포로 아예 제한하는거라서. 왜 정규분포로 나오느냐? CLT ㅇㅇ - return 0;
근데 uniform 하게 나오는건 좀 이상한건데 보통 그렇게 안 나와 ㅇㅇ 나오더라도 exponential 이나 gamma 분포 형태가 맞음 - return 0;
내수준에서 이해하기 어렵지만... 그러니까 입력데이터를 L2정규화로 만들고 가중치들은 초기화부터 정규분포모양이니 결과도 정규분포일수밖에 없다 그말임? 정말 ㄳㄳ!
아니 그 말 아닌데.. Maximum Likelihood Estimation 모르니..? - return 0;
ㅈㅅ..몰라
야 때려쳐라 기본이 안돼있네 CLT 도 모르는거냐 설마 - return 0;
간단하게 말하면 표본을 때려박을수록 정규분포에 가까워진단 소리 아닌가 적은 양의 극단적인 표본이 들어가봤자 그건 정말 적은 양이니 전체에 별로 영향을 안주는거고 모집단 크기가 크면 장땡
애한테 왜그러냐 모르면 배우면되지 때려치라니 말이 심하잖아
통계의 기본도 안돼있는데 딥러닝부터 한다는게 말이 되냐 당연히 때려치고 통계부터 해야지 - return 0;
그냥 이산수학 책 펴자