神经网络激活函数详解
1. 激活函数概述
在神经网络中,激活函数起着至关重要的作用。全连接网络有时会出现“坍塌”现象,这是因为它仅使用了加法和乘法等线性运算。线性函数可以相互组合,但非线性函数本质上不同,不会以这种方式组合。为了防止网络坍塌,我们设计激活函数采用非线性运算,因此激活函数有时也被称为非线性函数。
激活函数通常接收一个浮点数作为输入,并返回一个新的浮点数作为输出。我们可以通过绘制小图形来定义这些函数,而无需使用方程或代码。水平轴(X轴)表示输入值,垂直轴(Y轴)表示输出值。要找到任何输入的输出,我们在X轴上找到输入值,然后直接向上移动,直到与曲线相交,该交点的Y轴值就是输出值。
理论上,我们可以为网络中的每个神经元应用不同的激活函数,但在实践中,我们通常为每一层的所有神经元分配相同的激活函数。
2. 直线函数
2.1 恒等函数
首先来看由一条或多条直线组成的激活函数。有一类“曲线”实际上就是直线,例如最左边的例子,如果我们在X轴上选取任何一点,垂直向上直到与直线相交,该交点在Y轴上的值与X轴上的值相同。这条曲线的输出(y值)始终与输入(x值)相同,我们称其为恒等函数。
2.2 线性函数
其他的直线“曲线”具有不同的倾斜斜率。任何仅由一条直线组成的曲线都被称为线性函数,甚至(有点容易混淆)称为线性曲线。
这些直线激活函数无法防止网络坍塌。当激活函数是一条单一的直线时,从数学角度来看,它只是在进行乘法和加法运算,这意味着它是一个线性函数,网络可能会坍塌。这些直线激活函数通常仅在两种特定情况下出现:
- 应用于网络的
超级会员免费看
订阅专栏 解锁全文
1363

被折叠的 条评论
为什么被折叠?



