目录
一、学习资料
Datawhale提供的pdf:
Task3:《深度学习详解》- 3.7 批量归一化(8页+31分钟).pdf - 飞书云文档 (feishu.cn)
Task3.2:《深度学习详解》- 4.1&2&3&4 卷积神经网络-上(8页+26分钟).pdf - 飞书云文档 (feishu.cn)
Task3.3:《深度学习详解》- 4.5&6&7&8 卷积神经网络-下(8页+30分钟).pdf - 飞书云文档 (feishu.cn)
李宏毅老师对应视频课程:神经网络训练不起来怎么办(5):批次标准化(Batch Normalization)简介_哔哩哔哩_bilibili
二、学习笔记
只来得及看了一遍老师讲课,纸上随堂记了一点潦草笔记,还没来得及看第二遍细化知识点+做笔记,所以只能根据潦草的手稿誊写成电子版,写了这次的学习笔记。
(一)批量归一化
误差表面崎岖→难以训练
↓ 所以
把山铲平→批量归一化→改善训练难度
不能固定学习率,效果不好。
1、为什么产生崎岖的误差表面?
x很小,前面的乘数变化时,变化量很小,对y对e对L的影响都不大;
x很大,前面的乘数变化时,变化量很大,对y对e对L的影响就很大。
2、如何解决?
给不同维度以相同的数值范围。
3、训练部分:
让训练变得比较容易的不同方法统称:特征归一化。
其中有:Z值归一化,又称标准化。
1)怎么做?
书上记号笔画了,此处截自datawhale的pdf。
2)好处是?
做梯度下降时,损失收敛更快,训练更顺。
3)考虑深度学习
原本x~已做归一化,但x~通过第一层,得到z1,因不同维度间数值特征仍有差异,所以还是训练困难。
所以对中间层也做归一化。
怎么做?
见教材
数据量太大怎么办?
选取batch,只对一个batch里面的数据做归一化→批量归一化。
这个时候就不需要对整个数据集做特征归一化,而改成只在一个batch上做特征归一化作为近似。
4、测试部分:
pytorch已经处理好了,把每一个batch计算得来的μ和σ,算moving average移动平均。
5、批量归一化好处是?
减少内部协变量偏移
内部协变量偏移:前面层参数的变化导致后续层接收到的输入分布发生变化,这种变化会使得后续层需要不断适应新的输入分布,从而增加了训练难度和时间。
(二)卷积神经网络
1、是什么?
常用于图像分类:给机器一张图像,让机器判断图像里有什么东西。
2、怎么做?
把图像当模型输入,一张图像是一个三维的张量:一维代表宽,一维代表高,一维代表图像的通道(channel,RGB→3个色彩通道,称为RGB色彩模型)数目。
图像三维张量“拉直”→把向量当做全连接网络的输入,输入的特征向量长度就是100*100*3,很长。
模型的目标是分类,因此可将不同的分类结果表示成不同的独热向量 y′。
3、怎么输出?
把类别标为独热向量,类别对应的值为1,其余类别对应的值为0。
模型的输出通过 softmax 以后,输出yˆ。
我们希望 y′ 和 yˆ 的交叉熵越小越好。
4、如何简化?
1)检测模式不需要整张图像
A. 是什么?
抓特征——感受野。检测图像里有没有出现一些特别重要的模式(pattern),这些pattern能代表了某物。
B. 怎么做?
因此可以用感受野,每个神经元都只关心自己的感受野里面发生的事情,不需要在意整张图像里面有什么。
补一下概念:
核大小与通道:感受野的高度和宽度(即核大小)通常较小,以捕捉局部特征,如3×3。
神经元数量:每个感受野通常由一组神经元负责处理,例如64或128个神经元。
感受野的移动:水平或垂直移动,保证感受野能覆盖整张图像。相邻感受野之间的移动距离称为步幅,通常为1或2,以保持感受野间的重叠。
边界处理:当感受野超出图像边界时,采用填充技术来扩展图像边缘,常用方法为零填充。
全图扫描:通过水平和垂直方向上移动感受野并应用相同的步幅,确保图像的每个部分都被至少一个感受野覆盖,从而实现对整张图像的全面检测。
2)同样pattern出现在不同区域
A. 是什么?
相同的模式出现在不同的区域,但如果每个感受野都独立配备一个检测相同模式的神经元(如检测鸟嘴),会导致大量的参数冗余(因为这些神经元执行的是相同的任务,只是守备的区域不同)
B. 怎么做?
参数共享。使不同的神经元共享相同的参数(即一个滤波器),这组参数被该感受野内的所有神经元共用。
C. 好处是?
既能减少模型复杂度,又能保持对图像中不同位置相同特征的检测能力。
2.5)对比+总结
全连接层与卷积层: 全连接层具有更大的灵活性,可以处理整个图像或其子集,但容易过拟合。 卷积层通过固定的感受野和参数共享,限制了模型的灵活性,但也降低了过拟合的风险,特别适用于图像处理任务。
感受野:限制了神经网络的视野,使其只能关注图像的一个局部区域,从而减少了参数的数量。 参数共享:同一组参数在不同位置的感受野中被复用,进一步减少了参数数量。
3)下采样不影响模式检测
A. 是什么?
缩放图像不影响图片本身是什么。
B. 怎么做?
使用汇聚(pooling),减小图像的空间尺寸(即高度和宽度),但不改变其深度(通道数)。
类型:
最大汇聚:选择每个区域内的最大值作为代表,有助于捕捉显著特征。
平均汇聚:计算每个区域的平均值,更平滑地保留特征信息。
卷积与汇聚交替使用,减少计算量。
5、卷积神经网络的应用方向
1)下围棋——AlphaGo
下围棋问题本质上可以视为一个具有19x19个类别的分类问题。
其中网络的输入是棋盘状态,通过19x19x48的向量表示,黑子、白子和空位分别用1、-1和0标记。
输出是预测的最佳落子位置。
网络结构: 使用多层卷积层,每层包含192个滤波器,滤波器大小从5x5(第一层)到3x3(后续层),步幅为1,并进行了零填充以保持特征图大小。
没有使用汇聚层,因为汇聚会丢失对围棋来说至关重要的精细信息。
最后使用softmax层进行分类,预测最佳落子位置。
2)语音和文字处理
但是需要根据语音和文本的特性重新设计感受野和参数共享,因为语音和文本数据具有与图像不同的统计特性和结构。