【问题标题】:Is it necessary to define the backward function for the frozen layers?是否需要为冻结层定义后向函数?
【发布时间】:2017-03-01 17:45:21
【问题描述】:

我有一个具有 4 个隐藏层的函数拟合网络。

我需要为 first第三 层找到合适的权重, 而 secondfourth 层是某种 normalization 层,不需要学习,所以我只是通过设置它们来冻结它们学习率为零。

我的问题是:

我应该为这两个冻结层定义后向函数吗?

我在 caffe 中saw 认为没有任何可学习参数的池化层具有后向功能。

提前致谢,

【问题讨论】:

  • 渐变会向下传播,所以你不能停止,否则你的早期层将无法从上面获取信息。将冻结层中的所有单元视为附加门 - 通过它传播梯度 * 1(即不改变梯度,但允许传播)。
  • @KeirSimmons 非常感谢您的关注。

标签: machine-learning neural-network caffe conv-neural-network function-fitting


【解决方案1】:

是的,您需要向后传递,否则您的学习将在这一层停止(它下面的任何东西都不会学习)。即使对于不可学习的层,您也需要计算有效梯度

【讨论】:

  • 非常感谢,但是通过突出显示“有效渐变”,您的意思是我应该假设冻结层实际上并未冻结并编写自己的后向函数或仅根据 Keir 的评论与传入的渐变交互?
  • 我的意思是,图层被冻结并不重要,只要它正在处理数据,它就会提供渐变。例如,如果您有一个乘以 123 的层(并且您不再更改此 123),则它的反向传递也应该输出 123 倍的输入梯度(因为 d(123*x)/dx = 123)。凯尔的评论无效。如果你“通过”梯度,这将是无效的操作。
猜你喜欢
  • 2015-10-19
  • 2020-08-14
  • 1970-01-01
  • 2020-11-07
  • 1970-01-01
  • 2021-04-02
  • 1970-01-01
  • 1970-01-01
  • 2014-08-14
相关资源
最近更新 更多