为什么门控激活函数(在 Wavenet 中使用)比 ReLU 效果更好?

问题描述 投票:0回答:3

我最近一直在阅读 Wavenet 和 PixelCNN 的论文,在这两篇论文中,他们都提到使用门控激活函数比 ReLU 效果更好。但在这两种情况下,他们都没有解释为什么会这样。

我已经在其他平台上询问过(比如在 r/machinelearning 上),但到目前为止我还没有得到任何回复。可能是他们只是(偶然地)尝试了这种替代品,结果却产生了令人满意的结果?

参考功能: y = tanh(Wk,f ∗ x) 。 σ(Wk,g ∗ x)

卷积的 sigmoid 和 tanh 之间的逐元素乘法。

machine-learning neural-network deep-learning activation-function
3个回答
8
投票

我做了一些挖掘,并与一位朋友谈了更多,他向我指出了 Dauphin et 的一篇论文。阿尔。关于“门控卷积网络的语言建模”。他在论文的第 3 节中对此主题提供了很好的解释:

LSTM 通过由输入门和遗忘门控制的单独单元实现长期记忆。这允许信息在潜在的许多时间步长中畅通无阻地流动。没有这些门,信息很容易在每个时间步的转换中消失。

相比之下,卷积网络不会遭受相同类型的梯度消失,我们通过实验发现它们不需要遗忘门。因此,我们考虑仅拥有输出门的模型,它允许网络控制哪些信息应该通过层次结构传播。

换句话说,这意味着他们采用了门的概念并将它们应用于顺序卷积层,以控制允许通过的信息类型,显然这比使用 ReLU 效果更好。

edit:但是WHY效果更好,我仍然不知道,如果有人能给我一个甚至有点直观的答案我将不胜感激,我环顾四周,显然我们仍在根据试验做出判断和错误。


0
投票

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

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

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

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

这允许模型在门控注意空间中分离数据。

这是我对它的理解,但它对我来说仍然是炼金术。


0
投票

其中一部分肯定是反复试验,就像深度学习中的许多其他架构调整一样;但是,我遇到的一种解释如下:

Sigmoid 的输出介于 0 和 1 之间,因此它充当决定信息是否通过的门函数(如果需要则将信息清零),而具有更宽范围 (-1, 1) 的 tanh 将实际信息通过。

来源:Pieter Abbeel 的深度无监督学习课程 - YT 视频

© www.soinside.com 2019 - 2024. All rights reserved.