经典网络
LeNet-5
是针对灰度图像训练的,图像通道是1
对输入数据的不同信道采用不同的过滤器进行卷积
AlexNet
使用了ReLU激活函数,后面有使用到same卷积,所以卷积前后尺寸没变
VGG-16
16个卷积层+全连接层,超参数少,结构规整(卷积层的个数一直x2,直到512)
残差网络
非常非常深的神经网络是很难训练的,因为存在梯度消失和梯度爆炸问题
具体可以去看ResNet网络解读
- 中间的激活能够到达网络的更深层
- 这种方式确实有助于解决梯度消失和梯度爆炸问题,让我们在训练更深网络的同时,又能保证良好的性能
- ResNet 在训练深度网络方面非常有效
残差网络为什么有用
残差块可以保证增加层数,即使不能增强性能,至少保证网络不会越训练越糟糕。
如果a[L+2]维度是256,而a[L]维度是128,那我们增加一个参数ws尺寸是(256,128),这个参数可以通过网络学习。
网络中的网格以及1x1卷积
对第三个纵深的维度上应用了全连接层的处理方法,主要作用的减少或保持输入的信道数量
例如图片下半部分,对6x6x32的图片进行卷积,卷积核为1x1x32,卷积结果是6x6x1。这里卷积核可以对32个通道赋予不同权重,最后得到一个值,类似全连接。
Inception网络基本介绍
而 Inception网络 的作用就是代替你来决定卷积核的大小,是否要添加池化层…
我们可以给网络添加 “卷积核个数” 这种参数的所有可能值。网络会自己学习需要什么样的参数,采用哪些过滤器组合。
卷积的计算成本:
使用16个1x1x192的卷积核产生瓶颈层,再用32个5x5x16的卷积核进行卷积,可以有效降低计算成本
Inception网络
- Inception模块(モジュール):
- Inception网络
绿色分支都是softmax层,确保隐藏单元和中间层也参与特征计算,防止网络过拟合
使用开源实现
迁移学习
下载网络及权重
如果有更越多的数据,冻结的层数就越少,关键是最后的softmax层要根据自己的问题设计。
数据扩充
- 垂直镜像对称(常用)
- 随机裁剪(常用)
- 旋转,剪切(局部扭曲)(不常用)
- 色彩转换(给RGB通道按分布加上失真值),使得算法对照片的颜色更改更具鲁棒性
常用的实现数据扩充的方法:
- 使用一个线程或者是多线程,用来加载数据,实现变形失真
- 然后传给其他的线程或者其他进程,来训练,可以并行实现
计算机视觉现状
为了提高性能表现:
- 集成:使用多个神经网络,平均他们的输出。缺点:更多的时间,占用内存更大
- Multi-crop 数据扩充,也是运行时间多,只有1个神经网络占用内存