四、卷神经网络
1.重新思考-全连接层
多层感知机十分适合处理表格数据,行对应样本,列对应特征。
通过将图像数据展平成一维向量而忽略了每张图像的空间结构信息。
2.猫狗分类
使用一个还不错的相机采集RGB图片(3600万个像素)
使用 100 个神经元单隐含层的 MLP ,模型有 36 亿个参数
远超过地球上的狗和猫的数量
100个神经元
3600万个特征
参数:100×3600万=36亿
使用卷积神经网络可大大降低参数量:共享参数机制、多种池化方法
3.沃尔多游戏
4.两个原则
平移不变性
不管检测对象出现在图像中的哪个位置,神经网络的前面几层都应该对相同的图像区域具有相似的反应。
➢局部性
神经网络的前面几层应该只探索输入图像中的局部区域,而不过度在意图像中相隔较远的区域的关系。
5.图像卷积
6.卷积层
7.多通道的卷积层
8.填充和步幅
填充和步幅可以改变输出的高度和宽度
填充在输入周围添加额外的行/列,增加输出的高度和宽度
步幅是每次滑动核窗口时的行/列的步长,可以成倍的减少输出形状
填充和步幅可用于有效地调整数据的维度
9.多个输入和输出通道
彩色图像可能有 RGB 三个通道
转换为灰度会丢失信息
10.池化层
平均池化层:
将最大池化层中的“最大”操作替换为“平均”
11.数据复杂度
居中和缩放
50000个训练数据
10,000 个测试数据
图像大小28*28
10 类
12.LeNet
总体来看,LeNet(LeNet-5)由两个部分组成:
• 卷积编码器:由两个卷积层组成;
• 全连接层密集块:由三个全连接层组成;
每个卷积层使⽤5×5卷积核和一个sigmoid激活函数。
13.学习表征
浅层学习:不涉及特征学习,其特征主要靠人工经验或特征转换方法来抽取
表示学习:如果有一种算法可以自动地学习出有效的特征,并提高最终机器学习模型的性能,那么这种学习就可以叫作表示学习
通常需要从底层特征开始,经过多步非线性转换才能得到。
通过构建具有一定“深度”的模型,可以让模型来自动学习好的特征表示(从底层特征,到中层特征,再到高层特征),从而最终提升预测或识别的准确性。
14.视觉分层理论
视觉分层理论,从底层到高层的不断抽象。
浅层卷积核提取:边缘、颜色、斑块等底层像素特征。
中层卷积核提取:条纹、纹路、形状等中层纹理特征。
高层卷积核提取:眼睛、轮胎、文字等高层语义特征。
15.AlexNet架构
AlexNet 在 2012 年赢得了ImageNet 竞赛
•更深更大的 LeNet
•主要修改
丢弃法(防止过拟合)
ReLu 激活函数(训练)
最大池化法
•计算机视觉的范式转变
1. AlexNet比相对较小的LeNet5要深得多。AlexNet由⼋层组成:五个卷积层、两个全连接隐藏层和一个全连接输出层。
2. AlexNet使⽤ReLU⽽不是sigmoid作为其激活函数。
!总结
AlexNet的架构与LeNet相似,但使⽤了更多的卷积层和更多的参数来拟合大规模的ImageNet数据集。
• 今天,AlexNet已经被更有效的架构所超越,但它是从浅层⽹络到深层网络的关键一步。
• 新加入了Dropout、ReLU、最大池化层和数据增强
16.VGG网络
VGG19共有16个卷积层和3个全连接层。
此外,还有5个最大池化层分布在不同的卷积层之下。
AlexNet比LeNet更深入更大,以获得更强性能
•能不能更大更深?
•选项
•更多稠密层(开销太大)
•更多的卷积层
•将卷积层组合成块
VGG 块
•3x3 卷积(填充=1)(n层,m个通道)
•2x2 最大池化层 (步幅=2)
•更深还是更宽?
•5x5 卷积
•3x3 卷积(更多)
•更深和更窄更好
多个VGG块后加全连接层
•VGG使用可重复使用的卷积块来构建深度卷积神经网络
不同次数的重复VGG块,可获得不同的架构,例如VGG-16,VGG-19,......
!发展
LeNet(1995)
•2卷积层+池化层
•2隐含层
•AlexNet
•更大更深的LeNet
•ReLu激活,丢弃法,预处理
•VGG
•更大更深的AlexNet(重复的VGG块)