这是一个深度学习纵横的时代:究竟什么是深度学习?
深度学习是机器学习中一种基于对数据进行表征学习的方法。观测值(例如一幅图像)可以使用多种方式来表示,如每个像素强度值的向量,或者更抽象地表示成一系列边、特定形状的区域等。而使用某些特定的表示方法更容易从实例中学习任务(例如,人脸识别或面部表情识别)。
本文引用地址:http://www.amcfsurvey.com/article/202009/418166.htm深度学习的好处是用非监督式或半监督式的特征学习和分层特征提取高效算法来替代手工获取特征。深度学习是机器学习研究中的一个新的领域,其动机在于建立、模拟人脑进行分析学习的神经网络,它模仿人脑的机制来解释数据,例如图像,声音和文本。
人工智能、机器学习和深度学习三者的关系
深度学习与神经网络
现实世界中很多的问题都可以归为分类或者识别或者选择的问题,比如下围棋,下一步的棋子落在什么地方,就是此类问题。而研究此类问题,学术界研究出来一种叫做“神经网络”的学习策略。
深度学习的概念就源于人工神经网络的研究,含多隐层的多层感知器就是一种深度学习结构。深度学习通过组合低层特征形成更加抽象的高层表示属性类别或特征,以发现数据的分布式特征表示。
从X1/X2/X3输入到输出的过程,定义了一个层次的概念,譬如上图就包括四层,包含最左边的输入层,和最右边的输出层。如果这是一道选择题的话,那么题目就是输入层,而ABCD的选择结果就是输出层,如上图的L1和L2分别是输入层和输出层。
而选择题解题的过程是不写出来的,我们叫做”隐藏层“,这里L2和L3就是隐藏层,题目越难,给出的信息可能是越多的,而解题所需要的过程就越复杂的,也就可能需要更多的”隐藏层“来计算最终的结果。
最终要来解释什么是深度学习的”深度“了,就是从”输入层“到”输出层“所经历层次的数目,即”隐藏层“的层数,层数越多,板凳的深度也越深。所以越是复杂的选择问题,越需要深度的层次多。当然,除了层数多外,每层”神经元“,也就是如上图,橙色小圆圈的数目也要多。例如,AlphaGo的策略网络是13层,每一层的神经元数量为192个。
总结一句话,深度学习就是用多层次的分析和计算手段,得到结果的一种方法。深度学习是用于建立、模拟人脑进行分析学习的神经网络,并模仿人脑的机制来解释数据的一种机器学习技术。
它的基本特点是试图模仿大脑的神经元之间传递、处理信息的模式,最显著的应用是计算机视觉和自然语言处理(NLP)领域。显然,“深度学习”是与机器学习中的“神经网络”是强相关,“神经网络”也是其主要的算法和手段;或者我们可以将“深度学习”称之为“改良版的神经网络”算法。
深度学习发展史
学习任一门知识都应该先从其历史开始,把握了历史,也就抓住了现在与未来 —— by BryantLJ
起源阶段
1943年,由神经科学家麦卡洛克(W.S.McCilloch) 和数学家皮兹(W.Pitts)在《数学生物物理学公告》上发表论文《神经活动中内在思想的逻辑演算》(A Logical Calculus of the Ideas Immanent in Nervous Activity)。建立了神经网络和数学模型,称为MP模型。
MP模型是模仿神经元的结构和工作原理,构成出的一个基于神经网络的数学模型,本质上是一种“模拟人类大脑”的神经元模型。当时是希望能够用计算机来模拟人的神经元反应的过程,该模型将神经元简化为了三个过程:输入信号线性加权,求和,非线性激活(阈值法)。如下图所示
MP模型作为人工神经网络的起源,开创了人工神经网络的新时代,也奠定了神经网络模型的基础。
1949年,加拿大著名心理学家唐纳德·赫布在《行为的组织》中提出了与 “条件反射”机理一致的一种分类“网络模型” —— 海布学习规则 (Hebb Rule),为以后的神经网络学习算法奠定了基础,具有重大的历史意义。
1958年,计算机科学家罗森布拉特( Rosenblatt)提出了两层神经元组成的神经网络,称之为“感知器”(Perceptrons)。感知器本质上是一种线性模型,可以对输入的训练集数据进行二分类,且能够在训练集中自动更新权值。感知器的提出吸引了大量科学家对人工神经网络研究的兴趣,对神经网络的发展具有里程碑式的意义。
1962年,该方法被证明为能够收敛,理论与实践效果引起第一次神经网络的浪潮。
1969年,“AI之父”马文·明斯基和LOGO语言的创始人西蒙·派珀特共同编写了一本书籍《感知器》,在其著作中证明了感知器本质上是一种线性模型(linear model),只能处理线性分类问题,就连最简单的XOR(亦或)问题都无法正确分类。人工神经网络进入了第一个寒冬期,神经网络的研究开始陷入了将近20年的停滞。
发展阶段
1986年,由神经网络之父 Geoffrey Hinton 在1986年发明了适用于多层感知器(MLP)的BP(Backpropagation)算法,并采用Sigmoid进行非线性映射,有效解决了非线性分类和学习的问题。该方法引起了神经网络的第二次热潮。
但是由于八十年代计算机的硬件水平有限,这就导致当神经网络的规模增大时,再使用BP算法会出现“梯度消失”的问题,误差梯度传到前层时几乎为0,因此无法对前层进行有效的学习,该问题直接阻碍了深度学习的进一步发展。
此外90年代中期,支持向量机算法诞生(SVM算法)为代表的其它浅层机器学习算法被提出。在分类、回归问题上均取得了很好的效果,其原理又明显不同于神经网络模型,所以人工神经网络的发展再次进入了瓶颈期。
爆发阶段
2006年,加拿大多伦多大学教授、机器学习领域泰斗、神经网络之父 —— Geoffrey Hinton 和他的学生 Ruslan Salakhutdinov 在顶尖学术刊物《科学》上发表了一篇文章,该文章提出了深层网络训练中梯度消失问题的解决方案: 通过无监督的学习方法逐层训练算法,再使用有监督的反向传播算法进行调优,至此开启了深度学习在学术界和工业界的浪潮。
2012年,Hinton课题组为了证明深度学习的潜力,首次参加ImageNet图像识别比赛,其通过构建的CNN网络AlexNet一举夺得冠军,且碾压第二名(SVM方法)的分类性能。也正是由于该比赛,CNN吸引到了众多研究者的注意。
2014年,Facebook基于深度学习技术的DeepFace项目,在人脸识别方面的准确率已经能达到97%以上,跟人类识别的准确率几乎没有差别。这样的结果也再一次证明了深度学习算法在图像识别方面的一骑绝尘。
2016年,随着谷歌公司基于深度学习开发的AlphaGo以4:1的比分战胜了国际顶尖围棋高手李世石,深度学习的热度一时无两。2017年,基于强化学习算法的AlphaGo升级版AlphaGo Zero横空出世。其采用“从零开始”、“无师自通”的学习模式,以100:0的比分轻而易举打败了之前的AlphaGo。
此外在这一年,深度学习的相关算法在医疗、金融、艺术、无人驾驶等多个领域均取得了显著的成果。所以,也有专家把2017年看作是深度学习甚至是人工智能发展最为突飞猛进的一年。
深度学习的典型代表
在深度学习领域有两个典型的代表:卷积神经网络、循环神经网络。
· 卷积神经网络被广泛的应用在计算机视觉领域,比如说强大的AlphaGo就有用到卷积神经网络实现。
· 循环神经网络则被广泛的应用在语音识别处理领域,比如说百度翻译、网络音乐生产等。
深度学习又分为卷积神经网络(Convolutional neural networks,简称CNN)和深度置信网(Deep Belief Nets,简称DBN)。其主要的思想就是模拟人的神经元,每个神经元接受到信息,处理完后传递给与之相邻的所有神经元即可。
卷积神经网络
1962年Hubel和Wiesel通过对猫视觉皮层细胞的研究,提出了感受野(receptive field)的概念,1984年日本学者Fukushima基于感受野概念提出的神经认知机(neocognitron)可以看作是卷积神经网络的第一个实现网络,也是感受野概念在人工神经网络领域的首次应用。
神经认知机将一个视觉模式分解成许多子模式(特征),然后进入分层递阶式相连的特征平面进行处理,它试图将视觉系统模型化,使其能够在即使物体有位移或轻微变形的时候,也能完成识别。
随着深度学习的继续发展,受到猫脑视觉皮层研究中局部感受野的启发,卷积神经网络(Convolutional Neural Network,CNN),通过稀疏连接、参数共享两个思想改进了深度神经网络。左边是CNN结构,右边是全连接形式的神经网络。
卷积神经网络是人工神经网络的一种,已成为当前语音分析和图像识别领域的研究热点。它的权值共享网络结构使之更类似于生物神经网络,降低了网络模型的复杂度,减少了权值的数量。该优点在网络的输入是多维图像时表现的更为明显,使图像可以直接作为网络的输入,避免了传统识别算法中复杂的特征提取和数据重建过程。卷积网络是为识别二维形状而特殊设计的一个多层感知器,这种网络结构对平移、比例缩放、倾斜或者共他形式的变形具有高度不变性。
CNN是第一个真正成功训练多层网络结构的学习算法,它利用空间关系减少需要学习的参数数目以提高一般前向BP算法的训练性能,CNN作为一个深度学习架构提出是为了最小化数据的预处理要求。在CNN中,图像的一小部分(局部感受区域)作为层级结构的最低层的输入,信息再依次传输到不同的层,每层通过一个数字滤波器去获得观测数据的最显著的特征。这个方法能够获取对平移、缩放和旋转不变的观测数据的显著特征,因为图像的局部感受区域允许神经元或者处理单元可以访问到最基础的特征,例如定向边缘或者角点。
深度学习的优缺点
基于深度神经网络的端到端学习在最近几年取得很大的成功,被大量应用与计算机视觉、语音识别、自然语音处理、医学图像处理等领域中。
· 优点:深度学习能让计算机自动学习出模式特征,并将特征学习的特征融入到建模的过程中,从而减少了人为设计特征造成的不完备性。而目前有些深度学习,已经达到了超越现有算法的识别或分类性能。
· 缺点:需要大数据支撑,才能达到高精度。由于深度学习中图模型比较复杂,导致算法的时间复杂度急剧提升,需要更好的硬件支持。因此,只有一些经济实力比较强大的科研机构或企业,才能够用深度学习来做一些前沿而实用的应用。
另外,纽约大学教授、人工智能创业者Gary Marcus在2018年对深度学习的作用、局限性和本质进行了重要的回顾。他指出了深度学习方法的局限性 —— 即需要更多的数据、容量有限、不能处理层次结构、无法进行开放式推理、不能充分透明、不能与先验知识集成、不能区分因果关系。
他还提到,深度学习假设了一个稳定的世界,以近似方法实现,工程化很困难并且存在着过度炒作的潜在风险。Marcus认为:深度学习需要重新概念化,并在非监督学习、符号操作和混合模型中寻找可能性,从认知科学和心理学中获得见解,并迎接更大胆的挑战。
下面是深度学习目前的一些标志性公司以及代表性的技术。
· 语音识别技术:国内公司讯飞、百度、阿里,国外公司亚马逊,微软等,行业应用就是智能音箱等产品。
· 图像识别技术:比如做安防的海康威视,图森科技,依图科技,旷视科技,代表性的就是面部识别,人脸识别,刷脸解锁、支付等。
· 自动驾驶技术:比如特斯拉,uber,百度等公司开发的。
· 金融领域的如:预测股价、医疗领域的疾病监测,教育领域的技术赋能等。
深度学习与计算机视觉
传统计算机视觉是广泛算法的集合,主要目标是从图像中提取特征,包括边缘检测、角点检测、基于颜色的分割等子任务。目前,传统计算机视觉已有多种用途,例如对不同的对象进行去噪、增强和检测。
这种方法的主要问题是需要告诉系统在图像中寻找哪些特性。本质上,假设算法按照设计者的定义运行,所提取的特征是人为设计的。在实现中,算法性能差可以通过微调来解决,但是,这样的更改需要手工完成,并且针对特定的应用程序进行硬编码,这对高质量计算机视觉的实现造成了很大的障碍。
不过,深度学习的出现解决了这一问题。当前,深度学习系统在处理一些相关子任务方面取得了重大进展。深度学习最大的不同之处在于,它不再通过精心编程的算法来搜索特定特征,而是训练深度学习系统内的神经网络。随着深度学习系统提供的计算能力的增强,计算机将能够识别并对它所看到的一切做出反应,这一点已经有了显著的进展。
近年来,深度学习的发展不仅突破了很多难以解决的视觉难题,提升了对于图像认知的水平,更是加速了计算机视觉领域相关技术的进步。相信,随着深度学习模型的改进和计算能力的不断提升,自主系统能够继续稳步发展,真正实现可以解释和反应它们所感知到的东西。
深度学习对于计算机视觉系统来说无疑是一个有趣的补充。我们现在可以相对容易地“训练”探测器来探测那些昂贵且不切实际的物体。我们还可以在一定程度上扩展这些检测器,以使用更多的计算能力。
出人意料的是,深度学习教会了我们一些关于视觉数据(通常是高维数据)的东西,这个观点十分有趣:在某种程度上,数据比我们过去认为的要“浅”得多。
似乎有更多的方法来统计地分离标有高级人类类别的可视化数据集,然后有更多的方法来分离这些“语义正确”的数据集。换句话说,这组低水平的图像特征比我们想象的更具“统计意义”。这是深度学习的伟大发现。
深度学习已经成为计算机视觉系统的重要组成部分。但是传统的计算机视觉并没有走到那一步,而且,它仍然可以用来建造非常强大的探测器。这些人工制作的检测器在某些特定的数据集度量上可能无法实现深度学习的高性能,但是可以保证依赖于输入的“语义相关”特性集。
深度学习提供了统计性能强大的检测器,而且不需要牺牲特征工程,不过仍然需要有大量的标记数据、大量GPU,以及深度学习专家。然而,这些强大的检测器也会遭遇意外的失败,因为它们的适用范围无法轻易地描述(或者更确切地说,根本无法描述)。
评论