TensorFlow - Trình tối ưu hóa

Trình tối ưu hóa là lớp mở rộng, bao gồm thông tin bổ sung để đào tạo một mô hình cụ thể. Lớp tối ưu hóa được khởi tạo với các tham số đã cho nhưng điều quan trọng cần nhớ là không cần Tensor. Bộ tối ưu hóa được sử dụng để cải thiện tốc độ và hiệu suất để đào tạo một mô hình cụ thể.

Trình tối ưu hóa cơ bản của TensorFlow là:

tf.train.Optimizer

Lớp này được định nghĩa trong đường dẫn cụ thể của tensorflow / python / training / Optimizer.py.

Sau đây là một số trình tối ưu hóa trong Tensorflow -

  • Stochastic Gradient descent
  • Đổ dốc Stochastic Gradient với cắt gradient
  • Momentum
  • Động lượng Nesterov
  • Adagrad
  • Adadelta
  • RMSProp
  • Adam
  • Adamax
  • SMORMS3

Chúng tôi sẽ tập trung vào gốc Stochastic Gradient. Hình minh họa để tạo trình tối ưu hóa tương tự được đề cập bên dưới:

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

Các tham số cơ bản được xác định trong hàm cụ thể. Trong chương tiếp theo của chúng tôi, chúng tôi sẽ tập trung vào Tối ưu hóa Gradient Descent với việc triển khai các trình tối ưu hóa.