从人工智能到深度学习

(整期优先)网络出版时间:2018-10-20
/ 3

从人工智能到深度学习

张韡

(中国石油天然气股份有限公司河南销售分公司450046)

摘要:从人脑科学和现代心理学分析,人类的认知主要还是通过学习和试错中完成。观看这几年人工智能发展,也是这样我们周围的事物正变得越来越智能。从汽车到智能手机,到个人数字助理,甚至包括机器人。我们不只是在讲每天层出不穷的、突破性的新功能。更重要的是,设备、计算机和机器都在聪明地执行任务。

“人工智能”一词最早由认知科学家约翰·麦卡锡在研究中提出,他写到,“这项研究基于一种推测,即任何学习行为或其它智力特征,在原则上都可以被精确地描述,从而可以制造出一台机器来模拟它。”这种描述在今天仍然适用,只是复杂性增加了一些。

你也许最近经常听到“人工智能”和另外几个词汇同时出现,特别是“机器学习”和“深度学习”。它们经常被互换使用,尽管它们存在关联,但其实并非同一事物。

这样说可能会让人感到困惑。我们通过一个经典的例子来解释人工智能、机器学习和深度学习之间的区别:比较梨、苹果和橙子。

一、人工智能

从广义上讲,人工智能(ArtificialIntelligence)描述一种机器与周围世界交互的各种方式。通过先进的、像人类一样的智能——软件和硬件结合的结果——一台人工智能机器或设备就可以模仿人类的行为或像人一样执行任务。

我们今天读到了很多关于人工智能的内容,比如语音识别(用于智能个人助理设备或者智能手机),面部识别(被用在目前人脸支付、12306验票、智能门锁和社交媒体上很流行的滤镜中),或者物体识别(比如搜索梨、苹果和橙子的图片)。然而这些功能是如何实现的?

从根源上看,配备人工智能的机器会模仿人类的思维过程,比如分辨梨、苹果和橙子的能力。

二、机器学习

机器学习(MachineLearning)是人工智能的一种途径或子集,它强调“学习”而不是计算机程序。一台机器使用复杂的算法来分析大量的数据,识别数据中的模式,并做出一个预测——不需要人在机器的软件中编写特定的指令。在错误地将梨或者苹果当成橙子之后,系统的模式识别会随着时间的推移而不断改进,因为它会像人一样从错误中吸取教训并纠正自己。

通过机器学习,一个系统可以从自身的错误中学习来提高它的模式识别能力。

通过机器学习,一个系统可以从自身的错误中学习来提高它的模式识别能力。

三、深度学习

深度学习(DeepLearning)(也称为深度结构学习【DeepStructuredLearning】、层次学习【HierarchicalLearning】或者是深度机器学习【DeepMachineLearning】)是一类算法集合,是机器学习的一个分支。机器学习的一个子集,推动计算机智能取得长足进步。它用大量的数据和计算能力来模拟深度神经网络。从本质上说,这些网络模仿人类大脑的连通性,对数据集进行分类,并发现它们之间的相关性。如果有新学习的知识(无需人工干预),机器就可以将其见解应用于其他数据集。机器处理的数据越多,它的预测就越准确。

它尝试为数据的高层次摘要进行建模。以一个简单的例子来说,假设你有两组神经元,一个是接受输入的信号,一个是发送输出的信号。当输入层接收到输入信号的时候,它将输入层做一个简单的修改并传递给下一层。在一个深度网络中,输入层与输出层之间可以有很多的层(这些层并不是由神经元组成的,但是它可以以神经元的方式理解),允许算法使用多个处理层,并可以对这些层的结果进行线性和非线性的转换。

深度学习的思想与人工神经网络思想是一致的。总的来说,神经网络是一种机器学习架构,所有的个体单元以权重的方式连接在一起,且这些权重是通过网络来训练的,那么它就可以称之为神经网络算法。人工神经网络算法的思想来源于模仿人类大脑思考的方式。人类大脑是通过神经系统得到输入信号再作出相应反映的,而接受外部刺激的方式是用神经元接受神经末梢转换的电信号。那么,我们希望通过人造神经元的方式模拟大脑的思考,这就产生了人工神经网络了。人工神经元组成了人工神经网络的计算单元,而人工神经网络结构描述了这些神经元的连接方式。我们可以采用层的方式组织神经元,层与层之间可以互相连接。以前受制于很多因素,我们无法添加很多层,而现在随着算法的更新、数据量的增加以及GPU的发展,我们可以用很多的层来开发神经网络,这就产生了深度神经网络。而深度学习其实就是深度神经网络的一个代名词。关于人工神经网络算法可以参考人工神经网络(ArtificialNeuralNetwork)算法简介。

近些年来,深度学习通过在某些任务中极佳的表现正在改革机器学习。深度学习方法在会话识别、图像识别、对象侦测以及如药物发现和基因组学等领域表现出了惊人的准确性。但是“深度学习”这个词语很古老,它在1986年由Dechter在机器学习领域提出,然后在2000年有Aizenberg等人引入到人工神经网络中。而现在由于AlphaGo是第一个击败人类职业围棋选手、第一个战胜围棋世界冠军的人工智能机器人,由谷歌(Google)旗下DeepMind公司戴密斯·哈萨比斯领衔的团队开发,2016年3月9日至15日击败韩国棋手李世石总比分1:4,2017年5月23日至27日击败柯洁总比分0:3,最终于2017年10月18日,DeepMind团队公布了最强版阿尔法围棋,代号AlphaGoZero,这几件事受到大家的瞩目。

(一)深度学习架构

1.生成式深度架构(Generativedeeparchitectures),主要是用来描述具有高阶相关性的可观测数据或者是可见的对象的特征,主要用于模式分析或者是总和的目的,或者是描述这些数据与他们的类别之间的联合分布。(其实就是类似与生成模型)

2.判别式深度架构(Discriminativedeeparchitectures),主要用于提供模式分类的判别能力,经常用来描述在可见数据条件下物体的后验类别的概率。(类似于判别模型)

3.混合深度架构(Hybriddeeparchitectures),目标是分类,但是和生成结构混合在一起了。比如以正在或者优化的方式引入生成模型的结果,或者使用判别标注来学习生成模型的参数。

(二)深度学习网络

尽管上述深度学习架构的分类比较复杂,其实实际中对应的模型的例子就是深度前馈网络,卷积网络和递归神经网络(Deepfeed-forwardnetworks,ConvolutionnetworksandRecurrentNetworks)。

1.深度前馈网络(Deepfeed-forwardnetworks)

深度前馈网络也叫做前馈神经网络,或者是多层感知机(MultilayerPerceptrons,MLPs),是深度学习模型中的精粹。

前馈网络的目标是近似某些函数。例如,对于一个分类器,y=f(x)y=f(x)来说,它将一个输入值xx变成对应的类别yy。前馈网络就是定义一个映射y=f(x;\theta)y=f(x;θ),并学习出参数\thetaθ使得产生最好的函数近似。

简而言之,神经网络可以定义成输入层,隐含层和输出层。其中,输入层接受数据,隐含层处理数据,输出层则输出最终结果。这个信息流就是接受xx,通过处理函数ff,在达到输出yy。这个模型并没有任何的反馈连接,因此被称为前馈网络。

2.卷积神经网络(ConvolutionNeuralNetworks)

在机器学习中,卷积神经网络(简称CNN或者ConvNet)是一种前馈神经网络,它的神经元的连接是启发于动物视觉皮层。单个皮质神经元可以对某个有限空间区域的刺激作出反应。这个有限空间可以称为接受域。不同的神经元的接受域可以重叠,从组成了所有的可见区域。那么,一个神经元对某个接受域内的刺激作出反应,在数学上可以使用卷积操作来近似。也就是说,卷积神经网络是受到生物处理的启发,设计使用最少的预处理的多层感知机的变体。

卷积神经网络在图像和视频识别、推荐系统以及自然语言处理中都有广泛的运用。

LeNet是早期推动深度学习发展的卷积神经网络之一。这是YannLeCun从1988年以来进行的许多词的成功迭代后得到的开创性工作,称之为LeNet5。在当时,LeNet架构主要用来进行字符识别的工作,如读取邮编,数字等。卷积神经网络主要包含四块:卷积层(ConvolutionalLayer)、激活函数(ActivationFunction)、池化层(PoolingLayer)、全连接层(FullyConnectedLayer)。

卷积层(ConvolutionalLayer)是基于单词“卷积(Convolution)”而来,这是一种数学上的操作,它是对两个变量f*gf∗g进行操作产生第三个变量。它和互相关(cross-correlation)很像。卷积层的输入是一个m\timesm\timesrm×m×r图像,其中m是图像的高度和宽度,r是通道的数量,例如,一个RGB图像的通道是3,即r=3r=3。卷积层有kk个滤波器【filters】(或者称之为核【kernel】),其大小是n\timesn\timesqn×n×q,这里的nn是比图像维度小的一个数值,qq既可以等于通道数量,也可以小于通道数量,具体根据不同的滤波器来定。滤波器的大小导致了

激活函数(ActivationFunction)是为了实现复杂的映射函数,我们需要使用激活函数。它可以带来非线性的结果,而非线性可以使得我们很好的拟合各种函数。同时,激活函数对于压缩来自神经元的无界线性加权和也是重要的。它可以避免我们把大的数值在高层次处理中进行累加。激活函数有很多,常用的有sigmoid,tanh和ReLU。

池化层(PoolingLayer)是一个基于样本的离散化过程。其目的上降低输入表示的采样(这里的输入可以是图像,隐层的输出等),减少它们的维度,并允许我们假设特征已经被包含在了子区域中。

这部分的作用是通过提供一种抽象的形式表示来帮助过拟合表示。同样的,它也通过减少了参数的数量降低了计算的复杂度并为内部的表示提供一个基本的不变性的转换。

目前最常用的池化技术有Max-Pooling、Min-Pooling和Average-Pooling。下图是2*2滤波器的Ma-Pooling操作示意图。

全连接层(FullyConnectedLayer)“全连接”的意思是指先前的层里面的所有的神经元都与后一个层里面的所有的神经元相连。全连接层是一种传统的多层感知机,在输出层,它使用softmax激活函数或者其他激活函数。

3.递归神经网络(RecurrentNeuralNetworks)在传统的神经网络中,我们假设所有的输入之间相互独立。但是对于很多任务来说,这并不是一个好的主意。如果你想知道一个句子中下一个单词是什么,你最好知道之前的单词是什么。RNN之所以叫RNN就是它对一个序列中所有的元素都执行相同的任务,所有的输出都依赖于先前的计算。另一种思考RNN的方式是它会记住所有之前的计算的信息。

一个RNN里面有很多循环,它可以携带从输入中带来的信息。由于任何输入和输出都可以在RNN中变成一对一或者多对多的形式,RNN可以用在自然语言处理、机器翻译、语言模型、图像识别、视频分析、图像生成、验证码识别等领域。

(三)深度学习应用

深度学习有很多应用,很多特别的问题也可以通过深度学习解决。一些深度学习的应用举例如下:

1.黑白图像的着色

深度学习可以用来根据对象及其情景来为图片上色,而且结果很像人类的着色结果。这中解决方案使用了很大的卷积神经网络和有监督的层来重新创造颜色。

2.机器翻译

深度学习可以对未经处理的语言序列进行翻译,它使得算法可以学习单词之间的依赖关系,并将其映射到一种新的语言中。大规模的LSTM的RNN网络可以用来做这种处理。

3.图像中的对象分类与检测

这种任务需要将图像分成之前我们所知道的某一种类别中。目前这类任务最好的结果是使用超大规模的卷积神经网络实现的。突破性的进展是AlexKrizhevsky等人在ImageNet比赛中使用的AlexNet模型。

4.自动产生手写体

这种任务是先给定一些手写的文字,然后尝试生成新的类似的手写的结果。首先是人用笔在纸上手写一些文字,然后根据写字的笔迹作为语料来训练模型,并最终学习产生新的内容。

5.自动玩游戏

这项任务是根据电脑屏幕的图像,来决定如何玩游戏。这种很难的任务是深度强化模型的研究领域,主要的突破是DeepMind团队的成果。

6.聊天机器人

一种基于sequencetosequence的模型来创造一个聊天机器人,用以回答某些问题。它是根据大量的实际的会话数据集产生的。想了解详情,可以参考:https://medium.com/shridhar743/generative-model-chatbots-e422ab

08461e

通过深度学习,机器可以处理大量数据,识别复杂的模式,并提出深入的见解。

由于模仿了人类大脑,深度学习可以运用在很多领域中。目前有很多领域都在研究使用深度学习解决问题。尽管目前信任是个问题,但是它终将被解决。例如,一台深度学习的设备可以检查大数据——比如通过水果的颜色、形状、大小、成熟时间和产地——来准确判断一个梨是不是产自新疆雪梨,一个苹果是不是青苹果,一个橙子是不是血橙。

人工智能、机器学习和深度学习之间的差异并不像梨、苹果和橙子那么明显,它们更微妙。美国高通公司(Qualcomm)已将人工智能技术整合进骁龙移动平台,创造出令人折服的、直观的体验,让设备可以更深入地了解你。

机器学习技术在当代社会已经发挥了很大的作用:从网络搜索到社交网络中的内容过滤到电子商务网站的个性化推荐,它正在快速的出现在用户的消费品中,如摄像机和智能手机。机器学习系统可以用来识别图像中的物体,将语音转变成文字,匹配用户感兴趣的新闻、消息和产品等,也可以选择相关的搜索结果。

从人工智能的角度开看深度学习,我们就可以看到未来随着硬件计算能力的提升,软件设计和机器学习变得更加重要,产生的结果每个人从出生都有专属的有深度学习能力智能的设备,任何事情的判断都需要设备分析,最终影响到人类社会,发展出下一个社会阶段,那就是“次时代”社会。

论文引用:http://www.datalearner.com/blog/1051508121294475

https://blog.csdn.net/df19900725/article/details/78253482?utm_source=tuicool&utm_medium=referral

https://baike.baidu.com/item/%E9%98%BF%E5%B0%94%E6%B3%95%E5%9B%B4%E6%A3%8B/19319610?fr=aladdin