Тензор потока) Как применить градиентный спуск с затуханием скорости обучения и обновить правило одновременно?

Я делаю эксперимент, связанный с CNN.

Я хочу реализовать градиентный спад с затуханием скорости обучения и правило обновления от AlexNet.

Алгоритм, который я хочу реализовать, приведен ниже (снимок из бумаги alexnet):

Я думаю, что я правильно понизил скорость обучения, и код приведен ниже (я правильно проверил снижение скорости обучения в соответствии с global_step):

learning_rate = tf.train.exponential_decay(starter_learning_rate, global_step,
100000, 0.1, staircase=True)

Затем я должен реализовать правило обновления (снижение веса 0,005 и импульс 0,9). Я думаю, что правильно сделал импульс, но не смог найти способ реализовать снижение веса, код также приведен ниже:

cross_entropy = tf.reduce_mean(
    tf.nn.softmax_cross_entropy_with_logits(labels=y_, logits = fc8))
train_step = tf.train.MomentumOptimizer(learning_rate, 0.9).minimize(cross_entropy,global_step=global_step)

Я правильно делаю "спад скорости обучения" и "импульс"? и Как правильно реализовать "снижение веса 0,005"?

Спасибо.

РЕДАКТИРОВАТЬ Я использовал tf.layers.conv2d в качестве сверточного слоя, чтобы в него были включены угибы и уклоны. Код ниже:

conv5 = tf.layers.conv2d(
  inputs=conv4,
  filters=256,
  strides=1,
  kernel_size=[3, 3],
  kernel_initializer= tf.constant_initializer(pre_trained_model["conv5"][0]),
  bias_initializer = tf.constant_initializer(pre_trained_model["conv5"][1]),
  padding="SAME",
  activation=tf.nn.relu,name='conv5')

0 ответов

Другие вопросы по тегам