Dev study and notes

[딥러닝] 4-6 활성화 함수 본문

studyLog

[딥러닝] 4-6 활성화 함수

OPENLUNCH 2021. 8. 15. 16:45
반응형

이전 포스팅: https://devlunch4.tistory.com/102

 

[딥러닝] 4-5 벡터화 구현에 대한 설명

이전포스팅; https://devlunch4.tistory.com/101 4-4 많은 샘플에 대한 벡터화 4-4 많은 샘플에 대한 벡터화 학습목표; 신경망에서 다중 샘플에 대한 벡터화를 배울 수 있다. 핵심키워드; 벡터화(Vectorization)..

devlunch4.tistory.com

 

4-6 활성화 함수

 

학습목표;    활성화 함수의 종류에 대해 알 수 있다.

 

학습내용;

   *  Sigmoid

         a=​1/(1+e^​−z​​)

    Tanh

         a=​(e​^z​​+e^​−z)/(​​​​e​^z​​−e^​−z​​​​ )

    ReLU

         a=max(0,z) 

    leaky ReLU

         a=max(0.01z,z) 

    Tanh 장점:

        Tanh 의 값이 [-1, 1] 사이에 있고 평균이 0이기 때문에, 데이터를 원점으로 이동하는 효과가 있습니다. 이는 평균이 0.5인 Sigmoid 보다 더 효율 적입니다. 자세한 내용은 다음에 이야기 할 것입니다.

    ReLU 의 장점:

        0보다 큰 활성화 함수의 미분값이 다른 함수에 비해 많아서 빠르게 학습 할 수 있습니다. 

    왜 비선형 활성화 함수가 필요한지는 다음 시간에 이야기 할 것입니다.

 

  •  
  • 영상 시작
  •  
  • 신경망을 만들때 선택해야하는 것중 하나는 은닉층과 출력층에서 어떤 활성화 함수를 쓸지.
  • 시그모이드 함수를 쓰는 두단계
  • sigmoid   a=​1/(1+e^​−z​​)
  • g는 시그모이드 함수가 아닌 비선형 함수
  • 시그모이드 함수는 0부터 1까지 나타냄
  • 시그모이드 함수보다 대부분 경우 좋은 것은 쌍곡 탄젠트 함수인 tanh 함수입니다.
  • tanh 함수 > -1 과 1  함수
  •  
  •  
  • tanh 함수의 공식은 (e^z -e^z) . (e^z +e^z)
  • tanh 함수는 수학적으로 sigmod 함수를 살짝 옮긴것, rkqtdl +1 과 -1 사이이기 떄문에 평균 값이 0에 더 가깝다.
  • 학습시 평균값의 중심을 0으로 할때가 있다. tanh 함수를 사용시 0.5 대신 0 으로 만드는 효과가 있다.
  • 시그모이드 활성화 함수를 쓰는 한가지 예외는 이진 분류를 할때.
  • 출력층에 시그모이드 함수를 쓰고 g(z^[2]=델타(z^[2])
  • 시그모이드 함수와 tanh함수의 단점은 z가 굉장히 크거나 작으면 함수의 도함수가 굉장히 작아진다는 것.
  • z가 크거나 작으면 함수의 기울기가 0에 가까워지고 경사 하강법이 느려질 수 있다
  •  
  • ReLU함수의 생김새 >>> 공식은 max(0, z).
  • z가 양수일 때는 도함수가 1이고 z가 음수이면 도함수가 0이 된다
  • 엄밀하게는 z가 0일 때의 도함수는 정의되지 않았지만 컴퓨터에서 구현하면 z가 정확히 0이 될 확률은 굉장히 낮기 때문에 걱정하지 말것.
  •  
  • 이진 분류의 출력층에는 자연스럽게 시그모이드 함수를 사용
  • 은닉층에 어떤 함수를 써야 할지 모르겠다면 그냥 ReLU를 쓰는 게 좋다.
  • ReLU의 단점 중 하나는 z가 음수일 때 도함수가 0이라는 것
  • 실제로는 잘 되긴 하지만 다른 버전인 leaky ReLU도 있다.(z가 음수일 때 도함수가 0인 대신 약간의 기울기를 준다)  
  • >
  •  ReLU와 leaky ReLU의 장점은 대부분의 z에 대해 기울기가 0과 매우 다르다는 것입니다         
  • 시그모이드나 tanh 대신 ReLU 함수를 쓴다면 신경망은 훨씬 더 빠르게 학습 할 수 있습니다         

 항상 ReLU를 쓴다고 이야기 했지만 중에 풀어야 하는 문제에 적용되지 않을 수도 있습니다. 활성화 함수를 고르는 법과 자주 쓰이는 활성화 함수들을 살펴봤습니다 .

반응형
Comments