국소 최소값 피하기
이전 문제에서는 국소 최소값에 얼마나 쉽게 갇힐 수 있는지 확인했어요. 변수가 하나뿐인 간단한 최적화 문제였지만, 먼저 국소 최소값들을 지나가야 했기 때문에 경사 하강법은 전역 최소값을 찾지 못했죠. 이 문제를 피하는 한 가지 방법은 momentum을 사용하는 것으로, 최적화기가 국소 최소값을 뚫고 나가도록 도와줘요. 이번에도 이전 문제의 손실 함수를 그대로 사용하며, loss_function()으로 정의되어 제공돼요.

tensorflow의 여러 옵티마이저에는 SGD와 RMSprop처럼 momentum 매개변수가 있어요. 이 연습에서는 RMSprop을 사용할 거예요. 이번에는 x_1과 x_2가 동일한 값으로 초기화되어 있다는 점에 유의하세요. 또한 keras.optimizers.RMSprop()은 tensorflow에서 이미 임포트되어 있어요.
이 연습은 강의의 일부입니다
Python으로 시작하는 TensorFlow
연습 안내
opt_1연산을 학습률 0.01, momentum 0.99로 설정하세요.opt_2를 학습률 0.01, momentum 0.00인 RMSprop(제곱평균제곱근 전파) 옵티마이저로 설정하세요.opt_2에 대한 최소화 연산을 정의하세요.x_1과x_2를numpy배열로 출력하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Initialize x_1 and x_2
x_1 = Variable(0.05,float32)
x_2 = Variable(0.05,float32)
# Define the optimization operation for opt_1 and opt_2
opt_1 = keras.optimizers.RMSprop(learning_rate=____, momentum=____)
opt_2 = ____
for j in range(100):
opt_1.minimize(lambda: loss_function(x_1), var_list=[x_1])
# Define the minimization operation for opt_2
____
# Print x_1 and x_2 as numpy arrays
print(____, ____)