Оптимизаторы

Введение в TensorFlow на Python

Isaiah Hull

Visiting Associate Professor of Finance, BI Norwegian Business School

Как найти минимум

На изображении показан Большой каньон.

1 Источник: Служба национальных парков США
Введение в TensorFlow на Python

Как найти минимум

На изображении показан Большой каньон.

1 Источник: Служба национальных парков США
Введение в TensorFlow на Python

Как найти минимум

На изображении показан Большой каньон.

1 Источник: Служба национальных парков США
Введение в TensorFlow на Python

На рисунке показан путь оптимизаторов SGD, RMS prop и Adam для простой задачи.

Введение в TensorFlow на Python

Оптимизатор градиентного спуска

  • Оптимизатор стохастического градиентного спуска (SGD)

    • tf.keras.optimizers.SGD()
    • learning_rate
  • Простой и наглядный

Введение в TensorFlow на Python

Оптимизатор RMS prop

  • Оптимизатор RMS propagation (RMSprop)

    • Применяет разные скорости обучения к каждому признаку
    • tf.keras.optimizers.RMSprop()
    • learning_rate
    • momentum
    • decay
  • Позволяет импульсу как накапливаться, так и затухать

Введение в TensorFlow на Python

Оптимизатор Adam

  • Оптимизатор адаптивного момента (Adam)

    • tf.keras.optimizers.Adam()
    • learning_rate
    • beta1
  • Хорошо работает со значениями параметров по умолчанию

Введение в TensorFlow на Python

Полный пример

import tensorflow as tf

# Define the model function
def model(bias, weights, features = borrower_features):
    product = tf.matmul(features, weights)
    return tf.keras.activations.sigmoid(product+bias)
# Compute the predicted values and loss
def loss_function(bias, weights, targets = default, features = borrower_features):
    predictions = model(bias, weights)
    return tf.keras.losses.binary_crossentropy(targets, predictions)
# Minimize the loss function with RMS propagation
opt = tf.keras.optimizers.RMSprop(learning_rate=0.01, momentum=0.9)
opt.minimize(lambda: loss_function(bias, weights), var_list=[bias, weights])
Введение в TensorFlow на Python

Давайте потренируемся!

Введение в TensorFlow на Python

Preparing Video For Download...