技术文章 > 头条 > 正文

人工智能离真正的智能还很漫长

silencement

简介

在跟非IT行业的朋友解释人工智能总是一个比较费劲的事情,他们对这块也有比较大的误区,本人虽然不是什么知名人士,但也从事过一段时间相关内容的学习与研究,本篇文章就尝试从较高的层面去讨论一下人工智能以及它目前的局限。

我会以我比较擅长的NLP(自然语言处理)领域作为例子,下面都是我个人观点,如有不对,还请斧正。

当前人工智能的本质

我们常说的人工智能通常指的是深度学习,因为近年大数据的兴起,让深度学习大展拳脚,但深度学习「理论层面的东西并没有大的突破」,依旧是旧的东西,本质依旧是概率论与统计学。

这里以微软小冰、苹果Siri这些智能助手为例,它们的技术原理其实都是对话系统+语音识别。当我们说一句话给小冰时,小冰此时做了什么?

小冰接收到这句话时,首先会进行语音识别,所谓语音识别就是利用它此前训练好的概率模型,计算这些语音数据对应了哪些文字,然后再进行对话预测,即这些文字下一句出现概率最大的文字是哪些,「小冰本身并没有理解我说的话,它只是通过计算概率给出回答」。

训练一个可以商用的聊天机器需要很多工程技巧的支撑,但本质就是概率模型这么回事,我们可以从微博上、从论坛上爬取大量的语料数据,这些数据是我们正常人类在网上留下的,进行复杂的预处理后,得到训练数据,而训练大致就是从这些数据中找到文字之间的规律。

举个例子,比如一个100T的语料中,出现了很多次「快来关注HackPython」这句话,那么模型就会记住「关注」这个词后大概率要接「HackPython」,但模型并没有理解这句话,它并不知道「HackPython」是一个公众号,并不知道「快来关注」是一种宣传表述,它知道的就只有概率。

NLP领域中,无论是「LSTM」、「GRU」,还是「注意力机制」,亦或是当前比较热门的「知识图谱」,都是基于文本在玩概率游戏,不同的方式只是在使用训练数据的信息时不同。

当前所有知名模型的本质都是如此,通过矩阵运算训练数据来获得某种概率分布,复杂模型的概率分布通常是高维的,这里又会引申出各种数学方法,如测度论、流形,但本质的思想依旧是想通过概率分布来描述训练数据的特征。有了这些,对于同类的数据,就可以使用相同的概率分布去描述,从而实现所谓的「识别」。

获得了概率分布后,其实还有问题缠绕着我们,如:为什么会训练出这样的概率分布?

这块对我们来说依旧是黑盒,我们也不知道这些数据通过这种模型训练后,为什么是这样的概率分布,即不可解释。

不可解释性的问题让深度学习在某些领域的使用受到一定的障碍,如金融领域,模型说这样投,大概率赚钱,但你无法严格的去证明这个结论的可靠性,只能直观的去解释,这就会让人犹豫,毕竟可能损失大量金钱。

同样的,自动驾驶也受到模型不可解释带来的困扰,自动驾驶依赖于图像识别技术。通过大量数据训练出的图像识别模型虽然有很高的识别率,但依旧存在问题,这点从「对抗攻击」领域的研究可以看出,当我们改变图像中少量的数据,图像识别模型就无法识别或识别错误。因为我们无法从数据层面去解释图像识别模型的概率分布,所以不清楚它在什么情况会失效。

识别与理解的差异

通过前面的讨论,可以知道,目前的深度学习做到的是「识别」,如语言识别、图像识别等,而并没有做到「理解」,这点从NLP领域可以很直观的看出,最智能的对话系统表现的依旧强差人意。

我们通过大量的数据的训练,在「识别」上已经有了不错的效果,这些效果已经可以产生很大的作用,比如人脸识别用于安检领域、车牌识别用于交通系统等等,「但关于理解的工作可能才刚刚开始」。

人工智能并不像我们想象的那么智能,无论是多么大的公司,推出多么先进的框架,什么自动调参、什么自动学习等牛逼的功能,本质都是如此,先进的框架只是让我们更快、更好的获得可以描述数据特征的概率分布,而这些概率分布并不能实现「理解」。

我们思考一下,人类是怎么做到「理解」的?

我们「理解」某个东西,通常指知道其背后抽象的概念,如「苹果」这个词,当我们看到这个词时,脑中会浮现出「苹果」相关的信息,这些信息并不来自「苹果」这个词,而是来自我曾经经历的生活,这些生活给了我们相应的背景知识,而这些背景知识让我们可以理解「苹果」这个词。

这些背景知识我们是怎么得到的?目前也还在研究。

这让很多学者开始质疑当前深度学习的研究路径是否正确,这里给出一个著名的讨论来展现当下我们训练模型的方式与自然界中真正学习方式的巨大差异。

日本的街头有很多乌鸦,研究人员发现这些乌鸦会偷坚果来吃,但乌鸦本身无法破开坚果的壳,那它们是怎么吃到坚果果肉的呢?它们在电线杆上观察十字路口的红绿灯,当红灯的时候,将坚果放在马路上,然后飞走,等绿灯,绿灯时,车流走过,将坚果果壳碾碎,当下次红灯时,乌鸦再飞过去悠闲的吃其中的果肉。

这件普通的事情表现了生物的学习其实只需要简单的观察就可以习得某个技能,这与深度学习学习方式完全不同,深度学习会利用大量的数据,然后反复的训练试错,使用试错获得的损失,利用梯度下降与反向传播的算法去更新模型,最终得到可以描述数据特征的概率分布,而乌鸦没有那么多命去试错,也没有那么多时间去试错。

可以说,乌鸦通过少量的观察「理解」了红绿灯的规律,而深度学习获得的模型无法做到。

自然界生物的学习方式与当前深度学习主流的学习方式之间具有的差异难以不让人疑惑。

莫拉维克悖论

1980 年汉斯・莫拉维克提到:要让电脑如成人般地下棋是相对容易的,但是要让电脑有如一岁小孩般的感知和行动能力却是相当困难甚至是不可能的。这便是著名的莫拉维克悖论(Moravec's paradox),这个悖论在当下依旧适用,简单而言,「困难的问题是简单的,简单的问题是困难的」是当下人工智能的处境。

对计算机而言,实现逻辑推理、数学运算等人类高级智慧只需要相对很少的计算能力,而实现感知、运动等低等级智慧却需要巨大的计算资源,这刚好与人类相反,对于感知、运动等,我们自身并不用费多少脑子就可以做好,而逻辑推导、数学计算这类问题却需要思考很久。

如何让人工智能具有「理解」能力?如何让人工智能对真实世界有基本的背景知识与反应?

当这两个问题解决了,我们才需要开始担心,人类会不会被人工智能取代。

但,深度学习带来的对数据特征的描述能力已经可以对一些职业产生致命的冲击,如工厂的工人,加了图像识别的机械臂可以很好的代替工人的大部分工作。

如果你担心一种技术或某件事情会对自己的产生影响,最好的方法就是去了解它,弄明白它的原理,而不是看各种媒体文章,他们只能扰乱视线,增加游戏难度。知道原理后,无知带来的担忧就会消散,自己也可以做出相应的调整。

文章虽然主要从NLP的角度去讨论问题,但这些现象存在于不同的领域,如图像处理、强化学习等。

最后,感谢阅读。

免费视频教程
本文转载于:juejin.im,如有侵犯,请联系a@php.cn删除
相关文章
 编程语言2019年5月Top 20排名Python排名第4位
 全球最容易学的编程语言-Python排名第二
 520情人节!教你用Python给自己造了一个女朋友
 2019 Python 计算生态五月推荐榜
 全栈开发高手必备的10款优秀Python Web框架
相关视频章节
 使用Pycharm里的Database对数据库进行可视化操作
 Django ORM常用操作介绍(新手必看)
 Pycharm新手教程,只需要看这篇就够了
 使用pycharm创建自己的第一个django项目
 Django2.0入门教程
推荐视频
视频教程分类