Шаг спуска в TensorFlow
Стохастический градиентный спуск
сдвигает веса модели в сторону
уменьшения ошибки. В Keras его
задают классом SGD.
При создании указывают
learning_rate - длину
одного шага по каждому весу.
Создадим оптимизатор с заданным шагом и передадим его при компиляции модели:
import tensorflow as tf
optimizer = tf.keras.optimizers.SGD(
learning_rate=0.05
)
model = tf.keras.Sequential([
tf.keras.layers.Dense(1, input_shape=(1,)),
])
model.compile(optimizer=optimizer, loss="mse")
print(optimizer.learning_rate.numpy())
# выведет 0.05
Меньший шаг меняет веса осторожнее. Значение можно прочитать у уже созданного объекта:
import tensorflow as tf
optimizer = tf.keras.optimizers.SGD(
learning_rate=0.001
)
print(optimizer.learning_rate.numpy())
# выведет 0.001
Создайте объект спуска с шагом
0.1. Подключите его
к модели с одним выходом
и средним квадратом.
Выведите заданный шаг.
Задайте спуск с шагом 0.02
для цепочки из одного блока
на вход длины 2.
Выведите число шага из
объекта оптимизатора.
Соберите модель для одного
признака. Укажите при подготовке
к обучению спуск с шагом
0.5 и выведите этот
шаг после создания.