计算机视觉方向的博士,如何做到一直follow新技术?
计算机视觉方向的研究者如何持续跟进新技术:从论文阅读、代码实践到研究方向判断,分享具体方法。

原文刊载于微信公众号「布尔艺数」,发布日期:2024-07-12。查看原文。以下为当时发布的内容。
- 我是否应该持续关注并学习新技术?
- 如何高效跟进新技术?
- 没有足够的时间、数据和设备去实现论文中的技术?
- 如何在追求学术深度的同时,保持对新技术的敏感度?

我血战CV界8年,从传统的SIFT+SVM开始我的职业生涯,一直转到今天的大模型、diffusion,基本一直紧跟时代潮流,follow新技术并没有感到多吃力。
在此, 我将这八年经验凝结为了十二字要诀,分享给大家 --由深到浅,积少成多,转入为出。
由深入浅每当一个新领域火起来,一定会有很多类似这样题目的爆款博客 -- 《十分钟教会你Transformer》, 《零数学搞懂diffusion》。
我的建议是,离这样的文章越远越好。因为开始接触一个新领域时,对经典之作的深度理解非常关键,它直接决定着你是否能轻松follow这个领域的各种衍生作品,以及是否有自己的insights。也许你只花了十分钟对transformer就有了个似懂非懂的理解,但以后你看的每一篇这方面的论文可能都要花数个小时才能理解其精髓,这也是为什么很多小伙伴觉得follow新技术难的根本原因。
拿我自己做个反面教材。有段时间我想好好了解下diffusion, 但那个时候我因为在准备面试十分浮躁,就走捷径看了些讲的很浅的博客,对里面的数学和原理有了个似懂非懂的认知。结果后来我每次读diffusion的论文都是云里雾里,面试和人家谈这个也是讲的一塌糊涂。
后来我就沉下心来,花了整整一周时间把经典的DDPM里所有的数学公式自己推导了一遍,然后把代码的每一行都仔细阅读,最后又好好思考了一番为什么Diffusion可以这么强。再这之后,我发现自己再读diffusion相关的文章轻松了很多,甚至还第一次作为指导老师给出key insights, 发表了一篇Diffusion相关的CVPR2024论文。
https://arxiv.org/abs/2404.04804
所以我将这一要领叫做深入浅出--最开始时如果对经典之作有个深度理解,后面阅读其他论文哪怕只是浅浅阅读,也能很快领悟其精髓。这就好比金庸小说里的内功,内功足够深厚,学什么招式都是事半功倍,威力加倍。

那么怎么样才算是对经典之作有深度理解呢?个人认为要达成以下几点:
- 对文章的Motivation, 关键贡献处,和超越前作的地方有着清晰的认知。譬如Mamba和之前的SSM比有什么进步,和Transformer比有什么优势等等,深度理解之后应该对这类的问题有着自己的总结。
- 对文章里出现的数学推导不能说了如指掌,也至少要仔细过上1-2遍。尤其CV大部分论文背后的数学其实都不复杂,这一点并不需要花很多功夫。
- 十分清楚代码层面是如何实现文章里提出的idea和数学公式的。
- 经典虽是经典,但一定仍有许多改进的地方。真正的理解一定是在膜拜至于还能看到它的不足之处。
当你对一个大火领域经典之作有了一个深度理解后,下一步要做的就是积少成多。
积少成多Follow新技术最好的方式永远是阅读最新的高质量论文。这种论文怎么找我就不多赘述,很多大佬已经提到了多种方法。这里我想强调的是,读论文切忌一口吃个胖子,应该是细水长流,养成好的习惯,每天拿出固定的时间来阅读,甚至工作繁忙时半个小时也可以,积少成多。
曾经有段时间,我总是告诉自己,等忙完手上这些工作,我就去看看论文。结果我发现,工作永远是忙不完的,如果真的忙完了,可能也没精力读了。
所以后来我给自己规定,无论工作有多少,都会在每天一个特定的时间段,哪怕只有半小时,速览一下最新的论文。这个习惯让我受益很大,一年下来在家里的读过的论文都可以堆成一作小山。
转入为出Follow新技术的最高境界是什么?那就是把你的输入转化输出。当你能以各种形式将自己学习到的知识转化为输出时,基本就代表你对这个领域有了新阶段的认识。
这种输出有多种形式,我曾经尝试过以下几种,效果都很不错:
1)最一箭双雕的,就是把你新学的技术直接用在自己工作或者做学术的主要项目上。这种属于既有了实战经验,又满足了自己当前的KPI。这种属于最理想状态,有时候可遇不可求。
2)做一些或者参与一些有意思的开源项目。给一个非常经典的例子:
https://github.com/lucidrains/vit-pytorch
这个18k star的项目其实就做了一件看起来很简单但非常了不起的事:它把各种ViT相关的新算法用pytorch以最简单、直接的方法复现核心代码。如果你能成功贡献到类似的项目,那基本说明你不仅仅是follow, 更是master了这些新技术。
3)如果前两者对你来说都很难有时间或者条件做到,那么另外一种更简单易行的方式就是分享你所学到的知识。这一招我经常用,而且发现效果奇佳。我在刚读博时曾经学习过一段时间carla,我为了加固印象,便一边学一边在知乎分享教程,结果不知不觉发现自己对carla的理解变得特别深刻,还因此收获了许多粉丝。
史上最全Carla教程 |(一)Carla的基本架构
我最近还常做的一件事,就是读完一篇新出的论文后,把它浓缩成一个两分钟就可以阅读完的report,然后分享给大家。这就逼着我对论文有一些更深度的思考和总结,而不只是浮于表面。

还有一点非常重要,对于做CV/AI的人来说,follow新技术永远不该是一项任务,而是一种娱乐。这件事最大的收获不应当是你发了多少论文或者做出了多少项目,而是在follow过程中体会到的那种独一无二的乐趣。
布尔艺数汇集全球人工智能、数据科学领域优秀导师,成员长期活跃于科研一线,在CVPR、AAAI、NIPS等顶会多次发文,或斩获Kaggle Competitions Grandmaster,团队致力为广大学习者或从业者提供定制化高水平辅导课程,陪伴您从小白到入门、从初级到进阶,循序渐进地达成科研、就业或申学、转岗等目标。
