电子工程师眼中的人工智能

核心观点:

  • 基于机器学习的人工智能拓展了原先的确定性逻辑系统,让机器完成一些人类无法明确定义的任务,比如人脸识别

  • 目前人工智能会带来智能机器的进一步自动化革命,因此所有讨论也应该围绕“自动化”这个母题才合理,奢谈“超人类智慧体”毫无意义

人工智能现在火的一塌糊涂,火到许多做我们电子工程这一行的朋友都想要刷题转行,伴随着这股火热的同时也有许多朋友疑惑不解,到底这波人工智能能为我们的生活带来什么变化?沿目前的技术发展下去,真的很快人工智能就会像Elon Musk所说威胁到人类吗?今天和大家从工程师的角度分析一下,目前所说的人工智能到底是怎么回事。

今天的人工智能系统有何不同?

目前的人工智能系统,首先是一台机器,有输入,有输出。这么一说,瞬间就没这么玄乎了吧!比如说目前在中国许多城市已经铺开的人脸识别打卡系统,其输入就是一张由摄像头采集到的照片,而其输出就是人脸相关信息——如果照片中没有人脸,就没有输出;如果发现了人脸,就把检测到的人脸打个框,如果检测到的人脸能和数据库里面的员工照片对得上,比如说下图中的检测到范冰冰来打卡了,就“哔”一声,表示你范冰冰已经被识别而且打卡成功!

技术文章,放一张美女人脸识别照片,防止文章太枯燥一拉到底!

继续往下看,那么现在使用所谓“人工智能”的人脸识别和之前的技术有什么区别?这位读者大哥可能要说了,记得很久以前数码相机上也能做人脸检测啊!那今天的人工智能和几年前的技术又有啥区别呢?

几年前的人脸识别技术

这个区别值得好好讲一讲。在之前的机器视觉领域,为了完成人脸识别之类的任务,首先会用图像滤波器去提取图像中的特征,然后根据特征的分布再去分析是否检测到了人脸。在传统的方法中,这些特征都是事先定义好的,例如Haar,HoG等等,一种看起来不太适合这种任务就换一种特征,如果现有的滤波器提取的特征都不行那就想想能不能修改一下这个特征的提取方式以更适合,这种传统的方法叫做“特征工程”,即feature engineering。

这一招在其他信号处理中也很常见,其实质就是把信号转换到另一个域去分析,比如我们一般会把信号用傅立叶变换转换到频域看看特征,或者傅立叶变换效果不好我们会试试小波分析,等等。

然而,特征工程在许多领域,特别是图像识别领域的效果渐渐遇到了瓶颈,因为人设计的特征往往不够好。那么怎么办呢?这时候,目前最火的神经网络机器学习恰好能解决瓶颈。神经网络机器学习的本质是,每一层神经网络都会提取特征并送入下一层网络继续处理,但是其比较特别的地方是,特征并不是实现定义的,而是通过训练得到的!训练的时候,送进去大量数据,并且把神经网络的输出结果与正确答案比对,并动态调整每一层神经网络的特征提取方法(例如滤波器的权重)。这样,通过训练的方法,就可以摆脱特征工程的局限性,让神经网络自动找到训练数据集上最优的特征提取办法。可以想象,当训练数据集足够大的时候,就可以近似地说神经网络找到了针对该应用所有数据的通用最优特征提取方法。这也是目前机器学习最牛的地方:随着数据越来越多,算法会越来越智能。从另一个角度来说,数据也是目前人工智能最重要的资源!

人工智能实现的就是基于统计的自动化系统

我们再从另一个角度来看这个问题。在过去,我们工程师解决问题都是通过第一原理,使用确定性逻辑。比如说,你要设计一个自动控制湿度的系统,你需要湿度传感器,当湿度低于某个阈值时,打开加湿器;当湿度高于某个阈值时,则关掉加湿器。这一切的逻辑规则都是确定的,完全处于设计这的掌控之下。这就相当于传统的“特征工程”方法,一切都是确定而可理解的。

当然这么做会有极限,因为确定性逻辑系统需要你对于任务的细节有很明确的定义,但是很多任务是难以明确定义的。比如,如果让你做人脸识别,怎么做?你会说,人的脸都有两只眼睛一只鼻子一张嘴,但是如果碰到眼镜特别小的怎么办?戴口罩的怎么办?等等等等,所以说按照人的逻辑规则是很难穷尽这一切情况的。这也是确定性逻辑系统的瓶颈。而现在的基于机器学习的人工智能,就是使用了一套基于统计规律的系统。它让系统在大数据上训练出一套规则,这些规则可能不会被设计者理解,但是只要从统计的角度来说,正确率足够高,就行。就像现在机器学习实现人脸识别时,提取的特征到底都长得稀奇古怪,甚至做机器学习的人都不能理解为啥会提取出这样的特征,也不能完全理解为什么这样的特征能让神经网络工作得这么好!

机器识别深度学习提取的特征,设计者都无法理解为什么这样的特征能让系统工作得这么好

目前人工学习能带来新一波自动化,但是离超越人类之类的还早

应该说,目前基于机器学习的人工智能拓展了原先的确定性逻辑系统,让机器完成一些人类无法明确定义的任务,比如人脸识别。但是,我们说来说去,这一切都是在“机器”的范畴中讨论的。而机器,从一开始发明的目的,就是为了自动化,代替人类更好地完成一些任务。可以说,机器的自动化经历了几次飞跃,从最初的机械化,到上世纪开始的电子自动化,而这次的人工智能可能会带来机器的第三次自动化飞跃

因此,所有关于这次人工智能浪潮的讨论,也应当围绕“智能机器自动化”这个母题。讨论“哪些人工重复工作可以被基于人工智能的机器所取代”,“有哪些新的领域可以应用大数据机器学习从而实现自动化”等等都靠谱的,但如果脱离了“智能机器自动化”而去奢谈“超人工智慧体”什么的,就没有什么意义。之前AlphaGo战胜了李世石,于是有人惊呼“人工智能要超越人类了”,其实我觉得没什么好惊讶的,机器在自己的领域从一开始就比人类强,不信你去和计算器比比开方运算计算速度和精确度,或者去和汽车比比速度。而人工智能,就只是一类新的机器而已。

那么目前的人工智能技术比起科幻小说里面的强人工智能还缺什么?缺好多,我们先不说推理、抽象思考能力等等,就说目前用基于统计的自动化,也有很多问题。最主要的问题,就是不确定性。之前的基于确定逻辑的系统,什么时候系统会失效对于设计者来说是很清楚的,因此只要尽量不让系统工作在会失效的情况下就行。但是,对于基于统计的系统,什么时候会工作什么时候失效设计者是不清楚的,因为连设计者本身也不能完全理解训练出来的深度学习系统:即使在测试数据集上效果很好,在实际运行中也会因为这样或者那样莫名其妙的原因失效。Tesla之前的事故,就是典型的例子:据分析,自动驾驶系统把白色大卡车当成了远处的白云因此撞了上去,而这样的错误在设计验证中很难被验证到。正因为存在这样的不确定性,目前的人工智能系统在对于可靠性要求较高的场合可以减少人的工作量,但是却不能完全代替人。比如说,如果对于人脸识别的要求很高,那么人工智能人脸识别可以做的是把原来需要5个人的前台减少到1个人,因为人工智能可以完成绝大多数的人脸识别任务;然而,那最后一个人却不能被完全替代,因为归根到底还是需要有一个人在那边把关,防止人工智能系统出错。

人工智能时代,将会有电子工程师的一片天

人工智能可以大大增加机器的自动化程度,但是自动化的实现方式并没有区别,仍然是基于电子器件。因此,电子工程在人工智能时代不会被淘汰,反而会发挥更大的作用,因为目前基于冯-诺伊曼式经典架构的处理器系统在未来的人工智能系统中是否需要做改动才能实现最优效率还有争论,许多大师级人物(如David Patterson,John Hennessy等)都认为异构计算将会成为未来的主宰架构,所以人工智能时代,还有许多事等着电子工程师去做!

产业
相关数据
强人工智能技术
Artificial General Intelligence

强人工智能或通用人工智能(Strong AI或者 Artificial General Intelligence)是具备与人类同等智慧、或超越人类的人工智能,能表现正常人类所具有的所有智能行为。强人工智能是人工智能研究的主要目标之一,同时也是科幻小说和未来学家所讨论的主要议题。相对的,弱人工智能(applied AI,narrow AI,weak AI)只处理特定的问题。弱人工智能不需要具有人类完整的认知能力,甚至是完全不具有人类所拥有的感官认知能力,只要设计得看起来像有智慧就可以了。由于过去的智能程式多是弱人工智能,发现这个具有领域的局限性,人们一度觉得强人工智能是不可能的。而强人工智能也指通用人工智能(artificial general intelligence,AGI),或具备执行一般智慧行为的能力。强人工智能通常把人工智能和意识、感性、知识和自觉等人类的特征互相连结。

神经网络技术
Neural Network

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

阿尔法围棋技术
AlphaGo

阿尔法围棋是于2014年开始由英国伦敦Google DeepMind公司开发的人工智能围棋程序。AlphaGo是第一个打败人类职业棋手的计算机程序,也是第一个打败围棋世界冠军的计算机程序,可以说是历史上最强的棋手。 技术上来说,AlphaGo的算法结合了机器学习(machine learning)和树搜索(tree search)技术,并使用了大量的人类、电脑的对弈来进行训练。AlphaGo使用蒙特卡洛树搜索(MCTS:Monte-Carlo Tree Search),以价值网络(value network)和策略网络(policy network)为指导,其中价值网络用于预测游戏的胜利者,策略网络用于选择下一步行动。价值网络和策略网络都是使用深度神经网络技术实现的,神经网络的输入是经过预处理的围棋面板的描述(description of Go board)。

人脸识别技术
Facial recognition

广义的人脸识别实际包括构建人脸识别系统的一系列相关技术,包括人脸图像采集、人脸定位、人脸识别预处理、身份确认以及身份查找等;而狭义的人脸识别特指通过人脸进行身份确认或者身份查找的技术或系统。 人脸识别是一项热门的计算机技术研究领域,它属于生物特征识别技术,是对生物体(一般特指人)本身的生物特征来区分生物体个体。

特征工程技术
Feature engineering

特征工程是利用数据所在领域的相关知识来构建特征,使得机器学习算法发挥其最佳的过程。它是机器学习中的一个基本应用,实现难度大且代价高。采用自动特征工程方法可以省去采用人工特征工程的需求。Andrew Ng 说“挖掘特征是困难、费时且需要专业知识的事,应用机器学习其实基本上是在做特征工程。”

逻辑技术
Logic

人工智能领域用逻辑来理解智能推理问题;它可以提供用于分析编程语言的技术,也可用作分析、表征知识或编程的工具。目前人们常用的逻辑分支有命题逻辑(Propositional Logic )以及一阶逻辑(FOL)等谓词逻辑。

机器学习技术
Machine Learning

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

自动驾驶技术
self-driving

从 20 世纪 80 年代首次成功演示以来(Dickmanns & Mysliwetz (1992); Dickmanns & Graefe (1988); Thorpe et al. (1988)),自动驾驶汽车领域已经取得了巨大进展。尽管有了这些进展,但在任意复杂环境中实现完全自动驾驶导航仍被认为还需要数十年的发展。原因有两个:首先,在复杂的动态环境中运行的自动驾驶系统需要人工智能归纳不可预测的情境,从而进行实时推论。第二,信息性决策需要准确的感知,目前大部分已有的计算机视觉系统有一定的错误率,这是自动驾驶导航所无法接受的。

信号处理技术
Signal processing

信号处理涉及到信号的分析、合成和修改。信号被宽泛地定义为传递“关于某种现象的行为或属性的信息(如声音、图像和生物测量)”的函数。例如,信号处理技术用于提高信号传输的保真度、存储效率和主观质量,并在测量信号中强调或检测感兴趣的组件。我们熟悉的语音、图像都可以看做是一种信号形式。因此,对于语音、图像的增强、降噪、识别等等操作本质上都是信号处理。

权重技术
Weight

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。

深度学习技术
Deep learning

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

小波分析技术
Wavelet analysis

小波分析(英语:wavelet analysis)或小波变换(英语:wavelet transform)是指用有限长或快速衰减的、称为“母小波”(mother wavelet)的振荡波形来表示信号。该波形被缩放和平移以匹配输入的信号。

推荐文章