为什么在Wavenet中使用的门控激活函数比ReLU更有效?

13
最近我在阅读Wavenet和PixelCNN的论文,两篇中都提到使用门控激活函数比ReLU更有效。但在这两种情况下,它们都没有解释为什么会这样。
我在其他平台上询问过(例如r/machinelearning),但目前还没有得到任何回复。也许他们只是尝试了这种替换方法,结果得到了有利的结果?
参考函数: y = tanh(Wk,f ∗ x) . σ(Wk,g ∗ x)
卷积的S型函数和双曲正切的逐元素乘积。
3个回答

10
我进行了一些调查并与朋友交谈,他向我指出了Dauphin等人关于“带门卷积网络的语言建模”的论文。在论文的第3节中,他对这个主题提供了很好的解释:
LSTM通过由输入和遗忘门控制的单独单元实现长期记忆。这使得信息可以在潜在的多个时间步骤中无阻碍地流动。如果没有这些门,信息可能会在每个时间步骤的转换中轻易消失。
相比之下,卷积网络不会遭受相同类型的梯度消失问题,我们在实验中发现它们不需要遗忘门。因此,我们考虑仅具有输出门的模型,这允许网络控制应该通过层次结构传播哪些信息。
换句话说,他们采用了门的概念,并将其应用于序列卷积层,以控制要通过的信息类型,显然这比使用ReLU更好。
编辑:但是为什么它效果更好,我仍然不知道。如果有人能给我一个稍微直观的答案,我将不胜感激。我再找了一些资料,显然我们仍然基于试错来判断。

1
你最终找到答案了吗? - kendfss

0

我认为这是因为它在接近零的地方高度非线性,不像relu。使用他们的新激活函数[tanh(W1 * x) * sigmoid(W2 * x)],您将获得一个在[-1,1]范围内具有一些有趣弯曲的函数。

不要忘记,这不是在特征空间上操作,而是在特征空间的矩阵乘法上操作,因此它不仅仅是“更大的特征值会做这个,更小的特征值会做那个”,而是它在特征空间的线性变换的输出上运行。

基本上,它选择要突出显示的区域,要忽略的区域,并且由于激活而灵活(且非线性)地执行此操作。

https://www.desmos.com/calculator/owmzbnonlh,请参见“c”函数。

这使模型能够在门控注意空间中分离数据。

这就是我的理解,但对我来说仍然相当神秘。


0

在深度学习中,像许多其他架构调整一样,其中的一部分可能是试错的。在这种情况下,我相信PixelRNN paper已经证明了PixelRNN优于PixelCNN。因此,作者正在寻找原因,并决定PixelRNN的乘法激活单元(LSTM中的“门”)使其能够模拟更复杂的交互作用。我遇到的一个解释是:

Sigmoid的输出介于0和1之间,因此它充当门控函数,决定信息是否通过(必要时将信息归零),而具有更广范围(-1,1)的tanh则传递实际信息。因此,它们的组合比单个激活函数(例如ReLU)更具表现力。

来源:Pieter Abbeel's Deep Unsupervised Learning course - YT Video


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接