微信号:ai-front

介绍:面向AI爱好者、开发者和科学家,提供最新最全AI领域技术资讯、一线业界实践案例、搜罗整理业界技术分享干货、最新AI论文解读。每周一节技术分享公开课,助力你全面拥抱人工智能技术。

吐槽:工程才是做深度学习的瓶颈

2017-11-29 18:09 来!突破~


作者|Denny Britz
译者|谢健芬
编辑|Emily

Denny Britz 曾就读于斯坦福大学与加州大学伯克利分校,参与过 Spark 的研发工作,毕业后曾就职于 Google Brain,从事 NLP 领域的研究工作。作为身处人工智能学术界的工程师,他深生感慨:工程是深度学习乃至其他研究领域的瓶颈。

Britz 就读研究生期间的主要工作是为导师的研究做代码实现。当他对实现过程提出质疑时,经常会被其他人以“这只是一个工程问题,不必理会”来搪塞。后来他渐渐发现,这句话的潜台词就是“如果论文里面提到这点,那就不能通过同行评审了”。而且这种想法不仅在他的实验室,在整个学术界都很普遍。

Britz 认为学术工作者应该更重视工程,主要原因有两个:1、良好的工程化能提高研究效率从而更快地推进研究领域进步;2、工程的夯实能保证研究成果的精确度和可重复性。


  更高的研究效率


研究工作通常是渐进式的,即大部分论文都是基于其他论文的研究基础进行改良,而这个过程 90% 以上的时间其实是用来重复之前的工作:构造数据集、数据预处理、构建评估标准、建立基线模型等等,最后研究者才得以基于基线模型展示他的研究带来的改进效果。

这本身是不合理的。深度学习领域的研究工作者大多数是经过多年训练的相关领域的专家,他们的时间应更多地花在创新研究之上——正如你不想看到一位外科专家每天要花好几个小时录入病例数据一样。

这也是研究者们更愿意在自己当前的领域进行深入的原因之一,因为他可以基于自己以前的成果——包括工程代码——来开展研究,节省了大量的准备工作。更高的效率也意味着更多的论文。

假如我们有良好的工程基础,比如标准化的框架、大量的标准数据集、良好的基础代码库、严谨的自动化评估框架等等,那么不同的研究者就可以轻易地基于彼此的成果开展新的研究,也许我们就能看到更为百家争鸣的学术繁荣。

然而令人遗憾的是,大多数的研究者更在乎他们的论文发表、引用次数、职称评定,而不是推动领域的进步。


  让研究成果更可信


几乎所有研究成果都有一个基线的对比,正如前文所说,研究者可能会花很多时间来重新构建别人的基线模型,但一般论文中不会对工程细节解释得太清楚(这样会让论文的重点显得不够突出),因此,在缺乏细节的情况下,这种“重新实现”往往会引入很多混杂变量(confounding variables)。假设一项新的研究呈现 0.5% 的效果改善,你如何证明该差异是来自研究方法本身,还是来自其他因素的影响呢?

Britz 表示,就他个人来说,他是不相信论文中的结果的,他读论文的目的只是为了获取新的思路和灵感。那如果论文作者都把他的代码放到 Github 上呢?能解决问题吗?Britz 认为还是不行。你把 10000 行没有注释也没有文档的代码放出来,其他人很难读懂或者需要花很长时间理解你的思路才能读懂,这也是没有太大意义的。就如日本数学家望月新一那样,他声称自己证明了 ABC 猜想,但除了他自己以外没有其他人能看懂证明过程,因此他的成果至今未能得到广泛承认。

事实上,研究者可能还不太愿意公开他们的代码。万一别人从中找到了 bug、使得自己不得不撤回论文怎么办?公开代码是一件风险远大于收益的事情。

不过好消息是,某些好的趋势正在发生。比如 OpenAI 发布的强化学习算法工具包 gym 和 AI 训练平台 Universe 能有效地统一数据集和评估标准,Tensorflow 以及其他深度学习框架提供的低级基元可以有效避免混杂变量的引入。但这些距离理想中的高度标准化的工程结构还有很大差距。

查看英文原文:

http://blog.dennybritz.com/2017/01/17/engineering-is-the-bottleneck-in-deep-learning-research

 
AI前线 更多文章 陆奇的策略:小米+百度,但雷军和李彦宏两巨头能亲密合作吗? 送书|十年大数据,十年区块链,两技术如何共生演进? 青云的云计算和人工智能生意经 哈佛推出完美流算法,达30年来最优性能 奇虎360正式开源其深度学习调度平台,支持TensorFlow、MXNet等框架
猜您喜欢 Python 遗传算法框架 GAFT 优化小记 使用Weave实现Docker多宿主机互联 【专家交流】满载高并发的飞船今晚20点起航!!! ACM计算经济学会议现场速报:偏理论的学术会议,如今开始拥抱实际应用问题 被动收入是一种什么样的体验