算法分析与设计案例教程(对话算法大师PedroDomingos)
Writing Sessions是知识共享网站Quora推出的一个与专家交流互动的新板块,在这里你可以看到各个行业领域的专家、学者、名人等对引人注目的问题的独特见解最近推出的系列围绕如今最热门的技术之一——机器学习所展开,之前机器之心推出了Andrew Ng系列,而本次机器之心精选华盛顿大学教授、热门畅销书《主算法》(The Master Algorithm)作者Pedro Domingos在Quora上的回答,让我们一起听听这位算法大师对人工智能、机器学习等有何见解吧机器之心后续还会陆续推出其他专家系列,敬请期待,我来为大家科普一下关于算法分析与设计案例教程?以下内容希望对你有帮助!
算法分析与设计案例教程
Writing Sessions是知识共享网站Quora推出的一个与专家交流互动的新板块,在这里你可以看到各个行业领域的专家、学者、名人等对引人注目的问题的独特见解。最近推出的系列围绕如今最热门的技术之一——机器学习所展开,之前机器之心推出了Andrew Ng系列,而本次机器之心精选华盛顿大学教授、热门畅销书《主算法》(The Master Algorithm)作者Pedro Domingos在Quora上的回答,让我们一起听听这位算法大师对人工智能、机器学习等有何见解吧!机器之心后续还会陆续推出其他专家系列,敬请期待!
问题一:在未来的10到20年内,工作岗位和工作需求会发生怎样的变化?
一些职位消失的同时会有很多新的职业涌现。现有岗位人数会增加,由于自动化,很多产品和服务价格更低,同时人们的可支配收入也会增多,因此人们的需求量也会更大。但是最主要的变化还在于很多(绝大多数)职业会发生本质上的变化。它们还会存在,但是会变得和现在不一样。因为计算机会完成更多日常工作,将专业人士解放出来,去做更多非日常的事情。对于工人来说最关键的问题将不再是「要怎样我才能打败机器?」,而是「我怎样能利用计算机把我的工作完成得更好?」自动化就好比是一匹马,你不需要跑得比它快,而是要去驾驭它。国际象棋便是个很好的例子。国际象棋程序可以很容易的击败所有人,但是世界上最好的棋手却不是电脑。在国际象棋界,有一些团队里面既有人也有计算机,他们经常被称为centaurs。人和计算机可以互补优缺点,所以当两者合作时才能发挥最大功效。我觉得这种情况会出现在绝大多数的领域。
问题二:深度学习会取代所有其他类型的机器学习吗?
不会的。深度学习是表征学习的一种形式,它会自动的从数据里面提取模型的特征,而不用再人工的去建造。而怎样完成这一过程是机器学习的核心所在。然而表征学习还有其它形式,比如在图像模型中的诱导隐藏变量和符号学习中的谓词创造,它们能做目前深度学习算法所不能做的事情。
当然,我可以从深度学习开始,慢慢延伸来包含这些功能,但你也完全可以从另一个方向入手。不管怎样,最终的结果也不会仅仅是深度学习(但是从现在对深度学习的热情来看,很多人也可能会错误地认为它就是一切!)。
另外,在机器学习中除了表征学习外还有很多重要的方法,比如强化学习的核心——延迟奖励学习,它在深度学习中就没有被涉及到。值得重申的是,我们在这儿看到的是深度学习和其他种类的结合(比如DeepMind的玩Atari游戏中的Q学习)。还有反向传播算法,它驱动了大部分深度学习系统,解决了分数分配问题,但是并不能解决比如学习结构、学习可组成的知识,从样本中总结等其他关键问题。所以我们还需要除深度学习外更多的其他方法,才能有一个真正的通用的学习器。
问题三:理解大脑对深度学习很重要吗?反过来呢?
这很重要,但是有一个限度。举个例子,对卷积神经网络结构(convnets) 的了解是基于Huble和Wiesel对于猫的视觉皮层组织的经典发现。如果没有后者,前者根本不会存在。但是被Hubel和Wiesel所启发而建立的第一个视觉学习模型则是 Fukushima的神经认知机,他试图了解大脑皮层运作的方式但是并没有成功。卷积神经网络利用的是反向传播算法,它并不关心大脑皮层是怎样工作的 (在大脑皮层中是没有误差反向传播路径的)。误差反向传播看起来更像是小脑的学习方式。所以我们现在所拥有的看起来有点像科学怪人(有着大脑皮层结构,却用着小脑学习方法),但是这很管用。这对深度学习的启示是:从大脑中提取灵感,但是适可而止。
换言之,深度学习到现在为止并没有对神经科学产生太大的影响。我认为这是因为神经科学还没有达到精确理论模型可以通过实验测试的阶段。但它正朝着那个方向发展。最终,计算模型对于神经科学会像数学对于物理那样重要。
问题四:谁或者哪个实验室正在进行最前沿的机器学习研究?
不止一个。产业界有诸如Google、Facebook、Microsoft等公司。在学术界,取决于学习类型,但是几乎所有的顶尖计算机科学系都在进行最前沿的研究。从历史上看,卡耐基梅隆大学名列前茅,但其他院校也在迎头赶上。
问题五:你写《主算法》这本书的目的是什么?
我有两个主要目的。第一个目的是给予这个领域之外的人对机器学习的基本理解以及意识。机器学习太重要了,因此不能只有专家了解,每一个公民,专业人士,科学家,善根以及公共官员都需要知道它是什么以及它可以做什么,因为这关乎他们的生活和决定。(我已经看过太多由于对机器学习没有基本理解而做出的完全无必要的坏决定。)另一个目的是将这个领域向正确的方向推动。我认为在机器学习领域,也遇到了和其他领域中一样的问题,人们卡在某种模式典范里而失去了对全局的把握。即使算上目前所有的成功,机器学习依然处于婴儿期;如果我们试图达到人类学习的级别,那么我们需要更好的新思路以及重大的突破。矛盾的是,相对于已经致力于这个领域的某个方向的专业研究人员来说,新进入这个领域的人可能更有潜力提出这样的思路。所以我寄予这本书的希望是它可以吸引更多新人,不管是学生还是其他领域的人,进入机器学习领域,他们的想法将让这个领域变得更加丰富。
问题六:机器学习中最重要但尚未解决的问题是什么?
我认为是如何进行表征学习。这是人类非常神奇的地方 :可以从像素认识到物体并且从声波认识到意义 , 而且没有它,学习将总是被局限且脆弱不堪。我们知道无数种学习线性组合基本函数的方法,不管这些函数是高斯的,S的,单项的,规则的,树的还是其他种类。但这些基本函数又是从哪儿来的呢?事实是,即使在50年的研究之后,我们依然无法解开这些问题。当然,反向传播算法和深度学习是一个答案,但我认为最近它们取得的一系列伟大的结果仅仅是因为数据集规模的增大。到头来,通过最近这些年深度学习所有的方法,它们还是无法从训练集数据点中进行概括。因此,仍有许多工作要做,仍然缺失诸多关键见解。
问题七:在你看来,下一个计算机科学的重大新兴领域是什么,为什么?
这是一种预测:随着电脑对自然语言的理解越来越好,越来越多的编程将由非程序员来完成。这将会大大增加计算机科学家的数量,开发生存算法,计算机科学的面貌也将彻底改变。然而现在很不幸的是,只有一种思维(逻辑、精细化等)可以在计算机科学领域成功。但是未来,这些将变得不重要,因为人工智能将填补这些空白,而且任何想法,无论大小,都能转化为一个可以运作的系统。如果你认为现在的进程很快,那么请想象一下当上述情况发生时会是什么样子。
问题八:你如何看待OpenAI?
我祝愿他们成功,但是在读了他们的宣言以及与其中一些重要人物交谈之后,我还是不清楚他们到底打算做什么。我的感觉是他们还在试图搞清楚,这没什么问题,但是这也让预测OpenAI最终的影响力变得很困难。很多都取决于他们雇佣了谁以及他们选择了哪个方向。这就像另一个类似OpenAI的例子——Allen Institute for AI(AI2)。他们的目标很类似,但他们已经选择了一些关键性的挑战去解决(比如,让电脑通过SAT)。这也可以是OpenAI的一个很好的模式,但是拥有不同的目的(比如,家用机器人)和技术(比如深度学习,在这方面AI2更针对于符号人工智能)【译者注:Symbolic AI,或者经典AI,是通过可以声明的方式,如事实和规则,来表述人类知识。符号人工智能需要将人类的隐含知识或过程翻译成明显的符号或规则给机器。】
OpenAI声明的要用AI造福公众的目标是好的,但我不确定最终这会如何影响科研。不管你是开发家用机器人还是机器人士兵,所需解决的基础问题都一样。人工智能本来就是多用途的, 技术本身并没有好坏之分。对于人类,你从工厂里找个工人,给他把来福枪,他就成了士兵。对于人工智能,也不会有太大区别。
问题九:你如何看待产业界与学术界中正在进行的机器学习研究。
学术研究更加偏向理论,周期较长;产业研究更加偏向应用,周期较短。如果你希望几个月就能有一些影响,产业比较适合你。如果你希望研究有深度的问题,并且试图造成高度影响,去学术界。最近我经常听到类似于「为什么当产业界拥有多得多的资源和多得多的人力来解决同一个问题的时候,还要在学术界做机器学习?」我认为这是混淆视听。产业界的研究者总是有压力,要为公司的生存做一些贡献,这是可以理解的。但解决深度问题比任何时候都重要,这正是因为机器学习如今变得如此普及,而学术界是做这些事最好的地方。我们在过去的这几年所看到的,更加偏向应用的人从学术界转移向产业界。这是好事儿,因为这是这个领域的研究转向现实世界的一个重要的方式,但它也有一个很不幸的副作用,那就是学术界现在有些过于偏向理论,而远离了实验科学。所以我们需要培养下一代的实验研究人员来填补这个空缺。
问题十:主算法所追求的与物理中的大一统理论有何区别?
物理学中的大一统理论目标更窄:寻求一个统一的理论来解释自然界四种力量(重力,电磁力,强核力,弱核力)与实验观测一致。而在机器学习中,我们的目标是发明一种通用算法——有能力在事物中发掘规律,不止于物理学中的大一统理论,还有其他生物学,心理学或是经济学所涉及到的或小或大的理论。但是这两者之前确有共通之处,那就是要想发明主算法,需要将机器学习中的主要模型整合到一起,与物理中的各种力相结合是异曲同工。
问题十一:AI对于人类来说是一个潜在的威胁吗?
不是的,有一个非常简单的原则:创造AI并不是AI本身的意图。AI可以产生自己的次目标,但是其前提是为我们设置的目标服务,并且是在我们所限定的范围内。这就是当今所有AI如何运作的现状,只要这个现状不被打破,AI就永远是不会产生威胁的AI。如果你不曾因为担心狗会袭击你而彻夜难眠,那也不必担心机器人。它的进化不过是为了更好的服务你罢了。
当然,人性使然,早晚有一天会有人利用AI来填补其私人的贪欲。为了应对这种状况,我们需要William Gibson所谓的「图灵原则」:像警察逮捕罪犯,好的AI去抓捕坏的AI。银行抢匪利用高速跑路,但这并不意味着我们就不该有高速。对于AI来讲,也一样。
然而有另外一种AI对人性的威胁可能是我们更要担心的:人工智能的傲慢,缺乏常识,或者过于表面的理解指令都可能造成破坏——这就像个『魔法师学徒问题』。实际上,这种情况一直存在,当对于判定一个人是否有资格获得信用卡,一个病人是否被误诊,一个无辜的人被贴上恐怖分子的标签,等等。想要让电脑做出正确决策需要使其更加智能,而不是更傻。人们担心计算机会因为变的过于聪明从而接管世界,但真正的问题是,它们已经占领了世界却依旧很愚蠢。
问题十二:您认为现在社会上对于深度学习的讨论和宣传公正吗?
一部分是。深度学习在视觉和语言识别以及其他问题上已经取得了真正意义上的进步。但是问题完全被解决还尚需时间,更何况AI广泛地应用到语言,推理和常识。任重而道远,我们已经走了一千步,但是还有一百万步等着我们。
问题十三:您认为,我们需要对人类大脑了解到何种程度才能成功将其功能全部复制并人工化呢?
也未必需要太多。我们在完全不知道工作原理情况下依然可以复制其功能,就像是我们并不了解鸟儿是如何飞起来的但是我们依旧可以制造飞机。我们可以从心理学中获得灵感从而不用去深究神经科学。尽管如此,神经科学也是灵感的绝佳来源,比如卷积神经网络。
问题十四:我们是否可以说人类学也是有主算法的?并且无法被模仿?
可能,但不一定。哥德尔定理(比如所有对角化参数)都依赖于无限的存在(通过皮亚诺公理),但是人类大脑是有限的,因此很难说是否能有相似的理论。
问题十五:怎样才是好的算法设计?
让我以学习算法的案例来回答这个问题吧。设计一个学习算法的简单而合理的方式就是采用现成的算法并对其进行调整。但是长期解决方法则是不同的:即针对问题设计一个新的算法,通过找出其正确的表征(它可能会与之前的完全不同)、评估,和优化。
问题十六:自我学习机器学习的最好来源是什么?
我更愿意以网上课程作为开始。这里有很多选择:我的课程,Andrew Ng、Yaser Abu-Mostafa的课程, Carlos Guestrin和Emily Fox在近期开办的系列课程。接着再看开源图书馆,例如Weka,来自UCI数据库或Kaggle的数据,开始尝试。然后是学习教科书。Tom Mitchell所编写的书籍虽然最广为传播且很方便,但它并不是最新的。Kevin Murphy的书籍则覆盖甚广且具有深度,也是数学和代码的优秀结合。对于更加全面的建议,可以去参考《主算法》的进一步阅读书单。
问题十七:深度学习对于外行来说是什么?
快速答案:深度学习是利用不止一层的隐藏神经层去学习一个神经网络(即除去输入与输出层之外超过一层)。
更佳答案:深度学习是去发现最能代表问题的特征,而不仅仅是一个组合方法。例如,在目标识别中,浅度学习以手动制作图片的特征开始,但深度学习则以原始像素开始。
问题十八:通用量子计算机的发展是如何影响机器学习的?
它会在机器学习中掀起革命,因为现在需要花费指数式级别的时间算法,到那时可能仅需要花费多项式级别的时间,将许多事情会被简化。然而与计算机科学的其他部分不同,机器学习在时间与空间外还有着另一个关键的有限资源:数据。许多核心问题仍然存在。无论何种情况,通用量子计算的发展都看起来不太可能。但即使再不可能,诸如D波(理论上能通过最优解来解决多项式时间中的硬性优化问题),对于机器学习来说都是了不起的(如果它真的有效,并能够缩小到多比特规模。)
问题十九:你对于强人工智能/通用人工智能领域的研究有何建议?
试着去解决端对端问题,比如视觉与操控,或读取文本以及回答问题。我不建议通用AI针对诸如分类或解析这样特殊的问题进行研究。
问题二十:如果人类为了持续生存而学习算法优化,那么一个先进的主算法应该优化什么?
它将优化我们给它的任何目标。换句话说,优化函数不属于主算法的一部分,而是我们所谓的参数之一。
问题二十一:你是如何紧跟机器学习/人工智能领域发展的?你的主要信息源是什么?
我与同事们交谈聊天,包括研究人员、学生和从业者。我浏览主要会议和期刊的摘要,当然,我会参加任何能参加的会议。
问题二十二:我们会看到关于主算法的慕课吗?
在Coursera上,我有一个机器学习的慕课,其课程结构和内容都与《主算法》这本书十分相似(实际上这就是这本书的起源)。也许某个时间我会用这本书中的主算法和其他概念来更新课程,但是目前还没有相关课程。
问题二十三:你对Jeff Hawkins(关于智力/Numenta)怎么看,为什么他关于HTMs的研究似乎被机器学习/深度学习研究者忽略了?
Jeff对于大脑如何工作具有良好直觉,而且很合理,但是目前他还不能将其转换为算法来超越其艺术的状态。总的来说,在其被转换为算法之前,主流研究人员都不会关注其研究。许多研究人员并不认为模拟大脑是一个很好的机器学习方法。我认为有些人(比如研究深度学习的人)很同情 Jeff,但是他们也无暇顾及一个仍处于艺术状态的研究。
问题二十四:为什么大部分人工智能研究放弃了基于逻辑的人工智能,转而支持统计方法?
简单来说就是统计方法在实践中能更好地工作。但是我认为基于逻辑的人工智能也做了许多贡献,最终我们需要将两者结合。的确,这正是我大部分研究的重点。
问题二十五:我读了你的书,非常喜欢,我认为你对全能强人工智能( full strong AI)的象征性和演化方法持怀疑态度,为什么?
我并不怀疑符号方法,事实上,我认为这是至关重要的。在书中第九章,当我将各个部分放在一起时,便形成了符号学习。我许多自己的工作都用诸如概率和类比等其他方法与符号学习相结合。
如果你将演化方法看作广泛的学习结构以及包括诸如爬山算法和定向搜索等的东西,那么我也没有怀疑演化方法。我认为这也是越来越多的人如何看待演化方法。具体问题是两种方法融合是否有效仍然值得商榷。我认为在我们将其转换为一个真正好的学习算法(比如个体发生学)之前,我们仍需要更多地了解自然演化。
问题二十六:拥有大数据的人工智能,未来会如何?
大数据会在未来人工智能中起很大作用,因为我们掌握越多数据,机器学习就越强大,而机器学习是人工智能的关键。但是大数据也只能达到目前我们所达到的程度了,因为智能代理通常需要非常少的数据。这一点人类非常擅长,我们仍然需要找出如何在人工智能系统中做到这一点。
问题二十七:你认为强化学习会是未来人工智能的主要组成部分吗?
它会是主要部分,但并不是唯一部分。比如强化学习需要监督学习的支持。同时我们也应该将强化学习问题(从延迟奖励中学习)与目前强化学习技术区分开来。我认为前者是不可避免的,但后者我们未来可以用更好的方法代替。
问题二十八:你在写《主算法》时最大的挑战是什么?
最大的挑战是学习如何撰写一本科普书,这与撰写技术论文或教科书十分不同。你不能用数学或者伪代码,而且要让没有很多相关知识背景的读者能读懂。与此同时还有有趣、吸引人,要有故事、示例、类比等。因此我必须找出如何做这样一本关于机器学习的书。
问题二十九:你对Deepmind正在使用的通用学习算法怎么看?
我认为这是一个很有前途的方法,我们需要人们尝试不同的方法直到找到最成功的一个。更具体地说,我认为深度学习和强化学习都是很好的方法,但是它们还不够,如果DeepMind想要真正解决人工智能,那么他们所作的事情则正在超越它们(事实上,他们已经在做这件事,比如在围棋中将深度学习与蒙特卡洛树搜索相结合。)
问题三十:你认为数据科学和机器学习将如何改变经济学家的角色?
经济学将越来越少地使用高度简单化数学模型,而将更多使用能从大量数据进行学习的丰富计算模型,并且使用诸如MCMC和非凸优化等来进行推理。
问题三十一:计算机科学特别是机器学习研究的内在哲学是什么?
计算机科学,更具体地说,机器学习属于技术领域,因此它们由理论设计和实验组成,三者缺一不可。Herb Simon的《人工的科学》(The Sciences of the Artificial)对此问题有更好地诠释。
问题三十二:深度学习有助于解决或人工重建感觉运动系统吗?
当然,这便是大量研究正在做的事,比如Pieter Abbeel和Sergey Levine的机器人。
问题三十三:在人工智能领域,你最大的弱点是什么?你是如何克服的?
我的小秘密是:我既不是一流的数学家,也不是一流的系统构建者。但是在人工智能研究(也许是所有研究)中还有更重要的事情:理解问题然后想出解决办法。没有人擅长所有事情,你必须愿意走出自己的舒适区,充分利用自己的长处,也要确保自己的基础。
,
免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com