冻结除输出/登录以外的所有层

时间:2019-04-18 00:45:52

标签: python machine-learning

我对模型如何在logit层上训练感到困惑。如果logit是S型激活函数的结果,那么可训练变量是什么?先进行Logits,然后进行softmax,但是如果冻结了隐藏层,则正在训练哪个部分?

output_layer_vars = tf.get_collection(tf.TRAINABLE_VARIABLES, scope='logits')
optimizer = tf.train.AdamOptimizer(learning_rate, name='Adam2')
training_op = optimizer.minimize(loss, var_list=output_layer_vars)```

1 个答案:

答案 0 :(得分:1)

在深度学习中,logits层是指馈入softmax(或其他此类归一化)的层。 softmax的输出是分类任务的概率,其输入是logits层。 logits层通常产生-infinity到+ infinity的值,而softmax层将其转换为0到1的值。

通常将层冻结用于逐层优化。在您的问题中,隐藏层是冻结的,但不是logit层。这意味着仅对logit层进行优化,以便为稍后的softmax产生更好的权重。