News

人工智能的哲学难题:是机械计算还是自主思考?

国外媒体近期刊文,对人工智能的本质进行了探讨。人工智能是在像人类一样思考,抑或仅仅只是简单的计算? 以下为文章全文: 我思故我在。这已成为了当代哲学关于自我、意识和个人主义的基础。 在笛卡尔看来,思想是可以自证的:他不需要对其进行定义。思想是什么?智能是什么?机器能否具备思想和智能?人工智能技术带来的不仅是答案,也有许多问题。我们可以来做以下的思想实验。 “中文房间”实验 想象一位只说英语的人身处一个房间中,房间的一侧有个小窗口。他随身携带一本关于中英文翻译规则的书。写着中文的纸片通过小窗口送入房间,而房间中的人可以利用自己的书来翻译这些文字,并从另一个小窗口递出。因此,一侧的纸片上写着中文,而另一侧的纸片上有着完美翻译的英文,但实际上这个人根本就不会说中文。 这一思想实验最初由约翰·希尔(John Searle)提出,常常被用于简单地证明,定义智能有多么困难。如果房间里的人足够多,那么你就可以完成几乎所有一切任务:画出或描述图片,或是翻译或修正任何语言。但这是否是一种智能?房间以外的人可能会认为,这就是智能,但房间里的人不会这样看。 如果房间里不是人,而全部是晶体管,那么这就非常像是一台计算机。因此,一个很自然的问题就是,计算机是否就是一个更复杂的“中文房间”?这个问题的一种答案是:如果房间里不是晶体管,而是神经元,那么情况又要怎么看?这带来了更多问题。 在这里,我们并非想要解决这个困扰哲学家已久的问题。我们或许需要更务实。 人工智能的强和弱 目前,人工智能被用于描述多种系统。尽管许多系统实际上并不能称作人工智能,但由于人工智能本身也缺乏明确的定义,因此很难做出反驳。简单而言,人工智能是一种软件,试图复制人类的思维过程或随之而来的结果。这带来了很大的解释余地。 你可以让人工智能为你选择下一首歌曲,人工智能可以控制机器人的腿,人工智能可以识别照片中的对象并进行描述,人工智能可以将德语翻译成英语、俄语和韩语。这些任务都是人类所擅长的,而自动化可以带来很大的便利。 然而最终,即使最复杂的任务也只是个任务。在接受了数百万个句子的训练之后,神经网络可以在8种语言之间进行无缝的翻译。然而,这只是一台非常复杂的机器,根据开发者设定的规则去进行计算。如果某件事可以被归纳为类似“中文房间”的机制,无论这件事多么庞大、多么复杂,那么我们是否还可以将其称作智能,而不仅仅是计算? 在这里,我们开始将人工智能分为“弱”人工智能和“强”人工智能。这并不是人工智能的不同类型,而是一种思考人工智能本质的方式。与许多哲学上的差异类似,没有任何一者更加正确。但这样的区分确实很重要。 一方面,有人认为,无论人工智能多么复杂,都不可能胜过人工智能的开发者:人工智能无法突破其机械的本质。甚至在这些限制以内,人工智能可以完成不可思议的工作,但最终这也只是非常强大的软件。这就是“弱”人工智能的观点。持这种观点的人士认为,由于这些基础性限制的存在,更应该关注的是如何开发系统,使其擅长单个的任务。 相对的另一方面是“强”人工智能。这种观点认为,人工智能的性能有可能足够强大,从而与人脑相仿。这类人士认为,人脑自身不过是另一个“中文房间”。如果我们大脑中的生物结构能产生所谓的智能和意识,那么为何基于硅材料的电路无法实现同样的目标?根据“强”人工智能的理论,未来某天我们将可以开发出与人脑相当,甚至超过人脑的智能。 而这里又出现了一个问题:对于智能,我们并没有可行的定义。 人工智能中的自我 过去3000年中,很难说,在定义智能的过程中,我们是否取得了任何有意义的进展。至少我们曾得出过许多明显错误的观念,例如智能可以被简单的测量,或者说智力与生物性特征,例如头型和脑容量相关。 关于是什么构成了智能,我们似乎都有各自的想法,因此很难证明一种人工智能是否有资格称作智能。在各种概念中,有一种足够简单、足够基本的想法值得进一步关注:智能就是解决新问题的能力。 这意味着“适应能力”、“通用性”,而不仅仅是“推理”、“判断”和“感知”能力。解决问题,做出推理很重要,但更重要的是将解决某种问题的能力转化为解决其他问题的能力。这样的转化将是智能的关键,即使没有人清楚应当如何正式描述这样的概念。 未来某天,我们的人工智能是否会出现这样的适应性,从而可以解决从未被定义过的新问题?研究人员正在努力开发下一代人工智能,使其学习并处理前所未见的细节,从而可以像人类一样行事。人工智能是在思考还是在计算,这或许是哲学家和计算机科学家的问题,但我们开始关注这一问题本身已经是一项了不起的成就。

News

The Next Big Blue-Collar Job Is Coding

WHEN I ASK people to picture a coder, they usually imagine someone like Mark Zuckerberg: a hoodied college dropout who builds an app in a feverish 72-hour programming jag—with the goal of getting insanely rich and, as they say, “changing the world.” But this Silicon Valley stereotype isn’t even geographically accurate. The Valley employs only […]

News

全球14家顶尖AI产业巨头深度学习实力及战略分析

各大科技巨头纷纷大力投资深度学习,都有抢占DL山头之势。但细看就能发现,顶尖玩家进攻深度学习的侧重点和偏好的方法实际上各不相同。作为资深从业者,本文作者根据他的观察,从谷歌 DeepMind、微软到最近表现突出的亚马逊、Uber,盘点全球顶尖AI产业玩家的深度学习实力和战略。 长期以来,我一直在努力理解深度学习的研究发展。我使用的方法论是模式设计编目(cataloging of Design Patterns),它对于分析这个复杂程度不断增长的领域相当有效。事实上,由于该领域的巨头持续在发表新的令人惊讶的研究成果,我自己对这些概念的理解也将继续调整。 然而,我观察到的某些模式实际上超出了对深度学习的一般理解范围。我观察到的是,不同的尖端研究团体似乎侧重使用不同种类的方法来解决人工智能的谜题。不过,预先声明,我并不了解这些组织内部的运作机制,以下内容都是我个人的观察思考而已。 幸运的是,通过阅读这些机构发表的研究成果,你就会有这样的感觉:各个团体所喜欢的方法各不相同(注意:这些方法不是相互排斥的)。所以,请让我顺便说明一下自己对于偏见(或偏好)的直觉——领域里的每个大玩家都在如何研究深度学习。 谷歌 DeepMind:强化学习&深度学习 谷歌在看到 DeepMind 的 Atari 游戏 AI 之后将 DeepMind 收购。自此,DeepMind 一直喜欢在他们的方法中使用强化学习。他们肯定将深度学习作为大多数研究的组成部分,但似乎总是强调深度学习与强化学习的组合,也就是深度强化学习。 DeepMind 深度学习研究大多集中于在模型中的非参数层嵌入使用变分法。DeepMind 还关注注意力机制和记忆增强网络。在研究的广度上,我认为没有组织能企及 DeepMind。DeepMind 的研究驱动力似乎是想要发现智能的本质。 你可以在这里了解他们的更多工作:https://deepmind.com/research/publications/ 谷歌大脑:侧重实用和工程,强调应用可扩展 谷歌大脑在处理研究方面有着很明显的侧重实用和工程的方法。你可以看到他们如何对 inception 架构进行各种各样的细节调整。他们在围绕可用的计算资源如何搭建深度学习架构方面做了大量的工作。谷歌还结合了其他传统算法,如 beam search、图遍历和深度学习的广义线性模型。这种方法似乎也强调了对可扩展解决方案的需求。(编注:很奇怪这里作者没有提到谷歌挖来 Hinton、李飞飞、李佳等学术大牛及他们进入谷歌后所的研究。) 得益于其庞大的计算和数据资源,谷歌(大脑)在深度学习方面取得了令人印象深刻的成果。你可以在这里找到他们的研究:https://research.googleblog.com/ Facebook / FAIR:重视基础理论研究,但主线不明 这是由Yann LeCun 领导的团队,目前还不清楚它的实力有多么强大,因为大多数创新研究似乎都来自于 LeCun 在纽约大学的研究小组。 LeCun 的团队进行的是探索深度学习基本层面的实验性研究。在研究深度学习基础理论这一方面,目前各大机构的研究团队花费的功夫不多。 FAIR 已经在 Torch上发布了几个不错的开源实现项目,在某些问题上使用深度学习做出了一些成绩。然而,很难看出 FAIR 有任何特定的研究偏好。我发现很难从他们的研究工作中看出一个主线。也许你可能有更好的运气:https://research.fb.com/publications/?cat=2 微软:底蕴深厚,实力不凡 类似于谷歌,微软的方法非常实际并且面向工程。微软拥有一流的计算机科学人才,发明残差网络就是一个例子。微软还有其他新颖的方法,例如 Decision Forrest,这些表明微软显然是深度学习领域思想的领导者而非只是追随。微软的认知工具包,虽然参与 AI 这场游戏比较晚,但是从工程上说品质很高。微软的开源深度学习平台 […]

News

Voice Is the Next Big Platform, and Alexa Will Own It

If you happen to live in one of the six million US homes that have so far purchased an Amazon Echo, you may think Alexa is just a voice emanating from a cylindrical speaker that knows a couple of tricks. It plays the Beatles on command. It can order more toilet paper. It has jokes, […]

News

深度学习在文本简化方面有什么最新应用进展?

背景与介绍 近年来,机器翻译任务依靠深度学习技术取得了重大突破。最先进的神经机器翻译模型已经能够在多种语言上超越传统统计机器翻译模型的性能。在传统统计机器翻译模型上积累深厚的谷歌,也终于开始将最新的神经机器翻译系统逐步上线。 目前神经机器翻译的技术基础是端到端的编码器-解码器架构,以源语言句子作为输入,目标语言同义句作为输出。容易想象,只要具备充足的训练数据,类似架构完全有可能推广到其他涉及文本改写的任务上。例如,输入一段文字,希望系统输出一小段核心语义不变、但更为简洁的表达。这样的改写统称为文本简化(text simplification)。 近两年深度学习技术应用相对较多的是其中的一个实例,在自然语言生成研究中一般称为语句压缩(sentence compression)或语句简化(sentence simplification),即输入和输出均为语句。语句简化任务要求神经网络结构能够编码输入句中的核心语义信息,才能够提炼出不改变原句主要意义的更简洁表达。 深度学习技术在语句简化上的一个典型应用是新闻标题生成(headline generation)。新闻文章通常具有较为规范的写作形式:文章首句或者首段对新闻内容进行概括介绍,新闻标题则进一步精炼概括出新闻核心事件。目前基于深度学习技术的新闻标题生成研究中,一般以新闻文章的首句作为输入,生成该新闻文章的标题。现有的基于深度学习的新闻标题生成工作通常采用和神经机器翻译类似的编码器-解码器架构,一般不需要手动提取特征或语句改写文法。最常见的仍然是序列到序列(sequence-to-sequence, 简记为seq2seq)模型。典型的序列到序列模型如图1所示。 图1 典型的序列到序列生成模型 (Sutskever et al., 2014) 在图1中,以文本序列A-B-C-<EOS>输入给一个编码器,编码器用于将输入文本编码成一个语义向量表达(图中对应第四个节点处的隐状态)。输入序列的语义向量表达进而交由解码器用于目标文本序列W-X-Y-Z-<EOS>的生成。这里的<EOS>表示序列结束符号(end of sequence),标志着输入序列或输出序列的结束。解码器接收<EOS>符号后,开始解码的过程,直到生成<EOS>符号标志着解码过程的结束。 序列到序列模型是一个按照字符(或单词)序列逐个处理的过程,编码过程中编码器逐个接收输入字符,解码过程中解码器逐个输出生成的字符。在最原始的模型训练过程中,解码器每次接收答案序列中的一个字符(例:W),预测应该输出的下一个字符(例:X)。编码器-解码器架构的经典训练目标,是在给定编码器输入后,使解码器输出的结果能够最大程度地拟合训练集中的答案,在概率模型下即最大化数据似然。 在模型预测阶段,答案序列未知,解码器接收<EOS>作为解码开始符,并生成一个输出字符,然后将模型预测出的输出字符作为解码器的下一个输入,重复这个过程直到解码器生成<EOS>符号为止。预测阶段的一般目标是,给定输入句编码后,根据当前模型选择概率最大的解码器输出结果。精确搜索这个最优解一般复杂度极高,所以在实际应用中解码过程通常应用集束搜索(beam search,也可译作柱搜索)近似求解:在每一步保留K个最高得分的输出,最后从K个输出结果中选择得分最高的作为最终的输出。 这样的编码器-解码器模型一般可以处理变长的输入和输出序列,使得它可以被应用于多种文本改写任务上。形式上,给定一个包含M个词的输入文本序列x={x1,x2,…,xM},在模型中将每个词xt表示成一个向量。词的向量表示会在模型中进行学习,可以用无监督训练得到的一般word embedding向量作为初始化。语句简化的目标是生成输入句x的一个简化y={y1,y2,…,yN},一般要求y的长度比输入句更短,即N<M。标题生成的目标是寻找y ̂使得给定x的条件下y的条件概率最大化,即:y ̂=arg⁡maxy⁡〖P(y|x;θ)〗 ,其中θ代表需要学习的模型参数。条件概率P(y|x;θ)可以由链式法则分解为: 编码器一般能够处理长度不确定的输入文本序列,将每个词的词向量表示汇总,编码成一个定长的输入文本向量表示。这个编码过程可以采用不同的编码器,如卷积神经网络(CNN),循环神经网络(RNN)等。而解码的过程是根据输入文本序列生成输出文本序列的过程,在大多数模型中,解码器使用的是RNN,常用的RNN节点包括标准的RNN单元以及像LSTM、GRU这样记忆能力更强的带门限单元等。 RNN对序列中的每一个单元执行相同的运算过程,从而可以接受任意长的序列作为输入。具体来说,一个标准的RNN以及其按照输入序列展开形式如图2所示。 图2 标准RNN及其展开形式 在图2中,xi是第i个输入词语,hi是接收xi之后RNN隐单元的状态。hi+1基于前一个隐状态hi和当前的输入xi+1得到,即hi+1=f(Uxi+1+whi)。f是非线性函数,如tanh或者sigmoid。标准的RNN单元在每一步输出yi+1=g(Vhi+1),g是非线性函数。 在序列到序列模型中,如果选用RNN作为编码器,这一部分RNN的输出(yi)一般被忽略;而RNN作为解码器时,每一步输出yi+1对应规模为V的词表上所有词语的概率分布(通常选用softmax函数将V维得分向量标准化得到),产生yi+1的过程依赖于前一步状态hi以及前一步的输出yi。 解码过程中,生成单词yi+1的方法是 : 早期的编码器-解码器模型中,要求编码器结构的最后一个单元能很好地保留输入文本的信息编码。而在实际应用中,这样的定长文本编码并不一定能够捕捉输入句的所有重要信息,尤其是在输入文本较长的情况下。为解决这个问题,有研究工作(Bahdanau et al., 2015)在序列到序列神经机器翻译模型中引入了“注意力”(attention)机制,用于在生成目标文本序列的过程中,为生成每个目标词确定一个有注意力偏差的输入文本编码,使得模型可以学习输出序列到输入序列的一个软对齐(soft alignment)。 注意力机制的主要思想是:在每一步生成不同的yi+1时,侧重使用编码器中对应x的不同部分的隐状态信息,即使用编码器中各隐状态ht的加权和作为生成时所需要考虑的“上下文 ”: 通过为生成不同的目标单词学习不同的 分布,使得生成不同单词时解码器可以将“注意力”集中在不同的输入词语上。注意力权值 可以有多种不同的计算方法,一种常见的实现方法考虑编码器每个隐状态ht和解码器生成词语yi+1时的隐状态hyi+1的相近程度(内积),将权值定义为: 初探与进展 基于编码器-解码器架构和注意力机制的序列到序列学习模型最初用于神经机器翻译,但原理上可以直接照搬应用于标题生成(Lopyrev, 2015; Hu et al., 2015)。甚至不采用注意力机制的多层LSTM-RNN编码器-解码器也在一般基于词汇删除的语句压缩任务上取得了一定效果(Filippova et al., 2015)。 而神经网络方法在语句简化、标题生成任务上最早的应用中,比较著名的当属Sasha […]

News

深度学习的下一个热点——GANs将改变世界

本文作者 Nikolai Yakovenko 毕业于哥伦比亚大学,目前是 Google 的工程师,致力于构建人工智能系统,专注于语言处理、文本分类、解析与生成。 生成式对抗网络—简称GANs—将成为深度学习的下一个热点,它将改变我们认知世界的方式。 准确来讲,对抗式训练为指导人工智能完成复杂任务提供了一个全新的思路,某种意义上他们(人工智能)将学习如何成为一个专家。 举个对抗式训练的例子,当你试图通过模仿别人完成某项工作时,如果专家都无法分辨这项工作是你完成的还是你的模仿对象完成的,说明你已经完全掌握了该工作的所需的技巧。对于像写论文这样复杂的工作,这个例子可能不适用,毕竟每个人的最终成果多少有些不同,但对于中等难度的任务,比如造句或写一段话,对抗式训练大有用武之地,事实上它现在已经是计算机生成真实图像的关键所在了。 GANs解决问题的方式是用不同的目标分别训练两种不同的网络。 •   一种网络创造答案(生成方) •  另一种网络分辨前者创造的答案与真实答案的区别(对抗方) GANs的诀窍是这样的:训练两种网络进行竞争,一段时间后,两种网络都无法在对抗中取得进步,或者生成方变得非常厉害以至于即使给定足够的线索和时间,其对抗网络也无法分辨它给的答案是真实的还是合成的。 这其中有很多有趣的细节,但我们暂时先忽略这些细节。GANs 可以在给定绘制图像类别和随机种子(random seed)的条件下,自主完成图像的绘制: “给我画一只啄木鸟,并且它不能是我之前给你看过的那些啄木鸟。” 配图:StackGAN绘制的合成鸟。 在数学方面, 谷歌研究中心的科学家们用GANs创造了一种编码协议。GANs的生成方 Alice向Bob传递通过卷积神经网络编码的信息以及密钥。Eve则扮演对抗方,即可以拿到编码的信息,但没有密钥。Eve训练网络来分辨信息中的噪音和有价值的部分,然而对抗方失败了,无法将上述两个部分区分开来。 在这一网络结构兴起的早期,以及现在,我还从未听说哪个基于GAN的公开demo(演示程序)可以在完成某句话这一任务上媲美前馈LSTM。虽然前馈LSTM(比如Karpathy特征循环神经网络)仅仅是一个基准(baseline),但可以想象迟早有一天,有人会创造出一个可以根据亚马逊购物网站的商品打分来撰写评论的GAN 来。 人类通过直接反馈来学习 对我来说,相比强化学习(RL)而言,对抗式学习更接近人类的学习方式。也许因为我是一个喜欢自己找自己麻烦的人吧。 RL通过最大化(平均)最终奖励来达到训练目的。当前的状态也许与奖励无关,但最终的结局一定会由“奖励函数”给出。我已经做过RL领域的一些工作,并且它也极大地促进了我们研究领域的发展,但是除非你是在玩游戏,否则很难写出一个奖励函数来精确衡量来自周边环境的反馈。 二十世纪90年代,强化学习在十五子棋游戏中取得巨大突破,它是DeepMind创造的AlphaGo的一个重要组成部分,DeepMind团队甚至用RL来节省谷歌的数据中心的冷却费用。 可以想象RL能在谷歌数据中心这一环境中,算得到一个最优结果,因为奖励函数(在防止温度高于限定值的条件下尽可能省钱)可以很好地定义。这是真实世界可以像游戏一样被参数化的例子,这样的例子通常只能在好莱坞电影中见到。 对于那些更实际的问题,奖励函数是什么呢?即使是类似游戏中的任务如驾驶,其目标既不是尽快达到目的地,也并非始终待在道路边界线内。我们可以很容易地找到一个负奖励(比如撞坏车辆,使乘客受伤,不合理地加速)但却很难找到一个可以规范驾驶行为的正奖励。 边观察,边学习 我们是如何学习写字的?除非你念的是要求很严格的小学,否则学习写字的过程很难说是最大化某个与书写字母有关的函数。最可能的情况是你模仿老师在黑板上的书写笔顺,然后内化这一过程 。 你的生成网络书写字母,而你的识别网络(对抗方)观察你的字体和教科书中理想字体的区别。 配图:针对三年级学生的对抗式训练 属于你的最严厉的批评家 五年前,我在哥伦比亚大学举行的一场橄榄球比赛中伤到了自己的头部,导致我右半身腰部以上瘫痪。受伤两周后我出了重症监护病房,开始教自己学习如何写字。那时我住在布鲁克林的公寓里。 配图:再次学习如何写字, 五月 我的左脑受到了严重的创伤,因此我失去了控制我右胳膊的能力。然而,我大脑的其余部分完好无损,因此我仍能够识别正确的书写方式。换句话说,我的文字生成网络坏了,而识别网络功能正常。 说句玩笑话,我很有可能因为这一过程学会一种新的(或更好的)书写方式。然而结果是虽然我很快地教会了我自己如何书写,但书写笔迹和我受伤前的没什么两样 我不知道我们的大脑是如何使用“行为人-批评家”的模式来学习的,我也不知道这种说法是事实还是仅仅是一个生动的比喻,但是可以确定的是在有一个专家即时反馈的条件下,我们可以更有效率地学习新东西。 当学习编程或攀岩时,如果你一直接收某个专家的“beta(反馈建议)”,则可以进步得更快。在你获得足够的经验能够自我反馈批评之前,有一个外部的批评家来纠正你每一小步的错误可以更容易训练你大脑的生成网络。即使有一个内部批评家在监督你,学习一个有效的生成网络仍然需要认真的练习。我们总不能把我们大脑的生成器换成亚马逊推出的GPU实例吧。 摆脱纠结,勇往直前? 实际中,GANs 被用于解决这样一些问题:为生成器生成的图片添加一些真实的效果如锐化边缘。尽管在这样的图片中,不一定每个动物都只有一个脑袋。 让生成网络与合适的对抗方竞争能迫使其做出取舍。正如我的一位同事所说,你面临一个选择,既可以画一只绿色的鹦鹉,也可以画一只蓝色的鹦鹉,但是你画的必须是其中之一。一个没有对抗方的监督网络接受了真实鹦鹉的识别训练,会倾向于画出某种掺杂蓝色或绿色的平均色,导致其线条模糊不清。而一个对抗式网络则可以画出蓝色或绿色的鹦鹉,也可以在利用鹦鹉的{蓝,绿}概率分布随机地选择一种颜色。但它绝不会画出某种自然鹦鹉不存在的中间色,当然这种颜色也可能存在于已经灭绝的鹦鹉上。 我的同事最近理清了关于GANs的思路,其中包括对GANs的收敛性和可推广性的悲观态度。 某种程度上,这是由于这种跷跷板式的训练方法——一会儿训练生成方,一会儿训练识别方,如此反复——并不能保证收敛于一个稳定解,更别提一个最优解了。如下图Alex J Champandard的一则Twitter 所示: 配图在twitter上是一个GIF图片,通常情况生成方和对抗方在玩一个极限博弈游戏,但只要再走一步,其将陷入震荡 […]