CS/Machine Learning

[모두의 딥러닝]lec10-2: Weight 초기화 잘해보자

dawonny 2021. 7. 18. 02:48
728x90
반응형

https://www.youtube.com/watch?v=4rC0sWrp3Uw&list=PLlMkM4tgfjnLSOjrEJN31gZATbcj_MpUm&index=32&ab_channel=SungKim

 

딥러닝을 잘하는 법 두번째.

초기값을 어떻게 할 것인가

이건 우리가 겪었던 문제이다

해결방법

1.ReLu 사용하기

2. 초기값을 제대로 설정하기

코드는 바꾼게 없는데 cost함수가 바뀐다

왜 그러냐면 w을 랜덤값으로 줬기 때문이다

예를 들어보자

chain rule 이다

w를 0으로 줬다고 하자

x가 0이 되고 다 뒤에도 0이 된다

그러니 초기값을 잘 줘야한다

0을 주면 안되고

RBM에 관한 이미지 이다

w을 조절하는 방법인데 입력값을 쏘고 출력값을 다시 향하게 한다

encoder/decoder 라고도 한다

이런 방법으로 weight을 초기화 시킨다

여러개의 레이어가 있을 때

2개의 레이어만 생각해보자

사이에서 왔다 갔다하면서 w을 찾는다

그담에 그 다음 레이어로 가고.. 이걸 반복

사진으로 보면 이렇다.

2개의 레이어씩 확인하기

fine tuning이라고도 한다

좋은 소식이 생겼다면,

RBM을 꼭 쓰지 않아도 된다는 것

하나의 노드에 몇개의 입력, 몇개의 출력인지에 따라서 비례해서 w을 설정해주면 된다 라는 이야기와

이것을 좀더 개선한 이야기

using number of input and output

방금 나온 Xavier 과 MSRA 이런 방법들만 써도

초기화가 잘되더라 하는 이야기

우린 아직 완벽한 w 초기화 값을 찾지 못한다

728x90
반응형