Google Brain 的研究科学家和工程师组团在 Reddit 上开 Q&A,并于今日放出了所有的回答。其中主要回答机器学习和团队工作方面的问题,并且对人工智能领域的一些前沿问题进行了探讨。由于回答的问题存在一问多答、问题驳杂混乱的情况,机器之心对所有问题进行了分类、整理、编辑,且对里面推荐的论文、演讲 PPT 进行了下载压缩,读者可点击这里进行下载。
本文目录
一、Geoffrey Hinton 问答
二、Jeff Dean 问答
关于 TPU/FPGA/CPU/GPU
Google Brain 与 DeepMind
机器学习、量子计算、算法
团队、研究与文化
三、Google Brain 团队其他成员
Google Brain 开展自己工作的方式
发表相关研究论文;
建立并开源 TensorFlow 这样的软件系统;
与谷歌和 Alphabet 其他团队合作,将我们的研究成果推广到大众;
通过实习和 Google Brain Residency 项目训练新的研究人员;
一、Geoffrey Hinton
1.Dropout 是如何构想出来的?是否曾有过顿悟(aha)的那一刻?
Geoffrey Hinton:确实有三个顿悟的时刻。一次发生在 2004 年,当时 Radford Neal 对我说,大脑规模可能会很大,因为它正在学习一个大型模型系统。我认为,既然相同的特征需要被不同模型分别加以发明,这是一种非常低效的硬件使用方式。然后,我意识到,所谓的「模型」可能仅仅是活跃神经元的子集。这使得许多模型成为可能,也有可能解释为什么尖峰脉冲中的随机性是有帮助的。
不久之后,我去了一趟银行。出纳员不停在换,我问为什么。其中一位回答说,他也不知道,但是他们变动很大。我猜原因可能是为了防止雇员之间通过合作来欺诈银行。这让我意识到,根据每个样本,随机移除一个不同的神经元子集可以防止共谋,也会因此减少过度拟合。
2004年,我相当草率地尝试了一下(那时我还没有导师),结果似乎并不理想,采用维持较小平方权重的方法也可以得到这个结果,因此,我也就淡忘了这个想法。
2011年, Christos Papadimitriou 在多伦多发表了一次谈话,谈及性繁殖的整个要点在于打破复杂的相互适应(co-adaptations),或许言者无心,但作为听者,我就是这样理解的。这个思想和随机去除神经元子集这一抽象观念一样。因此,我又返回去更加努力地尝试,并与我们的研究生们一起合作,结果证明这个方法真的管用。
2.按照 Khaneman 的快速思考和慢速思考的比喻,深度学习无疑是快速思考。有什么方法可以用来对慢速思考建模吗?
Geoffrey Hinton:研究视觉感知的心理学家过去常常使用一种被称为 tachistoscope(视觉记忆测试镜)的设备来在短时间(brief time)内显示图像。这意味着受试者不能使用多次眼睛注视来理解图像。我认为可以说单次通过前馈神经网络的工作方式类似于视觉记忆测试镜( tachistoscope )感知。
过去几年,在如何使用多次注视( multiple fixations)以及如何整合每一次注视的信息以进行学习来提升神经网络的性能表现方面有大量的研究工作。Larochelle 和 Hinton (2010) 做了一篇早期的论文,你可以使用谷歌学术搜到相关的一些近期的论文。
使用多次注视的一个巨大进步是:在每次注视时的注视点(fixation point)附近使用高分辨率像素,而在更远的位置则使用分辨率远远更低的像素。这极大地减少了需要处理的像素的数量。一个巨大的复杂之处是:如果注视点是根据所获得的信息智能地选择的,那么多次注视就会非常有用。这就进入到了强化学习领域。
除了感知之外,即时的直观推理和需要许多步骤的推理之间也存在相当明显的差异。如果我问「意大利相当于巴黎的城市是?」罗马(或者米兰)立即就出现在我们的脑海里。学到的词嵌入可以支持这种类型的即时推理(Mikolov et. al. 2012)。你只需要拿出巴黎的嵌入向量,减去法国的向量,加上意大利的向量,然后你就得到了罗马。(事实上,你没有得到,但你可能能够得到一个与罗马很近的向量,比其它任何词的向量都近。)
我认为在我们得到一个很好的故意的序列推理的神经网络模型之前,我们还有很长的路要走,但我认为在「思想向量(thought vectors)」上的研究是一个很有前途的开始。如果我们可以使用循环神经网络将一个句子转换成一个包含其含义的思想向量,我们应该就能学习思想向量的模型序列了。那会是一种自然推理的模型。
3.在 capsule-based 神经网络上的研究做到哪一步了?
Geoffrey Hinton:过去 3 年中,我在谷歌投入大量的精力想要在 capsule-based neural network 上取得重要成果。如今还未能做到,这是由于基础研究的问题。即使它们看起来是可行的,但该想法还是没有保证。可能目前最好的成果就是 Tijmen Tieleman 的博士论文中所介绍的。但在 Terry Sejnowski 和我创造出玻尔兹曼机器学习算法之后,花费了 17 年的时间我才找到一个它能有效工作的版本。如果你真的相信该思路,你要做的就是继续尝试。
4.你如何看待内存增强神经网络(MANNs):以他们目前的表现,有哪些不足?未来的方向又是什么?你认为 MANNs 与你和 Schmidhuber 关于「Fast Weights」的想法相似吗?你如何看待 Lake 等人的「One Shot Learning」论文以及他们提出问题的长期相关性?你如何看待上述三种技术的结合?
Geoffrey Hinton:由于NTMs的成功,最近人们再度燃起对神经网络额外内存形式的兴趣,这份姗姗来迟的复苏让人激动不已。我一直相信,突触强度的临时改变是实现一种工作存储器的显著方法,也因此为表征系统当前正在思考的内容而释放出了神经活动。现在,我 认为,我们还没有做出足够的研究来真正理解NTMs,MANNs ,Associative LSTMs以及 fast weight 关联内存的相对优点。One shot learning 非常重要,但我认为它不是神经网络不可克服的难题。
5.你在 YouTube 视频上的一个演讲中描述过在前向和反向传播中用不对称关系对网络进行测试,另外还描述了这些测试对神经科学的意义,你能分享一下你对大脑理论的看法吗?
Geoffrey Hinton:如果反向连接只有固定的随机权重,反向传播或许会仍然起作用。这个想法来源于牛津大学的 Tim Lillicrap 及其合作者。他们称它为「反馈比对(feedback alignment)」,因为前向权重某种程度上是在学习与自己的反向权重比较,因此,由反向权重计算的梯度是大致正确的。Tim 偶然发现了这个奇怪的现象。它一定消除了关于大脑为什么无法做一个反向传播的形式,以调整早期的特征探测器,从而使它们的输出对后期的感知路径是更加有用的。
之后,MIT 的人发现这个想法能用于比 Tim 尝试的更复杂的模型。Tim 和我目前正在合作一篇相关论文,里面包含了很多我们目前关于大脑工作方式的想法。
二、Jeff Dean
关于 TPU/FPGA/CPU/GPU
1.关于 TPU 看到的都是碎片信息,你们能系统的介绍下吗?TPU 运行什么算法?当新算法出来时要再制备芯片吗?相比于 CPU/GPU ,有没什么性能或能量节约上的数字说明?
Jeff Dean:不久之后,TPU 团队打算写一个关于该芯片架构的详细技术论文。目前解答如下:
TPU 的设计是为了完成深度神经网络中的计算。它没有那么专门化,只运行一个特定模型。但也针对神经网络中的密集数字运算进行过精调,像矩阵相乘、非线性激活函数。我们同意为一个特定模型制备一个芯片可能过于专门化了,但这不是 TPU 做的事。
关于最后一问,Sundar Pichai 在谷歌 I/O 2016 的 keynote 中,分享了一些高阶数字。尤其是,Sundar 提到,「比起商业化的 GPU 和 FPGA,TPU 在每瓦特能耗的情况下能提供高出一个量级的性能。」
2.对于未来谷歌 TPU ASIC 的发展有什么看法?可能用于移动设备吗?
Jeff Dean:一般来说,能便宜和/或更少功耗地运行深度神经网络的硬件肯定是一个让人感兴趣的领域。比如说,有很多创业公司在从事这方面的研发,也有很多有趣的不同的设计思路(数据中心可以有高通量和更高的功耗,手机和其它移动设备需要更低功耗的组件等等)。
3.IIRC Inception 是首个完全在 CPU 上训练的 Imagenet 冠军吗?作为能耗/性能上的明智选择,CPU 是完全不可行的吗?我们会看到每个人都跳到专门硬件上吗?
Jeff Dean:我不太确定,但我怀疑,早于 2012 年 ImageNet 获胜者(AlxeNet 之前的)的一些模型会是在 CPU 上训练的,所以我不认为 Inception 是首个在 CPU 上训练的 ImageNet 冠军。2011 年 ImageNet 的获胜者在 PPT 中没提到 GPU,2010 年的提到在 100 个工作人员参与下使用 Hapoop,大概是在 CPU 上训练的。我打算用更多的关于使用 CPU 训练计算密集型深度神经网络的内容回答你这个问题。
我认为 ,CPU 训练这样的系统并非完全不可行。但是,实际情况是,在性价比和能耗上,CPU 可能不是相当好的选择,而且在扩展到一个更大的低 FLOP 设备集群上相比于扩展到一个更小的高 FLOP 设备集群上时,它面临的挑战也更大,其他方面基本对等。
4.你认为机器学习能成为一个真正的即插即用的( plug-and-play)的商业工具吗?让很多门外汉能挑选算法并使用 AWS、TensorFlow、Algorithimia 等工具即插即用的能力运行这些算法?如果是,短期内能否实现?如果不是,为什么?
Jeff Dean:答案是肯定的。在很多案例中,谷歌的机器学习研究员已经开发出针对一类问题的新型的、有趣的算法和模型。创造这样的算法和模型需要考虑机器学习专业知识和洞见,但它们一旦在一个领域展现出好的能力,采用同样通用的解决方案就变得很简单,并且可以将它们应用到完全不同的领域。
此外,从研究角度来看,我认为一个相当有潜力的领域是在学习合适的模型结构的同时能学习如何解决任务的算法和方法(这与如今的大部分深度学习工作大相庭径,如今是一个人专门化使用的模型架构,然后根据架构所在的环境,在连接上通过优化流程调整权重)。我们团队的一些初始工作有(论文): Net2Net: Accelerating Learning via Knowledge Transfer。我们也开始探索一些变革性的方法加快模型架构的发展。
如果我们能够开发出有效的方法,这将真的打开一扇大门,让有较少机器学习专业知识的人能更直接的应用机器学习。
Google Brain 与 DeepMind
1.你如何对比 Google Brain 和 DeepMind?你们和 DeepMind 合作吗?
Jeff Dean:我们与 DeepMind 有一些合作与交流。
至于如何对比,Google Brain 和 DeepMind 都专注于同样的目标,就是建立智能机器。有点不同的是研究的途径,但我相信两个团队都在做优秀的、互补性的工作。不同之处:
DeepMind 倾向于在可控环境中做大部分研究,像视频游戏模拟、围棋,然而我们倾向于在现实的、真实世界难题和数据集上做研究。
某种程度上,我们的研究路线图发展基于研究兴趣以及我们集体认为值得努力的登月(moonshot)领域,因为我们相信它们将为智能系统带来新的功能。在建造通用智能系统的道路上,DeepMind 研究的驱动力更多来自一张自上而下的难题线路图,他们相信通过打造通用人工智能,就能解决这些难题
我们更强调将世界一流的机器学习研究员与一流的系统构建者结合起来,规模化解决机器学习问题中的困难。我们也专注于构建大规模工具和基础设施(比如 TensorFlow)来支持我们的研究以及研究社区,也和谷歌硬件设计团队合作帮助指导建立机器学习硬件,解决正确的难题。
由于在山景城,我们能够与众多不同的产品团队密切合作,将我们的研究成果传递给产品团队和谷歌用户手中。
DeepMind 的招聘流程是独立的,也与谷歌的招聘流程不同。
2.谷歌大脑、 DeepMind 和谷歌量子人工智能实验室团队的关系是什么?特别是:这三个团队之间有多少交流/合作? 在作出决策时你们会考虑彼此的工作,还是你们相当独立地工作、各行其是?
Jeff Dean:我们与量子人工智能实验室没有太多合作,因为他们从事的是与我们的相当不同的研究。
我们与 Deepmind 分享构建智能机器的研究愿景,我们紧跟彼此的工作,而且我们在各种项目上有大量合作。例如,AlphaGo 一开始就是谷歌大脑与 DeepMind 合作的项目。其它合作还包括我们共同发表的论文「 Continuous Deep Q-Learning with Model-based Acceleration 」。谷歌大脑的人经常去参观 DeepMind ,DeepMind 的人也是一样。最近 DeepMind 要从 Torch 切换到 TensorFlow ,谷歌大脑的成员前去 DeepMind 帮助他们完成这次过度。在应用机器学习于医疗方面,我们都积极开展项目,并且会定期举办会详细议讨论我们的研究路线和下一步计划。
总之,谷歌大脑和量子人工智能实验室没有太多合作,而谷歌大脑和 DeepMind 以各种形式密切合作着。
3.你们仍然在使用 luaJIT/Torch 吗?DeepMind 呢?
Jeff Dean:我们的团队(Brain)从来没有非常依赖于使用 Torch。DeepMind 倒曾是 Torch 的重度用户,但最近也已经决定转到 TensorFlow。过去几个月来,他们基本上已经完成了对他们的大量代码的迁移,但是我敢肯定 Torch 还有一些用法目前还不能迁移。
机器学习、量子计算、算法
1.你们如何展望用于机器学习(通用机器学习,以及特别是深度学习)量子计算的未来?
Jeff Dean:我的个人观点是,量子计算几乎不会对深度学习造成特别明显的影响,特别是在中短期内(比如接下来十年)。对其他机器学习类别来说,可能会有影响,如果能利用量子计算优势的机器学习方法能够以足够吸引人的规模影响到真实难题的解决。我认为,用深度学习芯片(比如 Tensor Processing Unit ,简称 TPU )构建出来的新的硬件平台会对深度学习产生更为巨大的影响。不过,我可不是一位量子计算的行家。
2.大脑是一个量子计算机吗?
Jeff Dean:个人相信量子计算在中短期内不会对机器学习产生重大的影响(大概是十年内)。我十分肯定真实的大脑不是量子计算机,神经科学里也没有证据显示这一点。
3.你认为反向传播算法在 10 年内将成为训练神经网络的主要算法吗?
Jeff Dean:我认为是这样。从 20 世纪 80 年代末到现在,反向传播算法就一直是训练神经网络的主要算法。期间许多人曾试着提出表现更好的替代方案,但反向传播算法长盛不衰,这已经预示着反向传播算法很可能将持续巩固重要地位。
4.你认为演化计算(evolutionary computation),比如遗传算法、神经演化、novelty search 等,在商业化/主流人工智能中是否有未来?(特别是有大量不可微分组件的难题,在这里反向传播没用)。是否可以认为,在未来架构工程将被一个更系统的方法取代?我认为不可微分是其核心,演化计算是否可能会提供帮助?
Jeff Dean:我非常相信演化方法将在未来扮演一定角色。确实,我们正在开始探索一些演化方法学习模型架构(还处于早期阶段,所以还没有报告成果)。我相信对大型模型而言这会起作用,我们可能需要大量的计算。想一下训练的内循环,在数百个计算机上训练数天,这对我们的大型模型而言是不正常的。然后,在这种大小的模型的每一代上做演化是必然相当困难的。
5.你们都是怎么涉足机器学习的?你们第一个涉及机器学习的项目是什么?
Jeff Dean:我必须写一篇论文从而以优异的成绩在明尼苏达大学毕业,所以我和我的指导教授 Vipin Kumar 一起工作,并在该部门的一个 64 位处理器超立方体机器上,解决了探索神经网络的并行训练(parallel training)的问题。由于神经网络是非常计算密集型的,并行训练甚至在更早的时候也是一个有吸引力的概念,允许扩展到更现实的问题上。神经网络的计算模型有着多层次抽象,每层建立在另一层之上,在当时真的很吸引我,我走进学校想要学习并行计算,但最终被编写高级面向对象的语言的编译器的吸引力所诱惑,并完成了我在那个领域的博士研究工作。然而那一丝觉得神经网络很有意思的感觉从来没有真正消失过,而大约五年前,我感觉它似乎值得再次探索,现在无论是计算能力还是有趣的数据集,自从我最后一次再访它们的过去 20 年里,都已经大幅增长。这导致了 Google Brain 项目的起源(最初由我、吴恩达以及 Greg Corrado 共同发起)。
**6.机器学习中,除了人工神经网络,还有哪些领域也受益于 当前「深度学习」的热度?
**
Jeff Dean:总的来说,机器学习领域在过去的 5、6 年里极大地增长了。更多的人们想要学习机器学习,NIPS 和 ICML 的参加者快顶破屋顶了。深度学习无疑是人们开始对此感兴趣的原因之一,通过吸引更多的人进入该领域,就会有更多的不仅限于深度学习的研究。例如,更多的人开始对强化学习、非凸函数的优化技术、高斯过程,深度理解理论,非凸模型和数十种其它领域感兴趣。人们对解决各种机器学习问题的计算机系统的兴趣也与日俱增,另外,还有建造专门的硬件,用于机器学习计算(在深度学习的驱动下,但是该硬件也可能帮助其它机器学习算法)。
7.在性能的提升上,每天都有不同的改进和技巧出现。你认为在推动学习的准确度增长之外,深度学习还有哪些需要重点关注的领域?
Jeff Dean:如果你有一个你关心的单个任务,使用了大型且强大的深度神经网络的监督学习的效果可以做到很好。但是,真实世界真的是一团糟,如果我们想要得到能在一团糟的真实世界环境之中运行的智能系统,我们要关心的就不是什么单个任务了。这意味着需要迁移学习、多任务学习、无监督学习、强化学习、通过生成模型的想象等等;我们需要所有这些都集中到一起来构建出灵活的、可适应的智能与解决问题的技巧,而不是为在单一的任务上做得极其好而进行优化。在目前,灵活性和适应性还是区分人类智能和机器智能的显著特点。
8.最近的一篇论文(Man is to Computer Programmer as Woman is to Homemaker? Debiasing Word Embeddings)表明,Word2vec 用于量化单词意义和关系的方法,将文化和语言的偏见编码进了它们的词向量表征之中。在这篇论文中,他们将这种性别偏见视为向量空间的扭曲,并且向空间应用变换来「矫正(unwrap)」词空间,从而消除模型的性别偏见。我很好奇,你会如何看待一个人训练某个模型的责任(该模型可能会被数以百万计的人所使用)来优先处理并辅助决策以确保系统没有传播那些可能会在训练数据中显现出来的歧视。尤其当它是这种有争议的闭源模式,被用于罪犯再犯的可能性预测。第二点,我很好奇你如何处理深度神经网络这样的问题,其训练结果比一些像是可转化的向量空间要含糊得多。
Jeff Dean:是的,这篇论文很有趣。最根本的问题是,机器学习模型是从数据中学习,它们将如实尝试着去捕捉它们在数据中所观察到的相互关系。大多数的这些相关性是好的,而且给了这些类型的模型以权力。然而有些则反映了「世界是什么」而非「我们希望的世界是什么」。我认为这个方向的研究是为了「保留好的偏见」,却删除模型中那些我们宁愿不存在而偏偏存在于现实中的偏见,是一个相当有趣的研究方向。决定我们需要消除哪种偏见以及想保留哪种偏见,这不是一个简单的问题。例如在预印本中他们提到:
男人:计算机程序员::女人:家庭主妇
这种偏见存在于庞大的自然语言文本语料库中,而这是用于词向量训练的地方,但是就我个人而言,我宁愿它不存在(而且预印本展示了一些技术来消除部分偏见,但是保留了单词向量的其他有用的特性)。
但是要说哪些偏见应该被保留而哪些应该被淘汰,这有点困难,更别说裁决它是否正将一种编辑偏见的形式引入系统中。比如这种像是「蹒跚学步:学龄前儿童::孩子:学校」的关系,它们看起来并不那么可怕。又比如年老 vs 年轻的关系呢?可能更含糊了。
事实上当出自同一作者的较早预印本于今年六月下旬出版时,在我们谷歌员工内部的 Google+系统中,有一个关于这些特殊话题热烈讨论,那绝对是一个棘手而复杂的领域。我同意你的看法,在更复杂的深度模型中消除不必要的或有害的偏见形式可能更难,而其解决方案或许比一个简单的向量空间扭曲来得更复杂。
9.word2vec 在一个向量空间中创造了词嵌入,谷歌也有 n-gram——其包含了每年的出版作品。我很好奇你们是不是已经尝试过用每年出版的语料库训练 word2vec?然后分析了这些模型的不同点。例如,你们会知道一些词的意思随着时间改变吗(以及哪些词不会),等等?
Jeff Dean:我还没尝试过这些,但是我同意这会很有趣。
在这些基础上,我的同事,在 Google Books 工作的 Matthew Gray 几年前就已经建立一些关于书中提到的地名分布是如何随着年份改变的总结。即便数据中会有偏见(很多是英语书籍,例如),但确实很让人着迷。你可以看到在 1770 年,地名分布还是以欧洲为中心的,1760 年,开始扩张到北美东岸一带,之后向西跨过正北美直到1820年,到了1880年,大不列颠的影响已经扩张到了印度和澳大利亚,等等。
看看我几年前在一次讲话中展示的这组 PPT 「Locations Mentioned in Books Over Time」中倒数第二页的顶部。
团队、研究与文化
1.想更多了解谷歌大脑团队文化、战略以及愿景。最重要的问题,你们准备完成的长期规划是什么?为什么?你们有什么样的权利?谷歌大脑团队成员可以设置自己的日程,权利范围很大:)你们能分享年度预算吗?团队能作为一个整体共享 KPI 吗?你们有任何与收入挂钩的目标吗?另外,共享文化对你们有帮助吗?对谷歌和 Alphabet 有帮助吗?
Jeff Dean:我们的权力其实是相当广泛的。基本上,我们想从事能帮助我们构建智能机器的研究,还想使用智能机器改善人们的生活。
我不会披露我们预算的细节。
我们真的没有 KPI ,也没有任何与收入相关的目标。我们显然要做有科学价值或商业价值的研究,但是,只要研究成果促进了科学进步,有没有商业价值不是那么重要(因为什么研究将有商业价值,并非一目了然)。我们只是想从事现在或将来对世界有益的事业。与谷歌许多团队合作得到的研究成果,已经在诸多方面产生实质性效益,比如语音识别、谷歌图片、 YouTube 、谷歌搜索、 Gmail 、 Adwords 和 AlphaGo 等。这些产品有关的各种指标,已经表明我们的工作对谷歌带来显著影响。
我们坚信开放文化的力量,因为这利大于弊。例如,通过开源工具 TensorFlow ,外来参与人员也能与我们一起工作,让它变得更好。这也让我们与谷歌外部的人开展研究合作变得更加容易,因为我们可以经常彼此分享代码。发表我们的研究成果,研究社区就会给予我们有价值的反馈,还能向世界证明我们在做有趣的工作,这有助于吸引更多想从事类似工作的人。有些研究,我们也没必要披露其细节(比如,搜索排名和广告系统的机器学习研究工作)。
2.你们能预测一下,谷歌大脑团队在接下来几年如何发展吗?
Jeff Dean:展望接下来几年谷歌大脑的发展,一种方法是回顾最近几年我们团队发生的改变:
我们从事机器学习领域的许多研究,包括机器学习算法、新模型、知觉、语音、语言理解、机器人、人工智能安全等许多方面,并在 NIPS、ICML、ICLR、CVPR、和 ICASSP 等会议上发表了我们的研究。
我们开启机器学习研究培训项目,期待在接下来几年发展壮大,从而帮助培养新一代机器学习研究员。
我们设计、构建和开源 TensorFlow ,并且正在与越来越多的研究员和开发者一起工作,持续改进这个系统,还与我们谷歌云服务的同事一起工作,让 TensorFlow 成为谷歌云机器学习平台的基础。
在机器学习研究问题上,我们已经与其他研究和产品团队的同事合作,让我们的科研成果触及数十亿人(这些成果有 RankBrain、Smart Reply、谷歌图片、谷歌语音识别和谷歌云视觉等。)
我们开始了一项针对机器人研究的机器学习。
我们围绕将机器学习应用于医疗而开始付出极大的努力。
2.在研究和构建系统的五年时间里,你们研究和应用的方法经历了怎样的转变?
Jeff Dean:根据学习内容的情况,我们的研究方向肯定也会变化和演进。例如,与五年前相比,现在,我们更加频繁地使用强化学习,尤其是将强化学习和深度神经网络结合起来。较之最初开启这个项目时,现在,我们更加强调深度递归模型,因为我们要努力解决更多复杂的语言理解问题。另一个例子就是我们从 DistBelief 转移到 TensorFlow 。建构 TensorFlow 主要就是为了回应DistBelief 程序设计模型欠缺灵活性所带来的教训,当我们迈向一些新的研究方向(如前文所提及的),这些问题就会呈现出来。在过去几年中,我们在医疗和机器人方面的工作受到的重视要多得多,而且我们经常摸索新的研究路线,比如人工智能安全问题。
3.近期发表的成果/自己研究工作,团队创业精神或者定义更为宽泛的公司业务需求所揭示出的一些尚未得到充分开发的应用研究领域,是不是就是你们主要的探索领域?
Jeff Dean:我们尝试找到哪些领域显然存在开放研究问题,以及解决这些问题能有助于打造更加智能代理和系统的领域。我们有一套登月(moonshot)研究领域,将我们的一些研究项目集中在了很棒的主题下。比如,该登月研究之一就是开发能真正理解,总结和回答长文本问题的学习算法(长文件,收集数百个文件,等等)。这样的工作在没有任何想好的产品雏形下完成,尽管很明显的是,如果我们成功了,它会在很多不同语境中,它会很有用。
其他的研究仅仅处于好奇心。因为全年都有很多让人兴奋的年轻研究人员到我们这里来,有的成为固定成员,有的是实习,我们也常常谈到能让大部分机器学习社群中的人兴奋的方向。
最后,我们的某些研究是与我们的产品团队合作完成的,这里面有很多机器学习方面的难题。我们持续与我们的翻译,机器人和自动驾驶汽车团队合作,过去也与语音团队、搜索排名团队以及其他团队有类似的合作。这些合作通常涉及开放的未解决的研究问题,解决这些问题将会赋予这些产品新的能力。
在接下来几年,我希望我们继续发展和扩大团队规模,以多种形式影响世界:通过学术论文、开源软件以及在机器学习研究方面解决困难的开放问题等。有很多事亟需去做。所以,我们正在招聘全职研究员、软件工程师、研究实习生等。
4.你能教一个学习机器创造另一个学习机器吗,也就是说,创造一个能够创造其它人工智能的人工智能?
Jeff Dean:我确实相信这是一个非常有前景的方法。有一些不同的超参数调谐系统和算法(tuning systems and algorithms)在向这个方向发展。本质上看,这是人类在机器学习上的精巧设计和计算之间的权衡。
这个方面一个更有雄心的方向是在学习合适的模型结构的同时学习完成各种各样的任务,这是目前一个开放的研究问题。目前大部分深度学习模型和算法本质上都依赖人类机器学习专家来特定模型之间的连接,而优化过程实际上只是在这些连接中沿着边(edge)调整权重,这让我很困扰。而人类呢,在童年的早期阶段,我们的大脑每秒都会形成 700 个新的神经连接(或者说每年 220 亿)。
5.大脑的能量效率 vs 用于传统深度学习模型的大量电力和计算资源,这经常被用于去做更多「激发大脑的学习」的论据:这是一个公平比较吗?如果公平的话,你认为是什么导致了二者的根本性差异?能源效率是 Google Brain 团队目前正在试图解决或是想于未来解决的一个目标吗?如果是的话,你可以在这个主题的不同方向上阐述一下吗?
Jeff Dean:关于能源效率,真正的大脑肯定更节能,而且比目前的机器有更多的计算能力。但是二者的差距也许并不像看起来那么大,因为真正的大脑需要大约 20 年来「训练」,而鉴于我们是一帮不耐烦的机器学习研究人员,因此想在一周内就完成实验。如果我们愿意让自己的实验周期时间是 20 年而非 1 周,我们显然可以得到更好的能源效率,但我们倾向于更短的实验周期,即使它会花费我们的能源效率。
6.Brain Residency 项目可能招本科生吗?
Jeff Dean:Brain Residency 项目实际上接受各种教育背景的人,包括一些刚走出大学校园的本科生。我们最关心的是一个人是不是有学习如何研究机器学习的强烈兴趣,以及他们是否有做研究所必需的背景(合适的数学和编程技能)。对于 2016 年 Brain Residency 最早的这个 27 人班来说,差不多一半有本科学位、一半有硕士和博士学位。在这 27 个人中,大约有一半一毕业就直接来找我们了,另一半有一些工作经验。
如果你正要结束本科学习,如果有兴趣,你应该考虑申请下一年的这个项目:g.co/brainresidency(明年的项目申请在今年秋天开放,项目预计将在 2017 年 7 月开始,尽管我们仍在确定具体的日期)。我们的团队还有实习项目,这主要招研究生,但我们常常有一些本科的实习生。
三、Google Brain 团队其他成员
1.在人工智能领域中看起来有很多的充满了直觉性方法( hackiness)。有一段时间 dropout 不错,但现在过时了,无监督预训练也是这样。你认为什么时候理论将赶上实践?这很重要吗?
Martin Abadi:同意直觉性方法( hackiness)的观点,这可能很重要。
现实进展飞速。另一方面,偶然会有一些领域理论走在了实践的前面。机器学习中,在隐私上的研究可能就是这样一个例子。另一个可能就是在数据流计算,这是一个很老的领域,但是,现在有时候它与我们在 TensorFlow 上的工作非常相关。
Samy Bengio:如今在深度学习中,理论落后于实践,但越来越多的人对缩减理论与实践的差距感兴趣,这明显是好的,因为理论经常(并非总是)帮助指导新的实践。理论和实践都需要,但是,一个不需要「等」另外一个。
2.目前自然语言处理中最激动人心的事是什么?
Quoc Le:在我看来,神经机器翻译是目前最激动人心的。我们开始见证机器翻译方面取得了重大进展,因为这一方法及其formulation 已经足够通用,可用于其他任务。
其他令人激动的事情:在改进监督学习上,无监督学习和多任务学习所带来的好处。
这是一个有着大量优秀想法,发展迅速的领域。其他激动人心的事情包括在神经网络中使用记忆(DeepMind、FAIR)和外部函数(Google Brain、DeepMind)。
3.我们的很多文本推理都是来自于对场景的视觉理解。经典的例子是:一个物体无法放进书包,因为物体太大或者书包太小。我们从场景视觉推理中知道大这个词指的是物体, 小指的是书包。可以肯定是,推断这些知识或许是可能的,给出足够的文本例子,一个人可能会对我们的世界和它的物理定律有一个相当合理的理解。然而,似乎更可能的是,我们(人类)使用我们的视觉理解世界来对文本信息进行推理,是这样吗?
Quoc Le:你的问题很有意义,所以我的回答很长。第(3)部分可能是你最关心的,但是(1)和(2)可以提供一些背景信息。
(1)将一些句子映射到一些嵌入(「记忆」)中,这些记忆会被解码回到原来的句子。这个想法与「序列自编码器」类似,这篇论文里有描述:Semi-supervised Sequence Learning 。
序列自编码器基于另一种叫用神经网络进行序列到序列学习的技术:Sequence to Sequence Learning with Neural Networks ,这个技术学习将一条英语句子映射到一条法语句子上,
(2)从你的评论看出你关心的是视觉方面的模型。研究者们已经整合了多个神经网络进行跨领域工作。比如,将图像映射到文本上。这里有一些使用卷积或循环网络自动生成图像字幕的相关研究。例如,
Explain Images with Multimodal Recurrent Neural Networks;
Show and Tell: A Neural Image Caption Generator;
Unifying Visual-Semantic Embeddings with Multimodal Neural Language Models;
Long-term Recurrent Convolutional Networks for Visual Recognition and Description;
Deep Visual-Semantic Alignments for Generating Image Descriptions
(3)我们 Google Brain 团队也将许多视觉、非视觉的任务(翻译、图像描述、序列自编码器)整合到了一起:Multi-task Sequence to Sequence Learning。我们通过联合训练( joint training)模型而在单个任务的精确度上取得了一些温和的进步。所以这意味着使用视觉信息提升文本信息是可能的。
这些网络一般有一个编码器(卷积网络或循环网络)和一个解码器(循环网络)。编码器可将输入(图像、句子)映射到密集向量( dense vector,),而解码器可将密集向量映射到一些输出句子。但这个例子中的「记忆(memory)」是该密集向量,人类并不能轻易理解它。换句话说,你不能在这个向量中看见「物体(objects)」和「位置(locations)」。但这个向量可被很好地解码为原句子。
就我所知,在深度学习领域,还没有什么把句子映射到一个稀疏的、人类可读的向量中的研究(该向量可被解码成原句子)。而这可能是一个很好的未来研究主题。
然而我很担心:因为我们不能轻易理解编码器和解码器之间的密集向量,所以我们就不知道模型做了哪种类型的推理。
尽管联合训练( joint training)有我在(3)中提到的那样的好处,但我认为使用视觉信息学习「常识」和改进文本信息的想法仍然是一个仍待研究的开放领域。
4.在开发 TensorFlow 时,为什么选择 Python 进行图形构建(graph construction)、选择 C++ 库进行执行(execution)?为什么不使用 Go 语言呢?你们考虑过使用 Go 语言吗?
Vijay Vasudevan:我认为我们选择 C++ 作为核心有以下一些原因:
1)大部分 TensorFlow 的开发者在他们的职业生涯中都一直在使用 C++,所以这对我们来说是最具生产力的语言。这可能是最重要的原因——真的没什么更重要的。
2)我们所使用的高性能的数学库也是 C++ 的(Eigen、CuDNN 等)——尽管你可以将一些 C++ 库和其它一些语言结合起来。
3)大部分核心开发者都不精通 Go 语言,尽管我们现在有一些人有 Go 语言开发经验了。
也就是说, TensorFlow 的目标一直都是将多种前端语言与 C++ 内核结合起来。目前在 Python 上有全功能的支持(这是我们的内部和外部用户喜欢的一点),但我们也在努力开发以便支持更多的前端语言。比如说,我们有基本的 C++ 图形构建 API,可以让那些只想用 C++ 的人使用。我们在 GitHub 上有一个 Go 语言前端的分支:https://github.com/tensorflow/tensorflow/tree/go;尽管目前它只能用于运行图形,而不能构建图形。
类似地,我们希望能看到开发出大量的结合了 C++ 内核的前端,我们正在努力让这项工作变得更简单!
5. 大多数图形用户界面( GUI )专注于帮助解释机器学习流程期间或结束时的结果,你是否看到过任何面向专注于 pipeline 本身 GUI 的工作?
Fernanda Viegas:是的。我们已经开始将训练数据可视化,通过这种方法来理解深度学习网络在训练之前所摄取的内容。机器学习的许多问题来源于不能轻易地检查输入系统的数据,那会使得让其成为可能的前端工具变得相当重要。
6.在强化学习方面 Rich Sutton 曾预言,强化学习将把对价值函数的关注转移到对实现价值函数估计的结构的关注;即其所谓的建构主义(constructivism)。如果你们对这个概念很熟悉,能推荐一些有关此类主题的研究工作吗?
Sergey Levine:广义价值函数(generalized value functions)原则上有两个好处:(1)事件预测的一般框架;(2)无需昂贵的策略学习就能够拼凑新任务行为的能力。
(1)到目前为止还没有在实践中成功过,因为经典的完全监督预测模型很容易使用反向传播和 SGD 来训练,但是(2)实际上相当重要,因为离策略学习(off-policy learning)对于样品有效的强化学习是至关重要的,它将使得强化学习被运用于现实世界的真实物理系统之中(比如机器人、你的手机等等)。
麻烦的是即使在理论上,「离策略(off policy)」方式在实践中也只是有点离策略而已,而当你太过离策略时,则会快速下降。这是一个正在进行的研究领域。关于广义价值函数的一些最近工作,我推荐这篇论文:Successor Features for Transfer in Reinforcement Learning。
7.你们认为现在这一领域最让人兴奋的事情是什么?第二,你们认为这里领域什么东西被低估了?可能是一些大家不熟悉或者很管用但并不流行的技术方法。
Dan Mané:最让人兴奋的事情:个人来看,是增强人类创造力的潜在技术(尤其是生成模型)。例如,神经涂鸦(neural doodle),艺术风格转换(artistic style transfer) ,现实的生成模型,Megenta 即将完成的音乐生成模型。
现在的创新需要一定的品味和视野,但是也需要很多技术技巧,例如需要擅长在小规模的图像上PS,还要招聘大量的做过大片的动画制作人员和工程师。我认为人工智能有潜力大大减少这些技术壁垒,释放更多的创造力。
Vincent Vanhoucke:令人兴奋的事情:机器人!我认为不被环境约束的机器人是当下被忽视的,缺少深度学习技术让它无法在现实世界中发挥强大作用。
被低估的:好的旧的 Random Forests 和 Gradient Boosting 没得有得到应有的重视,特别是在学术界。
Doug Eck:让人兴奋的事情:超越监督学习。我对还没有一个明确数字衡量成功的领域里的研究特别感兴趣。但是,我现在做的是 Magenta 的工作,谷歌大脑的一个研究,用深度学习和强化学习来生成艺术和音乐作品。被低估的问题:认真清理数据,例如,投入大量精力用元数据找出系统性问题。机器学习的实践包括了三个同等比例的部分:数据接口,数据质量,算法开发。(那比较乐观。确实有很多下面的数据接口工作和数据:)
8.你们做的研究和工作与大学里教授做的有什么不同?是不是你们的工作比较关注应用而不太关注理论?还是说你们做的工作几乎是一样的?
George Dahl:我们做的工作几乎一样,包括基础研究或者我们认为更偏向应用的研究。(学院派也做应用研究!)和学院派很像的是,我们也会发表论文,与研究社群互动,我们也参加各种大会和 Workshop,并在那里展示我们的工作成果,有时也会和其他机构同行合作研究。
可以这么说,我们与学界研究有一些不一样的地方,这会影响到我们选择研究项目,以及我们如何做项目。例如,与大多数学院派团队相比,我们有更多的计算资源,包括全新的硬件(比如,TPU)。在团队组合上,我们很容易就能合并不同的团队一起做项目,无论他们是高级研究员还是普通研究员或者工程师,只要需要他们,都可以参与进来。跟大学一样,我们在训练很多能力强的初级研究员,他们能给我们团队带来许多新的想法和能量。在我们的团队中,有固定的成员也有实习生。此外,我们能接触到很多实际应用中的问题,有机会通过 Alphabet 的产品产生实际的影响;另一方面,大学通常走的是另外一条我们很少考虑的路。例如,参与政府项目并培训下一代研究员(我们的实习生和固定成员项目也有一个训练过程,所以或许更大不同是我们在其他地方不会培养太多的本科生)。
考虑这些因素后,我们还是喜欢发挥我们自己的优势,在我们所处的独特位置上 ,来解决大问题。
9.你们与神经科学家(尤其是理论上的/偏计算机方向的)有多少合作?机器学习和神经科学是否都能从日益增多的合作中收益,或者你觉得现有的合作水平已经是足够了?你们计划用新创造出来的 Galvani Bioelectronics 进行任何研究工作吗?
Greg Corrado:我们团队中只有几个人有计算神经科学/理论背景,但是现在这两个领域分歧很大,各执一词:计算神经科学的任务是理解生物学上的大脑如何计算,而人工智能的任务是建构智能机器。例如,机器学习研究员可能设计一条可以在计算硬件中实际运行的学习规则,而研究突触可塑性的神经科学家却想要从生物化学角度发现真实大脑的学习规则。这两种学习规则相同吗?实际上没人知道。
因此,虽然长远看来,两个领域存在相互学习借鉴的机遇,但是,目前未知情况太多,两个领域仍旧处在相互启发的交流层面,而不是可测试的研究假设阶段。
10.要在人工智能上取得成功,需要很擅长数学吗?
Greg Corrado:这要看「擅长数学」和「在人工智能上取得成功」是什么意思了。
if "在人工智能上取得成功" == "使用机器学习开发出一些有趣的东西": then assert "擅长数学" >= "知道向量、矩阵和梯度并知道它们的使用方法" else if "在人工智能上取得成功" == "在顶级机器学习大会上发表论文": then assert "擅长数学" >= "线性代数、矢量微积分和优化上研究生水平的教育" else if "在人工智能上取得成功" == "开发出世界上第一个通用人工智能": then "非常擅长数学" is 保守估计还要十年的学习. else: 请明确.
11.有个问题我很好奇:你的团队里有谁的机器学习背景是非典型的吗?非典型是指那些虽然不是真正的计算机科学家、数学家或统计学家,却在这些方面有某项很强的基础,因而有不同的关注点/技能集/背景的人。
Geoffrey Hinton:我不喜欢实验心理学。他们想研究的那种理论太简单了。所以我当了一年木匠。我不是很擅长做木匠活,所以我念了一个人工智能的 PhD。不幸的是,我关于人工智能的想法是一个能从数据中进行学习的大型神经网络。尽管那个时候它还无法真正进行学习,但是,据我判断,它就是图灵所坚信的那个东西。
Chris Olah:好吧,我没有任何大学学位,所以我猜是下面这几点令我与众不同。总的来说,我就是这么走到今天的:
在高中,我旁听了很多数学课并写了很多程序。
我在多伦多大学学了一年纯数学。然而,我的一个朋友因为在多伦多 G20 峰会做安全研究而被捕了——警察在他家找到了一个作为业余爱好的科学实验室,并认定他在做炸弹——所以,我花了很多时间为我的朋友提供法庭支援。到那年年末,我已经花了一年的时间支持我的朋友,同时研究 3D 打印机(例如 ImplicitCAD)。
我的朋友终于澄清了,我也因为 3D 打印机的成果获得了泰尔奖学金,该奖学金是用来支持我做两年研究的,并不资助我继续读完本科学位。
通过我的朋友 Michael Nielsen,我接触到机器学习,我们一起做一些研究。
在 Yoshua Bengio 招研究生的时候我与其接触。他帮助了我很多,我几次参观过他的组。
我在谷歌讨论了我的研究。Jeff 给了我一份在 Brain 的实习,实习两年后我成为了一个全职研究者。这差不多是一份完美的工作。
Doug Eck:我本科念的是创意写作方向的英国文学。我可能是 Brain 里唯一一个拥有这种背景的研究人员:)同时,我自学数据库,做了几年数据库程序员。我也是一个活跃的音乐家,但没到专业水平。最终我遵循我对音乐的热情,回到母校念音乐和人工智能方向的计算机科学 PhD。然后进入学术界(用 LSTM 生成音乐的博士后工作;蒙特利尔大学学院的 LISA/MILA 实验室)。六年前,我得到了作为研究科学家加入谷歌的机会。我真的喜欢我研究生涯的每一步,而且我仍然确信我本科时的文科专业是帮助我走到这里的至关重要的一步。
Dan Mané:在我学习任何计算机科学课之前,我沉浸在金融和经济中。所以,当我进入大学时,我选择主修经济,并开始做金融方面的实习。然而,我发现经济课是枯燥且重复的,我的金融实习经历也令我确信我不应该做金融方面的工作。所以我转专业到哲学,这比金融有趣多了。
大学快过半的时候,我上了第一堂计算机科学课。都是用 Haskell 语言教的,超级有趣!但是现在转专业太迟了,所以我说服哲学系将我的计算机科学课算到哲学专业分中,作为人工智能的哲学蕴含研究的一部分。
这之后,我换了几个软件工程的工作,直到在 Brain 定下来,研究 TensorFlow。我能进入 Brain 是莫大的幸运与缘分——他们发现自己需要人来构建 TensorBoard,在我的上份工作中,我凑巧做了许多数据可视化工作。所以,即使没有深度学习背景也能有机会与这个超赞的团队一起工作令我十分激动。这是一份完美的工作,和完美的团队。