2019 智见 AI workshop in Beijing( 三 )


与 -based 类似,-free 同样可以分为两种类型,即关键点法和分割法 。
关键点法的其中一个例子是 ,其中算法的关键设置是三个模块 , ,。它们分别负责关键点定位,对角点匹配,以及精细回归关键点偏移量 。
分割法则有可通过使用不同的损失函数分成 Focal Loss 和 IOU Loss 两种,最近的几篇文章如 FCOS,Fovea 等,本质上都是 FPN + [+ - ]
这一节主要介绍的一些细节点 。鉴于之前已经提及的一步法精度缺陷和二步法速度缺陷, 试图通过改进网络设计来寻找其中的平衡点 。先上现场作的笔记,

2019 智见 AI workshop in Beijing

文章插图
为了提高模型的检测精度,二步法形式的网络是不可避免的,但如果按 -rcnn 这类经典二步法的设置方式,提高速度基本上不太可能 。所以作者其实是试图通过在每一个尺度层上加入一个开关来判断是否需要在该层做目标检测,对比起原来的 FPN 形式的网络,每一层都要输出结果做目标检测,显然是会在理论上节省比 FPN 本身节省一半以上的时间 。如果图所示,在阶段后接的4个 map 本身就是一种类 fpn 结构,在这之上加入简单的分类器判断该map 上是否存在目标,假如没有则 down- 得到下一个map,重复操作直到 down四次(最小为原图尺寸的 1/32) 。这样的设计,看上去跟后面黄高老师做的自适应网络的想法还挺像的 。
另外,为了进一步提取特征层的特征,一旦map 被确认有目标后, map 会输入到一个叫 TPC 的小卷积模块中 。这个小卷积模块还有点像 RNN 的结构,对现在这层map 卷积后会再跟上一层特征合在一起再卷积一次,具体设计就不细说了,文章都有 。说几个作者实验过程中得到的小发现吧:
另外,张士峰还分享了关于model 的看法,
大部分算是老生常谈了,但是结合后面俞刚的分享来思考还挺有意思的(俞刚就是为了在检测头部分能使用而设计的,他们的实验表明,在下,使用检测头会有 2% 的提升) 。其实我对士峰的看法十分赞同,在实际生产和项目开发中,对的需求真的不高,实际应用中我们应该关注的也不应该是“使用获得更高性能”而是其他,这里打个广告,之后会出一个项目开发经验总结,欢迎各位关注 。我在实际中其实也是 train from的 。在时间充裕的情况下,我们确实不应该受束缚 。
张祥雨:高效轻量级深度模型的研究和实践
祥雨大神前几年的工作,我想绝对值得各位“深度学习”从业人员去记住的,仅凭和就完全影响了我们的工作了 。个人印象很深刻的是,他在 -V2 的文章中很详细的重新定义和阐述如何去衡量轻量模型,简直就是给各位做模型轻量化设计的人指出了一个具体方向 。目前他的工作主要集中在 NAS 和分布式等方面,这些离我们炼丹相对来说比较远一点,我平常也没有机会和资源去实验这一块的内容,只能听个大概,这边我就不多说什么班门弄斧了,有兴趣各位可以去看扒他的演讲视频 。下面是他这次演讲说到的六个方向 。
另外,附上这个报告部分的部分解读内容 点击这里
在一节,祥雨简单介绍了设计思路 。-V1 的关键是引入了 group-conv (分组卷积)的设计,它主要想要解决的是网络设计中这样的一个矛盾,即时效和精度的不可兼得:
【2019 智见 AI workshop in Beijing】如果我们需要提升网络的识别效果或者是解决“问题”的能力,理论上来说我们应该增加(通道)数,因为这样能够提高我们提取到的特征数量(尽管不可避免的造成冗余),而提取出来的特征越多越全面,就意味着我们的模型性能会越好,因为它“懂”得越多 。但是这样处理的结果意味着增加很多计算量,速度会变慢,模型大小也会变得很大 。