白话AI:从图灵机说起,人工智能到底用了哪些技术?

2166 字丨阅读本文需 4 分钟

  讨论技术之前,我们先来搞清楚,到底什么是人工智能(Artificial Intelligence)?简言之,就是用「机器」对人的意识、思维的信息过程的模拟。

  当初,「机器」并不是专指计算机,也可能是某种机械装置,因为计算机还没有发明出来,AI就出现了。另外,即使计算机也分为我们熟悉的图灵计算机和现在迅猛发展着的量子计算机或者DNA计算机等。

  但是AI真正繁荣发展,还是从图灵机出现之后才开始的。

  有的读者可能不是计算机专业的,所以简单介绍一下图灵机。同时要涉及一些数学和算法的知识,稍有些晦涩,大家要有一些耐心,否则没办法理解哪些更复杂的AI知识和术语。

  图灵机和图灵测试

  早在1900年,大数学家希尔伯特(David Hilbert )提出了著名的第十问题:

  Given a Diophantine equation with any number of unknown quantities and with rational integral numerical coefficients: To devise a process according to which it can be determined in a finite number of operations whether the equation is solvable in rational integers.(from Wikipedia)

  能否能通过有限步骤(算法)来判定不定方程存在有理整数解?

  图灵(Alan Turing,计算机科学与人工智能之父),被这个问题深深的吸引了,虽然后来的数学家证明Hillbert的第10问题中提到的那个算法不存在,但是,得到了一个最好的副产品,那就是1936年图灵提出了如下所示的图灵机:

  Turing Machine from Wikipedia

  A Turing machine is an abstract machine that manipulates symbols on a strip of tape according to a table of rules. (from Wikipedia)

  图灵机是指一个抽象的机器,它有一条无限长的纸带,纸带分成了一个一个的小方格。有一个机器头在纸带上移来移去。机器头有一些固定的程序。在每个时刻,机器头都要从当前纸带上读入一个方格信息,然后结合自己的内部状态查找程序表,根据程序输出信息到纸带方格上,并转换自己的内部状态,然后进行移动。

  冯?诺依曼(John von Neumann),和图灵是同一时期的大数学家,1946年领导研制出了众所周知的第一台现代电子计算机ENIAC,其工作原理就是和图灵机是一致的。

  1950年,图灵提出了著名的「图灵测试」,用来验证一个机器是否达到人类的智能,具体方法就是把一个机器A和一个人B分别关到不同房间里,测试者C通过装置(如键盘)和两者对话,如果30%以上的测试者不能区分机器和人,则认为机器A通过图灵测试。

  Turing Test from Wikipedia

  大家可以看出来,从希尔伯特、图灵到冯?诺依曼,整个人工智能AI的发展,都是大数学家们在推动前进的。所以,如果想真正理解AI的工作原理和发展趋势,必须了解相关的数学发展史和挑战。

  几个关键理论和技术

  1、图灵停机问题(Halting problem)

  图灵机本质上就是完成了从输入到输出的变换(计算),假设,程序P可以把所有的变换进行「归纳」,产生这些变换规则的「共性」,那么,图灵机应该能通过计算获得等同于人类的智能。但是,这个假设在图灵机上是不可计算的,这就是著名的图灵机停机问题:

  Halting problem is the problem of determining, from a deion of an arbitrary computer program and an input, whether the program will finish running or continue to run forever.

  停机问题就是判断任意一个程序是否会在有限的时间之内结束运行的问题。

  图灵本人已经在数学上证明了这个判断算法根本不存在。也就是说,总是有些人的智能对于图灵计算机来说,是不可解决的。通常也说,这个问题是和图灵停机问题计算等价的。

  所以,为了让机器获得强人工智能(General AI),人们开始研究「超越图灵计算」的量子计算或者DNA计算等。

  不过在弱人工智能(Narrow AI)领域,「深度学习」这个图灵可计算的方法还是能解决很多实际问题的。

  2、深度学习(Deep Learning)

  目前大家经常听到的谷歌大脑、百度大脑,核心技术就是用了深度学习,主要指了多隐含层的神经网络。在解释深度学习之前,我们来了解一下什么是机器学习,以及其和深度学习的关系。

  如上图所示,机器学习ML是人工智能AI的一个分支,深度学习DL又是机器学习ML的一个分支。

  机器学习ML就是通过算法,使得机器从大量历史数据中学习规律,提取特征值,例如语音识别里的MFCC特征、机器视觉里的SIFT特征等,再把这些特征放到各种机器学习模型中,从而对新的样本做智能识别或对未来做预测。

  问题来了,因为在经典机器学习里,这些特征提取算法都是人们根据具体场景数据的特征人工设计出来的,所以这种方法主要靠人工经验来抽取样本的特征。

  然而,深度学习DL的关键就是要从海量训练数据中自动提取特征,这也是Geoffrey Hinton和Yann LeCun这些大牛们的主要贡献。

  深度学习DL在教会计算机听(语音识别)、看(图像识别)、说(自然语言处理)上,都取得了很大的成绩,尤其是前两者分别比传统的MFCC和SIFT等识别率提高了20%到30%以上,这个进步是革命性的。

  简单白话一下深度学习的工作原理,一个神经元就是一个分类器,神经元模型就是不停的分类,最终不同特征就抱团了,神经网络神奇的地方就是每一个组件非常简单,但是一层一层级连(多隐含层)后,高质量的特征值就奇妙的产生了。

  当然,神经元的参数调整依然高度依赖人的经验,这也是为什么说深度学习DL依旧还是一个充满Tricks(Yann LeCun语)的Dirty Work(Andrew Ng语)。

  3、“人工”人工智能

  目前实践中,接地气的人工智能方法,除了前面说的深度学习DL,还有马上讨论的“人工”人工智能。

  2007年,一位谷歌的实习生路易斯?冯?安(Luis von Ahn)开发了一款有趣的程序“ReCapture”,却无意间开创了一个新的人工智能研究方向:「人类计算」。

  ReCapture的初衷挺简单的,想利用人类高超的模式识别能力,自动帮谷歌公司完成大量扫描图书的文字识别工作。于是,Luis von Ahn想到,每天都有大量的用户在输入验证码来向机器证明自己是人而不是机器,而输入验证码事实上就是在完成文本识别。

  于是,一方面是有大量的扫描的图书中难以识别的文字需要人来识别;另一方面是由计算机生成一些扭曲的让大量的用户做识别以表明自己的身份。那么,为什么不把两个方面结合在一起呢?Luis von Ahn聪明地让用户在输入识别码的时候悄悄帮助谷歌完成了文字识别工作!

  大家再想一下前文中我们提到的图灵测试,在这个「人类计算」ReCapture的例子中,用人来帮助识别文字,是不是就是A和B合二为一,他们一起给C提供AI服务了。

  世界就是这么神奇,人们探索人工智能AI一个多世纪了,虽然图灵机停机问题证明了目前现代图灵计算机的局限性,但是在「深度学习DL」和「“人工”人工智能」两个方向上依然砥砺前行。

  期望有一天,「超越图灵计算」的量子计算和DNA计算也有理论和实践上的突破。  如果人工智能不仅可以帮助我们整个社会拯救环境、治愈疾病和探索宇宙,还能更好地了解我们自己,这也许最终会成为人类获得的最伟大的发现之一。

免责声明:凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处本网。非本网作品均来自其他媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如您发现有任何侵权内容,请依照下方联系方式进行沟通,我们将第一时间进行处理。

0赞 好资讯,需要你的鼓励
来自:黑智
0

参与评论

登录后参与讨论 0/1000

为你推荐

加载中...