ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Keras 지원하는 활성 함수(1)
    딥러닝/Keras 2019. 11. 19. 00:52

    이 포스팅에서는 Keras에서 지원하는 활성 함수 종류들을 소개한다. 

     

    1) sigmoid

    활성함수 Sigmoid는 예전 신경망 모델에서 많이 사용되어진 활성 함수이다. 

    출력 범위는 0 < x < 1 값을 가진다. 

    그림 출처: https://laonple.blog.me/220587920012

    Sigmoid gradient vanishing 문제점

    - Sigmoid를 이용한 출력 값이 0 또는 1사이에 값으로 매우 작다. 딥러닝 모델은 뉴런의 잘못된 가중치 값을 고치기 위하여 역전파 알고리즘 사용한다. 하지만 Sigmoid를 사용하는 경우 역전파 알고리즘 값을 구하는 중 미분된 기울기 값이 너무 작아져서 학습이 안되는 상황이 발생한다.  

     

    Keras 사용 예

    Dense(7, activation='sigmoid')

     

    2) tanh

    비선형 함수의 종류로써 sigmoid와 비슷한 모형을 가지고 있다. 

    그림 출처: http://taewan.kim/post/tanh_diff/

    tanh 함수는 그림에서 볼 수 있듯이, 값을 범위를 -1 < x < 1 값을 가진다. 

    sigmoid와 유사 성질을 가지면,  gradient vanishing 문제를 가진다는 단점이 있다. 

     

    Keras 사용 예

    LSTM(20, input_shape=(3, 12), activation='tanh', batch_size=batch_size, stateful=stateful)

     

    3) Relu

    활성 함수는 Relu는 현재 가장 많이 사용되고 있는 활성 함수로써, 연산이 빠르고 위에서 가지고 있던 gradient vanishing 문제를 어느정도 해결하였다. 

    그림 출처: https://www.tinymind.com/learn/terms/relu

    0 밑에 값은 0 값을 가짐으로써, 학습이 안된다는 문제점을 가진다. 하지만 계산식 매우 간단함으로써 연산 속도가 빨라질 수 있고, 구현하기 편하다. 

     

    Keras 사용 예

    Dense(5, activation='relu')

     

    '딥러닝 > Keras' 카테고리의 다른 글

    Keras RNN 모델 생성 방법  (0) 2019.11.14
    Keras Multi(input, output) 모델 생성 방법  (0) 2019.11.13
    Keras 모델 생성 방법  (0) 2019.11.13
    Ubuntu Keras 설치  (0) 2019.11.12

    댓글

Designed by Tistory.