当前位置: 首页 > 科技观察

从金属巨人到深度学习,人工智能简(极)史

时间:2023-03-13 04:14:17 科技观察

为了保护克里特岛免遭海盗和侵略者的侵扰,人们创造了巨型青铜战士塔洛斯。他每天绕着整个岛屿转三圈,他勇敢的样子吓得海盗们另辟蹊径。但在勇敢的外表下,塔洛斯并没有所谓的“勇士之心”,他只是一个机器人。就像稻草人一样,他的诞生,就是为了向外界展示这个勇敢的形象。然而,信徒们认为,工匠们为塔洛斯这样的作品注入了真实的思想、情感、思想和智慧。当然这不是真的。Talos也只是一个贯穿几乎整个人类历史的梦想的外在体现:我们要如何创造出和我们一样鲜活的智慧生命。长期以来,科学家、数学家、哲学家甚至作家都在思考如何创造所谓的“思维机器”。同时,还有什么比人类更像“会思考的机器”呢?自从创造出Talos这样的移动机器后,我们身边的工匠们不再对简单的“拟人化”智慧感兴趣,他们开始追求真正的智慧。这些“没有头脑”的机器人,只让他们瞥见了智慧的表面,却没有揭示智慧的本质。要做到这一点,他们必须深刻理解智慧最清晰的表达方式:人心。人们很快意识到,人类与其他智力较低的生物最大的区别不在于大脑的大小或在地球上生活的时间长短,而事实上只是我们超强的推理能力。所以当第一台可编程计算机的想法出现时,我们理所当然地认为这样的计算机能够模拟任何形式的推理,至少像人类一样。事实上,“计算机”一词的首次使用可以追溯到1640年代的英国,当时它被用来表示“能够计算的人”。起初,这个过程进行得非常缓慢。在1940年代,当时最先进的HarvardMarkI是一个重达10,000磅的“怪物”,由数千个机械部件提供动力,内部使用长达500英里才能让机器运转起来。电缆。尽管设计如此巧妙,但该机器每秒只能执行3次加法。但在摩尔定律的影响下,计算机很快在形式推理的各种任务执行上取得了超越人类能力的性能。研究人员对已经取得的进展感到惊喜,并断言如果继续以这种速度发展,第一个真正完美的“思维机器”成为现实只是时间问题。20世纪60年代的著名学者赫伯特·西蒙甚至宣称:“20年后,机器将能够完成人类所能完成的所有工作。”不幸的是,虽然足够惊人,但这个预言并没有成真。事实上,计算机确实很擅长解决可以用一系列逻辑和数学规则定义的问题,但更大的挑战是让计算机解决无法用这种“声明式”方式概括和提炼的问题,比如人脸识别在图片中,或翻译者的语言。世界总是很混乱,机器下棋的能力可能比人类好得多,甚至可能赢得国际象棋锦标赛,但在现实世界中,机器很像橡皮鸭(除非你喜欢鸭子调试法律,那是另一个故事)。意识到这一点,AI领域的许多研究人员开始否认符号AI(SymbolicAI,形式推理方法的总称,至今仍主导着AI研究)是最有前途的创造人工智能机器的方式。最佳方式原则。符号人工智能的基石,如情境微积分和一阶逻辑,被证明过于正式和过于严格,无法容纳现实世界中的所有不确定性。我们需要新的方法。一些研究人员决定通过更巧妙的“模糊逻辑”来寻求答案,其中真正的价值不是简单的0和1,而是介于两者之间的任何数字。价值。还有其他研究人员决定专注于其他新兴领域,例如“机器学习”。机器学习弥补了形式逻辑的不足,可以成功解决现实世界中的不确定性问题。这种方法不是将关于现实世界的所有知识“硬编码”到一系列严格的逻辑公式中,而是可以教会计算机自己推导出所需的知识。换句话说,我们可以教计算机学习如何区分椅子和桌子的概念,而不是告诉计算机“这是一把椅子”或“这是一张桌子”。机器学习领域的研究人员小心翼翼地避免使用决定论的概念来描述整个世界,因为这种严格的描述性属性与现实世界的本质截然相反。于是他们决定用统计学和概率论的语言来描述整个世界。机器学习算法不需要知道真假,只需要知道真假的程度,也就是概率。这种使用概率从数值上理解现实世界中存在的不确定性的想法,使贝叶斯统计成为机器学习的基石。“频率论者”对此有不同的看法,但这种差异值得另写一篇文章。很快,逻辑回归和朴素贝叶斯等简单的机器学习算法就可以教会计算机区分合法邮件和垃圾邮件,并根据建筑面积预测房价。逻辑回归是一种相当简单的算法:给定输入向量x,模型将直接将此x分类为{1,2,…,k}类之一。然而,这会导致一个问题。这个简单算法的性能在很大程度上取决于所使用的数据表示方法(Goodfellow等人,2017年)。为了正确看待这个问题,假设构建一个使用逻辑回归来决定是否推荐剖腹产的机器学习系统。系统无法直接检查产妇,需要根据医生提供的信息进行判断。这些信息可能包括有无子宫疤痕、怀孕月数、产妇年龄等,每条信息都可以算作一个特征,通过结合不同的特征,AI系统可以充分理解产妇的代表。通过提供训练数据,逻辑回归算法可以了解不同母体特征与各种结果之间的关系。例如,算法可以从训练数据中发现,随着妈妈年龄的增长,分娩时出现“反胃恶心”的风险增加,因此算法会降低向高龄产妇推荐自然分娩的概率。虽然逻辑回归将表征映射到结果,但它实际上并不能确定哪些特征构成了母性表征。如果逻辑回归算法直接输入患者的MRI扫描结果,而不是医生的正式报告,则该算法将无法提供有用的预测(Goodfellow等人,2017年)。仅查看MRI扫描中的每个像素并不能帮助我们确定女性在分娩过程中出现并发症的可能性。这种足够好的表示和足够好的结果之间的依赖关系在计算机科学和我们的日常生活中很普遍。例如,我们几乎可以立即在Spotify上找到任何歌曲,因为他们的曲库很可能是使用智能数据结构存储的,例如三元搜索尝试,而不是常见的简单结构,例如空序数数组。又如:小学生使用阿拉伯数字可以很容易地进行数学计算,但使用罗马数字时情况就大不相同了。机器学习也是如此,输入表示的选择将对学习算法的有效性产生巨大影响。图1.1:不同表示的示例:假设我们需要在散点图上画一条线来分隔两种类型的数据。左边的图像使用笛卡尔坐标系来呈现这些数据,这在此时几乎是不可能的;右图对同一批数据使用的是极坐标系,一条竖线就可以解决问题。此插图是与DavidWarde-Farley合作制作的。DavidWarde-Farley、Goodfellow等人。2017因此,人工智能领域的很多问题其实都可以通过为输入数据找到更合适的表示来简化。例如,假设我们要设计一种算法来学习识别Instagram照片中的汉堡包。第一步是构建一个描述所有汉堡包的特征集。最初我们可能会根据图像中的原始像素值来描述汉堡包,一开始这可能有意义,但很快就会证明根本不是这样。很难仅从原始像素值来描述汉堡的外观。想想你自己在麦当劳点了一个汉堡包(如果你曾经在他的地方吃过)。你可能会用不同的“特征”来描述你想要的汉堡有什么,比如奶酪、半熟牛肉饼、芝麻面包、生菜、红洋葱和各种酱汁。考虑到这种情况,或许可以用类似的方式构建我们需要的特征集。我们可以将汉堡描述为不同成分的集合,每种成分都可以用其独特的一组特征来描述。汉堡中的大部分成分都可以通过颜色和形状来描述,而汉堡作为一个整体可以通过不同成分的颜色和形状来描述。但是,如果汉堡不在照片的中心,周围有其他颜色相似的物体,或者风格截然不同的餐厅,而且他们提供的汉堡不是“拼装”在一起的呢?算法如何区分这些颜色或几何形状?最明显的解决方案无疑是增加更多(可区分的)特征,但这只是权宜之计,很快你就会遇到更多的边缘情况,需要增加更多的特征来区分相似的图像。输入的表示越来越复杂,这增加了计算成本并使情况变得更加困难。因此,从业者现在不仅需要关注数量,还需要关注输入表示中所有特征的表现力。对于任何机器学习算法,找到完美的特征集都是一个复杂的过程,需要花费大量的时间、精力,甚至需要数十年的专门研究人员。用行话来说,确定如何最好地呈现提供给学习算法的数据是一个“表示”问题。在20世纪90年代末和2000年代初,机器学习算法在不完美的输入表示方面的局限性对人工智能的发展造成了巨大的障碍。在设计输入特征的表示时,工程师别无选择,只能依靠人类的聪明才智和围绕问题领域的先验知识来克服这些限制。这种“特征工程”长期以来一直很脆弱,如果学习算法无法从未经过滤的原始输入数据中提取任何见解,那么用更哲学的术语来说,它就无法理解我们的世界。面对这些困难,研究人员很快找到了应对之道。如果机器学习算法的目标是学习将表征映射到输出,为什么不教它们自己学习表征。这种方法也称为表征学习。最著名的例子可能是自动编码器,一种神经网络,一种以人脑和神经系统为模型的计算机系统。自编码器实际上是编码器(Encoder)功能和解码器(Decoder)功能的结合,编码器功能负责将输入数据转换成不同的表示,解码器功能负责将中间状态的表示转换回原始状态格式,并在此过程中保留尽可能多的信息。这在编码器和解码器之间创建了一个拆分,其中输入的“嘈杂”图像可以被解码为更有用的表示。例如,嘈杂的图像可能是Instagram上一张被相似颜色物体包围的汉堡包的照片。解码器去除了这种“噪音”,只保留描述汉堡本身所需的图像特征。作者:Chervinskii,自制,在CCBY-SA4.0下授权。但即使使用自动编码器,问题仍然存在。为了去除噪声,自动编码器(和任何其他表示学习算法)必须能够准确地确定哪些因素对描述输入数据最重要。我们希望我们的算法选择正确的因素,以便更好地识别真正感兴趣的图像(例如包含汉堡包的图像)并拒绝不感兴趣的图像。在汉堡包的例子中,我们已经确定,如果我们更多地关注图像中不同元素的形状和颜色,而不是仅仅关注图像的原始像素值,我们可以区分包含和做的图像不含汉堡包。但总是说起来容易做起来难。重点是教算法如何从不重要的因素中解释重要因素,也就是说,需要教算法识别所谓的变异因素。乍一看,表示学习似乎不是解决这个问题的方法,但让我们仔细看看。编码器采用输入的表示形式,并通过隐藏层(中间层)将结果输入压缩为稍小的格式。解码器的作用恰恰相反:它将输入解压缩回其原始格式,尽可能多地保留信息。在这两种情况下,如果隐藏层能够知道哪些因素在描述输入时最重要,那么输入数据中包含的信息将被最大化,并尽量确保这些因素在传递过程中不会从输入数据中消除层。保留程度。在上面的示例中,编码器和解码器各包含一个隐藏层:一层用于压缩,一层用于解压。这种粗粒度的层数意味着该算法不够灵活,无法确定如何最好地压缩和解压缩输入数据以保留最大量的信息。但如果稍微改变一下设计,引入多个按顺序堆叠在一起的隐藏层,则算法在选择重要因素时可以更自由地判断压缩和解压缩输入数据的最佳方式。这种在神经网络中使用多个隐藏层的方法就是深度学习。但事情还没有结束,深度学习还能走得更远。使用多个隐藏层后,可以通过简单地构造一个更简单的层来构建复杂的表示。通过顺序堆叠隐藏层,我们可以在每一层中识别新的因子变体,这样算法就可以用更简单的层来表达更复杂的概念。Zeiler和Fergus(2014)深度学习有着悠久而深远的历史。这个领域的中心思想早在1960年代就以多层感知器(Multi-layerperceptrons)的形式诞生,后来更实用的反向传播算法在1970年代首次出现,人工神经网络出现在1980年代。尽管年代久远,但这些技术花了数十年时间才变得实用。算法本身并不坏(不管很多人怎么想),我们只是没有意识到我们需要为它们提供多少数据才能使它们足够有用。由于统计噪声的影响,小数据样本更容易得到极端结果。但是,只要增加数据量,就可以降低噪声的影响,使深度学习模型能够更准确地为输入数据确定最合适的描述因子。毫无疑问,深度学习终于在2000年代初起飞,与此同时,许多大型科技公司发现自己坐在未开发的数据金矿之巅。