모두를 위한 딥러닝

* [DL] 모두를 위한 딥러닝 10-1 ReLU

승무_ 2022. 4. 5. 09:02

(input layer/hidden layer/output layer)

지난 시간에는 XOR를 구현 해보았습니다.

만약 계층이 더 깊고 넓어진다면 어떤일이 일어날까요?

 

50%의 정확도가 나오게 되었습니다.

이유는 무엇일까요?

 

지난 시간에 배운 오차 역 전파법을 살펴보자.

y(dg/dx==y)의 값이 이전 노드에서 Sigmoid노드를 거쳐서 온 값이라면 0과 1사이의 값이 될 것이고

x의 편미분값(df/dx)은 앞에서 전달받은 미분값에 0~1 값을 곱한값이 된다.

이 값은 뒤로 역전파 되고 0~1값이 곱해지게 될 것이다.

이러한 절차가 반복이되어 0에 가까워지게 될 것이다.

 

이러한 현상을 Vanishing gradient라고 한다. (제 2의 암흑기!)

앞쪽의 변화가 결론에 영향을 거의 미치지 않게 된다

 

이러한 문제를 해결하기 위해 Sigmoid대신 ReLU(Rectified Linear Unit)를 사용한다!

입력이 0 보다 작을 경우 0을 출력하고 그 이상일 경우 그대로 내보낸다.

출력이 0과 1사이로 제한되지 않는다!

 

텐서플로 함수로 ReLU를 사용할 수 있다.

상당히 좋은 결과가 나오게 된다!

이 밖에 다양한 활성화 함수가 존재한다!