7

算法工程师读论文思路

 2 years ago
source link: https://mp.weixin.qq.com/s?__biz=MjM5ODkzMzMwMQ%3D%3D&%3Bmid=2650430057&%3Bidx=4&%3Bsn=6487f6b7fdd4b41241e5d612d5670a4e
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
640?wx_fmt=jpeg

读论文方面的经验,我应该不是第一次写了,之前有关研究生的经验里多少提过一些(我从研究生生活中得到的经验心法利器[36] | 开学季:我给研究生的建议),但是我们毕业后,走向算法工程师的工位后,持续学习的口号却仍旧持续督促我们,读论文是算法工程师非常重要的学习方法,甚至有的工作就需要我们持续阅读,这里给大家介绍一下我的读论文思路吧。

为什么要读论文

首先要解决的是为什么的问题,我们常说要经常读论文,那是为什么呢?

  • 新技术新思路的吸纳。持续用着老方法,肯定不行,我们需要更多更强更好用的方法。
  • 技术储备。对未来需要用到的技术,提前学习储备,日后能手到擒来。
  • 专项的技术调研和技术方案设计。在针对一个问题思考解决方案的时候,一个人想的见的当然会受到局限,此时进行专项调研更有利于对解决问题提供可靠支持。
  • 个人技术成长。技术是通过人来实现的,我们只有保证自己手里的技术持续有优势,才具有不可替代性,这也要求我们学习,持续学习。
  • 论文所代表的的是一个阶段的前沿探索工作,和我们个人成长的需要非常匹配。

综上,我们需要持续读论文。

读论文的思路

论文的获取和选择

我们这些混迹NLP的,日常论文的来源主要是arxiv、顶会和公众号等媒体,我们能从这些渠道获取比较新的文章,尤其是前两者,而且一定程度的同行审核也能让论文质量不错,加上媒体的推荐,我们看起来其实效率和质量都挺高的。所以,这里大家就别说找不到论文读了哈。

至于选择,这个事是真的很薛定谔,你不看完完全无法评价论文,如果你比较着急的话,倒是有几个筛选的方式可以让你快速筛选到一些:

  • 很多公众号喜欢写解读的。
  • 带有代码的,或者滴啊有第三方代码的。
  • 摘要比较适合自己的,论文再怎么样都可以放翻译软件里看看摘要哈。

这里要补充一点,火的论文,有的时候不见得就是好的,有些论文不火,也不见得不好。如果真的是想学,其实还是要持续关注,而不能只相信推到你身上的。

论文阅读技巧

读论文是讲求技巧的,如何高效阅读获取自己的消息是非常关键的,而高效则来源于对目标的把握和执行。

如果你是为了学习技术方案本身,其实直接看方法就够了,学会方法本身其实难度并不是很高,甚至再辅以一些质量较高的论文,其实看起来会很快。如果你是为了学习,提升技术深度的,我其实挺建议大家深入学习,不仅是要学习方法本身,最好能学会他内部的思考和推理,例如这个方法是旨在解决什么问题,有什么优势,有什么缺点,或者什么位置是作者避开了的,未来我们可以考虑用这个方法或者是这个思路的时候,能根据他的优点和缺点进行合理的选择和改良,而不再是生搬硬套硬怼。

如果你是希望深入了解整个研究现状,优先级更高的是在introduction,按照论文的行业规矩,是需要对现有工作进行整理和评述的,这些整理起来,其实就已经能形成对整个研究现状的把握了。在这里,你甚至可以逐步挖掘出,什么方法口碑比较好,什么样的效果会比较好,逐步心里其实都有数。另外还有一个细节,如果一个方法经常被当做靶子放在实验里,大概率其实就是一个比较靠谱的方法了,看看BERT都被多少论文处刑了。

阅读和记录

说实话,读论文不记录就和掰棒子是一样的,读完了理解了就觉得自己学会了,成长了,焦虑也解决了,其实后续干活好像也没啥用,说白了其实就是没有进行转化,没有转化成自己的东西,意义不是很大,所以其实学习的本质就是内容更新。所以,阅读和记录其实非常重要,这点长期做科研的应该都有些感受。

记录主要是需要什么内容,我这里列举一下:

  • 论文基本信息,作者链接pdf等。
  • 文章的关键词,包括你记录的关键词。
  • 文章主旨,主要方法思路。
  • 核心优点和缺点。

有这些记录,后续我们需要找的时候也好找,而且其实写的过程也是一个思考总结的过程,这些总结会引导我们深入思考,而且在未来的方案设计,方案选择时,依赖能保证自己的武器库充足,另一方面自己在选择的时候能有更多一句,降低试验成本。

读论文的一些误区

因为很多原因,相信很多人都非常焦虑,希望通过自己的学习能有所提升,从而能有更好的薪资,读论文就是其中一种方式,读论文能从中积累大量的方法,从而能让自己的技术得到提升,真的是很这样吗,我从和很多人的沟通中多少了解了一些读论文的误区,大家一块来看看:

首先是,读论文就能提升。这个本身是假的,首先很多人读论文没到位,压根没读懂,抛开这不谈,有些人是手里积累了大量方法,不说如数家珍,至少能报个菜名,高端的脱口就来,但是实际用起来就是这个不行换那个,一个一个试,效果不行或,甚至有些上不了线,说白了就是方法理解不全面,深度不足,浅尝辄止,这样远远不行。

其次,读论文不是解决焦虑的药,读了就好就能涨工资。我们是希望能从论文中学到一些思路,而不是读了焦虑就解决了,没用,我们应该奔着应用、落地,无论是短期还是长期,来进行储备,这种储备是非常有必要的。

第三,盲目追新。随着很多算法领域逐渐内卷,很多论文的出现其实并没有很多实用意义,成了带点缓冲的刷榜,但作为一名算法工程师,我们要解决的是变化多样的场景,数据场景工程场景,而不是固定不变的一个数据集看看准招F1就完事的,我们还要考虑的东西很多,生搬硬套肯定是不合适的,我们应该是理解这个方法,知道他的优点缺点再进行选择,同时明白什么综合效果好可以做baseline,有的只适合特定场景,有的则是只适合迭代优化的尝试。

第四,漫无目的的阅读。没有目的的阅读,很难获得收益,很难有提升,读的很乱不成体系,后续也很难拿来用。所以还是建议先明确自己的学习目标,再来看自己要怎么学往哪个方向走,才会更好。

聊聊我自己

我自己其实是有读论文的习惯的,但是随着对业务的理解和工作经验,有了自己的一套方法,论文是读的少了一些,主要原因还是觉得论文读起来感觉很多东西好像都用不太到吧,而且基线方案用的其实也都还不错,绝大部分业务的效果提升靠的是对问题和方案足够理解,针对性修改的到的,而不是论文里所谓的模型结构、方案细节调整得到的。

但是,这不代表论文就不用读了,读还是要读的,但是要读重点的,和自己有关的,摘要多读读,确定合适后再展开仔细看,并且时刻记得要记录,读多了真的很容易忘记,从而没有起到预期的效果。

另一方面,除了日常的学习,也会有一些专题,例如特定问题的调研等,前段时间文本分类的调研就是这么来的,这么一轮下来收获不小,根据需求大家也可以这么搞的。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK