-
[tensorflow 2.0] optimizer learning rate schedule데이터분석 2019. 12. 9. 23:15
섬세한 모형 튜닝을 위해서는 learning rate를 조금씩 줄여주는 작업이 필요하다. 특정 iteration마다 optimizer instance를 새로 생성해줘도 되지만, tensorflow에서는 optimizer의 learning rate scheduling이 가능하다.
가장 많이 쓰이는 ExponentialDecay는 계속 같은 비율로 learning rate를 감소시켜준다.
사용 예시는 아래와 같다.
initial_learning_rate = 0.1 lr_schedule = keras.optimizers.schedules.ExponentialDecay( initial_learning_rate, decay_steps=100000, decay_rate=0.96, staircase=True) optimizer = keras.optimizers.RMSprop(learning_rate=lr_schedule)
여기에서 staircase는 learning rate를 계단식으로 감소시켜준다. 즉 decay_steps에 도달하기 전에는 learning rate를 유지시키다가, decay_steps가 넘어가면 그 때 학습률을 감소시키는 것이다.
'데이터분석' 카테고리의 다른 글
pandas DataFrame join merge concat 연산 속도 비교 (0) 2021.07.30 [tensorflow 2.0] tf.pad (0) 2019.12.02 [tensorflow 2.0] tf.data.Dataset enumerate (0) 2019.12.01 [tensorflow 2.0] tf.tile (0) 2019.11.14 [Tensorflow 2.0] custom gradient 함수로 reverse gradient 구현하기 (0) 2019.11.07