神经网络激活函数与Softmax详解
1. 神经网络的激活函数概述
在神经网络中,激活函数起着至关重要的作用。一个全连接网络可能会因为只使用了加法和乘法(线性函数)而“崩溃”,即网络的输出变得单一且缺乏多样性。为了避免这种情况,我们需要使用非线性的激活函数。激活函数通常接收一个浮点数作为输入,并返回一个新的浮点数作为输出。理论上,我们可以为网络中的每个神经元应用不同的激活函数,但在实践中,通常会为每一层的所有神经元分配相同的激活函数。
1.1 直线函数
直线函数是由一条或多条直线组成的激活函数。例如,图中最左边的函数,对于X轴上的任意一点,垂直向上与直线相交,该交点在Y轴上的值与X轴上的值相同,这就是恒等函数。其他直线函数则具有不同的斜率,我们将任何单一的直线曲线称为线性函数。
然而,这些直线激活函数并不能防止网络崩溃。因为从数学角度看,它们只进行乘法和加法运算,属于线性函数,网络可能会因此崩溃。直线激活函数通常只出现在两种特定情况中:
- 用于网络的输出神经元 :由于输出之后没有其他神经元,所以不存在崩溃的风险。
- 在神经元的求和步骤和激活函数之间插入处理步骤 :先对神经元应用恒等函数,进行处理步骤,然后再执行非线性激活函数。
1.2 阶跃函数
我们不希望使用单一的直线,而是需要单值的曲线。一种简单的方法是将直线分割成几段,这些线段甚至不需要连接,这就是阶梯函数。例如,当输入从0到小于0.2时,输出为0;当输入从0.2到小于0.4时,输出为0.2,依此类推。
最简单的阶梯函数只有一个台阶,称为阶
超级会员免费看
订阅专栏 解锁全文
1364

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



