如何在张量流中的MLP中实现最大范数约束?

Cha*_*les 7 keras tensorflow

如何在张量流中对MLP中的权重实现最大范数约束?Hinton和Dean在他们关于黑暗知识的工作中描述的那种.也就是说,默认情况下tf.nn.dropout是否实现了权重约束,或者我们是否需要明确地执行权重约束,如

https://arxiv.org/pdf/1207.0580.pdf

"如果这些网络对于存在的隐藏单元共享相同的权重.我们使用标准的随机梯度下降程序来训练小批量训练案例中的丢失神经网络,但我们修改了通常用于的惩罚术语防止权重增长过大.我们不是惩罚整个权重向量的平方长度(L2范数),而是为每个隐藏单元设置输入权重向量的L2范数的上限.如果权重更新违反这个约束,我们通过除法重新归一化隐藏单位的权重."

Keras似乎拥有它

http://keras.io/constraints/

小智 2

您可以使用 tf.clip_by_value:

https://www.tensorflow.org/versions/r0.10/api_docs/python/train/gradient_clipping

梯度裁剪还用于防止循环神经网络中的权重爆炸。

  • 那不是“tf.clip_by_norm”而不是“tf.clip_by_value”吗? (3认同)