1. Keras 소개
    1. [시작하기] Sequential 모델 가이드
    2. [시작하기] 함수형 API 가이드
    3. [시작하기] FAQ
    4. [모델] Keras의 모델
    5. [모델] 함수형 API
    6. [모델] Sequential
    7. [계층] Keras의 계층
    8. [계층] Core 계층
    9. [계층] 합성곱 계층
    10. [계층] 풀링 계층
    11. [계층] 부분적으로 연결된 계층
    12. [계층] 재발 계층
    13. [계층] 임베딩 계층
    14. [계층] Merge 계층
    15. [계층] 고급 활성화 계층
    16. [계층] 표준화 계층
    17. [계층] 노이즈 계층
    18. [계층] 계층 Wrappers
    19. [계층] 자신만의 Keras 계층 만들기
    20. [전처리] 시퀀스 전처리
    21. [전처리] 텍스트 전처리
    22. [전처리] 이미지 전처리
  2. Metrics
  3. 손실
  4. 최적화기
  5. 활성화
  6. Callbacks
  7. 데이터셋
  8. 애플리케이션
  9. 백엔드 1
  10. 백엔드 2
  11. 백엔드 3
  12. 백엔드 4
  13. 백엔드 5
  14. 초기화기
  15. 정규화기
  16. 제한
  17. 시각화
  18. Scikit-Learn API
  19. 유용한 도구

최적화기의 사용법

최적화기는 Keras 모델 컴파일에 필요한 두 개의 인수 중 하나입니다:

from keras import optimizers

model = Sequential()
model.add(Dense(64, kernel_initializer='uniform', input_shape=(10,)))
model.add(Activation('tanh'))
model.add(Activation('softmax'))

sgd = optimizers.SGD(lr=0.01, decay=1e-6, momentum=0.9, nesterov=True)
model.compile(loss='mean_squared_error', optimizer=sgd)

위의 예제처럼 model.compile()에 넘기기 전에 인스턴스화할 수도 있고, 이름으로 호출할 수도 있습니다. 후자의 경우, 최적화기의 파라미터는 기본값이 쓰입니다:

# pass optimizer by name: default parameters will be used
model.compile(loss='mean_squared_error', optimizer='sgd')

모든 Keras 최적화기에 공통되는 파라미터

clipnormclipvalue 파라미터는 기울기를 다듬기(clipping) 위해 모든 최적화기에 사용됩니다:

from keras import optimizers

# All parameter gradients will be clipped to
# a maximum norm of 1.
sgd = optimizers.SGD(lr=0.01, clipnorm=1.)
from keras import optimizers

# All parameter gradients will be clipped to
# a maximum value of 0.5 and
# a minimum value of -0.5.
sgd = optimizers.SGD(lr=0.01, clipvalue=0.5)

SGD [source]

keras.optimizers.SGD(lr=0.01, momentum=0.0, decay=0.0, nesterov=False)

확률적 기울기 하강법(Stochastic gradient descent) 최적화기입니다.

모멘텀(momentum), 학습율 감소, Nesterov 모멘텀을 지원합니다.

인수


RMSprop [source]

keras.optimizers.RMSprop(lr=0.001, rho=0.9, epsilon=1e-08, decay=0.0)

RMSProp 최적화기입니다.

이 최적화기의 파라미터의 기본값을 그대로 두기를 추천합니다(자유롭게 조정할 수 있는 학습율은 제외하고).

이 최적화기는 일반적으로 재발 신경망(recurrent neural networks)에 적절합니다.

인수

참고


Adagrad [source]

keras.optimizers.Adagrad(lr=0.01, epsilon=1e-08, decay=0.0)

Adagrad 최적화기입니다.

이 최적화기의 파라미터의 기본값을 그대로 두기를 추천합니다.

인수

참고


Adadelta [source]

keras.optimizers.Adadelta(lr=1.0, rho=0.95, epsilon=1e-08, decay=0.0)

Adadelta 최적화기입니다.

이 최적화기의 파라미터의 기본값을 그대로 두기를 추천합니다.

인수

참고


Adam [source]

keras.optimizers.Adam(lr=0.001, beta_1=0.9, beta_2=0.999, epsilon=1e-08, decay=0.0)

Adam 최적화기입니다.

파라미터의 기본값은 논문에서 제공하는 값을 그대로 따르고 있습니다.

인수

참고


Adamax [source]

keras.optimizers.Adamax(lr=0.002, beta_1=0.9, beta_2=0.999, epsilon=1e-08, decay=0.0)

Adam 논문의 Section 7의 Adamax 최적화기입니다.

무한 표준(infinity norm)에 기초한 Adam 최적화기의 변종입니다. 파라미터의 기본값은 논문에서 제공하는 값을 그대로 따르고 있습니다.