去年为数不多的成文的论文笔记,忘了更在博客,repost一下。

The Hardware Lottery是近期在机器学习社区引起了广泛讨论的一篇文章,其作者Sara Hooker是Google Brain的一名研究员。

其实整片文章的核心思想都挺明确,直接写在了introduce的第一句话里:

This essay introduces the term hardware lottery to describe when a research idea wins because it is suited to the available software and hardware and not because the idea is universally superior to alternative research directions.

科研上,胜出的那些研究方案往往并不是因为它们全方面优于其他方案,而是它们更适合当时的软硬件环境。

软硬件的分流

作者先回顾了软硬件的发展历史,在早期,大部分“计算机器”并不区分软件硬件,因为当时的硬件都是为了某一特定用途制造的,例如巴比奇的差分机就是专门用来计算多项式函数的。此时软件和硬件都绑定在一起。直到1969年,通用的计算机时代才慢慢到来,这股浪潮中的一个佼佼者叫做Gordan Moore,他也提出了著名的摩尔定律”每两年计算机的性能翻一倍。”虽然当时Moore是为了卖出更多芯片才出此言,但是这一定律在这之后五十年至今都奏效。从那时到现在,计算机的计算能力大幅提升,而且通用计算机的概念也深入人心。这也就带来了软硬件的分流。

The Hardware Lottery

托尔斯泰在《安娜卡列尼娜》的开篇写到:幸福的家庭都是相似的,不幸的家庭各有各的不幸。 这句话也引申出了 安娜卡列尼娜定律: 任何一个因素的缺陷都会导致最终的失败。在计算机系统中,任何成功都需要避开所有可能的软硬件问题。
巴比奇的分析机巴比奇的分析机
作者举了几个例子:

  1. 巴比奇的分析机早在1837年就被提出来了,但是当时的工艺水平达不到设备所需的精度。建造他所设想的机器所需的条件,到二战后随着电磁技术的进步才开始具备,而这种用于计算机的电子真空管其实最早是被广泛应用于雷达上的。
  2. 现在风行的神经网络技术,其最重要的几个部件其实很早就提出了,反向传播最初诞生于1963年,CNN诞生于1979年。但是直到三十年后,NN才被广泛接受。从算法提出到实际的成功,其中巨大的gap是由缺乏合适的硬件造成的。而最终促成NN的流行的硬件,也就是GPU,其建造的目的是为了进行图像渲染和视频游戏。
  3. 上述NN在上世纪的迷失,也有缺乏合适软件的原因。彼时,人工智能的标准语言是Prolog和LISP,但是它们更加适合用于逻辑表达。而适合开发NN的语言,要等到92年的matlab出现才开始成长起来。

从此可以看出来,每个研究的提出,都可以看作当时买了一张硬件彩票,如果当时具有合适的硬件,那么就可以发展起来,否则就往往要经历一段低潮期。

硬件对未来算法的影响

作者提出,算法研究者往往低估了硬件对算法研究方向的引导作用:

  1. 硬件的开发成本巨大,即使巨头也不敢轻易尝试新的方向,因此很容易造成路径依赖。
  2. 一些新算法的提出,如果计算需求和当前主流需求不同,那么往往没有特定的硬件来给这种算法带来足够的加速。这里作者举了胶囊神经网络的例子。由此而来,这种算法就无法得到更进一步的发展。
  3. 当前成功的算法,会推动硬件领域的“专门化”。例如NN的流行,使得TPU/NPU这类特制的用于加速NN计算的硬件得到极大发展,这类硬件也会反过来影响算法的开发和研究。

因此作者呼吁研究者要尽量摆脱路径依赖,避免硬件彩票效应,以免某项新技术再像神经网络一样经历失落的三十年。