더북(TheBook)

 

6아담

 

아담(Adam)은 알엠에스프롭에서 한 단계 더 업데이트된 방법입니다. 알엠에스프롭과 유사하게 G(t)의 값을 구하지만, 이보다 앞서 살펴본 모멘텀 SGD와도 유사하게 그래디언트를 제곱하지 않는 V(t)의 값 또한 사용합니다. 즉, 두 방법의 장점을 취하는 방식입니다.

 

287_2

 

두 값을 다음과 같이 대입합니다.

 

287_3

 

코드로 보면 다음과 같습니다.

 

# 파이썬 코드

v = gamma1*m + (1-gamma1)*dx

g = gamma2v + (1-gamma2)(dx**2)

x += - learning_rate * g / (np.sqrt(v) + e)


# 케라스 코드

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

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.