forward는 W,b 값을 미리 정해서 대입
backpropagation 은 편미분을 해서 뒤에서 부터 앞의 값을 알아냄
sigmoid 함수 (S 모양) 을 사용하면 정확도가 0.5 에서 멈춘다.
그 이유는 layer가 많아질수록 input쪽에 가까운 것은 영향력이 적어진다. (Vanishing gradient)
0~1 의 값임으로 0.001 같은 값들이 반복해서 곱해지기 때문에
그래서 이것을 보완하기 위해 ReLu 라는 것을 사용한다.
ReLu는 0이하는 0, 0이상은 linear한 것이다.
그리고 마지막에는 sigmoid를 사용한다. 왜냐하면 결과를 0~1 값으로 표현하기 위해서 이다.
maxout eLu tanh 등 다른 함수도 있다.
초기값 잘 설정하는 법
모두 0은 안 된다.
forward bachward 를 해서
두 개의 차이가 적어질 때까지 W와 b를 조절한다.
정규화 Dropout : 랜덤하게 몇몇의 뉴런들을 0으로 만든다.(끊어버린다.)
앙상블(ensemble) : 트레이닝 셋은 상관없이 러닝 모델을 여러개 만든 후 그 결과들을 합치는 방식
fast forward: 중간 중간 layer를 뛰어넘어가는 것
split & merge: layer들을 나누었다가 합치는 방식
recurrent network: 다른 모델에서 같은 layer 층에서 교환
'Studying > Deep Learning' 카테고리의 다른 글
[딥러닝] tf.GradientTape(), gradient() 이해하기 (1) | 2020.03.14 |
---|---|
[모두를 위한 딥러닝] 7일차 (0) | 2017.04.03 |
[모두를 위한 딥러닝] 5일차 (0) | 2017.03.27 |
[모두를 위한 딥러닝] 4일차 (0) | 2017.03.27 |
[모두를 위한 딥러닝] 3일차 (0) | 2017.03.24 |