PDF 物理页索引 2920
文件中的第 2921 页 · 印刷页码:未识别
可是,知识库的“正确性”就复杂多了,至今都没有普适性的严格标准,只能通过大型实验测试加以检验。暴力法做过很多大型应用测试,发现的普遍问题是:如果对推理机提出的问题在知识库的有效范围之内,理论上推理机都可以正确回答;如果提出的问题不在知识库的有效范围之内,回答往往会发生“离奇”的错误。这种现象称为人工智能系统的“脆弱性”。
第二种人工智能经典思维是“基于元模型的训练法”。训练法的基本设计原理是:第一,用人工神经元网络表示问题的输入–输出对应格式(包括网络结构等),即元模型;第二,依数据拟合原理,用标注数据训练元模型中的参数值(人工神经元网络连接权重),从而得到问题的一个具体模型,即一个参数已被训练好的人工神经元网络,这种网络可以对任意输入快速计算出对应的输出。图1是一个三层人工智能网络示意图。所谓深层神经网络,就是有很多层,比如几十层、几百层甚至更多层。
以著名的ImageNet<sup>[2]</sup>图像分类比赛中的一项任务为例。首先由比赛的组织者收集一个大型图片库,并将其中的图片人工分为1 000类,每一类中的图片标记为0\~999中的一个数字,比如7种鱼的图片分别标记为0\~6中的一个数字,公鸡和母鸡分别标记为7、8,26种鸟标记为9\~34,卫生纸标记为999。这个过程称为“编码”,是人工完成的。
PDF 物理页索引 2921
文件中的第 2922 页 · 印刷页码:未识别
训练好的人工神经网络被要求以非常高的概率(比如95%以上)达到下列识别要求:输入任何一张图片,则人工神经网络输出该图片对应的数字。比如,输入公鸡的图片,则应输出数字7;输入卫生纸的图片,则应输出数字999。从实际效果来看,如果达到了这个要求,就可以认为被训练的人工神经网络“学会”了识别图片库里的图片所显示的那1 000类物体。
在训练之前,人工神经网络的输出值与训练样本标注的期望输出值之间通常存在一定的偏离,所以需要用训练来尽量缩小总偏离。为此,训练过程收集大量输入–输出偏离值,然后根据数据拟合原理,用监督学习算法调整元模型的参数(即人工神经网络中的连接权值),尽量缩小总偏离(比如5%以下)。
在ImageNet比赛和其他测试中,训练法在很多给定图片库或其他标注数据集上的表现已经超过了人类,这是一个里程碑式的进展。不过,这不意味着在真实环境中训练法的识别率已经超过了人类。在一些测试中,训练法的局限性被逐步揭示出来。美国麻省理工学院的研究人员做了一个“定向对抗攻击”试验。<sup>[3]</sup>试验攻击的对象是一个著名的商业机器学习系统,该系统训练出一个人工神经网络,其可以从照片中识别各种枪支,并达到很高的正确识别率。试验人员人为修改了照片上的少量像素,这些修改对人眼识别没有任何影响,但试验结果表明,同一个人工神经网络却不能正确识别修改后的照片。
PDF 物理页索引 2922
文件中的第 2923 页 · 印刷页码:未识别
这些测试表明,训练法和暴力法一样,存在着“脆弱性”问题。另外,训练法不仅不具备可证正确性,而且也不具备可解释性,即无法解释一个训练好的人工智能神经网络是根据什么将输入映射为输出的,不论映射对与不对。这两个问题叠加起来,导致训练法在开放的真实环境中的应用可能是不可靠、不可信的。
AlphaGo是两种人工智能经典思维的融合。AlphaGo一共有4代,第四代AlphaGo Zero通过40天“自学”,完胜第三代AlphaGo Master,而AlphaGo Master在实战中完胜所有现役的围棋顶级高手。
AlphaGo Zero的自学过程如图2所示,由自博和训练两个阶段的反复迭代构成。自博就是自己和自己下棋,从而收集大量数据。利用这些数据,反复训练一个称为“残差网络”的人工神经网络fθ。fθ被用作AlphaGo Zero下棋的决策模型,即用于决定每一个棋局中AlphaGoZero怎么走。最初, $f \theta$ 只是一个元模型,所有参数(连接权值)是随机给定的,所以一开始这个决策模型本身只会“乱下”(但符合围棋规则)。在自博过程中,AlphaGo Zero在选择每一步棋的走法时,在$f \theta$ 的基础上,用蒙特卡洛树搜索进行1 600次模拟优化,选其中最好的一种走法,这样就得到比直接用fθ可能更好的一步棋,也就是一个“优化数据”(Si,πi,Zi),其中i表示第i步棋。AlphaGo Zero保证自博的每一盘棋都会走到底,即下出胜负才结束,于是每下一盘棋,就得到一个“优化数据”序列 $( \ : S _ { 1 } , \ : \ : \ : \pi _ { 1 } , \ : \ : \ : Z _ { 1 } ) , ( \ : S _ { 2 } , \ : \ : \ : p 2 , \ : \ : \ : Z _ { 2 } )$ …,(ST, πT, ZT),T代表这盘棋到最后一步的步数(AlphaGoZero设定一盘棋最多不超过722步),而ZT代表这盘棋的胜负,它是一盘棋结束时根据围棋规则得到的,因此是一个精确值。其他Z1, Z2,…, ZT-1都是根据ZT反推出来的,因此也是精确值。
PDF 物理页索引 2923
文件中的第 2924 页 · 印刷页码:未识别
在训练阶段,AlphaGo Zero采用强化学习方法,利用自博产生的大量优化数据训练 $f \theta$ ,得到更好的 $f \theta$ ,然后用更好的 $f \theta$ 再进行下一轮自博,再训练 $f \theta$ ……。强化学习算法的基本特点是,可以根据一盘棋的走步记录和最后结果(胜负)推测每一步棋应该怎么走,而不用知道每一步棋走得好不好(这种指导信息事实上很难获得)。由于每下一盘棋都得到一个ZT,2 900万盘棋就得到2 900万个ZT以及相关的优化数据,这些ZT和优化数据被强化学习算法用来训练 $f \theta$ ,使$f \theta$ 变得越来越好,直到远远超过人类棋手的下棋决策模型。
第一代AlphaGo使用的技术较多,而第四代AlphaGo Zero只用了4项技术——简化的决策论模型、蒙特卡洛树搜索、残差网络和强化学习。<sup>[4]</sup>其中,前两种技术属于暴力法,后两种技术属于训练法。可见,暴力法和训练法尽管是完全不同的机器思维,却并非水火不相容,而是可以深度协同工作,并达到暴力法和训练法单独应用无法达到的高度。有一种观点认为,AlphaGo Zero完全是深度学习的胜利,也旁证了暴力法的完全失败。这种看法是严重违背事实的,而且极大地误导了人工智能研究与应用的发展方向。
PDF 物理页索引 2924
文件中的第 2925 页 · 印刷页码:未识别
有专业棋手估计,AlphaGo Zero至少达到了20段。以此估计,人类的围棋能力与人工智能相比,相当于幼儿与成年人的对比。不过,围棋是一种完全信息的确定性问题/任务,这类问题在人工智能中属于最容易的类型,而最困难的类型是不完美信息的不确定性问题。
不确定性挑战
无论是专家还是公众,通常重点关心人工智能中的“难问题”,而倾向于忽视容易的问题。那么,依据什么标准来区分一个人工智能问题的难度呢?其实迄今尚无公认的标准。很多情况下,计算机科学中的“计算复杂度”被借用为人工智能问题难度的一种参考度量。比如,在博弈问题中,计算复杂度表现为两个指标——“状态空间复杂度”和“博弈树复杂度”。以这两个指标来衡量,围棋的复杂度远远高于国际象棋和中国象棋,因此这类指标是有一定的参考价值的。可是,只有在已经得出问题的计算模型的前提下,才可以使用两个指标;如果一个问题没有计算模型,那么这两个指标也不存在。对人工智能来说,如何得出问题的计算模型,其实是一个更加困难的挑战。暴力法完全依靠人工建模,而对某些问题,训练法并不需要完全依靠人工建模。因此,在这些问题上,训练法的建模难度低于暴力法。由此可见,计算复杂度不能真正度量所有人工智能问题的难度。
表2给出了人工智能问题的分类和在博弈领域的实例。不过,表2中的2、3、4都属于广义的不确定性问题,4是最难的。这里的“难”,就包含了建模的难度在内。由于不确定性给人工智能技术发展带来了巨大的困扰,现在已经到了对不确定性挑战进行深层反思的时候。
表2 博弈问题的分类
PDF 物理页索引 2925
文件中的第 2926 页 · 印刷页码:未识别
不确定性实际上包含两个维度:一是观察/信息的不完全性/不完美性,二是行动/决策结果的不确定性。围棋是一个完全信息的博弈问题,因为下棋的双方都能看到棋盘上的全部信息,而且所有信息都是准确的。假设一方或双方棋手只能看到棋盘上部分区域的棋子,看不到这些区域以外的棋子,这种情况就具有信息/观察不完全性。面对这种不完全信息的“围棋”,棋手下棋的难度必然大大增加。在现实世界中,人们的观察通常都是不完全、不完美的,人工智能也是这样。
再看行动/决策结果不确定性的例子。最常见的围棋棋盘有纵、横各19条线,形成 $1 9 \times 1 9 { = } 3 6 1$ 个交叉点。按照围棋规则,所有棋子都必须落在交叉点上。假想一种新的围棋允许棋子不落在任何交叉点上,并且默认这样的一枚棋子可以落在棋盘的任何一个交叉点上,也可以不落在棋盘上,这种落子就是一种不确定行动,即行动/决策结果不确定的情况。面对这种围棋,棋手下棋的难度也必然会大大增加。
让我们更具体地考虑,假如围棋中存在两种不确定性,大概情况是什么样的。先考虑动作不确定性,即棋子可以不落在棋盘的交叉点上。那么,对于这样的一枚棋子,它到底落在了哪个交叉点上?没人知道,人工智能也不可能知道。于是,人工智能系统不得不借助“动作不确定性假设”来确定落子的位置。一种简单直观的假设是,棋子以一定的概率落在周围的交叉点上,距离一个交叉点越近,落在那个交叉点上的概率就越大,越远则概率就越小。这个假设不是唯一可能的,还可以有其他多种不同的假设。再考虑观察不确定性。当人工智能系统观察到一枚棋子落在某个位置时,由于观察一般都不是完全准确的,棋子的真正位置很可能并不在观察到的位置上。为了确定棋子到底在哪里,不得不借助“观察不确定性假设”,即假设棋子的真实位置以一定的概率分布于出现的观察位置的周围。正态分布是最常见的假设,但绝对不是唯一可能的假设。由此可见,对于不确定性问题,两种不确定性假设具有关键性作用,如果其中任何一个假设严重背离实际,人工智能系统的性能必然受到极大的影响。
PDF 物理页索引 2926
文件中的第 2927 页 · 印刷页码:未识别
按照表2的分类,只要两个维度中有一个是不确定的,那就是不确定性问题。所以,后三类都是不确定性问题。现实世界中的各种动作和决策结果通常都是不确定的,所以人工智能也会遇到很多这样的场景或问题。面对不确定性问题,目前有三种可能解法。
第一种解法是把不确定性问题“改造”为确定性问题。典型例子是工业生产中的自动化生产线。没有实现自动化之前,相关的操作是由工人完成的,工人的观察和动作都不可避免地带有不确定性,所以整个生产过程充满了不确定性。建造自动化生产线的目的是消除生产过程中存在的一切不确定性,把原本带有不确定性的生产过程彻底改造为完全确定的自动生产过程。所以,自动生产线上的工业机器人和其他设备面对的是确定性任务,机器人和设备的一切动作都是重复性的,每次动作都是基本相同的。为此,建造一套自动化生产线的成本非常高,机器人只占总成本的1/8\~1/5。另外,很多应用不能改造为生产线方式,非工业应用往往都不行,甚至一部分工业应用也不行。所以,第一种解法的应用范围是十分受限的。
PDF 物理页索引 2927
文件中的第 2928 页 · 印刷页码:未识别
第二种解法是应用训练法。从理论上来说,训练法不需要建模(但需要建立元模型),只需要大量训练数据。可是,训练数据是包含人工标注的,而人工标注是有代价的,所以需要选择一些代表性数据加人工标注。于是,如何选取代表性数据,就成为决定训练法成败的一个关键因素。根据上文对不确定性问题的分析可以看出,数据选择事实上依赖两种不确定性假设,否则数据选择将失去根据,虽然表面上训练法不需要两种不确定性假设。由于一般情况下这两种假设的正确性都是没有理论保证的,而且往往没有充分的实验保证,所以数据选择实际上存在很大的盲目性,从而严重影响了训练数据的质量,进而影响训练法的效果。上文指出的训练法的脆弱性,本质上就是由不确定性假设的不可靠性引起的。目前,这一困难在理论和工程上都没有切实可行的解决办法。
第三种解法是应用暴力法。由于不确定性问题目前没有合适的数学模型,因此一般情况下,暴力法的基本假设不成立。针对这一困难,研究中最常见的努力是借助概率形式化或决策论形式化,用概率表达观察和行动的不确定性。于是,这些概率模型或决策论模型直接使用两种不确定性假设的数学形式。由此产生下列困难。第一,不确定性假设往往不符合实际,还有很多实际场景甚至不存在稳定的概率分布,这就导致概率和决策论模型本质上的不适用性,模型决策往往与实际情况之间存在巨大的偏差。第二,概率推断本质上是证据不足情况下的决策,没有“保真性”,决策错误往往不可避免,这在很多应用中不满足用户要求。事实上,人类对自己的要求比较低,对机器的要求非常高,采用的是双重标准。第三,工程可行性障碍。有些模型的具体实现过于复杂,超过了现有工程方法的处理能力,无法保证实际效果。
我们以围棋博弈为例加以说明。首先,在围棋的主流博弈模型中,一个棋局被抽象为一个“状态”,一个棋手在一个棋局下走一步棋,被抽象为该状态下的一个“动作”。一个状态下往往可以有多个动作,它们具有不同的发生概率,于是形成动作集合上的一个“转移概率分布”。理论上可以针对不同对手,“学习”一个对手在所有状态下的转移概率分布。可是,一个棋手在任何状态下的转移概率分布都是稳定存在的吗?这迄今没有得到理论证明或实验验证。如果不存在稳定的概率转移分布,怎么能“学会”?其次,围棋的棋局总数为2.08×10<sup>170</sup>个,如何有效“学习”、存取这么多状态下的转移概率分布?这在工程上是困难的。AlphaGo最初也使用了这个模型,AlphaGoZero则完全放弃了模型中的转移概率分布,代之以平均胜率(即优化数据中的πi)。这样一改,虽然模型的解析性丧失了,但是保证了平均胜率的存在性,而且工程上可以有效“学习”、存取平均胜率。这是AlphaGo Zero在人工智能建模理念上的一个重大突破,也是这个项目自身的主要创新点。
PDF 物理页索引 2928
文件中的第 2929 页 · 印刷页码:未识别
根据以上对人工智能不确定性问题的分析,以及对大量实际问题的考察和尝试,近年来我提出了一种应对人工智能不确定性挑战的新想法,称为融差性思维。
融差性思维:原理、意义和案例分析
根据以上对人工智能不确定性问题的分析,以及对大量实际问题的考察和尝试,近年来我提出了一种应对人工智能不确定性挑战的新想法,称为融差性思维,并初步完成了一些相关研究工作,验证了融差性思维在一些挑战性问题中的有效性。
“融差性”的双重内涵如下:第一,在一定范围内容忍各种“差”的不利影响,包括观察和动作误差,以及决策、动作和观察的某些偏差,在有“差”的情况下完成不确定性任务;第二,在一定条件下主动利用各种“差”所隐含的机遇,通过“融会贯通”误差、偏差和差别的方式,更好地完成不确定性任务。
PDF 物理页索引 2929
文件中的第 2930 页 · 印刷页码:未识别
下面通过对生活中一个融差性思维实例的分析,比较融差性思维和精确性思维之间的主要区别,进而阐明融差性思维的原理和意义。老农是如何让米缸尽量多地盛米的?很简单,先在缸里放一些米,使劲摇晃米缸,于是米粒之间的空隙就会被压缩,占用的空间就会减小,然后再放进去更多的米,再摇晃,直到米粒占用的空间无法继续减小为止。
用精确性思维(以暴力法为代表)解决这类问题,首先要建立问题的一个精确模型,在模型基础上反复进行如下观察–决策–行动循环,直到问题得到解决:观察,针对模型指定的独立对象,观测、获取相关的精确信息;决策(包括预测和规划),通过对观察信息的精确分析,决定下一步采取什么动作;行动,执行决策决定的精确动作。
为了建模,精确性思维将米缸中的每一粒米都视为一个独立对象,针对它们的位姿(在三维空间中的位置和姿态,即朝向)建立数学模型,作为观察、决策和行动的基础。由于米缸场景是一个不确定性问题,通常采用决策论形式化建模方法,为此需要引入观察不确定性假设和动作不确定性假设,它们的主要内容分别是:当对每一粒米的位姿进行观察时,观察误差服从什么概率分布?当调整每一粒米的位姿时,调整动作的误差服从什么概率分布?由此可见,引入不确定性假设的根本目的是弥补“完美的”(即精确性)理论思维与不完美的(即不确定的)现实之间的鸿沟,力图将后者最大限度地归结为前者——概率分布虽然没有一阶确定性(普通精确性),但体现了二阶确定性。不过,这种尝试的实际操作隐含着很多困难,比如,如何确定应该采用哪种概率分布函数,该分布函数的参数如何获得,假设的分布函数与实际观察和动作的偏差有多大,模型表示和求解的计算效率如何。尤其值得注意的是,不仅在米缸场景中,而且在人工智能尝试过的一切大规模不确定性应用场景中,这些问题都没有得到有效解决。