본문 바로가기
Study/DL

활성화함수(Activation function)와 Optimizer

by 까망우동 2023. 6. 29.
반응형

Index

    Activation function (활성화함수)

    1. Sigmoid : differential 하고 exploding 하지 않는다 (0~1사이의 값을 가짐). 하지만 vanishing gradient문제가 있다. 
    2. Tanh : Sigmoid에 *2-1 을 해서 범위를 -1 ~ 1 로 바꿔준 함수. 주로 LSTM에서 사용된다. 
    3. ReLU : 입력이 음수이면 0을, 양수이면 입력값 그대로를 반환한다. [0,∞) 로 exlpoding 하며, 무엇보다 미분했을때의 결과가 0 혹은 1이기 때문에 vanishing 문제를 해결해주고, 계산속도가 빠른 장점이 있다. 그러나 미분값이0인 node에 해당하는 가중치의 경우 학습이 안되는 문제가있다. 
    4. Leaky ReLU : ReLU에서 특정 노드가 학습이 안되는문제 (sparse activation) 해결 위해 max(0.1x,x) 방식으로 보완

     

    Gradient Descent Optimizer

    앞서 모델학습은 Cost를 최조화 하기위해 Gradient descent 방식을 사용하여 gradient를 negative방향으로 learning rate만큼 parameter에 더해 update한다고 했는데, 이러한 최적화 방법의 종류에도 여러가지가 있다.  

     

    1. SGD (Stochastic Gradient Descent)
      • 가장 기본적으로 쓰이는 mini batch 단위로 계산한 gradient descent 방식 
      • 아래 그림처럼 oscillate 하거나 local minima에 잘 빠지는 문제가 있다. 
    2. Momentum
      • SGD의 약점은 직전 batch의 gradient만 반영하는 대서 비롯된다. 이를 보완하기위해 모멘텀, 즉 그동안의 gradient의 방향을 반영해준다. 
      • EWMA 와 비슷한 개념으로 모멘텀과, 직전 gradient 사이의 비중을 조절할 수 있다. 

       3. AdaGrad & RMSProp

    • 학습이 늦는(드물게 발생하는) feature에 대해 learnig rate를 높게 잡는 방식
    • RMSProp는 AdaGrad에서 나아가 G(t)값이 일정한 크기가 유지되도록함 

    RMSProp 의 update equation

       4. ★ Adam (Adaptive Moment estimation)

    • 근래에 자주 활용되는 optimizer로, Momentum 과 RMSProp 를 결합한 최적화 방식
    • 모멘텀을 고려해 local optima 에 잘 빠지지 않고, 모든 노드가 골고루 학습될 수 있도록 고안됨 

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    반응형

    댓글