Sejong-Kaggle-Challengers / MAIN

세종대 캐글러 모임 메인 레포
4 stars 1 forks source link

Activation Function(활성화 함수) #18

Open mingxoxo opened 3 years ago

mingxoxo commented 3 years ago

Activation Function(활성화 함수)

활성화 함수는 신경학적으로 뉴런 발사의 과정에 해당한다. 뉴런이 다음 뉴런으로 신호를 보낼 때 입력 신호가 일정 기준 이상이라면 보내고 기준에 달하지 못하면 보내지 않는다. 즉, 신호를 결정해준다.

image

그림에서는 Sigmoid 함수가 활성화 함수로 사용되었다.

모델 Optimizer 과정에서 gradient update를 통해 weight를 갱신하게 된다. backpropagation이 weight 값을 갱신할 때 각 노드에서의 편미분 값을 이용하게 되기 때문에 신경망의 활성 함수는 미분이 가능한 함수로 사용한다.

이 외에도 ELU, Maxout, GELU등 여러가지 활성함수들이 있습니다.

출처 : 교수님 유튜브 강의

좀 더 깊이있게 이해하기 위해서 출처의 교수님 강의와 링크1, 링크2를 보시는 것을 추천 드립니다.


<개인적으로 궁금한 부분>

image

Sigmoid에서는 기울기가 0 ~ 0.25 입니다. backpropagation을 진행할 때 gradient가 0이나 0에 수렴하게 되면서 소실되는 현상이 발생합니다. 그래서 나온 것이 ReLU(기울기 0 또는 1)입니다. 하지만 미분 값이 0 일때는 신경이 죽어버리는 현상이 발생한다고 합니다. 그런데 Gradient Vanishing이 발생하지 않았다고 하는 이유는 무엇일까요 ..? 다른 글을 읽다 보면 loss 함수와 Activation 함수가 같게 느껴지도록 이해가 되서 생기는 문제인 것 같습니다. 혹시 정확히 아시는 분은 issue 남겨주세요 ! ㅠㅠ

98hyun commented 3 years ago

relu가 잘 먹히는 이유는 sigmoid에서는 이정민님 말대로 0~0.25라 곱할수록 0으로 수렴하거든요. gradient vanishing 은 gradient가 0으로 가야 신경이 죽는데 gradient가 0으로 갈일이 없어서 vanishing 이 발생하지 않습니다. value에 따라 역전파에 넘겨지는 값이 0아니면 1이니까요.

https://www.quora.com/How-does-the-ReLu-solve-the-vanishing-gradient-problem

ctrl+f 해서 joe siu 글 한번 읽어보시겠어요?

Minyoung-Lee-Sejong commented 3 years ago

image

Minyoung-Lee-Sejong commented 3 years ago

https://analysisbugs.tistory.com/55

참고하세요 :)