计算机视觉方向的博士,如何做到一直follow新技术?

提问背景

我的情况:准博二,博一这一年做的是人脸方向的实验,刚写完一篇文章。现在停下来看,深度学习的新技术层出不穷,然而对于lstm、rnn、transformer我还是什么都不知道…这让我想到,大我好几届的师兄,在我已经能比较能看懂/修改/写深度学习代码的时候,他才慢慢开始意识到这个东西或许真的好用并真正去使用它(这个过程好像也过渡了两三年,师兄现在也已经变成讲师了)。

我的问题:现在的我是不是和当时的师兄一样,被自己觉得舒服的领域困住了?我是不是应该一直follow新技术?(关于这一点我自己的体会:一个是看那么多那么多论文好累啊,一个是很多论文看了我也没时间/数据/设备去实现它,并不知道它好在哪)想知道各位同行是怎么做的呢?如果有比较高效的跟进新技术的方法,也请不吝赐教,感谢。

再补充一点:我目标是进高校、然后我还是有那么一点点学术追求的、不想水论文。

谢凌曦(清华大学  工学博士) 回答:

在阅读下面的回答之前,先明确一点:每个人学习、思考的习惯不可能完全相同,甚至可能有很大不同。下面,我会阐述我的方式,但它不一定适合所有人,要辩证、评判地看待。

首先,我认为以科研为目标的初学者需要做的事情有如下几个(从大到小),缺一不可:

  1. 领域级。构建所属领域的世界观,了解整个社区希望解决哪些问题,它分为哪些子问题,当前的推进状态如何。在此基础上,要不时思考:什么问题能做,什么问题还不能做,做哪些事情就能把不能做的事情变成能做。

  2. 方向级。对于自己研究的方向,要了解它的完整发展脉络,包括当前通用的算法是如何一步步发展出来的,历史上有哪些成功、失败的尝试,等等。

  3. 课题级。找到一个具体的课题,深深地钻研下去,尝试改进现有算法的方方面面,并且最终形成一篇论文。即使论文没能发表在很好的会议或者期刊上,也能够得到很好的锻炼。

以我个人的情况为例,简单说明:

  1. 我从事计算机视觉领域的研究。它是人工智能的一个分支,因此我需要去了解人工智能的大致发展历史,要清楚:人工智能的根本问题是什么;从数学上的形式定义是什么(简单地说,就是给定输入和输出,寻找函数使得尽量被满足);为什么统计学习是当前解决这类通用问题的最佳途径(因为问题往往具有复杂性和不确定性,因此需要概率建模);深度学习是如何提升统计学习能力的,它的前提是什么(大算力和大数据);深度学习有哪些缺陷(数据驱动、可解释性差,等等)。有了这些知识,我就不会完全迷信深度学习,从而迷失真正重要的事情。

  2. 我当前研究方向之一,是大规模图像预训练算法。我需要清楚:为什么预训练是必不可少的算法(为什么视觉任务通常遵循预训练+微调的范式);预训练算法需要做到什么(捕捉无标签或者混合标签下的数据分布);需要如何与其他方法配合(提供基础backbone以供下游有监督算法微调);预训练算法的发展史(包括早期基于geometry的算法、后来基于contrast的算法、再后来基于prediction或者generation的算法,等等);这些算法的发展有什么规律(这是重点,预训练算法的发展主要体现了人类对于视觉特征本质的不断认识,特别是哪些情况下视觉特征应该保持不变这个根本问题的回答)。当然,当前的算法还有很多不完美的地方,这就是我努力的方向。

  3. 根据上面的认识,我就可以找到一些课题,最终完成具体的工作。例如,我认为当前的预训练方法大多假设data augmentation后图像与原先图像具有相同的特征,以此来获取学习的动力。这个假设有一定的问题,也造成了当前算法的一些局限性。这样,我就找到了可做的课题,可以在一段时间内仔细研究。

也就是说,初学者需要构建起层次化的知识体系,为此可能需要数年的时间来不断学习、研究、思考,迭代自己的知识库。我提几个具体的建议,以提高follow新技术的效率。和上面的顺序相反,下面的建议是从小到大的。

  • 每天读论文,比如arXiv推送。初学者可以每天花2-3小时读论文,熟练以后可以逐渐缩短到0.5-1小时。一开始读得慢不要紧,学费总是要交的。逐渐地,你会意识到这样一件事:论文分为两类,一类拓展了认知边界,一类在边界范围内把事情做得更好——大部分论文都属于第二类,而这类论文往往不需要花费太多时间去读,除非你特别关心其中的某些细节。每天扫arXiv列表的时候,完全可以跳过其中80%以上的论文,只去读自己感兴趣的论文,接受漏掉一些“可能有用”的论文:如果这些论文真的很重要,你迟早会在其他推送里看到它。说到推送,公众号们推送的文章并不一定是重要的文章,就像当红明星的演技不一定好一样。要有自己的判断力。

  • 维护一个研究方向的重要问题列表,不时审视这些问题,想想最近有没有看到什么能够推进这些问题的文章或者想法。注意,这些问题不应太大(比如深度学习的可解释性)也不应太小(比如某个如何调参才能提升1%的精度),应该是适中的。对于初学者而言,大概就是“有进展了能发一篇论文”这种级别的问题。每周至少花上2个小时,放空自己,就这些问题展开头脑风暴。但是一旦有想法,要写成文字记录下来(如果你想发表英文论文,最好直接用英文写),记录的过程就是不断挑战自己、充实想法的过程。每隔一段时间,找几个同学(或者在组会上)分享自己的想法,哪怕是非常不成熟的思考。

  • 每1-2个月,给自己一个任务,随机找一个感兴趣的其他研究方向(大多数情况下不出领域),调研它的最新进展。比如我的研究方向是视觉预训练和视觉识别的,可以看看最近图像生成或者三维重建有什么进展,了解下最新发表的模型。这个活动,有助于更新你的科研世界观,让你反思自己维护的那个“什么能做、什么不能做”的知识库是否发生了变化。例如,NeRF这篇文章就让我的知识库发生了快速、中等程度的变化,让我了解到“三维表示原来还可以这样做”;反之铺天盖地的Transformer系列文章倒没有给我太大冲击,只是让我知道这种模块(数学函数)可以更好地拟合数据罢了。顺便说一句,我们要正视Transformer模型在统一图像和文本方面的潜力,所以CLIP这篇文章,虽然方法非常简单,还是开创了一个新的方向,缓慢、中等程度地,改变了我的知识库。要说什么文章快速而大幅度地改变了知识库,怕是要追溯到AlexNet了。

此外还有一个独立的:要多跟不同层次的学者讨论,他们会刷新你不同方面的认知。比较senior的学者可能会让你思考一些从未想过的问题,比较junior的学生可能会跟你讨论很多细节问题,这些都是有益的。如果你口才好,还可以尝试给初学者讲课,接受小白的各种问题的挑战,这样也能提高自己。

写得比较乱,希望有所帮助。总结下来,科研最重要的事情,是构建并维护自己的层次化的知识库。这件事急不得,只能通过点滴积累来完成。加油!

——The  End——

41c5b589e951f4975dd89bcaa4719c5e.gif

来源:知乎

文章著作权归属原作者

分享

收藏

点赞

在看

dc58e99c510d8951f87c134a760f628f.gif

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值