TensorFlow-최적화 도구
최적화 프로그램은 특정 모델을 학습시키기위한 추가 정보를 포함하는 확장 클래스입니다. 옵티 마이저 클래스는 주어진 매개 변수로 초기화되지만 Tensor가 필요하지 않다는 것을 기억하는 것이 중요합니다. 옵티마이 저는 특정 모델 훈련을위한 속도와 성능을 향상시키는 데 사용됩니다.
TensorFlow의 기본 최적화 프로그램은 다음과 같습니다.
tf.train.Optimizer
이 클래스는 tensorflow / python / training / optimizer.py의 지정된 경로에 정의됩니다.
다음은 Tensorflow의 최적화 프로그램입니다.
- 확률 적 경사 하강 법
- 그라디언트 클리핑을 사용한 확률 적 그라디언트 하강
- Momentum
- 네 스테 로프 운동량
- Adagrad
- Adadelta
- RMSProp
- Adam
- Adamax
- SMORMS3
확률 적 경사 하강 법에 초점을 맞출 것입니다. 동일한 최적화 프로그램을 만드는 그림은 아래에 언급되어 있습니다.
def sgd(cost, params, lr = np.float32(0.01)):
g_params = tf.gradients(cost, params)
updates = []
for param, g_param in zip(params, g_params):
updates.append(param.assign(param - lr*g_param))
return updates
기본 매개 변수는 특정 기능 내에서 정의됩니다. 다음 장에서는 최적화 프로그램 구현과 함께 Gradient Descent Optimization에 초점을 맞출 것입니다.