(本文已加入“计算机视觉入门与调优”专栏,点击专栏查看更多文章信息)
resnet 这一网络的重要性,上一节大概介绍了一下,可以从以下两个方面来有所体现:第一是 resnet 广泛的作为其他神经网络的 back bone;第二是 resnet 是 AI 芯片厂家对标性能时,在视觉领域尤其是图像分类任务中的首选网络。下面针对这两点再补充介绍一下。
哪些网络以 resnet 作为 back bone?
back bone 意为骨干网络,很多模型将 resnet 作为骨干网络时,主要是因为需要从图像中提取高级特征的需要,也就是这些模型将 resnet 作为一个高效的特征提取器来使用。
Yolo-v3
YOLO (You Only Look Once) 网络是一个广泛应用的目标检测模型。上图是yolov3 的主要结构(图源江大白)。
最左上角红色框出来的便是 yolov3 的back bone, 由一些 resnet 结构串联而成。它的作用便是对原始输入的图像(最左侧)进行特征提取。在yolov3中,通过在不同的 resnet 后拉出一个新的分支,来处理不同尺度下的图像特征,从而可以检测出图像中大尺寸的物体、小尺寸的物体、中尺寸的物体。
从上图也可以看出,yolo 与 resnet 相比,还多了一些其他的网络结构,比如上下采样和 concat(这是一种联接操作),这是为了更好的完成图像的目标检测任务而设计的。当我们将 resnet 这一部分的原理搞清楚之后,几乎可以无缝衔接的学习 yolo, 并且可以到很快学会。
当然除了yolo 系列的目标检测网络之外,还有很多网络也会用到 resnet,这里不列举了。
性能标杆
除了将 resnet 这一结构当做骨干网络之外,另一个让我觉得 resnet 很重要的地方在于,几乎所有的 AI 芯片公司,包括国外的英伟达,在测试自家芯片的时候,都会将 resnet50 的性能数据作为宣传, 如下是英伟达官网宣传自家GPU时的截图。
而后来成立的性能打榜平台 MLperf 中,更是将 resnet 的跑分数据作为了计算机视觉中一个重要的单项测试指标。
总之,经典且重要的 resnet50,我觉得作为入门计算机视觉再合适不过了。下一节介绍resnet50中都有哪些算法,然后开始拆解各种算法。