内容简介 · · · · · ·
这是一部对人工智能充满敬畏之心的匠心之作,由《深入理解Java虚拟机》作者耗时一年完成,它将带你从奠基人物、历史事件、学术理论、研究成果、技术应用等5个维度全面读懂人工智能。
本书以时间为主线,用专业的知识、通俗的语言、巧妙的内容组织方式,详细讲解了人工智能这个学科的全貌、能解决什么问题、面临怎样的困难、尝试过哪些努力、取得过多少成绩、未来将向何方发展,尽可能消除人工智能的神秘感,把阳春白雪的人工智能从科学的殿堂推向公众面前。
作者简介 · · · · · ·
周志明,Java技术、机器学习和企业级开发技术专家,现任远光软件研究院院长,人工智能博士在读,著有畅销书本书。
开源技术的积极倡导者和推动者,对计算机科学和相关的多个领域都有深刻的见解,尤其是人工智能、Java技术和敏捷开发等领域。曾受邀在InfoQ和IBMDeveloperWorks等网站撰写技术专栏。
著作颇丰,著有《深入理解Java虚拟机》《深入理解OSGi》,翻译了《Java虚拟机规范》等著作。其中《深入理解Java虚拟机》第1版出版于2011年,已经出至第2版,累计印刷超过30次,不仅销量好,而且口碑更好,是中文计算机图书领域公认的、难得一见的佳作。
目录 · · · · · ·
致谢
第一部分 以智慧创造智慧
第1章 洪荒年代 / 2
1.1 概述 / 2
1.2 引言:信息革命 / 3
1.3 图灵机,计算的基石 / 5
1.4 人工智能的萌芽 / 10
1.5 图灵测试:何谓智能? / 12
1.6 智能与人类的界限 / 16
1.7 机器能思考吗? / 17
1.8 机器拟人心 / 21
1.9 机器拟人脑 / 24
1.10 机器拟人身 / 27
1.11 本章小结 / 28
第2章 迈向人工智能 / 30
2.1 概述 / 30
2.2 引言:不经意间改变世界 / 31
2.3 达特茅斯会议 / 35
2.4 有学术就有江湖 / 41
2.5 有江湖就有传奇 / 48
2.6 人工智能早期成果 / 54
2.7 本章小结 / 63
第二部分 学派争鸣
第3章 符号主义学派 / 66
3.1 概述 / 66
3.2 引言:五分钟逻辑学 / 68
3.3 描述已知,推理未知 / 73
3.4 知识!知识!知识! / 87
3.5 从演绎到归纳 / 96
3.6 符号主义的现状和未来 / 101
3.7 本章小结 / 103
第4章 连接主义学派 / 105
4.1 概述 / 105
4.2 引言:命运 / 106
4.3 大脑模型 / 108
4.4 崛起的明星 / 114
4.5 陨落的流星 / 118
4.6 感知机 / 121
4.7 凛冬将至 / 129
4.8 人工智能的繁荣与寒冬 / 137
4.9 本章小结 / 141
第5章 行为主义学派 / 143
5.1 概述 / 143
5.2 引言:昔日神童 / 145
5.3 自动机对抗自动机 / 147
5.4 从“控制论”说起 / 151
5.5 机械因果观和行为主义 / 154
5.6 自复制机和进化主义 / 157
5.7 机器人学 / 161
5.8 本章小结 / 170
第三部分 第三波高潮
第6章 机器学习概览 / 172
6.1 概述 / 172
6.2 什么是机器学习 / 174
6.3 机器学习的意义 / 177
6.4 机器学习解决的问题 / 179
6.5 进行机器学习:实战模型训练 / 185
6.6 评估验证 / 233
6.7 本章小结 / 242
第7章 深度学习时代 / 244
7.1 概述 / 244
7.2 引言:深度学习教父 / 245
7.3 逆反之心 / 247
7.4 复兴之路 / 249
7.5 深度学习时代 / 263
7.6 深度神经网络 / 290
7.7 从实验室到企业 / 309
7.8 挑战与反思 / 317
7.9 本章小结 / 322
第四部分 人机共生
第8章 与机器共生 / 326
8.1 概述 / 326
8.2 引言:天才还是白痴 / 327
8.3 与机器竞技 / 329
8.4 与机器共舞 / 360
8.5 本章小结 / 368
附录 人工智能历史大事记 / 370
· · · · · · (收起)
喜欢读"智慧的疆界"的人也喜欢的电子书 · · · · · ·
喜欢读"智慧的疆界"的人也喜欢 · · · · · ·
智慧的疆界的书评 · · · · · · ( 全部 2 条 )
> 更多书评 2篇
读书笔记 · · · · · ·
我来写笔记-
生锈发条 (添加签名档)
智慧的疆界:从图灵机到人工智能 周志明 115个笔记 1.1 概述 “人工智能”作为一个专业名词,是在1956年首次出现的,但是人类对人造机械智能的想象与思考却是源远流长。在古代的神话传说中,技艺高超的工匠可以制作人造人,并赋予其智能或意识,如希腊神话中出现了赫淮斯托斯的黄金机器人和皮格马利翁的伽拉忒亚这样的机械人和人造人;根据列子辑注的《列子·汤问》记载,中国西周时期也已经出现了偃师造人的故事。 人类对人工...2020-01-25 22:02:00 1人喜欢
智慧的疆界:从图灵机到人工智能 周志明 115个笔记 1.1 概述 “人工智能”作为一个专业名词,是在1956年首次出现的,但是人类对人造机械智能的想象与思考却是源远流长。在古代的神话传说中,技艺高超的工匠可以制作人造人,并赋予其智能或意识,如希腊神话中出现了赫淮斯托斯的黄金机器人和皮格马利翁的伽拉忒亚这样的机械人和人造人;根据列子辑注的《列子·汤问》记载,中国西周时期也已经出现了偃师造人的故事。 人类对人工智能的凭空幻想阶段一直持续到了20世纪40年代。由于第二次世界大战交战各国对计算能力、通信能力在军事应用上迫切的需求,使得这些领域的研究成为人类科学的主要发展方向。信息科学的出现和电子计算机的发明,让一批学者得以真正开始严肃地探讨构造人造机械智能的可能性。 1.4 人工智能的萌芽 对于机器如何实现智能这个问题,图灵提出了两条可能的发展路线[插图]:一种是基于建设“基础能力”的方法,通过编写越来越庞大、完善的程序,使机器具备越来越多的能力,譬如可以与人下棋、可以分析股票、可以识别图形等这样的能力,图灵认为这是完全可以做到的。但他更感兴趣的是基于“思维状态”来建造大脑。这种方法的指导信念是,人类大脑一定存在着某种内在机制来产生智能,因为并没有什么更高等的神秘力量在为人脑编程,所以一定存在某种方法,可以使机器自动地学习,就像人类大脑一样。图灵进一步解释到:新生儿的大脑是不具备智能的,因此,找到人类大脑获得智能的途径,然后应用于机器上,使机器可以自己学习成长,成为机器掌握任何领域技能的一揽子解决方案。 1.5 图灵测试:何谓智能? 有趣的是,因为机器在图灵测试上一次又一次的失败,人类基于机器通过这种测试的困难度,反而创造出图灵测试最广泛的应用场景,这种应用在网络上随处可见—图形验证码。验证码的英文单词“Captchac”其实就是“通过图灵测试来完全自动地分辨出计算机和人类”这句话的首字母缩写(Completely Automated Public Turing test to tell Computers and Humans Apart) 1.6 智能与人类的界限 显而易见,图灵测试所判定的“智能”是能够模拟全部人类行为的智能,但是全部人类行为的范围内并非都是“属于人类需要范畴的智能行为”,也并非所有人类行为都有让计算机代替人类去完成的必要,如你没必要让计算机替你分辨出“榴莲到底是不是一种好吃的水果”,觉得榴莲是否好吃这种问题也不会用来衡量回答者有没有智能或者作为判断智商的高低的依据,对吧? 1.7 机器能思考吗? ● 神学的反对意见:“思考来自人类灵魂,而灵魂是上帝赋予的”。●“鸵鸟”式的反对意见:“机器有思维的后果太令人恐惧了”。● 能力受限论的反对意见:“机器可以完成任何你刚才提到的事情,但机器永远不可能有某某行为”。● 差错论的反对意见:“机器永远不可能出错,而思维的关键则来自于出错的不确定性”。● 规则论的反对意见:“机器永远按照预设的规则来工作,而人类总能碰到未知的情况”。 1.8 机器拟人心 ● 接受外界信息的能力,如机器视觉、语音识别、语义理解等。● 存储和使用知识的能力,如知识表示、知识工程、自动推理等。● 改进自身的能力,如基于统计、概率、符号、连接的各类机器学习模型等。● 反馈外界的能力,如自然语言处理、语音合成技术、运动平衡技术等。 1.9 机器拟人脑 从历史发展上看,皮茨的总结非常有预见性,至今六十多年来,人工智能的探索历程就是“结构派”和“心智派”[插图]交替提出新理论和新发现,交替占据主流地位的发展史。 1.10 机器拟人身 图灵也考虑过这种智能的形式,他在1948年的论文《智能机器》(Intel-ligent Machinery)中,把研究智能的方向划分为“具身智能”(Embodied Intelligence)和“非具身智能”(Disembodied Intelligence)两大类。图灵和香农的研究主要走的是非具身智能这条路,而具身智能,则是以提出《控制论》的维纳为代表,著有《自复制自动机理论》(Theory of Self-Reproducing Automata)的冯·诺依曼也是这方面探索的先驱者之一。 如果说心智派在研究模拟智能的软件,结构派在研究模拟智能的硬件,那行动派就是在模拟智能生物的身体了。 在人工智能真正成为一门学科之后,我们所说的心智派、结构派和行动派,也有了自己严谨的理论和学说,分别发展成人工智能中的三大经典学派:符号主义学派、连接主义学派和行为主义学派。 2.1 概述 现在一说起人工智能的起源,公认是1956年的达特茅斯会议,原本学术圈之外听说过这个会议的人并不多,但随着人工智能在近几年再次成为科技界乃至全社会的焦点,达特茅斯会议也逐渐为公众所了解。 2.3 达特茅斯会议 “算法信息论”[插图]这门分支,这是衡量数据携带信息量的一个全新视角,通过生成信息的图灵机代码长度来衡量数据所携带信息的多少 2.4 有学术就有江湖 2333 达特茅斯会议参会者里四位图灵奖得主很明显是分为两对的,司马贺和纽厄尔是一对,明斯基和麦卡锡是另一对 2.6 人工智能早期成果 完全信息”(Perfect Information)是指双方完全掌握所有推导策略所需的信息,这是一个博弈论中的概念,博弈论的策梅洛定理(Zermelo's Theorem)证明了在不存在随机因素的对抗中,一方可以通过递归推导获得必不败的策略,那就是掌握完全信息的 转换生成语法首先应用在计算机科学领域,并获得了极大成功,这里还必须提到的是乔姆斯基在1956年提出的著名的“乔姆斯基层级”(Chomsky Hierarchy)。该层级包含四个层次的语法:0型语法描述的是递归可枚举语言,对应的自动机是图灵机;1型语法是上下文有关语法;2型语法是上下文无关语法;3型语法描述的是正则语言,对应的是有限状态自动机。 (Chomsky Hierarchy)。该层级包含四个层次的语法:0型语法描述的是递归可枚举语言,对应的自动机是图灵机;1型语法是上下文有关语法;2型语法是上下文无关语法;3型语法描述的是正则语言,对应的是有限状态自动机。如果看到这段话的读者是非计算机或者语言学专业的人士,可能会感觉这是一连串陌生专业名词,但如果是计算机专业出身的读者,就会清楚这些是编译原理课程中最基础的知识和概念。简单地说,乔姆斯基在计算机语言上的贡献是为高级程序设计语言和编译器的设计提供了语言学的理论基础,使得从一种形式语言转换生成另外一种更基础的语言成为可能。如果没有乔姆斯基的贡献,也许现在程序员还不得不使用与机器指令一一对应的汇编语言来开发程序,一手查指令表一手敲代码。 不过,转换生成语法在自然语言上,虽然是掀起了一场语言学的认知革命,但仅从结果来看,并没有获得在计算机语言上那样的成功,毕竟计算机语言与自然语言的复杂度不可同日而语。自然语言的歧义性(如“打击力度”是名词短语,但“打击盗版”就是动词短语)和语法规则不确定性(常用规则可能只有几十条,但是算上非常用的语法规则就几乎无法穷举,甚至有些规则还互相矛盾) 由于媒体对ELIZA的广泛渲染,后来在人工智能领域里还出现了一个名词—“伊莉莎效应”(ELIZA Effect)[插图],这个词的意思是说人可以过度解读机器的结果,读出原本不具有的意义。 某项工作一旦被计算机攻克了,人们了解了这些行为背后的原理之后,它立刻就变得代表不了智能,归入可机械化的任务了。我们人类定义的“智能”范围,似乎随着人工智能的发展成果而不断变窄,业界称这个趋势为“AI效应”[插图],这点也是大家总觉得人工智能还遥远的心理原因之一 3.1 概述 了解一门主义或一个学派,首先要抓住它的核心观点和主要理论,如常识编程、物理符号系统假说,以及他们研究的手段,如推理归纳方法、知识表示方法,还有它取得的主要成果,如问题求解程序、专家系统等。 对于符号主义学派长达数十年的探索研究过程,根据研究的主要问题不同,可以将其划分为三个阶段:最初这派的学者并未过多考虑知识的来源问题,而是假设知识是先验地存储于黑盒之中的,重点解决的问题是利用现有的知识去做复杂的推理、规划、逻辑运算和判断,这个时期称为符号主义的“推理期”;后来大家发现智能的体现并不能仅依靠推理来解决,先验的知识是更重要的一环,研究重点就转变为如何获取知识、表示知识和利用知识,这个时期称为符号主义的“知识期”;最后,由于知识仅依靠人类专家总结、提炼然后输入计算机的方式无法应对世界上几乎无穷无尽的知识,研究的重点又转为如何让机器自己学习知识、发现知识这个方向,这个时期就称为符号主义的“学习期” 3.2 引言:五分钟逻辑学 所有人都是会死的;(大前提:确定普适原则)苏格拉底是人;(小前提:确定个体事例)所以苏格拉底会死。(结论) 如果将命题作为逻辑分析的最小单位,研究形式是“如果前提p成立,那么结论q成立”与“如果前提p并且q成立,那么结论s不成立”这类关注点在命题间关系的逻辑,就称为“命题逻辑”(Propositional Logic)。如果把逻辑分析的对象进一步细化,对单个命题再做分解,按语言学关系拆分出其中的主项、谓项、联项和量项,去研究形式如“所有S都是P”“有些S不是P”“a(S中的某一个)是P”(特别地,如这两个例子所举的“判断事物是否具有某种属性”的命题称为“直言命题”)这类关注点在命题词项之间关系的逻辑,就称为“词项逻辑”(Lexical Logic)。 变革中的一项重要成果是产生了一种全新的逻辑形式—谓词逻辑(Predicate Logic)。 符号主义学派的学者们对这个问题持明确的肯定答案,整个学派的核心思想其实可以概括为五个字:认知即计算。 3.3 描述已知,推理未知 这种可以从形式文法产生,所有含义都在符号和组成规则中确切表达出来,无任何隐含语义和歧义的语言,被称为“形式语言”(Formal Language),将自然语言描述的内容转变为形式语言描述的过程称为“形式化”。形式语言在科学中是非常常见的,无论是本章所讲到的谓词逻辑,还是大家经常接触的计算机中的程序设计语言,都属于形式语言的一种。 逻辑理论家的基本思路是利用计算机的运算速度优势,遍历出形式化之后的定理前提所有可能的变换形式,说白了,其实也就是常见的树搜索,再配以适当的剪支算法。逻辑理论家以已知前提为树的根节点,把根据规则可以进行的每一种变换都作为该节点的下一条分支,如果某条分支中出现了与结论一致的变换形式,那这条分支路径经过的每一个节点按顺序连接起来就是定理证明的步骤了。逻辑理论家采用的算法和今天计算机自动定理证明这个学科分支的主流算法思想(如归结原理、DPLL算法)并没有很直接关系,甚至可以说就只是对形式化的前提进行简单乃至粗暴的搜索而已,这也正是后来计算机自动定理证明领域的著名学者王浩教授批评逻辑理论家,认为它没有多少技术含量的主要原因。 这不就是 pddl 么…… 上面笔者列举的这个例子,就来自于麦卡锡《常识编程》论文的原文,定义和推理过程虽然人类看起来会觉得很繁琐,但这些“繁琐”对机器来说并不存在任何困难。 可是,AdviceTaker其实并未解决“常识来源自哪里?”这个真正的难题,在上面这个例子中,诸如go、walkable、drivable、canachult、want这些谓词的定义,都是人类总结后灌输进去的,而不是计算机从某种“公理”或者“公设”性质的常识中推导而来。要使用一小撮最小化最本质的公理定义和规则的集合就可以推理出人类的所有常识,这样的思路在数学、几何这些抽象世界虽然行得通而且常见,但也是经过了上千年时间和无数数学家的智慧才成功完成的,要用在具体的现实世界里做到这点谈何容易。 ,在1960年又发表了一篇名为《递归函数的符号表达式以及由机器运算的方式,第一部分》(Recursive Functions of Symbolic Expressions and Their Computation by Machine, Part I)的论文。论文阐述了只通过七个简单的运算符以及用于函数的记号来构建一个具图灵完备性语言的想法(这其实就是通过计算机实现邱奇的Lambda演算),并将这种语言命名为LISP(LISt Processing的缩写)。麦卡锡自己并未提供LISP语言的实现程序,但他的学生史帝芬·罗素(Steve Russell)阅读完此论文后,在麻省理工学院的IBM 704计算机上成功完成了最初版本的LISP编译器,实现了最初版的LISP语言。 LISP在人工智能中还有另一点优势是它可以很好地把麦卡锡设想的“符号推理能够从已知的知识推理出新的知识,乃至自我改进推理系统自身的行为”这点实现出来,LISP中程序(行为)和数据(符号)是高度相似并且可互相转化的,麦卡锡把两者分别描述为“M-表达式”和“S-表达式”(现代LISP编程中都只使用S-表达式了),其中M的意思是“Meta”,而S的意思是“Symbolic”。LISP的重要特点“元编程”(Meta Programmed)就来源于它的数据可以变为程序、符号可以修改自身的行为这种能力,使用这个特性,程序可以很方便地实现新知识改进程序本身这个目标了。 物理符号系统的理论主要由两个假说构成,分别是物理符号系统假说(Physical Symbol System Hypothesis)和启发式搜索假说(Heuristically Search Hypothesis)。名字很有专业感,不过既然这两套假说来源于对人类智能的模拟,它们就肯定可以用我们日常所能接触和理解的概念来类比解释。 一个物理符号系统包括“符号”(Symbols)、“表达式”(Expressions)和“操作过程”(Processes)。多个符号组合起来就成了表达式,组合方式可以是多种多样的,系统在任意时刻都在对这些表达式执行着操作,这个过程具体可以归纳为对表达式进行“创建”(Creation)、“修改”(Modification)、“复制”(Reproduction)和“销毁”(Destruction)这四个操作的不同顺序组合。 物理符号系统假说的核心观点是认为物理符号系统就是普遍智能行为的充分且必要条件。在这句话里,“必要”意味着任何实现了智能的系统都可以被视为一个物理符号系统,这点是现在的认知科学[插图]要去研究和证明的问题;而“充分”则指任何具有足够尺度的物理符号系统都可以经适当组织之后展现出智能,这个就是人工智能这门学科要去研究和证明的问题。另外,名字里“物理”一词还强调了系统必须从根本上遵从物理学定律,即强调了认知与心灵、灵魂等唯心因素无关,因此智能可以由任何物质材料构成的系统来实现,而不限于人脑实现并使用的符号系统。 3.4 知识!知识!知识! 谓词逻辑把不同的实体与规则当作独立的事实来处理,语义网络则将多个实体与规则视为一个整体来进行处理。 在语义网络中,由于结构关系,检索和推理的效率是非常高的,但它不适用于定量、动态的知识,也不便于表达过程性、控制性的知识。 一言以蔽之,知识管理的目标是建立供人使用的知识库,而知识工程的目标是建立供计算机使用的知识库。 基于知识的系统一般软件架构上都可以划分为知识库和推理引擎两个部分,知识库用于在计算机系统里面反映出真实世界中的知识,而推理引擎则负责使用知识库中的内容推理求解,得到用户提出的问题的答案。典型的基于知识的系统包括决策支持系统、推荐系统、专家系统等,这些系统目前仍然应用非常广泛,其中又以专家系统的历史影响最为突出。 3.5 从演绎到归纳 决策树是一种树结构,其每个非叶节点表示一个特征属性上的测试活动,每个分支代表这个特征属性在某个值域上的输出,而每个叶子节点存放着一个分类类别。使用决策树进行决策的过程就是从根节点开始,测试待分类项中相应的特征属性,并按照其值选择输出分支,直到到达叶子节点,将叶子节点所代表的分类类别作为决策结果 无论是ID3还是C4.5,抑或是其他决策树的构建算法,都有一个总的原则是在每一步选择一个最好的属性来分裂树。此处“最好”的定义是:针对这个属性分裂出分支后,会使得各个分支节点中的训练集拥有尽可能高的纯度。不同的算法可以使用不同的指标来定义“纯度”的高低,如“信息熵”(Information Entropy)、“基尼不纯度”(Gini Impurity)[插图]、“错误率”(Error Rate)等都是可根据情况选择的指标 对于数据集的数量小、样本的属性少的情况,构建决策树是很容易的,连人类手工都可以轻易完成,但是在面对有大量样本和属性的时候,要构建一颗最优的决策树则是非常困难的,因为每一个节点选择的分类属性都对以后所有分支中的样本集有全局性的影响,通过样本训练出最优的决策树已经被证明是一个“NP完全问题”[插图]。由于此限制,实际应用决策树学习时,其训练过程通常采用启发式搜索算法来达到局部最优而不追求得到全局最优解。 4.3 大脑模型 在皮茨带来的数学和逻辑学帮助下,他们两人共同构造出了一种能够完全通过神经元连接的网络来进行逻辑运算的模型,这个模型展示了人类大脑能够实现任何可能的逻辑运算,得出结论:人脑是图灵完备的,即能完成任何图灵机可以完成的计算。 4.4 崛起的明星 神经网络的可解释性直到今天仍然是一个没有办法解决的世界级难题,被认为是神经网络的天生缺陷 4.6 感知机 如果我们基于前文的M-P神经元模型来理解这句话的话,可以理解为:如果两个神经元同时激发,则它们之间的连接权重就会增加;如果只有某个神经元单独激发,则它们之间的连接权重就应减少 为了应对多于一个神经元被激活的实际情况,神经元输出就不适合再简单地以“是否激活”的离散形式来判断,这里需要将M-P神经元的阈值比较部分改进一下,修改为输出一个代表神经元“被激活的强度”的连续值,然后把各个神经元的激活强度值都放入网络后方的Softmax归一化函数[插图](此处仅是以Softmax函数为例,还可以选择其他函数)中进行处理,以便抑制概率小的、增强概率大的数字分类 4.7 凛冬将至 不过这种分类只能做到线性分割—即感知机可以应用的前提条件,必须是输入的数据集在特定特征下是线性可分的。 ”两位教授同样用数学方法,证明了感知机,更准确地说是单层的感知机并不能处理非线性数据的分类问题,其中最典型的就是“异或问题”。 5.4 从“控制论”说起 认为人类、生物和具有智能的机器等都是通过“由负反馈和循环因果律逻辑来控制的目的性行为”来实现自身目的的,这一句话便是控制论思想的源头 5.5 机械因果观和行为主义 给考察对象以某种刺激,观察它的反馈,通过研究反馈与刺激的关系来了解对象的特性,而不去纠结对象内部的组织结构,这就是行为主义方法。 如果把环境对系统的影响和作用统称为“输入”,把系统对环境的作用及其引起的环境变化称为“输出”,则给系统施加某种输入,观察它的输出,通过分析输出对输入的响应关系以了解系统的属性,而不必顾及系统内部的组织结构,这就是广义的行为主义方法。 他一直倡导研究“没有表达的智能”和“没有推理的智能”,认为“智能”就取决于“感知”和“行动”。布鲁克斯本人也是维纳时代之后,行为主义学派的重要代表人物之一。 5.6 自复制机和进化主义 根据冯·诺依曼定义的自复制机架构,任何能够自我复制的系统,都应该同时具有两个基本功能:首先,它必须能够构建一个组成元素和结构与自己一致的后代系统,然后它需要能够把对自身的描述传递给这个后代系统。冯·诺依曼把这两个部分分别称作“通用构造器”和“描述器”,而描述器中又包含了一个通用图灵机和保存在通用图灵机器能够读取的介质上的描述信息。这样,只要有合适的原料,通用构造器就可以根据描述器的指示,生产出下一台机器,并且把描述的信息也传递给这台新机器。随后,新机器启动,再进入下一个复制循环。 6.5 进行机器学习:实战模型训练 我们准备的邮件样本需要进一步给出标注信息,把样本变成样例。在训练集向量中,也加入y项来表示标记信息,参与训练的样例集合以如下形式来表示。T={(x11, x12, x13, y1), (x21, x22, x23, y2), (x31, x32, x33, y3), …, (xn1, xn2, xn3, yn)} “强化学习”(Reinforcement Learning),这是目前以行为主义学派思想来指导的机器学习的任务类型。无论训练集是由样本还是由样例构成,监督学习和非监督学习都是从历史经验之中学习,而强化学习并不主要依赖历史经验,而是一种基于环境对行为收益的评价来改进自身的模型 模型的输入每增加一个特征,便给模型的决策函数引入了一个新的参数项,这会让决策函数所处的问题空间相应地提升一个维度,训练集数据量相同的情况下,在越高维空间中,数据就越稀疏,空间的维度提升太快,可用数据就变得过于稀疏,而过于稀疏的数据,会使其从大多数角度都看不出相似性,因而平常使用的数据组织策略就变得极其低效,这个现象在机器学习中称为“维度灾难”(Curse of Dimensionality)。 特征选择是“数据降维”(Dimension Reduction)的一种主要方法,还有一个主要降维方法称为“特征提取”(Feature Extraction),它与特征选择的区别是:特征提取是在原有特征基础之上去创造凝练出一些新的特征出来,如果创建一个新的特征项,该特征的变化规律能够反映出原来几个特征项的共同变化,那使用这一个新特征项代替原来几个特征项就实现了降维的目的。而特征选择只是在原有特征中选取最有用的特征而已,一般并不会对特征值进行变换 通常来说,人至少会从两个方面来考虑如何进行选择特征。● 考虑特征的离散度:如果一个特征不发散,譬如说方差趋近于0,也就是各个样本在这个特征上基本上没有差异,这个特征对于样本的区分就没有什么意义。● 考虑特征与目标的相关性:与目标相关性高的特征,更能作为分类决策的依据,肯定就应当优先选择,这里的关键是解决如何能判断出特征与目标的相关性。 在数学上也已经有很多成熟的自动降维算法了,如“奇异值分解”(Singular Value Decomposition, SVD)、“主成分分析”(Principal Component Analysis, PCA)等,这类算法能够把数据中相似性高的、信息含量少的特征给自动剔除掉,采用这些算法也可以实现数据降维,不过实际中要解决问题,往往必须考虑到具体模型的目标和这个领域中的先验知识 这种采用y与y’的欧几里得几何距离作为度量误差的标准,在统计学里称为“均方误差”(MSE, Mean Squared Error)。以使得均方误差最小化作为目标的损失函数,我们称为“平方损失函数”(Squared Loss Function),两个名词中都带有“Squared”这个单词,这体现了欧几里得空间里,欧氏距离的数学公式定义就是两个向量差值的平方,所以,平方损失函数的函数表达式为:L(y, y')=(y-f(x))2 采用这种办法来解决最佳空间分割问题的线性分类器,其实是“支持向量机”(Support Vector Machine)中的一种最简化情况,称为“线性支持向量机”(LinearSVM, LSVM),刚才例子描述里“棍子的宽度”,在支持向量机中被称为“边距”(Margin),接触到“棍子”边缘的向量,就被称为“支持向量”(Support Vector)。 我们将“泛化能力”(Generalization Ability),就是机器学习算法对新鲜样本的适应能力,作为衡量机器学习模型的最关键的性能指标,性能良好的模型,就意味着对满足相同分布规律的、训练集以外的数据也会具有良好的适应能力。 误差(Error)=偏差(Bias)+方差(Variance)+噪声(Noise) 在把模型进行泰勒多项式展开之后,它的复杂程度可看作由两个因素决定。● 模型多项式系数数量的多少,系数越少,相应地多项式项数就越少,意味着模型函数图像的曲线形状越简单。● 模型多项式系数数值的大小,系数越小,意味着该多项式项对结果影响越轻微,模型函数图像的曲线越平滑。 我们的最终目标,在追求损失函数最小化之外,还要再添加另外一个用于避免过拟合的第二目标,这个第二目标一般是以被称为“正则化项”(Regularizer)或者“罚函项函数”(Penalty Term Function,一般用“Ω(w)”表示该函数,下文简称罚函数)的额外算子形式来体现的,这个算子的具体函数表达式我们可以稍后再谈,现在只把它看作一个抽象的函数符号的话,将它与损失函数联合相加,这样不仅仅是损失函数最小化,而且追求与罚函数一起的总和最小,这才构成机器学习建模的完整目标。我们把形成的新函数称为训练模型的“目标函数”(Objective Function),即下面通式所示:[插图] 罚函数的目的是限制系数多少和大小的,它的形式通俗地讲就是“一个参数数量越多、参数值越大,它的输出结果就越大的函数”。 “范数”是一种具有“长度”概念的函数,广泛应用于线性代数、泛函分析等领域,它的作用是度量某个向量空间或矩阵中的每个向量的长度或大小。范数必须满足非负性、齐次性和三角不等式 ||x||p=(|x1|p+|x2|p+…+|xn|p)1/p式子中“|| ||”是范数符号。L0、L1和L2范数就是p范数在p取值为0、1、2时的特例情况 L1范数的作用是“参数稀疏化”,由于这个特性,L1范数还有个别名叫作“稀疏正则算子”(Lasso Regularization)。首先我们来解释什么叫“参数稀疏化”,数学上说一个向量是“稀疏”的意思就是指它所包含的零元数的数量很多 稀疏性在机器学习中是很令人趋之若鹜的特性,因为它天然地解决了机器学习中一对很大的难题:“自动特征选择”(Auto Feature Selection)和模型的“可解释性”(Interpretability)问题。 稀疏规则化算子能天然地就将模型中对结果影响小的参数权值置为零,这样就去掉这些没有提供信息的特征,自动完成了特征选择。另一个青睐于稀疏的理由是,将无关的特征被置零后得到的简单模型会更容易解释,这点也很容易理解 机器学习中,L2范数也有两个别称,有资料中把用它的回归算法称作“岭回归”(Ridge Regression),有的资料也叫它“权值衰减”(Weight Decay)。L2范数是用来解决机器学习中过拟合问题的主要手段之一,虽然L1范数也有一定防止过拟合的作用,但如果以控制过拟合为目的话,L2范数的效果要比L1范数好,因为L2范数相对于L1范数具有更为平滑的特性,通俗地说,它更“温和”一些 偏导数指的是多元函数沿坐标轴的变化率,如果考虑多元函数沿任意方向的变化率的话,也可以使用相应偏导数的三角变换来求得 所有方向导数中最大的那一个,即函数值下降最快的那个,就被称为“梯度”,负梯度方向就是函数值上升最快的方向。 实践中常常每次都只随机挑选一个样本来计算梯度,这种做法是梯度下降算法的一种改进形式,称为“随机梯度下降”(Stochastic Gradient Descent, SGD)算法,而把之前使用全部样本进行训练的原始形式称为“批量梯度下降”(Batch Gradient Descent, BGD)算法。 为了平衡这些优缺点,日常应用会在这两种算法中折衷,每次随机选择一小批样本来进行训练,这种形式就称为“小批量梯度下降”(Mini-Batch Gradient Descent, MBGD)算法,该算法使得训练过程比较快,而且也保证最终参数训练的准确率。 简而言之,对于通用问题,高效与普适是一对矛盾。这条定理被麦克雷迪和沃尔珀特很形象地命名为“没有免费的午餐定理 6.6 评估验证 正确率的含义是对于给定的测试数据集,分类器正确分类的样本数与总样本数之比。即:[插图] 精确率是针对模型预测结果而言的,它表达的意思是所有“被模型正确标记的正例样本”占所有“被模型检索到所有样本”的比例,通俗点说就是“预测为正的样本中有多少是真正的正例样本?”,再通俗点的说法就是“你的预测有多少是对的?”。精确率度量反映出来的是模型的“查准比例”,它的计算公式如下所示:[插图] 最后一个指标“召回率”是针对测试集中被正确检索的样本而言的,它表示的是样本中的正例有多少被模型正确预测了。“正确预测”有两种可能,一种是把实际中的正例预测成真正例(TP),另一种就是把实际中的反例预测为假反例(FN),即以下公式:[插图]召回率通俗地解释就是“样本的正例里面,有多少正例被正确预测了”,它度量的是模型的“查全比例”,因此也叫“查全率”。 [插图] 无论我们选用哪种性能度量的指标来评价模型性能,都需要谨记一点:这个指标一定不能是在训练集中测定出来 如之前“Hold-Out方法”的训练集和测试集划分一样,“LOOCV方法”也有把数据集划分为训练集和测试集这一步骤。但是两者的差别是,LOOCV方法只采用单个样例数据作为测试集,所有其他的样例都作为训练集使用,然后将此步骤重复N次(N为数据集的数据总量),直至集合中每一个样例都当过一次测试集为止 。“K折交叉验证方法”和“LOOCV方法”的不同之处在于每次选取的测试集不再只包含一个样本数据,而是一组多个样本,具体数目将根据K值的大小选取决定。譬如,假设K等于5,那么我们进行的验证就是“五折交叉验证”,它的具体步骤如下。1.将所有数据集平均拆分成5份。2.不重复地每次取其中一份做测试集,用其他四份做训练集训练模型,之后计算该模型在测试集上的均方误差(假设仍然是采用均方误差来度量性能),记作MSEi。3.将5次的MSEi取平均值作为最后整个模型的MSE。 7.5 深度学习时代 现代科学已经基本确定了人的视觉系统的信息处理的确是分级的,从最低级像素提取边缘特征,再到稍高层次的形状或者目标的部分等,再到更高层的整体目标,以及目标的行为和其他特征的联想等。换句话说,高层的特征是低层特征的组合提炼,从低层到高层的特征表示越来越抽象,越来越能表现出认知的意图。抽象层面越高,存在的可能猜测就越少,就越利于分类。其实不仅仅是图像的模式识别,人类大部分的认知都很符合这样的规律,譬如语言,单词集合和句子的对应是多对一的,句子和语义的对应又是多对一的,语义和意图的对应还是多对一的,这也是一个层级体系。 人类认知过程与深度学习之间可能出现的共通点了,即“分层迭代、逐级抽象”。 辛顿这两篇文章共同论证了以下两个主要的观点。1)论证了多隐层的人工神经网络具有优异的、自动化的特征学习能力,通过网络自主学习得到的特征,比起人类手工建立的特征提取器,对数据有更本质的刻画,从而有利于可视化或分类。2)提供了一个具体可操作的训练方案,深度神经网络在训练上的难度,可以通过逐层预训练(Layer-Wise Pretraining)的方法来有效克服。 学术界、工业界把论文《通过神经网络进行数据降维处理》定性为深度学习的开山之作 而浅层的机器学习算法正好相反,它能够分辨像素级特征中的细微差异,无论是浅层神经网络、线性分类器或者其他基于原始像素操作的浅层分类模型,几乎都是不可能把相似背景下摆着同样姿势的萨摩耶和雪狼区分开,也无法把两只在不同的环境里摆着不同姿势的萨摩耶分到同样的类别里,这种现象被称作“选择性-恒常性困境”(Selectivity-Invariance Dilemma) 如何逐层抽象特征的技术,在1995年,已经被康奈尔大学的戴维·菲尔德(David Field)教授提出的“稀疏编码”(Sparse Coding)所解决 说起这个名字,还有一个值得一提的段子:“深度学习”这词听起来很酷,但其实这是辛顿无可奈何的变通产物,因为在当时很多的杂志期刊,只要稿件的标题中包含了“神经网络”这个词就会被编辑拒稿 为了缓解深度神经网络难以训练的问题,辛顿设计了一种被他称之为“逐层预训练”(Layer-Wise Pretraining)的方法,利用无监督的训练方式去一层一层地训练每个层的权重初始值,实践证明,这比一开始完全靠随机初始化的方法的效果要好得多。 “受限玻尔兹曼机”(Restricted Boltzmann Machine, RBM 由分别称为“隐藏单元”和“可见单元”的两个层以及它们之间的无向连接所构成,这里无向连接是指两层之间连接没有方向,或者说是双向的连接(其实深度信念网络只允许最顶层的RBM是双向连接),但同一层之间不允许连接,所以叫作“受限” 深度信念网络是第一种随着网络深度增加,模型性能能够随之得到增强的神经网络应用模式 在以上语境里,“梯度消失”问题是指从输出层开始,每经过一个隐层,指导更新权值的梯度向量就变小一些,这样,接近于输出层的权值更新相对正常,但在误差传播的远端,越靠近输入层的梯度会越小,网络权值更新就会变得越慢。当隐层层次深度特别深时,经过若干次传递以后,梯度已变为一个很接近于零的小数,导致这些隐层的权值几乎不会再发生改变,一直都等于网络初始化时赋予的权值,此时的深层神经网络模型,其实等价于只有后几层的浅层神经网络模型了。而“梯度爆炸”问题则相反,如果每经过一个隐层,梯度向量都增大一些的话,这样在最接近输入层的那些靠前的隐层,每次权值更新都会发生很大的变化,这样轻则会使得训练无法稳定收敛,重则甚至会导致数据越界溢出。 我们把这两侧导数接近于零的部分,称为激活函数的饱和阶段,一旦Sigmoid函数的输入值落在这个饱和范围内,其输入的数值大小对激活函数的输出结果影响就极小了,换而言之,我们可以说在这个范围内激活函数对输入数据不再敏感了。 近几年还出现了一些效果很好的随机初始化方法,如Xavier初始化方法、MSRA初始化方法等。也有从训练过程着手的,谷歌在2015年发表的一篇论文中提出一种“批量规范化”(Batch Normalization)操作。这个方法是在训练过程对隐层的数据也进行规范化处理,避免训练过程里各网络层输入落入饱和区间,导致梯度消失。还有一种最简单易于操作的方法,是直接从激活函数本身着手的。既然梯度消失是由于Sigmoid函数的导数最大值仅为0.25,而且不饱和空间非常狭窄所导致的,大家就着手去寻找更好的代替函数。 大脑皮层中普遍存在一种称为“微皮层柱”(Cortical Minicolumn)的柱状结构,它像一颗胶囊一般把数百个神经元封装在一起,每个微皮层柱里的神经元都记录、处理相同特征的同一种信号。由此看来,人类大脑并不是像经典神经网络一样由神经元直接连接的简单分层结构,而是具有更高的内部复杂性:先由神经元组成“微皮层柱”,再由“微皮层”柱组成“皮层柱”(Cortical Column),由小到大逐步复杂 辛顿发表的一篇论文里[插图]就模仿大脑微皮层柱的结构,提出了一种称为“胶囊”(Capsule)的新神经网络结构,并给出了用这种结构做了自动编码器和简单图像识别的例子 7.6 深度神经网络 [插图](续)[插图](续)[插图](续)[插图](续)[插图] (续)[插图](续)[插图](续)[插图](续)[插图](续) 它是一种特征提取操作,卷积最初被引入神经网络,就是为了处理模式识别中图像特征提取的,它就像是一个漏斗,不断在图片中平移,从下层图像中筛选数据,这个“漏斗”(专业上称作“卷积核”, Convolution Kernel)可以是各种形状的 “池化”(Pooling)的本质其实就是采样共享,譬如以颜色采样为例,采样区域中存在若干个像素,可能每个像素的颜色值都有少许差异,原本需要对应的若干个数字去存储它们的颜色,池化过程就是用同一个采样值(最大值或者平均值之类)来代替所有像素的颜色值,这样有多个像素共用一个颜色值,便能够降低数据量。 事实上卷积神经网络可以处理大部分格状结构化数据 将神经网络与时间序列结合起来,循环神经网络的发明依然有它不可忽视的价 这个“反馈环”是循环神经网络的核心内容,被称作“循环连接”(Recurrent Links),就像下图中显示的一样,循环连接把隐层神经元的输入和输出连接起来,使得隐层输出端也作为输入的一部分,重新进入到神经网络中。如果展开(Unfold)循环神经网络,可以将之视为一批所有层共享同样权值的深度前馈神经网络。 初期版本的循环神经网络只能进行有限次数的循环和记忆,超过这些范围之外的内容就必须被丢弃或者衰减得几乎消失,这个特征被称为“短期记忆”(Short-Term Memory)效应。 “长短期记忆网络”(Long Short-Term Memory, LSTM),用于解决长期及远距离的记忆依赖关系。长短期记忆网络通过引入“门结构”(Gate)和一个明确定义的“记忆单元”(Memory Cell)来尝试克服梯度消失或者梯度爆炸的问题。它允许向单元状态中移除或添加信息,通过门限结构对信息进行管理,把短期记忆的内容也保留下来。后来,进一步还发展出了“门控循环单元”(Gated Recurrent Units, GRU)等其他长短期记忆网络的变体形式。 生成式对抗网络需要训练两个网络:一边是生成网络,用于生成图片,这个网络最开始是完全随机的,产出的结果自然也是毫无规律,生成网络一般是用“反卷积神经网络”(Deconvolutional Networks, DN)来实现。另外一边是判别网络,用于判断生成网络中产生的图片是真的符合要求的数据还是伪装的数据,一般就是用7.6.1节介绍的卷积神经网络来实现,使用卷积和反卷积来作为判别、生成网络的生成式对抗网络也被更进一步地称为“深度卷积生成式对抗网络”(Deep Convolutional Generative Adversarial Networks, DCGAN),这方面相关的论文[插图]是在2016年才公开发表的。 7.8 挑战与反思 ,现在还处于主要是凭经验和试错来实现效果的原始摸索阶段。 现在,解决深度神经网络灵活性和适应性的“迁移学习”(Transfer Learning)方法与同时面向多个学习目标的“多任务学习”(Multi-task Learning)方法是深度学习领域的新热点。 8.1 概述 自1980年开始学术界便很明显地分裂成两种不同的理念[插图]:一种是希望人工智能借鉴人类解决某一类问题时表现出的智能行为,研制出更好的工具,用来解决特定的智力问题,这种观点现在被称为“专用人工智能”(AppliedArtificial Intelligence)或者“弱人工智能”(WeakArtificial Intelligence);另一种理念是想模仿人类的思维,希望能够研制出各方面都可以与人类智能比肩的人造智能体,甚至是最终能够超越人类智慧水平的人造物。这种人造智能体可以有自己的心智和意识,能根据自己的意图开展行动,对各种问题都能有良好的应对,现在一般称之为“通用人工智能”(GeneralArtificial Intelligence)或者是“强人工智能”(StrongArtificial Intelligence)。 8.3 与机器竞技 “斯坦福问答数据集”(Stanford Question Answering Dataset, SQuAD) 在创作方面,还有一项当前人工智能被更广泛使用的形式—撰稿机器人。如果读者有每日关注新闻资讯的习惯的话,你读到撰稿机器人作品的比例可能高到令你难以置信的程度。自2014年开始,国外各大报社不约而同地推出一系列撰稿机器人,如洛杉矶时报的“Quake”、美联社的“WordSmith”、纽约时报的“Blossom”等。由于这些机器人无论时效性、准确性还是节约人工成本的效果都非常优秀,很快就传播到国内的主流网络媒体,出现了如腾讯财经的“DreamWriter”、新华社的“快笔小新”、第一财经的“DT稿王”等中文撰稿机器人,现在国内的撰稿机器人还表现出明显的青出于蓝之势,效果已经超过了国外的同类产品。 8.4 与机器共舞 弱人工智能到强人工智能之间,名字虽然接近,其实两者的理论方法并没有任何顺承关系,弱人工智能不是通往强人工智能的前期基础,甚至可以说两者毫无共通之处。因此,弱人工智能的技术理论发展的时间再长,对强人工智能的实现并不会有多少实质性的促进,反而是脑科学、神经生理学、认知科学等的发展,都远比弱人工智能的进步更容易触及到心灵和意识的奥秘 在2007年,英伟达非常有预见性地提出了“统一计算设备架构”(Compute Unified Device Architecture, CUDA)的概念,并将其实现在以代号G80为核心芯片的NVIDIA GeForce 8系列显卡上,第一次让显卡上的“图形处理单元”(Graphics Processing Units, GPU)具备了可编程的能力,使得GPU的核心“流式处理器”(Streaming Processors, SPs)既具有处理像素、顶点和图形等渲染能力,又同时具备通用的单精度浮点运算能力。
回应 2020-01-25 22:02:00
-
生锈发条 (添加签名档)
智慧的疆界:从图灵机到人工智能 周志明 115个笔记 1.1 概述 “人工智能”作为一个专业名词,是在1956年首次出现的,但是人类对人造机械智能的想象与思考却是源远流长。在古代的神话传说中,技艺高超的工匠可以制作人造人,并赋予其智能或意识,如希腊神话中出现了赫淮斯托斯的黄金机器人和皮格马利翁的伽拉忒亚这样的机械人和人造人;根据列子辑注的《列子·汤问》记载,中国西周时期也已经出现了偃师造人的故事。 人类对人工...2020-01-25 22:02:00 1人喜欢
智慧的疆界:从图灵机到人工智能 周志明 115个笔记 1.1 概述 “人工智能”作为一个专业名词,是在1956年首次出现的,但是人类对人造机械智能的想象与思考却是源远流长。在古代的神话传说中,技艺高超的工匠可以制作人造人,并赋予其智能或意识,如希腊神话中出现了赫淮斯托斯的黄金机器人和皮格马利翁的伽拉忒亚这样的机械人和人造人;根据列子辑注的《列子·汤问》记载,中国西周时期也已经出现了偃师造人的故事。 人类对人工智能的凭空幻想阶段一直持续到了20世纪40年代。由于第二次世界大战交战各国对计算能力、通信能力在军事应用上迫切的需求,使得这些领域的研究成为人类科学的主要发展方向。信息科学的出现和电子计算机的发明,让一批学者得以真正开始严肃地探讨构造人造机械智能的可能性。 1.4 人工智能的萌芽 对于机器如何实现智能这个问题,图灵提出了两条可能的发展路线[插图]:一种是基于建设“基础能力”的方法,通过编写越来越庞大、完善的程序,使机器具备越来越多的能力,譬如可以与人下棋、可以分析股票、可以识别图形等这样的能力,图灵认为这是完全可以做到的。但他更感兴趣的是基于“思维状态”来建造大脑。这种方法的指导信念是,人类大脑一定存在着某种内在机制来产生智能,因为并没有什么更高等的神秘力量在为人脑编程,所以一定存在某种方法,可以使机器自动地学习,就像人类大脑一样。图灵进一步解释到:新生儿的大脑是不具备智能的,因此,找到人类大脑获得智能的途径,然后应用于机器上,使机器可以自己学习成长,成为机器掌握任何领域技能的一揽子解决方案。 1.5 图灵测试:何谓智能? 有趣的是,因为机器在图灵测试上一次又一次的失败,人类基于机器通过这种测试的困难度,反而创造出图灵测试最广泛的应用场景,这种应用在网络上随处可见—图形验证码。验证码的英文单词“Captchac”其实就是“通过图灵测试来完全自动地分辨出计算机和人类”这句话的首字母缩写(Completely Automated Public Turing test to tell Computers and Humans Apart) 1.6 智能与人类的界限 显而易见,图灵测试所判定的“智能”是能够模拟全部人类行为的智能,但是全部人类行为的范围内并非都是“属于人类需要范畴的智能行为”,也并非所有人类行为都有让计算机代替人类去完成的必要,如你没必要让计算机替你分辨出“榴莲到底是不是一种好吃的水果”,觉得榴莲是否好吃这种问题也不会用来衡量回答者有没有智能或者作为判断智商的高低的依据,对吧? 1.7 机器能思考吗? ● 神学的反对意见:“思考来自人类灵魂,而灵魂是上帝赋予的”。●“鸵鸟”式的反对意见:“机器有思维的后果太令人恐惧了”。● 能力受限论的反对意见:“机器可以完成任何你刚才提到的事情,但机器永远不可能有某某行为”。● 差错论的反对意见:“机器永远不可能出错,而思维的关键则来自于出错的不确定性”。● 规则论的反对意见:“机器永远按照预设的规则来工作,而人类总能碰到未知的情况”。 1.8 机器拟人心 ● 接受外界信息的能力,如机器视觉、语音识别、语义理解等。● 存储和使用知识的能力,如知识表示、知识工程、自动推理等。● 改进自身的能力,如基于统计、概率、符号、连接的各类机器学习模型等。● 反馈外界的能力,如自然语言处理、语音合成技术、运动平衡技术等。 1.9 机器拟人脑 从历史发展上看,皮茨的总结非常有预见性,至今六十多年来,人工智能的探索历程就是“结构派”和“心智派”[插图]交替提出新理论和新发现,交替占据主流地位的发展史。 1.10 机器拟人身 图灵也考虑过这种智能的形式,他在1948年的论文《智能机器》(Intel-ligent Machinery)中,把研究智能的方向划分为“具身智能”(Embodied Intelligence)和“非具身智能”(Disembodied Intelligence)两大类。图灵和香农的研究主要走的是非具身智能这条路,而具身智能,则是以提出《控制论》的维纳为代表,著有《自复制自动机理论》(Theory of Self-Reproducing Automata)的冯·诺依曼也是这方面探索的先驱者之一。 如果说心智派在研究模拟智能的软件,结构派在研究模拟智能的硬件,那行动派就是在模拟智能生物的身体了。 在人工智能真正成为一门学科之后,我们所说的心智派、结构派和行动派,也有了自己严谨的理论和学说,分别发展成人工智能中的三大经典学派:符号主义学派、连接主义学派和行为主义学派。 2.1 概述 现在一说起人工智能的起源,公认是1956年的达特茅斯会议,原本学术圈之外听说过这个会议的人并不多,但随着人工智能在近几年再次成为科技界乃至全社会的焦点,达特茅斯会议也逐渐为公众所了解。 2.3 达特茅斯会议 “算法信息论”[插图]这门分支,这是衡量数据携带信息量的一个全新视角,通过生成信息的图灵机代码长度来衡量数据所携带信息的多少 2.4 有学术就有江湖 2333 达特茅斯会议参会者里四位图灵奖得主很明显是分为两对的,司马贺和纽厄尔是一对,明斯基和麦卡锡是另一对 2.6 人工智能早期成果 完全信息”(Perfect Information)是指双方完全掌握所有推导策略所需的信息,这是一个博弈论中的概念,博弈论的策梅洛定理(Zermelo's Theorem)证明了在不存在随机因素的对抗中,一方可以通过递归推导获得必不败的策略,那就是掌握完全信息的 转换生成语法首先应用在计算机科学领域,并获得了极大成功,这里还必须提到的是乔姆斯基在1956年提出的著名的“乔姆斯基层级”(Chomsky Hierarchy)。该层级包含四个层次的语法:0型语法描述的是递归可枚举语言,对应的自动机是图灵机;1型语法是上下文有关语法;2型语法是上下文无关语法;3型语法描述的是正则语言,对应的是有限状态自动机。 (Chomsky Hierarchy)。该层级包含四个层次的语法:0型语法描述的是递归可枚举语言,对应的自动机是图灵机;1型语法是上下文有关语法;2型语法是上下文无关语法;3型语法描述的是正则语言,对应的是有限状态自动机。如果看到这段话的读者是非计算机或者语言学专业的人士,可能会感觉这是一连串陌生专业名词,但如果是计算机专业出身的读者,就会清楚这些是编译原理课程中最基础的知识和概念。简单地说,乔姆斯基在计算机语言上的贡献是为高级程序设计语言和编译器的设计提供了语言学的理论基础,使得从一种形式语言转换生成另外一种更基础的语言成为可能。如果没有乔姆斯基的贡献,也许现在程序员还不得不使用与机器指令一一对应的汇编语言来开发程序,一手查指令表一手敲代码。 不过,转换生成语法在自然语言上,虽然是掀起了一场语言学的认知革命,但仅从结果来看,并没有获得在计算机语言上那样的成功,毕竟计算机语言与自然语言的复杂度不可同日而语。自然语言的歧义性(如“打击力度”是名词短语,但“打击盗版”就是动词短语)和语法规则不确定性(常用规则可能只有几十条,但是算上非常用的语法规则就几乎无法穷举,甚至有些规则还互相矛盾) 由于媒体对ELIZA的广泛渲染,后来在人工智能领域里还出现了一个名词—“伊莉莎效应”(ELIZA Effect)[插图],这个词的意思是说人可以过度解读机器的结果,读出原本不具有的意义。 某项工作一旦被计算机攻克了,人们了解了这些行为背后的原理之后,它立刻就变得代表不了智能,归入可机械化的任务了。我们人类定义的“智能”范围,似乎随着人工智能的发展成果而不断变窄,业界称这个趋势为“AI效应”[插图],这点也是大家总觉得人工智能还遥远的心理原因之一 3.1 概述 了解一门主义或一个学派,首先要抓住它的核心观点和主要理论,如常识编程、物理符号系统假说,以及他们研究的手段,如推理归纳方法、知识表示方法,还有它取得的主要成果,如问题求解程序、专家系统等。 对于符号主义学派长达数十年的探索研究过程,根据研究的主要问题不同,可以将其划分为三个阶段:最初这派的学者并未过多考虑知识的来源问题,而是假设知识是先验地存储于黑盒之中的,重点解决的问题是利用现有的知识去做复杂的推理、规划、逻辑运算和判断,这个时期称为符号主义的“推理期”;后来大家发现智能的体现并不能仅依靠推理来解决,先验的知识是更重要的一环,研究重点就转变为如何获取知识、表示知识和利用知识,这个时期称为符号主义的“知识期”;最后,由于知识仅依靠人类专家总结、提炼然后输入计算机的方式无法应对世界上几乎无穷无尽的知识,研究的重点又转为如何让机器自己学习知识、发现知识这个方向,这个时期就称为符号主义的“学习期” 3.2 引言:五分钟逻辑学 所有人都是会死的;(大前提:确定普适原则)苏格拉底是人;(小前提:确定个体事例)所以苏格拉底会死。(结论) 如果将命题作为逻辑分析的最小单位,研究形式是“如果前提p成立,那么结论q成立”与“如果前提p并且q成立,那么结论s不成立”这类关注点在命题间关系的逻辑,就称为“命题逻辑”(Propositional Logic)。如果把逻辑分析的对象进一步细化,对单个命题再做分解,按语言学关系拆分出其中的主项、谓项、联项和量项,去研究形式如“所有S都是P”“有些S不是P”“a(S中的某一个)是P”(特别地,如这两个例子所举的“判断事物是否具有某种属性”的命题称为“直言命题”)这类关注点在命题词项之间关系的逻辑,就称为“词项逻辑”(Lexical Logic)。 变革中的一项重要成果是产生了一种全新的逻辑形式—谓词逻辑(Predicate Logic)。 符号主义学派的学者们对这个问题持明确的肯定答案,整个学派的核心思想其实可以概括为五个字:认知即计算。 3.3 描述已知,推理未知 这种可以从形式文法产生,所有含义都在符号和组成规则中确切表达出来,无任何隐含语义和歧义的语言,被称为“形式语言”(Formal Language),将自然语言描述的内容转变为形式语言描述的过程称为“形式化”。形式语言在科学中是非常常见的,无论是本章所讲到的谓词逻辑,还是大家经常接触的计算机中的程序设计语言,都属于形式语言的一种。 逻辑理论家的基本思路是利用计算机的运算速度优势,遍历出形式化之后的定理前提所有可能的变换形式,说白了,其实也就是常见的树搜索,再配以适当的剪支算法。逻辑理论家以已知前提为树的根节点,把根据规则可以进行的每一种变换都作为该节点的下一条分支,如果某条分支中出现了与结论一致的变换形式,那这条分支路径经过的每一个节点按顺序连接起来就是定理证明的步骤了。逻辑理论家采用的算法和今天计算机自动定理证明这个学科分支的主流算法思想(如归结原理、DPLL算法)并没有很直接关系,甚至可以说就只是对形式化的前提进行简单乃至粗暴的搜索而已,这也正是后来计算机自动定理证明领域的著名学者王浩教授批评逻辑理论家,认为它没有多少技术含量的主要原因。 这不就是 pddl 么…… 上面笔者列举的这个例子,就来自于麦卡锡《常识编程》论文的原文,定义和推理过程虽然人类看起来会觉得很繁琐,但这些“繁琐”对机器来说并不存在任何困难。 可是,AdviceTaker其实并未解决“常识来源自哪里?”这个真正的难题,在上面这个例子中,诸如go、walkable、drivable、canachult、want这些谓词的定义,都是人类总结后灌输进去的,而不是计算机从某种“公理”或者“公设”性质的常识中推导而来。要使用一小撮最小化最本质的公理定义和规则的集合就可以推理出人类的所有常识,这样的思路在数学、几何这些抽象世界虽然行得通而且常见,但也是经过了上千年时间和无数数学家的智慧才成功完成的,要用在具体的现实世界里做到这点谈何容易。 ,在1960年又发表了一篇名为《递归函数的符号表达式以及由机器运算的方式,第一部分》(Recursive Functions of Symbolic Expressions and Their Computation by Machine, Part I)的论文。论文阐述了只通过七个简单的运算符以及用于函数的记号来构建一个具图灵完备性语言的想法(这其实就是通过计算机实现邱奇的Lambda演算),并将这种语言命名为LISP(LISt Processing的缩写)。麦卡锡自己并未提供LISP语言的实现程序,但他的学生史帝芬·罗素(Steve Russell)阅读完此论文后,在麻省理工学院的IBM 704计算机上成功完成了最初版本的LISP编译器,实现了最初版的LISP语言。 LISP在人工智能中还有另一点优势是它可以很好地把麦卡锡设想的“符号推理能够从已知的知识推理出新的知识,乃至自我改进推理系统自身的行为”这点实现出来,LISP中程序(行为)和数据(符号)是高度相似并且可互相转化的,麦卡锡把两者分别描述为“M-表达式”和“S-表达式”(现代LISP编程中都只使用S-表达式了),其中M的意思是“Meta”,而S的意思是“Symbolic”。LISP的重要特点“元编程”(Meta Programmed)就来源于它的数据可以变为程序、符号可以修改自身的行为这种能力,使用这个特性,程序可以很方便地实现新知识改进程序本身这个目标了。 物理符号系统的理论主要由两个假说构成,分别是物理符号系统假说(Physical Symbol System Hypothesis)和启发式搜索假说(Heuristically Search Hypothesis)。名字很有专业感,不过既然这两套假说来源于对人类智能的模拟,它们就肯定可以用我们日常所能接触和理解的概念来类比解释。 一个物理符号系统包括“符号”(Symbols)、“表达式”(Expressions)和“操作过程”(Processes)。多个符号组合起来就成了表达式,组合方式可以是多种多样的,系统在任意时刻都在对这些表达式执行着操作,这个过程具体可以归纳为对表达式进行“创建”(Creation)、“修改”(Modification)、“复制”(Reproduction)和“销毁”(Destruction)这四个操作的不同顺序组合。 物理符号系统假说的核心观点是认为物理符号系统就是普遍智能行为的充分且必要条件。在这句话里,“必要”意味着任何实现了智能的系统都可以被视为一个物理符号系统,这点是现在的认知科学[插图]要去研究和证明的问题;而“充分”则指任何具有足够尺度的物理符号系统都可以经适当组织之后展现出智能,这个就是人工智能这门学科要去研究和证明的问题。另外,名字里“物理”一词还强调了系统必须从根本上遵从物理学定律,即强调了认知与心灵、灵魂等唯心因素无关,因此智能可以由任何物质材料构成的系统来实现,而不限于人脑实现并使用的符号系统。 3.4 知识!知识!知识! 谓词逻辑把不同的实体与规则当作独立的事实来处理,语义网络则将多个实体与规则视为一个整体来进行处理。 在语义网络中,由于结构关系,检索和推理的效率是非常高的,但它不适用于定量、动态的知识,也不便于表达过程性、控制性的知识。 一言以蔽之,知识管理的目标是建立供人使用的知识库,而知识工程的目标是建立供计算机使用的知识库。 基于知识的系统一般软件架构上都可以划分为知识库和推理引擎两个部分,知识库用于在计算机系统里面反映出真实世界中的知识,而推理引擎则负责使用知识库中的内容推理求解,得到用户提出的问题的答案。典型的基于知识的系统包括决策支持系统、推荐系统、专家系统等,这些系统目前仍然应用非常广泛,其中又以专家系统的历史影响最为突出。 3.5 从演绎到归纳 决策树是一种树结构,其每个非叶节点表示一个特征属性上的测试活动,每个分支代表这个特征属性在某个值域上的输出,而每个叶子节点存放着一个分类类别。使用决策树进行决策的过程就是从根节点开始,测试待分类项中相应的特征属性,并按照其值选择输出分支,直到到达叶子节点,将叶子节点所代表的分类类别作为决策结果 无论是ID3还是C4.5,抑或是其他决策树的构建算法,都有一个总的原则是在每一步选择一个最好的属性来分裂树。此处“最好”的定义是:针对这个属性分裂出分支后,会使得各个分支节点中的训练集拥有尽可能高的纯度。不同的算法可以使用不同的指标来定义“纯度”的高低,如“信息熵”(Information Entropy)、“基尼不纯度”(Gini Impurity)[插图]、“错误率”(Error Rate)等都是可根据情况选择的指标 对于数据集的数量小、样本的属性少的情况,构建决策树是很容易的,连人类手工都可以轻易完成,但是在面对有大量样本和属性的时候,要构建一颗最优的决策树则是非常困难的,因为每一个节点选择的分类属性都对以后所有分支中的样本集有全局性的影响,通过样本训练出最优的决策树已经被证明是一个“NP完全问题”[插图]。由于此限制,实际应用决策树学习时,其训练过程通常采用启发式搜索算法来达到局部最优而不追求得到全局最优解。 4.3 大脑模型 在皮茨带来的数学和逻辑学帮助下,他们两人共同构造出了一种能够完全通过神经元连接的网络来进行逻辑运算的模型,这个模型展示了人类大脑能够实现任何可能的逻辑运算,得出结论:人脑是图灵完备的,即能完成任何图灵机可以完成的计算。 4.4 崛起的明星 神经网络的可解释性直到今天仍然是一个没有办法解决的世界级难题,被认为是神经网络的天生缺陷 4.6 感知机 如果我们基于前文的M-P神经元模型来理解这句话的话,可以理解为:如果两个神经元同时激发,则它们之间的连接权重就会增加;如果只有某个神经元单独激发,则它们之间的连接权重就应减少 为了应对多于一个神经元被激活的实际情况,神经元输出就不适合再简单地以“是否激活”的离散形式来判断,这里需要将M-P神经元的阈值比较部分改进一下,修改为输出一个代表神经元“被激活的强度”的连续值,然后把各个神经元的激活强度值都放入网络后方的Softmax归一化函数[插图](此处仅是以Softmax函数为例,还可以选择其他函数)中进行处理,以便抑制概率小的、增强概率大的数字分类 4.7 凛冬将至 不过这种分类只能做到线性分割—即感知机可以应用的前提条件,必须是输入的数据集在特定特征下是线性可分的。 ”两位教授同样用数学方法,证明了感知机,更准确地说是单层的感知机并不能处理非线性数据的分类问题,其中最典型的就是“异或问题”。 5.4 从“控制论”说起 认为人类、生物和具有智能的机器等都是通过“由负反馈和循环因果律逻辑来控制的目的性行为”来实现自身目的的,这一句话便是控制论思想的源头 5.5 机械因果观和行为主义 给考察对象以某种刺激,观察它的反馈,通过研究反馈与刺激的关系来了解对象的特性,而不去纠结对象内部的组织结构,这就是行为主义方法。 如果把环境对系统的影响和作用统称为“输入”,把系统对环境的作用及其引起的环境变化称为“输出”,则给系统施加某种输入,观察它的输出,通过分析输出对输入的响应关系以了解系统的属性,而不必顾及系统内部的组织结构,这就是广义的行为主义方法。 他一直倡导研究“没有表达的智能”和“没有推理的智能”,认为“智能”就取决于“感知”和“行动”。布鲁克斯本人也是维纳时代之后,行为主义学派的重要代表人物之一。 5.6 自复制机和进化主义 根据冯·诺依曼定义的自复制机架构,任何能够自我复制的系统,都应该同时具有两个基本功能:首先,它必须能够构建一个组成元素和结构与自己一致的后代系统,然后它需要能够把对自身的描述传递给这个后代系统。冯·诺依曼把这两个部分分别称作“通用构造器”和“描述器”,而描述器中又包含了一个通用图灵机和保存在通用图灵机器能够读取的介质上的描述信息。这样,只要有合适的原料,通用构造器就可以根据描述器的指示,生产出下一台机器,并且把描述的信息也传递给这台新机器。随后,新机器启动,再进入下一个复制循环。 6.5 进行机器学习:实战模型训练 我们准备的邮件样本需要进一步给出标注信息,把样本变成样例。在训练集向量中,也加入y项来表示标记信息,参与训练的样例集合以如下形式来表示。T={(x11, x12, x13, y1), (x21, x22, x23, y2), (x31, x32, x33, y3), …, (xn1, xn2, xn3, yn)} “强化学习”(Reinforcement Learning),这是目前以行为主义学派思想来指导的机器学习的任务类型。无论训练集是由样本还是由样例构成,监督学习和非监督学习都是从历史经验之中学习,而强化学习并不主要依赖历史经验,而是一种基于环境对行为收益的评价来改进自身的模型 模型的输入每增加一个特征,便给模型的决策函数引入了一个新的参数项,这会让决策函数所处的问题空间相应地提升一个维度,训练集数据量相同的情况下,在越高维空间中,数据就越稀疏,空间的维度提升太快,可用数据就变得过于稀疏,而过于稀疏的数据,会使其从大多数角度都看不出相似性,因而平常使用的数据组织策略就变得极其低效,这个现象在机器学习中称为“维度灾难”(Curse of Dimensionality)。 特征选择是“数据降维”(Dimension Reduction)的一种主要方法,还有一个主要降维方法称为“特征提取”(Feature Extraction),它与特征选择的区别是:特征提取是在原有特征基础之上去创造凝练出一些新的特征出来,如果创建一个新的特征项,该特征的变化规律能够反映出原来几个特征项的共同变化,那使用这一个新特征项代替原来几个特征项就实现了降维的目的。而特征选择只是在原有特征中选取最有用的特征而已,一般并不会对特征值进行变换 通常来说,人至少会从两个方面来考虑如何进行选择特征。● 考虑特征的离散度:如果一个特征不发散,譬如说方差趋近于0,也就是各个样本在这个特征上基本上没有差异,这个特征对于样本的区分就没有什么意义。● 考虑特征与目标的相关性:与目标相关性高的特征,更能作为分类决策的依据,肯定就应当优先选择,这里的关键是解决如何能判断出特征与目标的相关性。 在数学上也已经有很多成熟的自动降维算法了,如“奇异值分解”(Singular Value Decomposition, SVD)、“主成分分析”(Principal Component Analysis, PCA)等,这类算法能够把数据中相似性高的、信息含量少的特征给自动剔除掉,采用这些算法也可以实现数据降维,不过实际中要解决问题,往往必须考虑到具体模型的目标和这个领域中的先验知识 这种采用y与y’的欧几里得几何距离作为度量误差的标准,在统计学里称为“均方误差”(MSE, Mean Squared Error)。以使得均方误差最小化作为目标的损失函数,我们称为“平方损失函数”(Squared Loss Function),两个名词中都带有“Squared”这个单词,这体现了欧几里得空间里,欧氏距离的数学公式定义就是两个向量差值的平方,所以,平方损失函数的函数表达式为:L(y, y')=(y-f(x))2 采用这种办法来解决最佳空间分割问题的线性分类器,其实是“支持向量机”(Support Vector Machine)中的一种最简化情况,称为“线性支持向量机”(LinearSVM, LSVM),刚才例子描述里“棍子的宽度”,在支持向量机中被称为“边距”(Margin),接触到“棍子”边缘的向量,就被称为“支持向量”(Support Vector)。 我们将“泛化能力”(Generalization Ability),就是机器学习算法对新鲜样本的适应能力,作为衡量机器学习模型的最关键的性能指标,性能良好的模型,就意味着对满足相同分布规律的、训练集以外的数据也会具有良好的适应能力。 误差(Error)=偏差(Bias)+方差(Variance)+噪声(Noise) 在把模型进行泰勒多项式展开之后,它的复杂程度可看作由两个因素决定。● 模型多项式系数数量的多少,系数越少,相应地多项式项数就越少,意味着模型函数图像的曲线形状越简单。● 模型多项式系数数值的大小,系数越小,意味着该多项式项对结果影响越轻微,模型函数图像的曲线越平滑。 我们的最终目标,在追求损失函数最小化之外,还要再添加另外一个用于避免过拟合的第二目标,这个第二目标一般是以被称为“正则化项”(Regularizer)或者“罚函项函数”(Penalty Term Function,一般用“Ω(w)”表示该函数,下文简称罚函数)的额外算子形式来体现的,这个算子的具体函数表达式我们可以稍后再谈,现在只把它看作一个抽象的函数符号的话,将它与损失函数联合相加,这样不仅仅是损失函数最小化,而且追求与罚函数一起的总和最小,这才构成机器学习建模的完整目标。我们把形成的新函数称为训练模型的“目标函数”(Objective Function),即下面通式所示:[插图] 罚函数的目的是限制系数多少和大小的,它的形式通俗地讲就是“一个参数数量越多、参数值越大,它的输出结果就越大的函数”。 “范数”是一种具有“长度”概念的函数,广泛应用于线性代数、泛函分析等领域,它的作用是度量某个向量空间或矩阵中的每个向量的长度或大小。范数必须满足非负性、齐次性和三角不等式 ||x||p=(|x1|p+|x2|p+…+|xn|p)1/p式子中“|| ||”是范数符号。L0、L1和L2范数就是p范数在p取值为0、1、2时的特例情况 L1范数的作用是“参数稀疏化”,由于这个特性,L1范数还有个别名叫作“稀疏正则算子”(Lasso Regularization)。首先我们来解释什么叫“参数稀疏化”,数学上说一个向量是“稀疏”的意思就是指它所包含的零元数的数量很多 稀疏性在机器学习中是很令人趋之若鹜的特性,因为它天然地解决了机器学习中一对很大的难题:“自动特征选择”(Auto Feature Selection)和模型的“可解释性”(Interpretability)问题。 稀疏规则化算子能天然地就将模型中对结果影响小的参数权值置为零,这样就去掉这些没有提供信息的特征,自动完成了特征选择。另一个青睐于稀疏的理由是,将无关的特征被置零后得到的简单模型会更容易解释,这点也很容易理解 机器学习中,L2范数也有两个别称,有资料中把用它的回归算法称作“岭回归”(Ridge Regression),有的资料也叫它“权值衰减”(Weight Decay)。L2范数是用来解决机器学习中过拟合问题的主要手段之一,虽然L1范数也有一定防止过拟合的作用,但如果以控制过拟合为目的话,L2范数的效果要比L1范数好,因为L2范数相对于L1范数具有更为平滑的特性,通俗地说,它更“温和”一些 偏导数指的是多元函数沿坐标轴的变化率,如果考虑多元函数沿任意方向的变化率的话,也可以使用相应偏导数的三角变换来求得 所有方向导数中最大的那一个,即函数值下降最快的那个,就被称为“梯度”,负梯度方向就是函数值上升最快的方向。 实践中常常每次都只随机挑选一个样本来计算梯度,这种做法是梯度下降算法的一种改进形式,称为“随机梯度下降”(Stochastic Gradient Descent, SGD)算法,而把之前使用全部样本进行训练的原始形式称为“批量梯度下降”(Batch Gradient Descent, BGD)算法。 为了平衡这些优缺点,日常应用会在这两种算法中折衷,每次随机选择一小批样本来进行训练,这种形式就称为“小批量梯度下降”(Mini-Batch Gradient Descent, MBGD)算法,该算法使得训练过程比较快,而且也保证最终参数训练的准确率。 简而言之,对于通用问题,高效与普适是一对矛盾。这条定理被麦克雷迪和沃尔珀特很形象地命名为“没有免费的午餐定理 6.6 评估验证 正确率的含义是对于给定的测试数据集,分类器正确分类的样本数与总样本数之比。即:[插图] 精确率是针对模型预测结果而言的,它表达的意思是所有“被模型正确标记的正例样本”占所有“被模型检索到所有样本”的比例,通俗点说就是“预测为正的样本中有多少是真正的正例样本?”,再通俗点的说法就是“你的预测有多少是对的?”。精确率度量反映出来的是模型的“查准比例”,它的计算公式如下所示:[插图] 最后一个指标“召回率”是针对测试集中被正确检索的样本而言的,它表示的是样本中的正例有多少被模型正确预测了。“正确预测”有两种可能,一种是把实际中的正例预测成真正例(TP),另一种就是把实际中的反例预测为假反例(FN),即以下公式:[插图]召回率通俗地解释就是“样本的正例里面,有多少正例被正确预测了”,它度量的是模型的“查全比例”,因此也叫“查全率”。 [插图] 无论我们选用哪种性能度量的指标来评价模型性能,都需要谨记一点:这个指标一定不能是在训练集中测定出来 如之前“Hold-Out方法”的训练集和测试集划分一样,“LOOCV方法”也有把数据集划分为训练集和测试集这一步骤。但是两者的差别是,LOOCV方法只采用单个样例数据作为测试集,所有其他的样例都作为训练集使用,然后将此步骤重复N次(N为数据集的数据总量),直至集合中每一个样例都当过一次测试集为止 。“K折交叉验证方法”和“LOOCV方法”的不同之处在于每次选取的测试集不再只包含一个样本数据,而是一组多个样本,具体数目将根据K值的大小选取决定。譬如,假设K等于5,那么我们进行的验证就是“五折交叉验证”,它的具体步骤如下。1.将所有数据集平均拆分成5份。2.不重复地每次取其中一份做测试集,用其他四份做训练集训练模型,之后计算该模型在测试集上的均方误差(假设仍然是采用均方误差来度量性能),记作MSEi。3.将5次的MSEi取平均值作为最后整个模型的MSE。 7.5 深度学习时代 现代科学已经基本确定了人的视觉系统的信息处理的确是分级的,从最低级像素提取边缘特征,再到稍高层次的形状或者目标的部分等,再到更高层的整体目标,以及目标的行为和其他特征的联想等。换句话说,高层的特征是低层特征的组合提炼,从低层到高层的特征表示越来越抽象,越来越能表现出认知的意图。抽象层面越高,存在的可能猜测就越少,就越利于分类。其实不仅仅是图像的模式识别,人类大部分的认知都很符合这样的规律,譬如语言,单词集合和句子的对应是多对一的,句子和语义的对应又是多对一的,语义和意图的对应还是多对一的,这也是一个层级体系。 人类认知过程与深度学习之间可能出现的共通点了,即“分层迭代、逐级抽象”。 辛顿这两篇文章共同论证了以下两个主要的观点。1)论证了多隐层的人工神经网络具有优异的、自动化的特征学习能力,通过网络自主学习得到的特征,比起人类手工建立的特征提取器,对数据有更本质的刻画,从而有利于可视化或分类。2)提供了一个具体可操作的训练方案,深度神经网络在训练上的难度,可以通过逐层预训练(Layer-Wise Pretraining)的方法来有效克服。 学术界、工业界把论文《通过神经网络进行数据降维处理》定性为深度学习的开山之作 而浅层的机器学习算法正好相反,它能够分辨像素级特征中的细微差异,无论是浅层神经网络、线性分类器或者其他基于原始像素操作的浅层分类模型,几乎都是不可能把相似背景下摆着同样姿势的萨摩耶和雪狼区分开,也无法把两只在不同的环境里摆着不同姿势的萨摩耶分到同样的类别里,这种现象被称作“选择性-恒常性困境”(Selectivity-Invariance Dilemma) 如何逐层抽象特征的技术,在1995年,已经被康奈尔大学的戴维·菲尔德(David Field)教授提出的“稀疏编码”(Sparse Coding)所解决 说起这个名字,还有一个值得一提的段子:“深度学习”这词听起来很酷,但其实这是辛顿无可奈何的变通产物,因为在当时很多的杂志期刊,只要稿件的标题中包含了“神经网络”这个词就会被编辑拒稿 为了缓解深度神经网络难以训练的问题,辛顿设计了一种被他称之为“逐层预训练”(Layer-Wise Pretraining)的方法,利用无监督的训练方式去一层一层地训练每个层的权重初始值,实践证明,这比一开始完全靠随机初始化的方法的效果要好得多。 “受限玻尔兹曼机”(Restricted Boltzmann Machine, RBM 由分别称为“隐藏单元”和“可见单元”的两个层以及它们之间的无向连接所构成,这里无向连接是指两层之间连接没有方向,或者说是双向的连接(其实深度信念网络只允许最顶层的RBM是双向连接),但同一层之间不允许连接,所以叫作“受限” 深度信念网络是第一种随着网络深度增加,模型性能能够随之得到增强的神经网络应用模式 在以上语境里,“梯度消失”问题是指从输出层开始,每经过一个隐层,指导更新权值的梯度向量就变小一些,这样,接近于输出层的权值更新相对正常,但在误差传播的远端,越靠近输入层的梯度会越小,网络权值更新就会变得越慢。当隐层层次深度特别深时,经过若干次传递以后,梯度已变为一个很接近于零的小数,导致这些隐层的权值几乎不会再发生改变,一直都等于网络初始化时赋予的权值,此时的深层神经网络模型,其实等价于只有后几层的浅层神经网络模型了。而“梯度爆炸”问题则相反,如果每经过一个隐层,梯度向量都增大一些的话,这样在最接近输入层的那些靠前的隐层,每次权值更新都会发生很大的变化,这样轻则会使得训练无法稳定收敛,重则甚至会导致数据越界溢出。 我们把这两侧导数接近于零的部分,称为激活函数的饱和阶段,一旦Sigmoid函数的输入值落在这个饱和范围内,其输入的数值大小对激活函数的输出结果影响就极小了,换而言之,我们可以说在这个范围内激活函数对输入数据不再敏感了。 近几年还出现了一些效果很好的随机初始化方法,如Xavier初始化方法、MSRA初始化方法等。也有从训练过程着手的,谷歌在2015年发表的一篇论文中提出一种“批量规范化”(Batch Normalization)操作。这个方法是在训练过程对隐层的数据也进行规范化处理,避免训练过程里各网络层输入落入饱和区间,导致梯度消失。还有一种最简单易于操作的方法,是直接从激活函数本身着手的。既然梯度消失是由于Sigmoid函数的导数最大值仅为0.25,而且不饱和空间非常狭窄所导致的,大家就着手去寻找更好的代替函数。 大脑皮层中普遍存在一种称为“微皮层柱”(Cortical Minicolumn)的柱状结构,它像一颗胶囊一般把数百个神经元封装在一起,每个微皮层柱里的神经元都记录、处理相同特征的同一种信号。由此看来,人类大脑并不是像经典神经网络一样由神经元直接连接的简单分层结构,而是具有更高的内部复杂性:先由神经元组成“微皮层柱”,再由“微皮层”柱组成“皮层柱”(Cortical Column),由小到大逐步复杂 辛顿发表的一篇论文里[插图]就模仿大脑微皮层柱的结构,提出了一种称为“胶囊”(Capsule)的新神经网络结构,并给出了用这种结构做了自动编码器和简单图像识别的例子 7.6 深度神经网络 [插图](续)[插图](续)[插图](续)[插图](续)[插图] (续)[插图](续)[插图](续)[插图](续)[插图](续) 它是一种特征提取操作,卷积最初被引入神经网络,就是为了处理模式识别中图像特征提取的,它就像是一个漏斗,不断在图片中平移,从下层图像中筛选数据,这个“漏斗”(专业上称作“卷积核”, Convolution Kernel)可以是各种形状的 “池化”(Pooling)的本质其实就是采样共享,譬如以颜色采样为例,采样区域中存在若干个像素,可能每个像素的颜色值都有少许差异,原本需要对应的若干个数字去存储它们的颜色,池化过程就是用同一个采样值(最大值或者平均值之类)来代替所有像素的颜色值,这样有多个像素共用一个颜色值,便能够降低数据量。 事实上卷积神经网络可以处理大部分格状结构化数据 将神经网络与时间序列结合起来,循环神经网络的发明依然有它不可忽视的价 这个“反馈环”是循环神经网络的核心内容,被称作“循环连接”(Recurrent Links),就像下图中显示的一样,循环连接把隐层神经元的输入和输出连接起来,使得隐层输出端也作为输入的一部分,重新进入到神经网络中。如果展开(Unfold)循环神经网络,可以将之视为一批所有层共享同样权值的深度前馈神经网络。 初期版本的循环神经网络只能进行有限次数的循环和记忆,超过这些范围之外的内容就必须被丢弃或者衰减得几乎消失,这个特征被称为“短期记忆”(Short-Term Memory)效应。 “长短期记忆网络”(Long Short-Term Memory, LSTM),用于解决长期及远距离的记忆依赖关系。长短期记忆网络通过引入“门结构”(Gate)和一个明确定义的“记忆单元”(Memory Cell)来尝试克服梯度消失或者梯度爆炸的问题。它允许向单元状态中移除或添加信息,通过门限结构对信息进行管理,把短期记忆的内容也保留下来。后来,进一步还发展出了“门控循环单元”(Gated Recurrent Units, GRU)等其他长短期记忆网络的变体形式。 生成式对抗网络需要训练两个网络:一边是生成网络,用于生成图片,这个网络最开始是完全随机的,产出的结果自然也是毫无规律,生成网络一般是用“反卷积神经网络”(Deconvolutional Networks, DN)来实现。另外一边是判别网络,用于判断生成网络中产生的图片是真的符合要求的数据还是伪装的数据,一般就是用7.6.1节介绍的卷积神经网络来实现,使用卷积和反卷积来作为判别、生成网络的生成式对抗网络也被更进一步地称为“深度卷积生成式对抗网络”(Deep Convolutional Generative Adversarial Networks, DCGAN),这方面相关的论文[插图]是在2016年才公开发表的。 7.8 挑战与反思 ,现在还处于主要是凭经验和试错来实现效果的原始摸索阶段。 现在,解决深度神经网络灵活性和适应性的“迁移学习”(Transfer Learning)方法与同时面向多个学习目标的“多任务学习”(Multi-task Learning)方法是深度学习领域的新热点。 8.1 概述 自1980年开始学术界便很明显地分裂成两种不同的理念[插图]:一种是希望人工智能借鉴人类解决某一类问题时表现出的智能行为,研制出更好的工具,用来解决特定的智力问题,这种观点现在被称为“专用人工智能”(AppliedArtificial Intelligence)或者“弱人工智能”(WeakArtificial Intelligence);另一种理念是想模仿人类的思维,希望能够研制出各方面都可以与人类智能比肩的人造智能体,甚至是最终能够超越人类智慧水平的人造物。这种人造智能体可以有自己的心智和意识,能根据自己的意图开展行动,对各种问题都能有良好的应对,现在一般称之为“通用人工智能”(GeneralArtificial Intelligence)或者是“强人工智能”(StrongArtificial Intelligence)。 8.3 与机器竞技 “斯坦福问答数据集”(Stanford Question Answering Dataset, SQuAD) 在创作方面,还有一项当前人工智能被更广泛使用的形式—撰稿机器人。如果读者有每日关注新闻资讯的习惯的话,你读到撰稿机器人作品的比例可能高到令你难以置信的程度。自2014年开始,国外各大报社不约而同地推出一系列撰稿机器人,如洛杉矶时报的“Quake”、美联社的“WordSmith”、纽约时报的“Blossom”等。由于这些机器人无论时效性、准确性还是节约人工成本的效果都非常优秀,很快就传播到国内的主流网络媒体,出现了如腾讯财经的“DreamWriter”、新华社的“快笔小新”、第一财经的“DT稿王”等中文撰稿机器人,现在国内的撰稿机器人还表现出明显的青出于蓝之势,效果已经超过了国外的同类产品。 8.4 与机器共舞 弱人工智能到强人工智能之间,名字虽然接近,其实两者的理论方法并没有任何顺承关系,弱人工智能不是通往强人工智能的前期基础,甚至可以说两者毫无共通之处。因此,弱人工智能的技术理论发展的时间再长,对强人工智能的实现并不会有多少实质性的促进,反而是脑科学、神经生理学、认知科学等的发展,都远比弱人工智能的进步更容易触及到心灵和意识的奥秘 在2007年,英伟达非常有预见性地提出了“统一计算设备架构”(Compute Unified Device Architecture, CUDA)的概念,并将其实现在以代号G80为核心芯片的NVIDIA GeForce 8系列显卡上,第一次让显卡上的“图形处理单元”(Graphics Processing Units, GPU)具备了可编程的能力,使得GPU的核心“流式处理器”(Streaming Processors, SPs)既具有处理像素、顶点和图形等渲染能力,又同时具备通用的单精度浮点运算能力。
回应 2020-01-25 22:02:00
-
生锈发条 (添加签名档)
智慧的疆界:从图灵机到人工智能 周志明 115个笔记 1.1 概述 “人工智能”作为一个专业名词,是在1956年首次出现的,但是人类对人造机械智能的想象与思考却是源远流长。在古代的神话传说中,技艺高超的工匠可以制作人造人,并赋予其智能或意识,如希腊神话中出现了赫淮斯托斯的黄金机器人和皮格马利翁的伽拉忒亚这样的机械人和人造人;根据列子辑注的《列子·汤问》记载,中国西周时期也已经出现了偃师造人的故事。 人类对人工...2020-01-25 22:02:00 1人喜欢
智慧的疆界:从图灵机到人工智能 周志明 115个笔记 1.1 概述 “人工智能”作为一个专业名词,是在1956年首次出现的,但是人类对人造机械智能的想象与思考却是源远流长。在古代的神话传说中,技艺高超的工匠可以制作人造人,并赋予其智能或意识,如希腊神话中出现了赫淮斯托斯的黄金机器人和皮格马利翁的伽拉忒亚这样的机械人和人造人;根据列子辑注的《列子·汤问》记载,中国西周时期也已经出现了偃师造人的故事。 人类对人工智能的凭空幻想阶段一直持续到了20世纪40年代。由于第二次世界大战交战各国对计算能力、通信能力在军事应用上迫切的需求,使得这些领域的研究成为人类科学的主要发展方向。信息科学的出现和电子计算机的发明,让一批学者得以真正开始严肃地探讨构造人造机械智能的可能性。 1.4 人工智能的萌芽 对于机器如何实现智能这个问题,图灵提出了两条可能的发展路线[插图]:一种是基于建设“基础能力”的方法,通过编写越来越庞大、完善的程序,使机器具备越来越多的能力,譬如可以与人下棋、可以分析股票、可以识别图形等这样的能力,图灵认为这是完全可以做到的。但他更感兴趣的是基于“思维状态”来建造大脑。这种方法的指导信念是,人类大脑一定存在着某种内在机制来产生智能,因为并没有什么更高等的神秘力量在为人脑编程,所以一定存在某种方法,可以使机器自动地学习,就像人类大脑一样。图灵进一步解释到:新生儿的大脑是不具备智能的,因此,找到人类大脑获得智能的途径,然后应用于机器上,使机器可以自己学习成长,成为机器掌握任何领域技能的一揽子解决方案。 1.5 图灵测试:何谓智能? 有趣的是,因为机器在图灵测试上一次又一次的失败,人类基于机器通过这种测试的困难度,反而创造出图灵测试最广泛的应用场景,这种应用在网络上随处可见—图形验证码。验证码的英文单词“Captchac”其实就是“通过图灵测试来完全自动地分辨出计算机和人类”这句话的首字母缩写(Completely Automated Public Turing test to tell Computers and Humans Apart) 1.6 智能与人类的界限 显而易见,图灵测试所判定的“智能”是能够模拟全部人类行为的智能,但是全部人类行为的范围内并非都是“属于人类需要范畴的智能行为”,也并非所有人类行为都有让计算机代替人类去完成的必要,如你没必要让计算机替你分辨出“榴莲到底是不是一种好吃的水果”,觉得榴莲是否好吃这种问题也不会用来衡量回答者有没有智能或者作为判断智商的高低的依据,对吧? 1.7 机器能思考吗? ● 神学的反对意见:“思考来自人类灵魂,而灵魂是上帝赋予的”。●“鸵鸟”式的反对意见:“机器有思维的后果太令人恐惧了”。● 能力受限论的反对意见:“机器可以完成任何你刚才提到的事情,但机器永远不可能有某某行为”。● 差错论的反对意见:“机器永远不可能出错,而思维的关键则来自于出错的不确定性”。● 规则论的反对意见:“机器永远按照预设的规则来工作,而人类总能碰到未知的情况”。 1.8 机器拟人心 ● 接受外界信息的能力,如机器视觉、语音识别、语义理解等。● 存储和使用知识的能力,如知识表示、知识工程、自动推理等。● 改进自身的能力,如基于统计、概率、符号、连接的各类机器学习模型等。● 反馈外界的能力,如自然语言处理、语音合成技术、运动平衡技术等。 1.9 机器拟人脑 从历史发展上看,皮茨的总结非常有预见性,至今六十多年来,人工智能的探索历程就是“结构派”和“心智派”[插图]交替提出新理论和新发现,交替占据主流地位的发展史。 1.10 机器拟人身 图灵也考虑过这种智能的形式,他在1948年的论文《智能机器》(Intel-ligent Machinery)中,把研究智能的方向划分为“具身智能”(Embodied Intelligence)和“非具身智能”(Disembodied Intelligence)两大类。图灵和香农的研究主要走的是非具身智能这条路,而具身智能,则是以提出《控制论》的维纳为代表,著有《自复制自动机理论》(Theory of Self-Reproducing Automata)的冯·诺依曼也是这方面探索的先驱者之一。 如果说心智派在研究模拟智能的软件,结构派在研究模拟智能的硬件,那行动派就是在模拟智能生物的身体了。 在人工智能真正成为一门学科之后,我们所说的心智派、结构派和行动派,也有了自己严谨的理论和学说,分别发展成人工智能中的三大经典学派:符号主义学派、连接主义学派和行为主义学派。 2.1 概述 现在一说起人工智能的起源,公认是1956年的达特茅斯会议,原本学术圈之外听说过这个会议的人并不多,但随着人工智能在近几年再次成为科技界乃至全社会的焦点,达特茅斯会议也逐渐为公众所了解。 2.3 达特茅斯会议 “算法信息论”[插图]这门分支,这是衡量数据携带信息量的一个全新视角,通过生成信息的图灵机代码长度来衡量数据所携带信息的多少 2.4 有学术就有江湖 2333 达特茅斯会议参会者里四位图灵奖得主很明显是分为两对的,司马贺和纽厄尔是一对,明斯基和麦卡锡是另一对 2.6 人工智能早期成果 完全信息”(Perfect Information)是指双方完全掌握所有推导策略所需的信息,这是一个博弈论中的概念,博弈论的策梅洛定理(Zermelo's Theorem)证明了在不存在随机因素的对抗中,一方可以通过递归推导获得必不败的策略,那就是掌握完全信息的 转换生成语法首先应用在计算机科学领域,并获得了极大成功,这里还必须提到的是乔姆斯基在1956年提出的著名的“乔姆斯基层级”(Chomsky Hierarchy)。该层级包含四个层次的语法:0型语法描述的是递归可枚举语言,对应的自动机是图灵机;1型语法是上下文有关语法;2型语法是上下文无关语法;3型语法描述的是正则语言,对应的是有限状态自动机。 (Chomsky Hierarchy)。该层级包含四个层次的语法:0型语法描述的是递归可枚举语言,对应的自动机是图灵机;1型语法是上下文有关语法;2型语法是上下文无关语法;3型语法描述的是正则语言,对应的是有限状态自动机。如果看到这段话的读者是非计算机或者语言学专业的人士,可能会感觉这是一连串陌生专业名词,但如果是计算机专业出身的读者,就会清楚这些是编译原理课程中最基础的知识和概念。简单地说,乔姆斯基在计算机语言上的贡献是为高级程序设计语言和编译器的设计提供了语言学的理论基础,使得从一种形式语言转换生成另外一种更基础的语言成为可能。如果没有乔姆斯基的贡献,也许现在程序员还不得不使用与机器指令一一对应的汇编语言来开发程序,一手查指令表一手敲代码。 不过,转换生成语法在自然语言上,虽然是掀起了一场语言学的认知革命,但仅从结果来看,并没有获得在计算机语言上那样的成功,毕竟计算机语言与自然语言的复杂度不可同日而语。自然语言的歧义性(如“打击力度”是名词短语,但“打击盗版”就是动词短语)和语法规则不确定性(常用规则可能只有几十条,但是算上非常用的语法规则就几乎无法穷举,甚至有些规则还互相矛盾) 由于媒体对ELIZA的广泛渲染,后来在人工智能领域里还出现了一个名词—“伊莉莎效应”(ELIZA Effect)[插图],这个词的意思是说人可以过度解读机器的结果,读出原本不具有的意义。 某项工作一旦被计算机攻克了,人们了解了这些行为背后的原理之后,它立刻就变得代表不了智能,归入可机械化的任务了。我们人类定义的“智能”范围,似乎随着人工智能的发展成果而不断变窄,业界称这个趋势为“AI效应”[插图],这点也是大家总觉得人工智能还遥远的心理原因之一 3.1 概述 了解一门主义或一个学派,首先要抓住它的核心观点和主要理论,如常识编程、物理符号系统假说,以及他们研究的手段,如推理归纳方法、知识表示方法,还有它取得的主要成果,如问题求解程序、专家系统等。 对于符号主义学派长达数十年的探索研究过程,根据研究的主要问题不同,可以将其划分为三个阶段:最初这派的学者并未过多考虑知识的来源问题,而是假设知识是先验地存储于黑盒之中的,重点解决的问题是利用现有的知识去做复杂的推理、规划、逻辑运算和判断,这个时期称为符号主义的“推理期”;后来大家发现智能的体现并不能仅依靠推理来解决,先验的知识是更重要的一环,研究重点就转变为如何获取知识、表示知识和利用知识,这个时期称为符号主义的“知识期”;最后,由于知识仅依靠人类专家总结、提炼然后输入计算机的方式无法应对世界上几乎无穷无尽的知识,研究的重点又转为如何让机器自己学习知识、发现知识这个方向,这个时期就称为符号主义的“学习期” 3.2 引言:五分钟逻辑学 所有人都是会死的;(大前提:确定普适原则)苏格拉底是人;(小前提:确定个体事例)所以苏格拉底会死。(结论) 如果将命题作为逻辑分析的最小单位,研究形式是“如果前提p成立,那么结论q成立”与“如果前提p并且q成立,那么结论s不成立”这类关注点在命题间关系的逻辑,就称为“命题逻辑”(Propositional Logic)。如果把逻辑分析的对象进一步细化,对单个命题再做分解,按语言学关系拆分出其中的主项、谓项、联项和量项,去研究形式如“所有S都是P”“有些S不是P”“a(S中的某一个)是P”(特别地,如这两个例子所举的“判断事物是否具有某种属性”的命题称为“直言命题”)这类关注点在命题词项之间关系的逻辑,就称为“词项逻辑”(Lexical Logic)。 变革中的一项重要成果是产生了一种全新的逻辑形式—谓词逻辑(Predicate Logic)。 符号主义学派的学者们对这个问题持明确的肯定答案,整个学派的核心思想其实可以概括为五个字:认知即计算。 3.3 描述已知,推理未知 这种可以从形式文法产生,所有含义都在符号和组成规则中确切表达出来,无任何隐含语义和歧义的语言,被称为“形式语言”(Formal Language),将自然语言描述的内容转变为形式语言描述的过程称为“形式化”。形式语言在科学中是非常常见的,无论是本章所讲到的谓词逻辑,还是大家经常接触的计算机中的程序设计语言,都属于形式语言的一种。 逻辑理论家的基本思路是利用计算机的运算速度优势,遍历出形式化之后的定理前提所有可能的变换形式,说白了,其实也就是常见的树搜索,再配以适当的剪支算法。逻辑理论家以已知前提为树的根节点,把根据规则可以进行的每一种变换都作为该节点的下一条分支,如果某条分支中出现了与结论一致的变换形式,那这条分支路径经过的每一个节点按顺序连接起来就是定理证明的步骤了。逻辑理论家采用的算法和今天计算机自动定理证明这个学科分支的主流算法思想(如归结原理、DPLL算法)并没有很直接关系,甚至可以说就只是对形式化的前提进行简单乃至粗暴的搜索而已,这也正是后来计算机自动定理证明领域的著名学者王浩教授批评逻辑理论家,认为它没有多少技术含量的主要原因。 这不就是 pddl 么…… 上面笔者列举的这个例子,就来自于麦卡锡《常识编程》论文的原文,定义和推理过程虽然人类看起来会觉得很繁琐,但这些“繁琐”对机器来说并不存在任何困难。 可是,AdviceTaker其实并未解决“常识来源自哪里?”这个真正的难题,在上面这个例子中,诸如go、walkable、drivable、canachult、want这些谓词的定义,都是人类总结后灌输进去的,而不是计算机从某种“公理”或者“公设”性质的常识中推导而来。要使用一小撮最小化最本质的公理定义和规则的集合就可以推理出人类的所有常识,这样的思路在数学、几何这些抽象世界虽然行得通而且常见,但也是经过了上千年时间和无数数学家的智慧才成功完成的,要用在具体的现实世界里做到这点谈何容易。 ,在1960年又发表了一篇名为《递归函数的符号表达式以及由机器运算的方式,第一部分》(Recursive Functions of Symbolic Expressions and Their Computation by Machine, Part I)的论文。论文阐述了只通过七个简单的运算符以及用于函数的记号来构建一个具图灵完备性语言的想法(这其实就是通过计算机实现邱奇的Lambda演算),并将这种语言命名为LISP(LISt Processing的缩写)。麦卡锡自己并未提供LISP语言的实现程序,但他的学生史帝芬·罗素(Steve Russell)阅读完此论文后,在麻省理工学院的IBM 704计算机上成功完成了最初版本的LISP编译器,实现了最初版的LISP语言。 LISP在人工智能中还有另一点优势是它可以很好地把麦卡锡设想的“符号推理能够从已知的知识推理出新的知识,乃至自我改进推理系统自身的行为”这点实现出来,LISP中程序(行为)和数据(符号)是高度相似并且可互相转化的,麦卡锡把两者分别描述为“M-表达式”和“S-表达式”(现代LISP编程中都只使用S-表达式了),其中M的意思是“Meta”,而S的意思是“Symbolic”。LISP的重要特点“元编程”(Meta Programmed)就来源于它的数据可以变为程序、符号可以修改自身的行为这种能力,使用这个特性,程序可以很方便地实现新知识改进程序本身这个目标了。 物理符号系统的理论主要由两个假说构成,分别是物理符号系统假说(Physical Symbol System Hypothesis)和启发式搜索假说(Heuristically Search Hypothesis)。名字很有专业感,不过既然这两套假说来源于对人类智能的模拟,它们就肯定可以用我们日常所能接触和理解的概念来类比解释。 一个物理符号系统包括“符号”(Symbols)、“表达式”(Expressions)和“操作过程”(Processes)。多个符号组合起来就成了表达式,组合方式可以是多种多样的,系统在任意时刻都在对这些表达式执行着操作,这个过程具体可以归纳为对表达式进行“创建”(Creation)、“修改”(Modification)、“复制”(Reproduction)和“销毁”(Destruction)这四个操作的不同顺序组合。 物理符号系统假说的核心观点是认为物理符号系统就是普遍智能行为的充分且必要条件。在这句话里,“必要”意味着任何实现了智能的系统都可以被视为一个物理符号系统,这点是现在的认知科学[插图]要去研究和证明的问题;而“充分”则指任何具有足够尺度的物理符号系统都可以经适当组织之后展现出智能,这个就是人工智能这门学科要去研究和证明的问题。另外,名字里“物理”一词还强调了系统必须从根本上遵从物理学定律,即强调了认知与心灵、灵魂等唯心因素无关,因此智能可以由任何物质材料构成的系统来实现,而不限于人脑实现并使用的符号系统。 3.4 知识!知识!知识! 谓词逻辑把不同的实体与规则当作独立的事实来处理,语义网络则将多个实体与规则视为一个整体来进行处理。 在语义网络中,由于结构关系,检索和推理的效率是非常高的,但它不适用于定量、动态的知识,也不便于表达过程性、控制性的知识。 一言以蔽之,知识管理的目标是建立供人使用的知识库,而知识工程的目标是建立供计算机使用的知识库。 基于知识的系统一般软件架构上都可以划分为知识库和推理引擎两个部分,知识库用于在计算机系统里面反映出真实世界中的知识,而推理引擎则负责使用知识库中的内容推理求解,得到用户提出的问题的答案。典型的基于知识的系统包括决策支持系统、推荐系统、专家系统等,这些系统目前仍然应用非常广泛,其中又以专家系统的历史影响最为突出。 3.5 从演绎到归纳 决策树是一种树结构,其每个非叶节点表示一个特征属性上的测试活动,每个分支代表这个特征属性在某个值域上的输出,而每个叶子节点存放着一个分类类别。使用决策树进行决策的过程就是从根节点开始,测试待分类项中相应的特征属性,并按照其值选择输出分支,直到到达叶子节点,将叶子节点所代表的分类类别作为决策结果 无论是ID3还是C4.5,抑或是其他决策树的构建算法,都有一个总的原则是在每一步选择一个最好的属性来分裂树。此处“最好”的定义是:针对这个属性分裂出分支后,会使得各个分支节点中的训练集拥有尽可能高的纯度。不同的算法可以使用不同的指标来定义“纯度”的高低,如“信息熵”(Information Entropy)、“基尼不纯度”(Gini Impurity)[插图]、“错误率”(Error Rate)等都是可根据情况选择的指标 对于数据集的数量小、样本的属性少的情况,构建决策树是很容易的,连人类手工都可以轻易完成,但是在面对有大量样本和属性的时候,要构建一颗最优的决策树则是非常困难的,因为每一个节点选择的分类属性都对以后所有分支中的样本集有全局性的影响,通过样本训练出最优的决策树已经被证明是一个“NP完全问题”[插图]。由于此限制,实际应用决策树学习时,其训练过程通常采用启发式搜索算法来达到局部最优而不追求得到全局最优解。 4.3 大脑模型 在皮茨带来的数学和逻辑学帮助下,他们两人共同构造出了一种能够完全通过神经元连接的网络来进行逻辑运算的模型,这个模型展示了人类大脑能够实现任何可能的逻辑运算,得出结论:人脑是图灵完备的,即能完成任何图灵机可以完成的计算。 4.4 崛起的明星 神经网络的可解释性直到今天仍然是一个没有办法解决的世界级难题,被认为是神经网络的天生缺陷 4.6 感知机 如果我们基于前文的M-P神经元模型来理解这句话的话,可以理解为:如果两个神经元同时激发,则它们之间的连接权重就会增加;如果只有某个神经元单独激发,则它们之间的连接权重就应减少 为了应对多于一个神经元被激活的实际情况,神经元输出就不适合再简单地以“是否激活”的离散形式来判断,这里需要将M-P神经元的阈值比较部分改进一下,修改为输出一个代表神经元“被激活的强度”的连续值,然后把各个神经元的激活强度值都放入网络后方的Softmax归一化函数[插图](此处仅是以Softmax函数为例,还可以选择其他函数)中进行处理,以便抑制概率小的、增强概率大的数字分类 4.7 凛冬将至 不过这种分类只能做到线性分割—即感知机可以应用的前提条件,必须是输入的数据集在特定特征下是线性可分的。 ”两位教授同样用数学方法,证明了感知机,更准确地说是单层的感知机并不能处理非线性数据的分类问题,其中最典型的就是“异或问题”。 5.4 从“控制论”说起 认为人类、生物和具有智能的机器等都是通过“由负反馈和循环因果律逻辑来控制的目的性行为”来实现自身目的的,这一句话便是控制论思想的源头 5.5 机械因果观和行为主义 给考察对象以某种刺激,观察它的反馈,通过研究反馈与刺激的关系来了解对象的特性,而不去纠结对象内部的组织结构,这就是行为主义方法。 如果把环境对系统的影响和作用统称为“输入”,把系统对环境的作用及其引起的环境变化称为“输出”,则给系统施加某种输入,观察它的输出,通过分析输出对输入的响应关系以了解系统的属性,而不必顾及系统内部的组织结构,这就是广义的行为主义方法。 他一直倡导研究“没有表达的智能”和“没有推理的智能”,认为“智能”就取决于“感知”和“行动”。布鲁克斯本人也是维纳时代之后,行为主义学派的重要代表人物之一。 5.6 自复制机和进化主义 根据冯·诺依曼定义的自复制机架构,任何能够自我复制的系统,都应该同时具有两个基本功能:首先,它必须能够构建一个组成元素和结构与自己一致的后代系统,然后它需要能够把对自身的描述传递给这个后代系统。冯·诺依曼把这两个部分分别称作“通用构造器”和“描述器”,而描述器中又包含了一个通用图灵机和保存在通用图灵机器能够读取的介质上的描述信息。这样,只要有合适的原料,通用构造器就可以根据描述器的指示,生产出下一台机器,并且把描述的信息也传递给这台新机器。随后,新机器启动,再进入下一个复制循环。 6.5 进行机器学习:实战模型训练 我们准备的邮件样本需要进一步给出标注信息,把样本变成样例。在训练集向量中,也加入y项来表示标记信息,参与训练的样例集合以如下形式来表示。T={(x11, x12, x13, y1), (x21, x22, x23, y2), (x31, x32, x33, y3), …, (xn1, xn2, xn3, yn)} “强化学习”(Reinforcement Learning),这是目前以行为主义学派思想来指导的机器学习的任务类型。无论训练集是由样本还是由样例构成,监督学习和非监督学习都是从历史经验之中学习,而强化学习并不主要依赖历史经验,而是一种基于环境对行为收益的评价来改进自身的模型 模型的输入每增加一个特征,便给模型的决策函数引入了一个新的参数项,这会让决策函数所处的问题空间相应地提升一个维度,训练集数据量相同的情况下,在越高维空间中,数据就越稀疏,空间的维度提升太快,可用数据就变得过于稀疏,而过于稀疏的数据,会使其从大多数角度都看不出相似性,因而平常使用的数据组织策略就变得极其低效,这个现象在机器学习中称为“维度灾难”(Curse of Dimensionality)。 特征选择是“数据降维”(Dimension Reduction)的一种主要方法,还有一个主要降维方法称为“特征提取”(Feature Extraction),它与特征选择的区别是:特征提取是在原有特征基础之上去创造凝练出一些新的特征出来,如果创建一个新的特征项,该特征的变化规律能够反映出原来几个特征项的共同变化,那使用这一个新特征项代替原来几个特征项就实现了降维的目的。而特征选择只是在原有特征中选取最有用的特征而已,一般并不会对特征值进行变换 通常来说,人至少会从两个方面来考虑如何进行选择特征。● 考虑特征的离散度:如果一个特征不发散,譬如说方差趋近于0,也就是各个样本在这个特征上基本上没有差异,这个特征对于样本的区分就没有什么意义。● 考虑特征与目标的相关性:与目标相关性高的特征,更能作为分类决策的依据,肯定就应当优先选择,这里的关键是解决如何能判断出特征与目标的相关性。 在数学上也已经有很多成熟的自动降维算法了,如“奇异值分解”(Singular Value Decomposition, SVD)、“主成分分析”(Principal Component Analysis, PCA)等,这类算法能够把数据中相似性高的、信息含量少的特征给自动剔除掉,采用这些算法也可以实现数据降维,不过实际中要解决问题,往往必须考虑到具体模型的目标和这个领域中的先验知识 这种采用y与y’的欧几里得几何距离作为度量误差的标准,在统计学里称为“均方误差”(MSE, Mean Squared Error)。以使得均方误差最小化作为目标的损失函数,我们称为“平方损失函数”(Squared Loss Function),两个名词中都带有“Squared”这个单词,这体现了欧几里得空间里,欧氏距离的数学公式定义就是两个向量差值的平方,所以,平方损失函数的函数表达式为:L(y, y')=(y-f(x))2 采用这种办法来解决最佳空间分割问题的线性分类器,其实是“支持向量机”(Support Vector Machine)中的一种最简化情况,称为“线性支持向量机”(LinearSVM, LSVM),刚才例子描述里“棍子的宽度”,在支持向量机中被称为“边距”(Margin),接触到“棍子”边缘的向量,就被称为“支持向量”(Support Vector)。 我们将“泛化能力”(Generalization Ability),就是机器学习算法对新鲜样本的适应能力,作为衡量机器学习模型的最关键的性能指标,性能良好的模型,就意味着对满足相同分布规律的、训练集以外的数据也会具有良好的适应能力。 误差(Error)=偏差(Bias)+方差(Variance)+噪声(Noise) 在把模型进行泰勒多项式展开之后,它的复杂程度可看作由两个因素决定。● 模型多项式系数数量的多少,系数越少,相应地多项式项数就越少,意味着模型函数图像的曲线形状越简单。● 模型多项式系数数值的大小,系数越小,意味着该多项式项对结果影响越轻微,模型函数图像的曲线越平滑。 我们的最终目标,在追求损失函数最小化之外,还要再添加另外一个用于避免过拟合的第二目标,这个第二目标一般是以被称为“正则化项”(Regularizer)或者“罚函项函数”(Penalty Term Function,一般用“Ω(w)”表示该函数,下文简称罚函数)的额外算子形式来体现的,这个算子的具体函数表达式我们可以稍后再谈,现在只把它看作一个抽象的函数符号的话,将它与损失函数联合相加,这样不仅仅是损失函数最小化,而且追求与罚函数一起的总和最小,这才构成机器学习建模的完整目标。我们把形成的新函数称为训练模型的“目标函数”(Objective Function),即下面通式所示:[插图] 罚函数的目的是限制系数多少和大小的,它的形式通俗地讲就是“一个参数数量越多、参数值越大,它的输出结果就越大的函数”。 “范数”是一种具有“长度”概念的函数,广泛应用于线性代数、泛函分析等领域,它的作用是度量某个向量空间或矩阵中的每个向量的长度或大小。范数必须满足非负性、齐次性和三角不等式 ||x||p=(|x1|p+|x2|p+…+|xn|p)1/p式子中“|| ||”是范数符号。L0、L1和L2范数就是p范数在p取值为0、1、2时的特例情况 L1范数的作用是“参数稀疏化”,由于这个特性,L1范数还有个别名叫作“稀疏正则算子”(Lasso Regularization)。首先我们来解释什么叫“参数稀疏化”,数学上说一个向量是“稀疏”的意思就是指它所包含的零元数的数量很多 稀疏性在机器学习中是很令人趋之若鹜的特性,因为它天然地解决了机器学习中一对很大的难题:“自动特征选择”(Auto Feature Selection)和模型的“可解释性”(Interpretability)问题。 稀疏规则化算子能天然地就将模型中对结果影响小的参数权值置为零,这样就去掉这些没有提供信息的特征,自动完成了特征选择。另一个青睐于稀疏的理由是,将无关的特征被置零后得到的简单模型会更容易解释,这点也很容易理解 机器学习中,L2范数也有两个别称,有资料中把用它的回归算法称作“岭回归”(Ridge Regression),有的资料也叫它“权值衰减”(Weight Decay)。L2范数是用来解决机器学习中过拟合问题的主要手段之一,虽然L1范数也有一定防止过拟合的作用,但如果以控制过拟合为目的话,L2范数的效果要比L1范数好,因为L2范数相对于L1范数具有更为平滑的特性,通俗地说,它更“温和”一些 偏导数指的是多元函数沿坐标轴的变化率,如果考虑多元函数沿任意方向的变化率的话,也可以使用相应偏导数的三角变换来求得 所有方向导数中最大的那一个,即函数值下降最快的那个,就被称为“梯度”,负梯度方向就是函数值上升最快的方向。 实践中常常每次都只随机挑选一个样本来计算梯度,这种做法是梯度下降算法的一种改进形式,称为“随机梯度下降”(Stochastic Gradient Descent, SGD)算法,而把之前使用全部样本进行训练的原始形式称为“批量梯度下降”(Batch Gradient Descent, BGD)算法。 为了平衡这些优缺点,日常应用会在这两种算法中折衷,每次随机选择一小批样本来进行训练,这种形式就称为“小批量梯度下降”(Mini-Batch Gradient Descent, MBGD)算法,该算法使得训练过程比较快,而且也保证最终参数训练的准确率。 简而言之,对于通用问题,高效与普适是一对矛盾。这条定理被麦克雷迪和沃尔珀特很形象地命名为“没有免费的午餐定理 6.6 评估验证 正确率的含义是对于给定的测试数据集,分类器正确分类的样本数与总样本数之比。即:[插图] 精确率是针对模型预测结果而言的,它表达的意思是所有“被模型正确标记的正例样本”占所有“被模型检索到所有样本”的比例,通俗点说就是“预测为正的样本中有多少是真正的正例样本?”,再通俗点的说法就是“你的预测有多少是对的?”。精确率度量反映出来的是模型的“查准比例”,它的计算公式如下所示:[插图] 最后一个指标“召回率”是针对测试集中被正确检索的样本而言的,它表示的是样本中的正例有多少被模型正确预测了。“正确预测”有两种可能,一种是把实际中的正例预测成真正例(TP),另一种就是把实际中的反例预测为假反例(FN),即以下公式:[插图]召回率通俗地解释就是“样本的正例里面,有多少正例被正确预测了”,它度量的是模型的“查全比例”,因此也叫“查全率”。 [插图] 无论我们选用哪种性能度量的指标来评价模型性能,都需要谨记一点:这个指标一定不能是在训练集中测定出来 如之前“Hold-Out方法”的训练集和测试集划分一样,“LOOCV方法”也有把数据集划分为训练集和测试集这一步骤。但是两者的差别是,LOOCV方法只采用单个样例数据作为测试集,所有其他的样例都作为训练集使用,然后将此步骤重复N次(N为数据集的数据总量),直至集合中每一个样例都当过一次测试集为止 。“K折交叉验证方法”和“LOOCV方法”的不同之处在于每次选取的测试集不再只包含一个样本数据,而是一组多个样本,具体数目将根据K值的大小选取决定。譬如,假设K等于5,那么我们进行的验证就是“五折交叉验证”,它的具体步骤如下。1.将所有数据集平均拆分成5份。2.不重复地每次取其中一份做测试集,用其他四份做训练集训练模型,之后计算该模型在测试集上的均方误差(假设仍然是采用均方误差来度量性能),记作MSEi。3.将5次的MSEi取平均值作为最后整个模型的MSE。 7.5 深度学习时代 现代科学已经基本确定了人的视觉系统的信息处理的确是分级的,从最低级像素提取边缘特征,再到稍高层次的形状或者目标的部分等,再到更高层的整体目标,以及目标的行为和其他特征的联想等。换句话说,高层的特征是低层特征的组合提炼,从低层到高层的特征表示越来越抽象,越来越能表现出认知的意图。抽象层面越高,存在的可能猜测就越少,就越利于分类。其实不仅仅是图像的模式识别,人类大部分的认知都很符合这样的规律,譬如语言,单词集合和句子的对应是多对一的,句子和语义的对应又是多对一的,语义和意图的对应还是多对一的,这也是一个层级体系。 人类认知过程与深度学习之间可能出现的共通点了,即“分层迭代、逐级抽象”。 辛顿这两篇文章共同论证了以下两个主要的观点。1)论证了多隐层的人工神经网络具有优异的、自动化的特征学习能力,通过网络自主学习得到的特征,比起人类手工建立的特征提取器,对数据有更本质的刻画,从而有利于可视化或分类。2)提供了一个具体可操作的训练方案,深度神经网络在训练上的难度,可以通过逐层预训练(Layer-Wise Pretraining)的方法来有效克服。 学术界、工业界把论文《通过神经网络进行数据降维处理》定性为深度学习的开山之作 而浅层的机器学习算法正好相反,它能够分辨像素级特征中的细微差异,无论是浅层神经网络、线性分类器或者其他基于原始像素操作的浅层分类模型,几乎都是不可能把相似背景下摆着同样姿势的萨摩耶和雪狼区分开,也无法把两只在不同的环境里摆着不同姿势的萨摩耶分到同样的类别里,这种现象被称作“选择性-恒常性困境”(Selectivity-Invariance Dilemma) 如何逐层抽象特征的技术,在1995年,已经被康奈尔大学的戴维·菲尔德(David Field)教授提出的“稀疏编码”(Sparse Coding)所解决 说起这个名字,还有一个值得一提的段子:“深度学习”这词听起来很酷,但其实这是辛顿无可奈何的变通产物,因为在当时很多的杂志期刊,只要稿件的标题中包含了“神经网络”这个词就会被编辑拒稿 为了缓解深度神经网络难以训练的问题,辛顿设计了一种被他称之为“逐层预训练”(Layer-Wise Pretraining)的方法,利用无监督的训练方式去一层一层地训练每个层的权重初始值,实践证明,这比一开始完全靠随机初始化的方法的效果要好得多。 “受限玻尔兹曼机”(Restricted Boltzmann Machine, RBM 由分别称为“隐藏单元”和“可见单元”的两个层以及它们之间的无向连接所构成,这里无向连接是指两层之间连接没有方向,或者说是双向的连接(其实深度信念网络只允许最顶层的RBM是双向连接),但同一层之间不允许连接,所以叫作“受限” 深度信念网络是第一种随着网络深度增加,模型性能能够随之得到增强的神经网络应用模式 在以上语境里,“梯度消失”问题是指从输出层开始,每经过一个隐层,指导更新权值的梯度向量就变小一些,这样,接近于输出层的权值更新相对正常,但在误差传播的远端,越靠近输入层的梯度会越小,网络权值更新就会变得越慢。当隐层层次深度特别深时,经过若干次传递以后,梯度已变为一个很接近于零的小数,导致这些隐层的权值几乎不会再发生改变,一直都等于网络初始化时赋予的权值,此时的深层神经网络模型,其实等价于只有后几层的浅层神经网络模型了。而“梯度爆炸”问题则相反,如果每经过一个隐层,梯度向量都增大一些的话,这样在最接近输入层的那些靠前的隐层,每次权值更新都会发生很大的变化,这样轻则会使得训练无法稳定收敛,重则甚至会导致数据越界溢出。 我们把这两侧导数接近于零的部分,称为激活函数的饱和阶段,一旦Sigmoid函数的输入值落在这个饱和范围内,其输入的数值大小对激活函数的输出结果影响就极小了,换而言之,我们可以说在这个范围内激活函数对输入数据不再敏感了。 近几年还出现了一些效果很好的随机初始化方法,如Xavier初始化方法、MSRA初始化方法等。也有从训练过程着手的,谷歌在2015年发表的一篇论文中提出一种“批量规范化”(Batch Normalization)操作。这个方法是在训练过程对隐层的数据也进行规范化处理,避免训练过程里各网络层输入落入饱和区间,导致梯度消失。还有一种最简单易于操作的方法,是直接从激活函数本身着手的。既然梯度消失是由于Sigmoid函数的导数最大值仅为0.25,而且不饱和空间非常狭窄所导致的,大家就着手去寻找更好的代替函数。 大脑皮层中普遍存在一种称为“微皮层柱”(Cortical Minicolumn)的柱状结构,它像一颗胶囊一般把数百个神经元封装在一起,每个微皮层柱里的神经元都记录、处理相同特征的同一种信号。由此看来,人类大脑并不是像经典神经网络一样由神经元直接连接的简单分层结构,而是具有更高的内部复杂性:先由神经元组成“微皮层柱”,再由“微皮层”柱组成“皮层柱”(Cortical Column),由小到大逐步复杂 辛顿发表的一篇论文里[插图]就模仿大脑微皮层柱的结构,提出了一种称为“胶囊”(Capsule)的新神经网络结构,并给出了用这种结构做了自动编码器和简单图像识别的例子 7.6 深度神经网络 [插图](续)[插图](续)[插图](续)[插图](续)[插图] (续)[插图](续)[插图](续)[插图](续)[插图](续) 它是一种特征提取操作,卷积最初被引入神经网络,就是为了处理模式识别中图像特征提取的,它就像是一个漏斗,不断在图片中平移,从下层图像中筛选数据,这个“漏斗”(专业上称作“卷积核”, Convolution Kernel)可以是各种形状的 “池化”(Pooling)的本质其实就是采样共享,譬如以颜色采样为例,采样区域中存在若干个像素,可能每个像素的颜色值都有少许差异,原本需要对应的若干个数字去存储它们的颜色,池化过程就是用同一个采样值(最大值或者平均值之类)来代替所有像素的颜色值,这样有多个像素共用一个颜色值,便能够降低数据量。 事实上卷积神经网络可以处理大部分格状结构化数据 将神经网络与时间序列结合起来,循环神经网络的发明依然有它不可忽视的价 这个“反馈环”是循环神经网络的核心内容,被称作“循环连接”(Recurrent Links),就像下图中显示的一样,循环连接把隐层神经元的输入和输出连接起来,使得隐层输出端也作为输入的一部分,重新进入到神经网络中。如果展开(Unfold)循环神经网络,可以将之视为一批所有层共享同样权值的深度前馈神经网络。 初期版本的循环神经网络只能进行有限次数的循环和记忆,超过这些范围之外的内容就必须被丢弃或者衰减得几乎消失,这个特征被称为“短期记忆”(Short-Term Memory)效应。 “长短期记忆网络”(Long Short-Term Memory, LSTM),用于解决长期及远距离的记忆依赖关系。长短期记忆网络通过引入“门结构”(Gate)和一个明确定义的“记忆单元”(Memory Cell)来尝试克服梯度消失或者梯度爆炸的问题。它允许向单元状态中移除或添加信息,通过门限结构对信息进行管理,把短期记忆的内容也保留下来。后来,进一步还发展出了“门控循环单元”(Gated Recurrent Units, GRU)等其他长短期记忆网络的变体形式。 生成式对抗网络需要训练两个网络:一边是生成网络,用于生成图片,这个网络最开始是完全随机的,产出的结果自然也是毫无规律,生成网络一般是用“反卷积神经网络”(Deconvolutional Networks, DN)来实现。另外一边是判别网络,用于判断生成网络中产生的图片是真的符合要求的数据还是伪装的数据,一般就是用7.6.1节介绍的卷积神经网络来实现,使用卷积和反卷积来作为判别、生成网络的生成式对抗网络也被更进一步地称为“深度卷积生成式对抗网络”(Deep Convolutional Generative Adversarial Networks, DCGAN),这方面相关的论文[插图]是在2016年才公开发表的。 7.8 挑战与反思 ,现在还处于主要是凭经验和试错来实现效果的原始摸索阶段。 现在,解决深度神经网络灵活性和适应性的“迁移学习”(Transfer Learning)方法与同时面向多个学习目标的“多任务学习”(Multi-task Learning)方法是深度学习领域的新热点。 8.1 概述 自1980年开始学术界便很明显地分裂成两种不同的理念[插图]:一种是希望人工智能借鉴人类解决某一类问题时表现出的智能行为,研制出更好的工具,用来解决特定的智力问题,这种观点现在被称为“专用人工智能”(AppliedArtificial Intelligence)或者“弱人工智能”(WeakArtificial Intelligence);另一种理念是想模仿人类的思维,希望能够研制出各方面都可以与人类智能比肩的人造智能体,甚至是最终能够超越人类智慧水平的人造物。这种人造智能体可以有自己的心智和意识,能根据自己的意图开展行动,对各种问题都能有良好的应对,现在一般称之为“通用人工智能”(GeneralArtificial Intelligence)或者是“强人工智能”(StrongArtificial Intelligence)。 8.3 与机器竞技 “斯坦福问答数据集”(Stanford Question Answering Dataset, SQuAD) 在创作方面,还有一项当前人工智能被更广泛使用的形式—撰稿机器人。如果读者有每日关注新闻资讯的习惯的话,你读到撰稿机器人作品的比例可能高到令你难以置信的程度。自2014年开始,国外各大报社不约而同地推出一系列撰稿机器人,如洛杉矶时报的“Quake”、美联社的“WordSmith”、纽约时报的“Blossom”等。由于这些机器人无论时效性、准确性还是节约人工成本的效果都非常优秀,很快就传播到国内的主流网络媒体,出现了如腾讯财经的“DreamWriter”、新华社的“快笔小新”、第一财经的“DT稿王”等中文撰稿机器人,现在国内的撰稿机器人还表现出明显的青出于蓝之势,效果已经超过了国外的同类产品。 8.4 与机器共舞 弱人工智能到强人工智能之间,名字虽然接近,其实两者的理论方法并没有任何顺承关系,弱人工智能不是通往强人工智能的前期基础,甚至可以说两者毫无共通之处。因此,弱人工智能的技术理论发展的时间再长,对强人工智能的实现并不会有多少实质性的促进,反而是脑科学、神经生理学、认知科学等的发展,都远比弱人工智能的进步更容易触及到心灵和意识的奥秘 在2007年,英伟达非常有预见性地提出了“统一计算设备架构”(Compute Unified Device Architecture, CUDA)的概念,并将其实现在以代号G80为核心芯片的NVIDIA GeForce 8系列显卡上,第一次让显卡上的“图形处理单元”(Graphics Processing Units, GPU)具备了可编程的能力,使得GPU的核心“流式处理器”(Streaming Processors, SPs)既具有处理像素、顶点和图形等渲染能力,又同时具备通用的单精度浮点运算能力。
回应 2020-01-25 22:02:00
论坛 · · · · · ·
在这本书的论坛里发言当前版本有售 · · · · · ·
-
限时抢
以下书单推荐 · · · · · · ( 全部 )
- 补一下科学知识(目前属于我的书) (斯宾诺莎的镜片)
- 我的科普类电子书 (wizard)
- 中国现代史通论及相关优秀作品 (不要生气)
- 书单|人工智能赛道 (危枫)
- CS&Math (觅食的小学生)
谁读这本书?
二手市场
订阅关于智慧的疆界的评论:
feed: rss 2.0
0 有用 重金属海王星 2022-03-02 11:48:23
2022年NO.31 感谢书友赠书。 关于人工智能以前只是多少从跟图灵相关的书籍里多多少少了解过一点,这本书比较通俗又详细的梳理了人工智能的前世今生,从历史和各个科学家的经历着手,穿插比较硬核的人工智能算法的原理,看得出来已经尽量通俗易懂了(但是我一个四则运算也要求助计算器的人类要理解微积分和函数真是太难了,幸好所占篇幅很少),连续性和阅读趣味性比较兼顾,对想要了解相关知识的文科生还是很友好的。
1 有用 若风神游 2020-11-18 14:20:43
人工智能技术发展史
0 有用 xiao 2022-04-06 08:47:34
用循序渐进,简单易懂的语音介绍了人工智能的历史,发展概要,以及核心方法论,推荐入门阅读。但整个领域实在发展太快,有些内容已经需要订正,扣一星。
1 有用 平凡的老鱼 2021-11-10 00:06:26
作者的文笔不错,故事性可读性都不错,而且从历史的起源到发展,整体框架很清晰,可能是顺应这个时代现状, 机器学习部分笔墨稍多,总体还是挺好的,如果能够再深刻的描述一下人工智能历史上各时期技术衰败和兴起的原因就更好了。总之,如果想较为全面的了解AI历史,这本书目前读过的最好,没有之一。
1 有用 才赋智游 2019-12-09 17:31:19
详细介绍了人工智能技术的发展历史。
0 有用 knighter 2022-08-01 19:07:39
国内少见的高质量技术书籍
0 有用 沉迷工作不可 2022-07-28 20:59:07
可读性非常好,人工智能的历史、流派、(几年前的)现状和可能的未来。最近同时还在读作者的凤凰架构,也是感觉挺不错~
0 有用 ナシ 2022-07-28 11:53:36
虽然作者尽量不谈算法,但有些地方还是不可避免(文科苦手)。 来看人工智能❌ 来看大佬八卦✅ (心疼图灵,致敬每一个潜心坚持研究的人,感谢你们为如今的生活带来的便利。)
0 有用 Heyyyo 2022-07-18 02:26:59
“Now this is not the end.It is not even the beginning of the end.But it is,perhaps,the end of beginning.”
0 有用 a little Hobbit 2022-06-10 19:04:21
按需