当年CVPR 2016获奖的<残差网络论文>最近引用量突破了10w,达到这一声誉只用了6年,何恺明真是MSRA+FAIR的宝藏。
这的确相当于每个cited by背后都可能产出一篇全新的paper(不仅CV文章引用,还有NLP/Robotics方向等),在此基础上的6年可能涌现了10w篇;单人引用量胜出一众院士/Fellow。Kaiming的高质高产不仅体现在ResNet,还有近年来持续精进的输出,包括最新的MAE[Masked Autoencoder]等等;对于整个学界和工业界的影响力之大,是可以载入30年教科书了,其中像是对谷歌BatchNorm方法的利用已经是DL领域最具代表性的工作,如其他答主所谈到的,他提出了很多在工程上大道至简的好方法。
如今回顾下来,Y14年的VGG仅19层,而Y15年的ResNet提升到152层(后来简化到18层),这也是第一次在图像分类任务上超越人类的性能,不过当时做一次前向推理就需要大概113亿次的浮点计算(消耗240MB存储)。这当然不仅是在网络深度量级上的取胜,还有在backbone架构上的trick设计才让网络深度更加发挥作用(就是Residual learning了)。起初看ResNet文章就惊讶于一个朴素的残差竟将工作推到如此高度,以至于后续的很多工作都借鉴了ResNet方法(比如MobileNet的Inverted_residuals);虽然并不是所有的工作加残差都会work的。ResNet虽然在思想深度上并不艰深,但对于CV工业界的贡献是首位的。
如今轻量化模型的应用越来越受到重视,因此这里其实想多谈一个简单的RepVGG与ResNet比较,比较有代表性(虽然RepVGG本身并不算一个轻量模型,但是这个项目对于指导轻量化架构研究来说是一个很有实践意义的工作)。多聊几句这个,是因为最近有些轻量化的backbone方向项目的想法:
上面左图的图A是ResNet,它的每一个shortcut会包裹两个3*3的卷积,而中间就是RepVGG它训练时的模态,我们看到是每一个3*3卷积都会被shortcut所包裹,而且除了做<down-sampled>也就是Stride为2这个3*3卷积之外,其它都是有两层shortcut,一个是带1*1卷积,另外一个是不带。这样的设计方式为我们在做训练反向传播的时候的信息通路带来很大优势,对梯度传播非常友好;另外一个也是明显增加了它的参数的学习能力,其中很重要一点就是它的点加的融合、多路信息的融合,都是在RELU非线性之前,因为卷积本质上是线性操作,所以我们是可以把这三个不同的支路进行融合。
而右边这个图,是大概展示了它是怎样进行融合的。实际上它是把两条shortcut支路都把它转换成3*3卷积的方式,就是它的Kernel全部都转换成3*3,然后直接进行线性相加,这样就可以合并起来了;因此它在Inference的时候就是一个普通的VGG模型,为什么这样的模型好呢?我想原因就是,不管是普通的ResNet还是Depthwise卷积构成的网络,我们从Operator的角度来想,它都不能做成特别规整的;反而VGG这种模型结构,它只有一种卷积核大小(即3*3卷积),一个明显的而且硬件端被优化3*3卷积核是非常充分的,发展了这么多年,它的形状十分整齐,没有分支、没有注意力模块,而且每一个stage都不用读写Global_memory,这基本上就是硬件加速器的最爱了;所以,即使未来的backbone都变成这个形态我们也不会觉得吃惊。【 people who are really serious about algorithms should pay more attention to the dedicated_hardware.】
附一篇曾经讨论轻量化模型的文章;同时专栏里还有几篇二值化模型的文章,欢迎交流。
算了算了,调参侠实在太多,真不能和你们一般见识,否则是拉低了自己。你们继续拜神。
大过年的,不能生气,写几个词,和resnet有关,给有缘人看吧。
Geometry of image registration
Geometry of entanglement: metrics connection and the geometric phase
Geometry of quantum computation complexity
Tensor network states and geometry
调参侠就不要看了,这不是留给你们的。能把这几句看懂,看出其中DL的含义,就绝不再是调参侠水准了。如果连这些都读不懂,那就别自以为能有什么领域判断力啦。
拜神,你们也是瞎拜,根本找不到庙门。