TensorFlow - Оптимизаторы
Оптимизаторы - это расширенный класс, который включает дополнительную информацию для обучения конкретной модели. Класс оптимизатора инициализируется заданными параметрами, но важно помнить, что тензор не требуется. Оптимизаторы используются для повышения скорости и производительности обучения конкретной модели.
Базовый оптимизатор 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
Основные параметры определяются в конкретной функции. В нашей следующей главе мы сосредоточимся на оптимизации градиентного спуска с применением оптимизаторов.