목차
오차역전파
경사하강
활성함수
최적화 함수
초기 가중치 설정함수
배치 정규화
신경망 구조를 만들어서 학습이 가능하다는 사실을 알았다.
학습이란 결국 "최적의 가중치"를 찾는 과정이고,
학습시, 데이터의 비선형적인 관계를 찾아내기 위해 활성함수을 사용하고,
학습을 가능하게 하는 수학적 원리가 "오차역전파 / 연쇄미분"이라는 것도 알았다.
그리고 수치미분을 통해 최적값을 도달하게는 하는 방법이 "경사하강법"이라는 것도 알았다.
자 그래서 이제 학습을 해보자...!
But 프로그래밍할 때, 변수할당하고 초기값 할당한다. 보통 0이나 None을 준다.
결국 신경망학습도 프로그래밍을 통해 해야 하므로 초기값 할당을 해야함.
그런데 이게 초기값을 어떻게 설정하느냐에 따라 학습결과(정확도/예측력 등)이 달라진다...허참
그래서 초기값을 똑똑하게 주고자 하는 연구결과가 나옴.
우린 이걸 쓰기만 하면 됨.
초기화 방법에는 무엇이 있나?
- 가중치 초기값을 모두 똑같은 값으로 초기화하면 안됨(0도 안 됨)
* 동일한 값은 안되지만, "균일한 확률분포"로 랜덤하게 선택하는 것은 괜찮다.
* 뉴런의 개수가 아무리 많아도 뉴런이 하나뿐인 것처럼 작동하기 때문
- 작은 값으로 제한된 random 분포값으로 초기화하면 안됨 ~ N(0, 0.01^2 )
* sigmod함수계열 쓰면 gradient vanishing 발생.
* 균등분포 또는 균등분포에 준하는 정규분포의 랜덤값으로 초기화해야 함
1. Xavier : Sigmoid 가중치 초깃값 설정
ㅇㅇ
2. He : ReLU 가중치 초깃값 설정
ㅇㅇ
출처
'DataMining > Deeplearning' 카테고리의 다른 글
DL-기초; 어텐션 Attention (0) | 2021.03.03 |
---|---|
DL - 기초; 배치 정규화 (0) | 2021.02.27 |
DL - 기초; 신경망소개/CNN/RNN (0) | 2021.02.27 |
DL - 기초; 활성함수 (0) | 2021.02.27 |
DL - 기초; 경사하강 & 최적함수 (0) | 2021.02.27 |