SonicOperator之算法优化2

4.3 神经网络
随后,使用优化后的神经网络模型来完成分类任务。需要在实际的操作中收集了大量的数据以及对应数据的标签。
人工神经网络(Artificial Neural Network),神经网络是一种运算模型,由大量的节点(或称神经元)之间相互联接构成。每个节点代表一种特定的输出函数,称为激励函数(activation function)。每两个节点间的连接都代表一个对于通过该连接信号的加权值,称之为权重。
如下图所示,相互链接的神经元之间可以构成不同的层,这些层与层之间传递信息是通过加权求和再加上偏置,一直将信息传递到输出层计算结果,然后再由输出层反向传播求导修正误差得到合适的权重和偏置值。
如下图所示,神经网络的具体的训练模型流程如下:

SonicOperator之算法优化2_第1张图片

算法优化
本系统和传统的神经网络不同,为了减少反向传播过程中的梯度消失,使用ReLu(Rectified Linear Units)替代传统的激励函数。 在分类时候,使用softmax分类器,softmax是一个永远不会满足的分类器,从而能更加彻底的进行拟合。并且通过交叉验证可证明,softmax效果比传统的分类方式更优。
对抗过拟合时,主要使用dropout与L2正则化以及batch normalization 技术来对抗过拟合。
dropout使得每次神经元都有一定的概率工作,同时增强其他工作的神经元,这样相当于使神经网络每次训练出一个子网,最后通过叠加的方式求得分类结果,相当于多个子网络模型进行融合。从一定程度上减少过拟合。

SonicOperator之算法优化2_第2张图片

L2正则化技术则是通过为损失加上权重的范数,能够稀疏化网络的权重结构使得复杂的网络模型变得平滑化来对抗过拟合,同时也起到特征选择的作用。
Batch normalization则是一种近似白化处理手段,对网络层的权重求得均值与方差,然后中心化后进行放缩与偏置处理。

SonicOperator之算法优化2_第3张图片

你可能感兴趣的:(SonicOperator之算法优化2)