[미래연구소] 딥러닝 17기 week 4

qw4735·2022년 2월 11일
0

http://futurelab.creatorlink.net/

Activation Function

  • sigmoid의 단점 : 0 < s(z) < 1
  • saturation : weight의 update가 잘 일어나지 않는 현상
  • vanishing gradient : activation의 미분계수가 0에 가까우면 gradient가 0에 가까워져(소실되는 현상) gradient descent가 잘 일어나지 않음(학습이 잘 일어나지 않음)

idea:
hidden layer를 많이 쌓을수록 hidden layer마다 non-linear activation이 필요.
non- linear activation을 해줄때마다 sigmoid를 쓰면
Backpropagation시 chain rule에 의해 0에 가까운 s(z)*(1-s(z)) 값이 계속 곱해짐.
그렇게 되면 gradient가 0에 가까워지고, gradient descent에서 gradient 방향으로 parameter를 update했는데, gradient가 0이 나오면 update가 불가하다.
-> gradient 값이 0에 가까워져 parameter update가 불가능해지는 현상을 "Vanishing Gradient"라고 함

  • 다른 activation은 없나???
  1. sigmoid : 0< g(z) <1
    -장점 : binary classification의 output layer라는 특수한 상황에 적합
    -단점 : g'(z)가 0에 가까운 구간이 많아, gradient descent의 속도가 저하된다.

  2. tach(hyperbilic tangent) : -1 < g(z) < 1
    -장점 : sigmoid보다는 vanishing gradient가 덜하다
    -단점 : 여전히 vanishing gradient문제를 해결하지 못함

  3. ReLU : g(z)=z*I(z>0)
    -장점 : sigmoid, tanh의 vanishing gradient문제 해결
    -단점 : 그래도 절반이 gradient가 0 (dying ReLU현상)
    (g'(z)=1 인 구간이 절반이다)

  4. Leaky ReLU : gradient가 0인 구간이 없다.
    -장점 : dying ReLU현상 해결

  • output layer의 activation function
    -binary classification : sigmoid
    -multi-class classification : softmax

  • activation이 non-linear해야 하는 이유
    -> linear activation만 n번 해주는 것은 결국 linear activation을 한 번 해주는 거나 마찬가지가 된다.
    즉, hidden layer를 아무리 깊게 여러개 쌓아도 의미가 없게 된다.

Random Initialization

zero initialization은 row symmetric이 된다는 문제점이 있다. 따라서, randomgkrp initialization을 해준다.

0개의 댓글