Sigmoid와 tanh의 Vanishing Gradient 문제를 수식과 함께 설명 & 해결 방법

yoonene·2022년 12월 12일
0

면접대비

목록 보기
14/17

Q: Sigmoid와 tanh의 Vanishing Gradient 문제를 수식과 함께 설명 & 해결 방법


Sigmoid, tanh 등 활성화함수에 관한 자세한 내용은 여기서 보실 수 있습니다.

수식을 통한 설명

Sigmoid의 미분

  • 전개
    https://velog.velcdn.com/images/yoonene/post/245d668c-ad8c-40ff-95a1-0a4948c012c6/image.JPG
  • Sigmoid의 도함수 그래프
    https://velog.velcdn.com/images/yoonene/post/a94a1ec0-a1e4-439a-b99e-6cc1be90b207/image.png
  • Sigmoid 미분값 범위 : (0, 0.25]

tanh의 미분

  • 전개
    https://velog.velcdn.com/images/yoonene/post/ab032153-5ae9-4a13-8630-9a776b45d8c9/image.png
  • tanh의 도함수 그래프
    https://velog.velcdn.com/images/yoonene/post/54453331-6729-4f2f-af28-27635f8522fc/image.png
  • tanh의 미분값 범위 : (0, 1]
    back propagation 과정에서 연쇄적으로 활성화함수의 미분값을 곱해야 하는데, Sigmoid와 tanh은 미분 최대값이 작기 때문에 층이 깊을수록 값이 작아져 최소까지 업데이트할 수 없는 문제가 발생한다. 이를 기울기 소실, Vanishing Gradient라고 한다.

이 문제를 ReLU 활성화함수를 통해 해결할 수 있다.

Rectified Linear Unit (ReLU)

![https://velog.velcdn.com/images%2Fyoonene%2Fpost%2F58126b28-5e69-46b3-b122-ce1cad50ee0b%2Fimage.png%5D(https%3A%2F%2Fimages.velog.io%2Fimages%2Fyoonene%2Fpost%2F58126b28-5e69-46b3-b122-ce1cad50ee0b%2Fimage.png)

![https://velog.velcdn.com/images%2Fyoonene%2Fpost%2Fd5bfb7be-eda6-452b-bd04-24f3b1e8a3c9%2Fimage.png%5D(https%3A%2F%2Fimages.velog.io%2Fimages%2Fyoonene%2Fpost%2Fd5bfb7be-eda6-452b-bd04-24f3b1e8a3c9%2Fimage.png)

ReLU의 미분

https://velog.velcdn.com/images/yoonene/post/2b0ebbcf-c8ec-4b0a-b29e-f4fc2ad4a292/image.png

  • ReLU의 도함수 그래프
    https://velog.velcdn.com/images/yoonene/post/e7eaeb8b-de65-4a4f-adf1-3858c13fce01/image.png

미분을 해도 값이 그대로 유지된다.

+) RNN에서 ReLU 대신 Sigmoid나 tanh 쓰는 이유 :

RNN은 CNN과 달리 이전 step의 값을 가져와서 사용하므로 ReLU를 쓰게되면 이전 값이 커짐에 따라 전체적인 출력이 발산하는 문제가 생길 수 있다. 따라서 과거의 값들을 재귀적으로 사용하는 RNN 모델에서는 이를 normalizing 하는 것이 필요하며 이를 위해 sigmoid보다 기울기의 역전파가 더 잘되는 tanh를 사용함으로써 좋은 결과를 볼 수 있다고 한다.

reference
https://limitsinx.tistory.com/62

profile
NLP Researcher / Information Retrieval / Search

0개의 댓글