【神经网络】全连接神经网络理论

文章目录

    • 三、全连接神经网络(多层感知器)
        • 3.1 网络结构设计:
        • 3.2 损失函数:
            • 1、SOFTMAX(把分数变成概率)
            • 2、交叉熵损失
        • 3.3 优化算法:
          • 1、计算图与反向传播:
          • 2、再谈损失函数(梯度消失问题):
          • 3、解决梯度消失问题:动量法与自适应梯度
            • 解决方法1:动量法(累加让震荡方向互相抵消)
            • 解决方法2:自适应梯度AdaGrad 与改进的RMSProp(使用不同方向步长)
            • 解决方法:ADAM(把动量法与自适应梯度合一块)
        • 3.4 训练过程
          • 1、权值初始化(希望通过调整权值让输出有和输入相同的分布)
            • 解决方法:Xavier初始化(使用双曲正切激活函数或者sigmoid)
            • 解决方法:HE初始化(MSRA)(使用ReLU激活函数)
          • 2、批归一化(BN操作)(每一层进行批归一化)
          • 3、欠拟合、过拟合与Dropout
            • 解决过拟合的方法:
            • 随机失活(Dropout)(让隐层神经元以一定概率不被激活)
          • 4、模型正则与超参数调优

三、全连接神经网络(多层感知器)

【神经网络】全连接神经网络理论_第1张图片

全连接神经网络级联多个变换来实现输入到输出的映射。
注:max()在这称为激活函数,非线性操作不可以去掉。若缺少激活函数,退化为线性分类器。

【神经网络】全连接神经网络理论_第2张图片

线性分类器中的W 可看作模板,模板个数由类别个数决定;
全连接神经网络中W1 也可看作模板,但模板个数人为指定,不用一定等于类别数,W2 融合这多个模板的匹配结果来实现最终类别打分,W2模板个数等于类别数。

N 层全连接神经网络:除输入层之外其他层的数量为N 的网络或称为N-1 隐层神经网络。

【神经网络】全连接神经网络理论_第3张图片

3.1 网络结构设计:

1、用不用隐层,用几个隐层(深度设计)
2、每隐层设置多少个神经元合适(宽度设计)

3.2 损失函数:

1、SOFTMAX(把分数变成概率)

【神经网络】全连接神经网络理论_第4张图片

举例说明:【神经网络】全连接神经网络理论_第5张图片

2、交叉熵损失

【神经网络】全连接神经网络理论_第6张图片

【神经网络】全连接神经网络理论_第7张图片

【神经网络】全连接神经网络理论_第8张图片

对比交叉熵损失多类支持向量机损失【神经网络】全连接神经网络理论_第9张图片

举实际计算例子对比:【神经网络】全连接神经网络理论_第10张图片

3.3 优化算法:

1、计算图与反向传播:

示例:【神经网络】全连接神经网络理论_第11张图片

【神经网络】全连接神经网络理论_第12张图片

总结:【神经网络】全连接神经网络理论_第13张图片

【神经网络】全连接神经网络理论_第14张图片

2、再谈损失函数(梯度消失问题):

梯度消失是神经网络训练中非常致命的一个问题,本质是由于链式法则的乘法特性导致的。(例如sigmoid)。与sigmoid(X)类似,tanh(x)局部梯度特性不利于网络梯度流的反向传递。

梯度爆炸:也是由于链式法则的乘法特性导致的(导致步长太长)。解决方法:把沿梯度方向前进的步长限制在某个值内就可以避免“飞”出了,称为梯度裁剪

【神经网络】全连接神经网络理论_第15张图片

【神经网络】全连接神经网络理论_第16张图片

3、解决梯度消失问题:动量法与自适应梯度

梯度下降存在的问题:(仅增加总步长不能加快算法收敛速度)【神经网络】全连接神经网络理论_第17张图片

解决方法1:动量法(累加让震荡方向互相抵消)

【神经网络】全连接神经网络理论_第18张图片

【神经网络】全连接神经网络理论_第19张图片

解决方法2:自适应梯度AdaGrad 与改进的RMSProp(使用不同方向步长)

原理:使用不同方向的步长(学习率)

【神经网络】全连接神经网络理论_第20张图片

AdaGrad 自适应算法存在的问题r 一直在累加,r 最终成为一个非常大的值,失去对学习率的调节作用。

对进行AdaGrad 自适应算法改进:RMSProp 方法【神经网络】全连接神经网络理论_第21张图片

解决方法:ADAM(把动量法与自适应梯度合一块)

【神经网络】全连接神经网络理论_第22张图片

3.4 训练过程

1、权值初始化(希望通过调整权值让输出有和输入相同的分布)

【神经网络】全连接神经网络理论_第23张图片

解决方法:随机权值初始化(还是不行)

【神经网络】全连接神经网络理论_第24张图片

实验结论:初始化时让权值不相等,并不能保证网络能够正常的被训练。
有效的初始化方法:使网络各层的激活值和局部梯度的方差在传播过程中尽量保持一致;以保持网络中正向和反向数据流动。

解决方法:Xavier初始化(使用双曲正切激活函数或者sigmoid)

【神经网络】全连接神经网络理论_第25张图片
【神经网络】全连接神经网络理论_第26张图片
【神经网络】全连接神经网络理论_第27张图片

Xavier初始化 结论意思就是:当把高斯分布均值设为0,方差设为1/N时,去采样权值时,能保证输出与输入的变量有相同的分布。

Xavier初始化 出现的问题【神经网络】全连接神经网络理论_第28张图片

解决方法:HE初始化(MSRA)(使用ReLU激活函数)

【神经网络】全连接神经网络理论_第29张图片

小结:【神经网络】全连接神经网络理论_第30张图片

2、批归一化(BN操作)(每一层进行批归一化)

【神经网络】全连接神经网络理论_第31张图片

【神经网络】全连接神经网络理论_第32张图片

【神经网络】全连接神经网络理论_第33张图片

单张样本测试时,均值和方差怎么设置?
:来自于训练中。累加训练时每个批次的均值和方差,最后进行平均,用平均后的结果作为预测时的均值和方差。

3、欠拟合、过拟合与Dropout

过拟合:指学习过程选择的模型所包含的参数过多,以至于出现模型对已知数据预测得很好,对未知数据预测很差的现象。

欠拟合:一般是因为模型太简单

解决过拟合的方法:

最优方案:获取更多的数据

次优方案:调节模型允许存储的信息量或者对模型允许存储的信息加以约束,这种方法也称为正则化
1、调节模型大小。2、约束模型权重,即权重正则化(常用的有L1、L2正则化)3、随机失活(Dropout

随机失活(Dropout)(让隐层神经元以一定概率不被激活)

【神经网络】全连接神经网络理论_第34张图片【神经网络】全连接神经网络理论_第35张图片

【神经网络】全连接神经网络理论_第36张图片【神经网络】全连接神经网络理论_第37张图片

改进Dropout【神经网络】全连接神经网络理论_第38张图片

4、模型正则与超参数调优

【神经网络】全连接神经网络理论_第39张图片

例如学习率的设置【神经网络】全连接神经网络理论_第40张图片

【神经网络】全连接神经网络理论_第41张图片

举实例说明:【神经网络】全连接神经网络理论_第42张图片

【神经网络】全连接神经网络理论_第43张图片

【神经网络】全连接神经网络理论_第44张图片

你可能感兴趣的:(人工智能相关,神经网络,深度学习,机器学习)