方弦
不管我们是否愿意,形形色色的人工智能(Artificial Intelligence,简称AI)早已深入日常生活。对违章车辆车牌的自动识别,网上搜索的自动推荐,懂得自己充电和探索地形的扫地机器人,还有会帮你自动排好日程的智能助理……这一切,将人们从种种无趣的脑力劳动中解放出来,同时也带来了众多机遇和挑战。但鲜为人知的是,在背后支撑这些人工智能的,其实是一个个数学定理和计算机算法。
思考向来是人类的专长。通过思考,人类获得了其他动物不具备的能力。自然,人们也想要造出能够辅助思考的机器,以减轻自己的负担,这就是AI的起点。
思考既然如此强大,要模拟它就很困难,于是,人们将起点放在其中比较简单的一部分—逻辑推理。AI最初的一步,就是教会机器逻辑推理的方法,即具体的算法。
但在考虑算法之前,有一个更根本的问题:我们怎么知道逻辑推理一定正确,而正确的命题必定能通过逻辑推理得到吗?换句话说,真理是否一定能被证明?
这个问题属于数理逻辑的范畴,对不同的逻辑系统,答案也不同。幸好,美国数学家哥德尔证明了在所谓“一阶谓词演算”的体系中,答案是肯定的。这个定理铺平了自动逻辑推理的道路。从20世纪60年代开始,各种自动推理系统陆续出现,只要向它们输入以逻辑命题表达的某个领域的知识,它们就摇身一变,成为“专家系统”,并自动进行推理,回答人们提出的相关问题。
作为早期的AI,自动推理系统曾被寄予厚望,但人们逐渐发现它有不少弱点。首先,它需要专家花费宝贵的时间来将知识整理成逻辑命题;其次,这些知识常常充满各种例外,难以用逻辑完全概括。如果勉强去概括的话,得到的就是一个“头脑简单”的AI,虽然能正确应对大多数情况,但面对少数情况时会束手无策甚至闹出笑话。所以,目前它主要被用于一些相对狭隘简单的领域,比如数学和交通调度。怎样才能避免这个缺点呢?
专家系统的问题在于,它需要专家为它总结知识。但专家也是人,在整理自己的知识时,难免有疏漏,忽略某些罕见的情况。就像医生遇见感冒症状,并不会一下子想到心肌炎。但医生在结合其他少见的症状后,仍然能做出正确的诊断,这就是人的优势—懂得变通。
那能不能将这个优势移植到AI上呢?还是以医生为例:如果让医生用自己的经验为人工智能编写一部教科书,这将是个艰巨的任务。但医生的经验也体现在诊断结果上,如果能直接从医生经手的病历中学到他们的经验,这不仅节省了时间,还不会漏掉那些不常见但确实会出现的病例。
为了做到这一点,计算机科学家依靠大量线性代数、统计学和概率论的知识,发明了各种各样的算法,从看似杂乱无章的海量数据中提取统计上有意义的规律,这就是统计学习和大数据分析的基础之一。人们利用这些算法,能从互联网无数页面之间的相互链接中推断某个网站的重要性,从而改善网络搜索;也能通过对大量病例的分析,为某些特定的疾病提供早期的发现和诊断;还能从互联网海量的双语对照资料中,得知如何将一种语言翻译为另一种语言。
大数据的应用可谓数不胜数,虽然这些算法本质上属于某种统计方法,做不到绝对可靠,但在实践中它们的表现十分出色。例如IBM研发的AI系统Watson,在阅读大量资料后,摇身一变成为星级客服,能回答顾客各种各样的提问。
但统计学习也有无法解决的问题。比如,要判断一张照片中有没有猫,对于人类来说是小菜一碟,但对于机器来说,图片包含的信息太多,即使对于统计学习,要利用这样的数据还是太棘手了。那么,人类的大脑又是怎么处理这些信息的呢?能不能将这种处理方法搬到机器上呢?
在人类大脑中,负责处理数据的是上千亿个名为“神经元”的细胞。它们之间通过电脉冲互相传递信息,每个神经元受到一定阈值的刺激,就会向自身连接的其他神经元发送电信号。这些纷繁复杂的信号组成了人类的思维。AI研究者尝试在计算机上重现类似的系统,试图模仿人类思维这一演化的奇迹。这就是所谓的“神经网络”。当然,我们现在仍然无法模拟整个大脑,但即使是数万个神经元组成的系统,能力已经非同凡响。
跟人一样,神经网络也需要利用相应的数据进行大量的学习,才能解决问题,而学习的方法会深刻影响最后的结果。目前,神经网络的研究主要集中于所谓的“前馈神经网络”,数学家证明了它们在理论上足以解决所有问题。为了得到实用的神经网络,科学家利用数学分析中的知识,借鉴人脑的部分结构,设计了特殊的神经网络结构,还有配套的高速并行学习算法,利用大型计算机、显卡以及专用芯片提供的大量计算能力,训练出优秀的神经网络以供应用。只要向训练好的神经网络输入数据,它就能输出相应的计算结果。
尽管人工智能现在已经能解决很多问题,但对它的研究才刚刚开始。之前提到的所有实现人工智能的方法,全都需要处理海量的数据,但反观人类自身,我们能举一反三,不需要阅读整个互联网的数据,就能学会一种语言或者一门学科。如何将这种触类旁通的能力移植到机器上,是对人类智慧的又一个挑战。
神经网络应用广泛,特别是在图像处理方面,之前提到的自动识别车牌就是实例之一。现在还出现了“刷脸支付”,只要在摄像头前点点头,神经网络就能识别出你的身份,自动记录你应付的账单。而神经网络最有名的应用,恐怕就是击败世界围棋第一人柯洁的围棋人工智能AlphaGo。它的神经网络能将棋盘当作一幅图画,从中“看出”目前局势的优劣。再结合其他算法,AlphaGo得到了远超人类的围棋水平。这不是人类的造物第一次超过人类自身,但也许是最震撼的一次,因为我们其实并不完全理解AlphaGo为什么能下出如此犀利的围棋。endprint