我需要澄清一下,我们到底在什么时候说一个激活函数被激活了。激活函数的作用是引入非线性,对吗?它只是将给定的输入缩放到一个限定范围内吗?
回答:
我需要澄清一下,我们到底在什么时候说一个激活函数被激活了。
我们不会这样说。这不是一个布尔值的问题,不是“激活”或“未激活”。你可能是在考虑神经元是否会发射(通过其轴突发送电信号)。
感知器(软件神经网络中的“神经元”)并不一定这样工作。一些激活函数确实有硬二进制信号(-1 对 1,或 0 对 1),但大多数是连续函数。
相反,应该把它看作是一个“注意力函数”,一种评估“这个神经元对输入的反应应该有多兴奋?”例如,ReLU(y = max(x, 0)
)可以翻译为“如果这是无聊的,我不在乎它有多无聊;把它称为0,然后继续。” Sigmoid
和 tanh
更加具有区分性:
- 低于-2 ……… 算了吧
- -2 到 2 之间 … 是的,让我们关注利弊
- 高于2 ………. 我明白了——这非常酷… 不关心你剩下的推销词,你已经得到了A+。
激活函数是一种归一化或缩放过滤器。它们帮助下一层有效地专注于区分未决定的情况;一个好的激活函数通常在其输入的中间范围(“模型不确定”)内有一个有用的梯度(比如,约1.0)。它们防止一个极度兴奋的输入(比如+1000)在下一层的“对话”中占据主导地位。