로컬 최소값의 위험성
전역 최소값(오른쪽 점으로 표시)과 여러 개의 로컬 최소값(왼쪽 점으로 표시된 것 포함)을 가지는 다음 손실 함수 loss_function()의 그래프를 살펴보세요.

이번 연습에서는 keras.optimizers.SGD()를 사용해 loss_function()의 전역 최소값을 찾아보겠습니다. 이를 두 번 수행하는데, 매번 loss_function()에 주는 초기 입력값을 다르게 합니다. 먼저 초기값이 6.0인 변수 x_1을 사용하고, 다음으로 초기값이 0.3인 변수 x_2를 사용합니다. loss_function()은 이미 정의되어 있으며 사용할 수 있습니다.
이 연습은 강의의 일부입니다
Python으로 시작하는 TensorFlow
연습 안내
- 학습률 0.01을 사용하는 확률적 경사 하강법(SGD) 옵티마이저로
opt를 설정하세요. - 손실 함수
loss_function()과 초기값이 6.0인 변수x_1을 사용해 최소화를 수행하세요. - 손실 함수
loss_function()과 초기값이 0.3인 변수x_2를 사용해 최소화를 수행하세요. x_1과x_2를numpy배열로 출력하고 값이 서로 다른지 확인하세요. 이는 알고리즘이 찾은 최소값입니다.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Initialize x_1 and x_2
x_1 = Variable(6.0,float32)
x_2 = Variable(0.3,float32)
# Define the optimization operation
opt = keras.optimizers.____(learning_rate=____)
for j in range(100):
# Perform minimization using the loss function and x_1
opt.minimize(lambda: loss_function(____), var_list=[____])
# Perform minimization using the loss function and x_2
opt.minimize(lambda: ____, var_list=[____])
# Print x_1 and x_2 as numpy arrays
print(____.numpy(), ____.numpy())