cs231n 후기(2)

- 98년 르넷5를 시작으로 딥러닝 시작됨.
- 57년 퍼셉트론이 등장, 로젠블라트 아날로그 컴퓨터로 구현.
- 49년 Heb 이 시냅스 연결강화 메커니즘 모방, Hebian Learning 알고리즘 창시
-- 출력과 타겟값 차에 입력을 곱한걸 더해서 가중치 갱신하는 개념 처음 도입.
- 60년 위드로우 호프, 아달라인, 마달라인 아날로그 컴퓨터 발명. 진공관 사용
- 86년 오류역전파 발명, 에너지함수를 가중치로 편미분하는 방식. 힌튼 등... 헤비안 런닝을 하이퍼공간에서 편미분으로 확장
- 66년 RBM 비지도학습을 층마다 수행해 오토엔코더로 전체 재학습=DBN, 배니싱그레디언트를 극복하려는 눈물겨운 노력.
- 닷프로덕트는 행렬연산 측면에서본 콘볼루션의 다른 표현이다,
- 56x56x64 맵에 1x1x32 콘볼루션을 하면 56x56x32 맵이 된다= 일종의 채널 풀링 인셈.
- 맥스풀링은 비선형성 향상 외에 계산측면에서도 에버리지 풀링보다 유리할까?
- 가중치 그레디언트: dE/dW(편미분) 사실상 이걸 풀기위해 오류역전파를 하는거지...
- 액티베이션 그레디언트: dO/dW
- 1x1 콘볼루션으로 완벽하게 FC 를 대치하는게 가능하다고
- 렐루가 시그모이드나 하이퍼탄보다 계산속도가 6배 빠르다
- 렐루를 쓸땐 바이어스를 0.01 정도로 주고 시작하는게 좋다. 다른거지만 힌지로쓰의 +1 이 생각난다.
- 리키 렐루 식= max(0.01x, x)
- PReLU 식= alpha * max(0, x)
- ELU를 쓰면 BN을 덜써도 된다. 그 이유가 뭐라고? 벌써 까먹
- maxout 은 곱의 합과 맥스풀링으로 전달함수를 구현한 셈이며 베니싱그레디언트에 강하다.
- 딥러닝 전처리시에 알렉스넷은 채널 내에서 평균을 구하고 VGG는 채널간에 평균을 구한다.
- 작은값으로 초기화된 가중치망에서 네떡이 딥해질수록 그레디언트들은 0에 수렴한다.
- 큰값으로 초기화된 가중치망에서 네떡이 딥해질수록 그레디언트들은 -1, 1에 수렴한다.
- 제비어 초기화는 가중치 초기값 분포를 가중치수로 나누어주어 분산시켜 딥해져도 그레디어트를 가우시안형태로 유지시킨다.
- 렐루망에서는 제비어 초기화가 덜 효과적이다.
- 가중치분포를 2로 나누어 렐루망에서도 초기화를 효과적으로 만든게 He 초기화다.
- 2015년에 나온 배치노멀라이제이션은 코베리에이트 쉬프트 현상을 없애기위해 입력값분포를 모델 가중치 분포에 맞춰주는 것이다.
- BN단은 FC 망과 활성함수 사이에 둔다..
- 전달함수 특성 때문에 BN의 감마 베타 값도 학습시켜준다고?
- 더불어 BN은 오버핏을 줄여주는 레귤러라이제이션 효과도 의도치않게 만들어 준다.
- 화이트닝은 모든 데이타에 대해 해주는 반면 BN은 배치데이타 단위로만 해준다. 따라서 공간적 뿐 아니라 시간적 노멀라이제이션 효과도 발생한다.

댓글

이 블로그의 인기 게시물

파이썬으로 Homomorphic Filtering 하기

파이썬으로 2D FFT/iFFT 하기: numpy 버전