- 特征提取:每一层的线性变换可以看作是在提取输入数据的不同特征。通过堆叠多个这样的层,网络能够学习从原始数据中提取越来越复杂的特征表示
- 非线性关系:单个神经元的线性变换是线性的,但通过引入非线性激活函数(例如ReLU,即Rectified Linear Unit),神经网络能够学习和模拟非线性关系。这是因为现实世界的数据往往具有非线性特征,没有非线性激活函数,神经网络将只能解决线性可分问题。
- 堆叠:通过堆叠多个层,神经网络形成了深层结构,这种深度使得网络能够学习数据的层次结构特征,例如,在图像识别中,底层可能学习到边缘特征,而高层可能学习到更复杂的形状或对象特征
- ReLU激活函数相比于其他非线性函数(如Sigmoid或Tanh)在正区间内是线性的,这使得梯度下降能够更高效地优化网络权重,减少了梯度消失问题。
- ReLU函数在正输入值处激活,而在负输入值处输出0,这种稀疏激活特性有助于减少计算量,并且使得网络能够更加关注于重要的特征
LeakyReLU解决了传统ReLU激活函数在负值区域的“死区”问题,即当输入为负时,ReLU函数的梯度为0,导致部分神经元无法更新权重
LeakyReLU引入了一个小的负斜率,允许负值输入也能有非零的输出
在PyTorch中,可以通过torch.nn.LeakyReLU类来创建LeakyReLU激活函数层