본문 바로가기
99_DS

[딥러닝] 활성화함수$(1)$

by 99_shimshim 2025. 4. 5.
728x90

활성화 함수 : hidden layer의 출력값에 비선형성을 부여하기 위해서 태우는 비선형함수

Ex. sigmoid, softmax, Relu, ... 

 

비선형 활성화함수가 왜 필요한가?

1. 쓰지 않는 경우 또는 선형 활성화함수를 쓰는 경우

     XOR문제 해결 불가

--> 여러 복잡한 문제 해결을 위해 비선형 활성화함수를 쓰게 됨

 

[시그모이드$(sigmoid)$함수]

1. 시그모이드 : 은닉층의 결과값을 0~1 사이값으로 압축시켜 기준점 이상과 미만의 값으로 분류 문제를 해결

     2차원 좌표평면 상 아래와 같이 생겼고, 미분 시 $(y)$$(1-y)$ 꼴이 도출됨.

 

2. 시그모이드의 문제점

     1) 기울기 소실 $(gradient\,vanishing)$ : 합성함수의 미분을 통해 connection weight을 업데이트하는 NN의 학습 과정 상, 은닉층의 개수가 늘어나면 업데이트하는 양$(step\,size)$ gradient들의 곱의 꼴로 나타나는데, 이 값 중 하나라도 0이 되면 앞뒤 은닉층의 그래디언트 값과 관계 없이 전부 0이 되어, 해당 connection weight은 더이상 업데이트가 일어나지 않게 됨.

 

     2) 기울기 폭주 $(gradient\,exploding)$ : gradient vanishing과 반대로, 미분값으로 계속 큰 값들만 나오게 될 때 여러번 곱해지면 gradient는  자연스럽게 무한에 가까워지게 됨. 은닉층이 8개만 있어도 gradient 계산 시 25개의 term이 곱의 꼴로 나타나는데, 2를 25번 곱한다고 생각해보면 왜 무한대로 발산할 가능성이 커진다고 하는지 알 수 있음.

 

     그래도 무한대로 발산하는 경우는 해결이 쉬움. --> 값이 커지는 경우마다 작은 수를 곱해서 값을 깎으면 됨

728x90