DL资料阅读观

03 Apr 2017

也算是混日子有点年头的研发工程师。要总结下有关自己的资料阅读的观点。

1 尽量读贴近第一手的资料

从自己的工作范围来看,基本就是不用读中文资料了。DL借着这把火,烧的到处都是1。于是,国内的资料也汗牛充栋。不过,从我自己接触的一小部分来看,质量不高,深度不足都是普遍的2,大部分内容都是介绍下怎样跑个模型。或者是简单的读论文的笔记,而且未必读明白了3。 所以,自己尤其反对读中文资料,特别是只读中文资料。毕竟,最先进、新颖的内容基本都是来自英文的。看中文的,犹如你再吃别人嚼完的东西4,说不定人家嚼的也不怎么样。收获大不大不说吧,有误导的话才是遗害不小。

翻译资料本来应该是很好的,但是事实是质量还不如纯中文的,你读个不怎么通顺的中文资料,最后还不如干脆读英文原版。尤其DL这块,感觉浮躁的上了天,什么资料都想着赶紧弄篇中文翻译,质量不管5。骂得爽了,可能是因为我提前进入更年期了。

最近搞的distill 就是我喜欢的资料风格(论文另说)。原理、原理、原理6

2 读论文要理性

论文么,作者也是有KPI在头上的。发出来的论文,第一要务是什么呢?吸引人啊。毕竟,能碰到爱因斯坦那种开天辟地级别,连引用都没有的论文,此生难求啊7。作者也都是为了让人看才写论文的,否则你继续埋头搞研究就可以了。

所以,论文自然是能花哨的绝不平庸。自己琢磨出个什么JB玩意,先要起一个高大上的名字8。好看的结果都是往上能堆几个堆几个,太难看的可能就扔了。所以,要理性,要把论文看作更加接近实际效果的广告,但是,依然是广告。

第二呢,人家是自己的实验自己的结果,也不是能够保证用在你自己的东西上面就一样的效果。论文从伦理上来说,也只是保证自己的实验能复现。CS这块还算不错,提供代码、提供模型,基本就保证可复现了。剩下的就是你自己在自己的东西上琢磨和试验。

3 读论文要有基础知识

读论文这个东西是有前置要求的,你得先自己入门。大部分情况下你读的又不是学位论文,毕竟最新进展都是发paper。没有领域内的基础知识,你读了论文也是一团浆糊,当然,照猫画虎没问题的。尤其是,有代码有模型的,弄个开源的东西跑起来,说白了,你换个能力强点的有CS基础的高中生9也能做。 从自己的经验来看,有了基础知识后,论文可能更加有目的性的阅读,提高速度,很大部分的内容不用再关心。因为有了基础,阅读论文本身理解论文做法会有很大的速度提升。当然,逆向理解作者背后的想法还是需要精力的。

4 论文的目的是为我所用

毕竟是研发,不是研究。最终的目的考虑的是如何能够采用和吸收论文中的方法。给自己的程序带来改进。反过来说,最新的最先进的论文成果是否要加入,是需要斟酌与考虑的。毕竟,自己做的更多是工程方面的内容,要考虑更多的因素:成果的先进、加入的工程量、团队水平、硬件条件、项目的各项要求等等。是否要加入、什么时候加入,都要从工程角度考虑。

以上,是我自己的一些经验总结。

Footnotes:

1

当然,我坚持“这是个泡沫”的观点。普通人过于高看NN的可能性了。最终大家会重新对这个失望的。当然,从业者特别是学界应该清楚NN实际的能力,所以他们或许只会感慨非从业者的非理性妄想。

2

当然,我这也是管中窥豹,接触不多,就当时妄议吧。

3

当然,也可能是人家没写明白。进一步的,也可能是人家写明白了,只是我能力有限没看明白。

4

当然,完全按照我的风格,我会说是别人拉的屎。年纪大了,委婉了点。

5

我印象最深的是云栖社区的资料,遇到过几次了,点进去一看,这tm的不是机器翻译的我都不信,我一个字都tm的懒得看的。这tm的是做技术的人的态度么?机器翻译你tm都不自己过一边,调整下句式? 恩,好歹感谢它那一般都留原文链接。

6

当然,这是我的个人坏习惯。不知道背后的原因,让我做事情,我心里会别扭。当然,不是个好习惯。

7

当然,要是我这辈子能有机会看到这个级别的论文,真的不枉我此生。

8

当然,这个名字也可能是这个JB的灵感来源。

9

不得不感叹,这种高中生一般只会在一二线城市才有可能出现,只能说中国教育资源分化太夸张,看着形势,未来只会更加夸张。