经验谈 | 算法工程师读论文的思路

共 2624字,需浏览 6分钟

 ·

2022-05-28 01:32

author:机智的叉烧 
转自:cs的陋室

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

为什么要读论文

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

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

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

读论文的思路

论文的获取和选择

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

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

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

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

论文阅读技巧

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

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

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

阅读和记录

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

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

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

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

读论文的一些误区

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

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

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

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

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

聊聊我自己

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

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

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

浏览 14
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报