深度学习基础----网络的发展
背景注意力机制最早用于NLP能够从大量信息中筛选出重要信息实现概况注意力机制通常是一个额外的神经网络,能够给输入的不同部分分配权重实现方法:在空间维度引入在通道维度引入在空间维度引入在通道维度引入...
·
网络不断发展趋势:
- 深度化
- 模块化
- 注意力机制
- 高效化
- 自动化
深度化:
LeNet:
- 1989
- 约六万个参数
- 手写数字识别
- 卷积+池化+卷积+池化+全连接+高斯镜像连接
- 意义:奠定了 卷积+池化+全连接的结构
AlexNet:
- 2012
- 8层网络结构,约6000万参数
- ImageNet图像分类网络冠军
- 意义:第一个深层网络+Dropout+Relu(提高收敛速度)+最大池化+BatchNormalization
- 当时受计算能力限制,在两块GPU上并行,网络最后才交互。但是研究者们在此基础上提出组卷积概念。
VGGNet:
- 2015
- VGG16约1.4亿个参数
- 多层3×3小filter可以达到大filter的效果, 并且可以减少参数数量
- 意义: 小卷积核+深度网络 的思想。 相同的感受野,更小的计算量。
- 限制:因为深度,网络参数太多
ResNet:
- 2015
- 意义:解决梯度消失|爆炸问题+保证网络深度
DenseNet:
- 2017
- 使用跨层连接
- 以前馈的方式使网络的每一层都连接到更深的所有层中
- 和ResNet不同,之前是相加,这里是直接进行连接,可以显式区分不同网络深度的信息
模块化
GoogLeNet(InceptionV1,2):
- 2014
- 模块化
- split+transforn+merge
- Inception模块:
- split: 将网络拆分成若干个路径
- transform: 1×1,3×3,5×5卷积,3×3池化
- merge: 融合起来,传到下一个
- 在模块中封装不同大小的卷积核提取不同尺度信息
- (第二个)在大卷积层前引入了1×1卷积,作为瓶颈层减小了参数的计算量。
InceptionV3
- 2016
- 改进:将5×5的卷积换成3×3,网络具有相同的感受野, 但是运算量更小
- 改进:将3×3的卷积换成1×1,然后又有串联和并联的结构
Inception-ResNet:
- 2016
- 在Inception的基础上引入残差的连接
ResNeXt:
- 2017
- concatenate:分成更多的并联路径,虽然增加了计算量,但是性能有提升
Xception:
- 2017
- 认为是极端的Inception的结构
- 1×1卷积:解偶空间特征相关性的方法,降低通道数,提高网络效率
- 然后,对处理后的特征映射进行k次变换,k次transform
- 再然后,在特征空间上分别对每个特征空间都进行卷积,提升下率
- 最后,连接起来,作为一个新的特征映射喂给下一层
注意力机制:
SENet:通道注意力
- 2018
- 将每一个通道赋予权重:
- squeeze: 将原来的每一个通道挤压成标量
- extract:重新调整通道的统计信息,可以看作原来通道的权重
cSE, sSE, scSE: 空间注意力
- 2018
- a: 通道
- b: 通道改良
- c: 空间
- d: 空间+通道
CBAM
- 2018
- 串行:通道注意力+空间注意力
- 作者实验表明: 串行可以节省网络参数数量,并且性能也不会下降太多
高效化:
主流方法:对卷积层设计特殊结构减少参数数量
SqueezeNet:
- 2016
- fire模块:
- squeeze: 用较小的参数数量进行对特征的压缩
- 1×1卷积:用较小的参数数量进行对特征的压缩
- expand:
- 1×1卷积+3×3卷积:进行对特征扩容
- 多个较小的卷积核
- 实现了AlexNet网络的精度,但是参数数量只有AlexNet的1/510
- squeeze: 用较小的参数数量进行对特征的压缩
MobileNet:
- 2017
- 引入深度可分离卷积:先分解成通道的卷积,再分解成空间的卷积
- 通道卷积:分别对每一个通道,用一个卷积核,进行逐通道的运算(原来的输入有多少个通道就有多少个卷积核)
- 空间卷积:????像素
- 极大地减少了参数数量,并且一定程度上保证模型性能
ShuffleNet:
- 2017
- 组卷积:
- 将图像的特征通道进行分组,在组内进行卷积
- 在某些层数中,将不同通道信息连接起来
- 分组:操作减少参数量
- Shuffle:
- 在组内某层中,打乱了通道
- 实现了组间的交互
- shuffle: 保证信息的流动
GhostNet:
- 传统卷积特征映射之间是十分类似,能否通过线性变换将特征结合起来
- 较少卷积得到特征图像
- 通过廉价线性变换得到新的特征映射
- 将原来的和总的加起来,得到总的特征映射
- 这种方法虽然十分廉价,但是能在一定基础上保证网络的性能
自动化:
- 网络有许多超参数需要优化
- 网络结构需要设计
NASNet:
- 2018
- 强化学习的方法
- 先在小的数据集上学习基本的网络的模块
- 再将这些模块迁移到小的,更自然的数据集上
- 模块:
- Normal 模块:
- 约束条件:输入尺度和输出尺度保持一致
- Reduction模块:
- 约束条件:输出尺寸是输入尺寸的一半
- Normal 模块:
- 搜索:
- 在约束的基础上,网络进行空间搜索
- 在空间搜索中预先设定一些基本的操作,不同程度的:
- 卷积
- 池化
- conver卷积
- 深度可分离卷积
- ......
- 通过网络自动组合这些操作,形成一个最优的拓扑结构
- 这样的搜索成本非常高,论文中提到它搜索使用了500块GPU
EfficientNet:
- 2019
- 兼顾速度与精度的模型缩放的方法
- baseline: 基准模式+控制不同尺度:
- 深度:网络层数
- 宽度:网络每一层通道数量
- 特征分辨率:网络特征映射每层的尺寸
- 对以上三个指标进行等比例的缩放,寻找合适搭配,形成最后的模块,作为网络结构
卷积网络中需要人工设定的参数+ZFNet:
- 2013
- 卷积网络的层数
- 卷积核大小
- 卷积步长,卷积填充
- ZFNet表明特征可视化可以调整网络参数,提升性能
参考视频:https://www.bilibili.com/video/BV1E54y1B7Ub?from=search&seid=1981385157587163593
更多推荐
已为社区贡献3条内容
所有评论(0)