概述
基础模型
- 我将用于分类的模型统称为基础模型,不仅仅可以用作分类,且可以做为其他任务的基础网络模型结构,用作预训练模型。
- 包括: AlexNet, VGG, GoogleNet系列, ResNet, DarkNet系列等
- AlexNet
- 可以说深度学习火起来的开创之作
- Group思想沿用至今
- VGG
- 2014在ImageNet数据集上的亚军,那年冠军的是:GoogleNet,0.01%的差距。
- 文中做了很多实验对比,可以说Block思想(或者说Stage)的开创
- GoogleNet系列
- 这个系列很有意思
- 包括1*1的在里面的使用,BN,卷积拆解
- 其思想大多现在都一直在使用
- 我们一直在说数据同分布,对于图像来说什么叫做同分布?BN对其做了很好的解释。
- DarkNet
- 其实就是VGG的缩减版本
- 包括tiny-DarkNet,DarkNet-19等
- DarkNet-19可以在YOLO V2论文中看到,tiny版本在其DarkNet框架或者官网中可以找到
- ResNet
- 我的理解,其对网络框架模型做筛选
- 另外,大幅增加感受野,对高级语义学习有很大帮助
对象检测模型
two stage
- 包括RCNN系列
- 先找出疑是目标的区域,对其进行分类
- 提出RPN,Anchor思想,都非常流行使用
- 对于单目标检测,直接使用RPN即可,例如人脸检测、车牌检测等
one stage
- 包括YOLO系列,SSD系列
- 直接对目标区域进行回归分类
- YOLO
- 其使用目标区域的中心位置作为匹配对象
- 虽然文中提到说分类与定位的权重问题可能会导致效果不好
- 我的理解,其中心点作为匹配对象,也存在很大问题
- 例如中心点位置和周围都可能与对应目标相关,却让模型只让中心位置学习目标,将为对特征提取造成干扰
- 后续版本也使用了Anchor,并对候选区域的可变范围做了限制
- SSD
- 结合了高低层语义信息
- FPN思想
- 不是单纯的结合高低层信息,更重要的是将其信息做了融合
Other
-
单类检测思考
- 例如人脸检测,车牌检测
- 都可以考虑使用PRN网络模型
- FaceBox
- 不仅仅可以在CPU中做到实时
- 为小目标检测,其专门做了Anchor密度增加策略
-
语义分割
- 这里应该是网络模型U形结构的开端
- 也是前面提到的很多高低层语义信息结合的基础
- 经典的FCN模型
-
RNN系列
- 专门针对序列相关任务设计
- 最初思想起源于N-gram
- 针对N-gram所提取语义信息非常有限而设计
- 理论上标准RNN模型可以提取无限长度序列语义信息
- 但标准RNN存在梯度消失问题,因此提出LSTM,以至后面各种改进版本的LSTM,典型的案例GRU
- 其可与CNN相结合,甚至相互替换
- 缺点,运算速度慢
模型优化
- 我接触的与模型优化相关,主要是三个: MobileNet,ShuffleNet, NetSlimming
- 很多优化方法依赖于硬件设备,不具有一般通用性
- MobileNet
- 也是一种卷积分解的方法,跟5*5分成两个3*3类似
- 其分解方式是将3*3分解为3*3 & 1*1
- 复杂度大幅降低,其计算量主要集中在1*1的卷积上,占用总计算量的94%
- 具体实现方式与AlexNet相似,Group思想
- ShuffleNet
- 将AlexNet的分组思想用到了极致
- AlexNet当初就是因为计算能力有限,所有将其分组,但分组之后,AlexNet的做法是在后续Layer做融合
- ShuffleNet的操作是,将分组计算后的结果做一个随机打乱,再继续使用分组提取特征,以达到特征融合的目的
- 分组思想几乎贯穿整个网络,以降低计算复杂度
- 具体实现,AlexNet思想(Group)+矩阵转置(实现随机打乱)
- NetSlimming
- 核心思想对每层的输出特征图乘以一个参数,并对该参数做L1正则
- 如果最终权重系数小于给定的值(例如0.0001),则将对应的特征图删除,并将对应的卷积核缩小
- 具体实现也就是Copy权重参数
- 删除一些特征图后,再重新训练,调优该网络模型,进行多次迭代,可以在不对精度产生过多影响的情况下,大幅降低网络计算复杂度
- 至于参数具体该加在什么位置,文中做了详细的讨论,最终结论本质上就是对BN层中的缩放因子做L1正则
最后
以上就是粗心哈密瓜为你收集整理的深度学习模型概要总结基础模型的全部内容,希望文章能够帮你解决深度学习模型概要总结基础模型所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复