XOR 같은 문제를 풀때에는 한개가 아닌 두개의 유닛을 사용한다고 배웠다.
각 유닛의 끝에는 sigmoid가 붙어있었다.
이걸 Activation function 이라고 부르기도 한다
코드로 구현할때 두개의 w,b를 썼었다.
3단은 어떻게 할까?
몇개를 출력하는지 입력하는지 주의해서 작성
마지막은 1개 여야함
9단 레이어 해보기
tensorboard로 시각화하기
실행을 시킨 결과가 다음과 같다.
2개로 한 것 보다 결과가 안좋다. 왜일까?
정확도가 올라갔다 내려갔다 하는 문제
Backpropagation의 문제이다.
9단 10단이 넘어가면서 학습이 안된다
왜 문제가 일어났는지 생각하자
깊어질수록 경사의 기울기가 점점 사라지는 문제
결과에 영향을 미치는 정도가 점점 작아진다.
Hinton 교수가 해결. sigmoid를 잘못썼던것같다! 라고.
1보다 작은 부분을 바꾸면 되지 않을까
0보다 크면 죽이고
0보다 크면 갈데까지 가는 모양의 그래프
이게 ReLU이다
앞으로는 sigmoid 말고 ReLU를 사용
ReLU를 적용한 모습
ReLu를 사용한건 정확도도 1.0으로 올랐다
정확도도 시작하자마자 1도 올라가고
cost도 시작하자마자 쭉 잘 내려갔다
cost 떨어지는거 비교해보기
0으로 너무 확 끌지말고 좀 기다리는 것 Leaky ReLU 이고
저 상수값 곱하는것을 0.1말고 바꿀 수 있는게 ELU
tanh은 sigmoid를 0을 기준으로 바꾼것이다
어떤 사람이 조사를 함
정확도를 측정했는데 sigmoid는 아예 되질 않고
RELU나 maxout도 잘 되는 편