经典的神经网络:
残差网络(ResNet)
太深的神经网络容易出现梯度消失与梯度爆炸等问题。
跳跃连接,能从一层中得到激活并将其传递给下一层,甚至更深的网络层。利用这个可以训练网络层很深很深的残差网络(ResNet:使用了残差结构的网络)。
为什么使用残差网络
上述证明意味着残差块比较容易学习恒等函数,添加残差块到中间或者尾部并不影响网络的表现。残差网络两个有效性在于:让额外层学习起恒等函数非常简单,并且总能保证他几乎不会影响总体的表现,有时候甚至可以提升网络的表现。
网络中的网络与1X1卷积
1X1卷积可以做什么
改变长和宽的大小,可以通过池化层实现,想改变通道数,需要通过1X1卷积
初始网络动机:
使用1X1可以降低计算成本,只要使用合理,不会对数据造成影响。
初始网络(Inception)
Inception模块的输入一般是激活值,或者是来自上一个的输出。
Inception网络就是多次重复使用Inception模块
MobileNets网络(深度可分离卷积):可以大大减小计算量
深度可分离卷积由深度卷积和逐点卷积两个部分构成
- 首先要看一下深度卷积
- 接下来要看逐点卷积:
用1X1X3的核,先相乘再相加。一共用5个核
网络的升级:加入残差网络、在块前加入一个扩展层
EfficientNet网络:根据条件,调整网络的大小
使用开源码:
迁移学习:
可以下载训练好权重的网络迁移到自己的任务上,
数据增强的方法:
1、镜像、裁剪、旋转、局部弯曲
2、色彩变化(在红、绿、蓝通道上加上扰动)、PCA色彩增强