在人工神经网络中,节点的激活函数是计算节点输出的一个关键成分,该输出取决于其各个输入及其权重。这些激活函数的纪录,可以决定是否能用较少的节点解决复杂的问题。 –
现代的激活函数包括逻辑函数(sigmoid)、ReLU(Rectified Linear Unit)以及光滑版的ReLU、GELU(Gaussian Error Linear Unit)等。 –
随着技术的进步,特定的激活函数在不同的模型中得到了应用。例如,2012年Hinton等人开发的语音辨识模型使用了逻辑函数,而2012年的AlexNet和2015年的ResNet模型则是靠ReLU架构来进行电脑视觉任务。此外,2018年的BERT模型则使用了GELU,这些不同的激活函数在不同任务中的表现引发了广泛的讨论。 –
除了实际表现外,各种激活函数在数学上也有不同的特性,如偏非线性和连续可微性。非线性激活函数使得两层神经网络能够被证明为通用函数逼近器,而线性激活函数则无法满足这一特性。当多层使用线性激活函数时,整个网络相当于单层模型。 –
当激活函数的范围是有限的时候,基于梯度的训练方法通常会更加稳定,因为模式的展示只会显著影响有限的权重。 –
然而当激活函数的范围是无限的时,训练的效率通常会更高,因为模式的展示几乎影响所有的权重。这种情况下,通常需要较小的学习率。 –
当下最常见的激活函数可以分为三类:山脊函数、径向函数和折叠函数。 –
非饱和激活函数(如ReLU)相对于饱和激活函数可能更具优势,因为前者不太容易受到消失梯度问题的影响。 –
山脊激活函数是作用于输入变量线性组合的多变量函数。常见范例包括线性激活、ReLU激活和逻辑激活等。这些函数不仅受到生物启发,同时也模拟细胞的动作电位的发射率。 –
若一条线的斜率为正,那么它能反映输入电流增加时的发放频率。 –
径向基函数(RBF)是另一类激活函数,主要用于RBF网络。它们可以采用多种形式,其中最常见的有高斯函数和多平方差函数等。 –
除了上述函数,周期性函数如正弦函数也可以用作激活函数,因为任何周期性函数都可以通过傅里叶变换分解成正弦波的线性组合。此外,折叠激活函数在卷积神经网络的池化层中,以及多类分类网络的输出层中被广泛使用,例如softmax激活函数。 –
在量子神经网络中,激活函数的非线性可以在不需要对每一层的每个感知器的输出进行测量的情况下实现。 –
量子电脑的特性使得设计这样的量子电路变得可能,这些电路可以用于近似任何任意的经典激活函数。 –
激活函数的选择对于神经网络的表现至关重要,未来的研究可能会探索更多尚未发掘的激活函数,这会如何影响整个神经网络的效果呢?