第四章:前馈神经网络
- 人工神经网络(Artificial Neural Network,ANN)是指一系列受生物学和神经科学启发的数学模型.这些模型主要是通过对人脑的神经元网络进行抽象, 构建人工神经元,并按照一定拓扑结构来建立人工神经元之间的连接,来模拟 生物神经网络.在人工智能领域,人工神经网络也常常简称为神经网络(Neural Network,NN)或神经模型(Neural Model)。
- 在本章中,我们主要关注采用误差反向传播来进行学习的神经网络,即作为一种机器学习模型的神经网络. 从机器学习的角度来看,神经网络一般可以看作一个非线性模型,其基本组成单元为具有非线性激活函数的神经元,通过大量神经元之间的连接,使得神经网络成为一种高度非线性的模型.神经元之间的连接权重就是需要学习的参数,可以在机器学习的框架下通过梯度下降方法来进行学习。
4.1 神经元
- 人工神经元(Artificial Neuron),简称神经元(Neuron),是构成神经网络的基本单元,其主要是模拟生物神经元的结构和特性,接收一组输入信号并产生输出。
- 激活函数
- 为了增强网络的表示能力和学习 能力,激活函数需要具备以下几点性质:
- (1) 连续并可导(允许少数点上不可导)的非线性函数.可导的激活函数 可以直接利用数值优化的方法来学习网络参数.
- (2) 激活函数及其导函数要尽可能的简单,有利于提高网络计算效率.
- (3) 激活函数的导函数的值域要在一个合适的区间内,不能太大也不能太小,否则会影响训练的效率和稳定性。
4.1.1 Sigmoid型函数
- 1)其输出直接可以看作概率分布,使得神经网络可以更好地和统计 学习模型进行结合.
- 2)其可以看作一个软性门(Soft Gate),用来控制其他神经 元输出信息的数量.
- 两种函数的图像 如下
4.1.2 ReLU函数
- 优点:采用ReLU的神经元只需要进行加、乘和比较的操作,计算上更加高效
- 缺点: ReLU函数的输出是非零中心化的,给后一层的神经网络引入偏置偏移, 会影响梯度下降的效率.此外,ReLU神经元在训练时比较容易“死亡”.在训练时,如果参数在一次不恰当的更新后,第一个隐藏层中的某个ReLU神经元在 所有的训练数据上都不能被激活,那么这个神经元自身参数的梯度永远都会是0,在以后的训练过程中永远不能被激活。这种现象称为死亡ReLU问题。,并且也有可能会发生在其他隐藏层。
4.1.2.1 带泄露的ReLU
4.1.2.2 带参数的ReLU
4.1.2.3 ELU函数(Exponential Linear Unit,指数线性单元)
4.1.2.4 Softplus函数
4.1.4 GELU函数 GELU(Gaussian Error LinearUnit,高斯误差线性单元)
4.1.5 Maxout单元
- Maxout单元不单是净输入到输出之间的非线性映射,而是整体学习输入到输出之间的非线性映射关系.Maxout激活函数可以看作任意凸函数的分段线性 近似,并且在有限的点上是不可微的。