深度学习作为机器学习的一个独立分支,它出自于机器学习又在此基础上有了较大的提升,深度学习的兴起也极大地推动了人工智能的发展.那么什么是深度学习?它又有哪些实际的运用呢?这一节我们简单叙述深度学习的相关内容.
一.深度学习的起源及其发展
1.1 深度学习的起源
深度学习,实际上来说就是一种模仿人脑的学习,它是起源于人工神经网络的研究.它含多隐层的多层感知器就是一种深度学习结构。深度学习通过组合低层特征形成更加抽象的高层表示属性类别或特征,以发现数据的分布式特征表示。
了解深度学习的起源,首先让我们先来了解一下人类的大脑是如何工作的.
1981年的诺贝尔医学奖,分发给了David Hubel、Torsten Wiesel和Roger Sperry。前两位的主要贡献是,发现了人的视觉系统的信息处理是分级。如图1所示,从视网膜(Retina)出发,经过低级的V1区提取边缘特征,到V2区的基本形状或目标的局部,再到高层V4的整个目标(如判定为一张人脸),以及到更高层的PFC(前额叶皮层)进行分类判断等。也就是说高层的特征是低层特征的组合,从低层到高层的特征表达越来越抽象和概念化。
而深度学习,恰恰就是通过组合低层特征形成更加抽象的高层特征(或属性类别)。例如,在计算机视觉领域,深度学习算法从原始图像去学习得到一个低层次表达,例如边缘检测器、小波滤波器等,然后在这些低层次表达的基础上,通过线性或者非线性组合,来获得一个高层次的表达。此外,不仅图像存在这个规律,声音也是类似的。
1.2 深度学习的发展
1.2.1 感知器
1957年,Frank Rosenblatt在《New York Times》上发表文章《Electronic ‘Brain’ Teaches Itself》,首次提出了可以模型人类感知能力的机器,并称之为感知机(Perceptron).其对应的模型如图1所示.
图1 感知器模型
如图1,感知器作为简单的具有单层神经元的神经网络,其构造及其原理等较为简单.它是一种主要运用于分类的算法.它的分类原理是:对于给定的阈值,大于阈值为一个类别,小于的是另一个类别.
然而,感知器也有很明显的缺点:只能运用于线性可分的数据集.
1.2.2 多层感知器
由于单层感知器的缺点,人们就想到了在单层感知机的输入层和输出层之间加入隐层,就构成了多层感知机,目的是通过凸域能够正确分类样本,其模型如下图所示.
图2 多层感知器模型
单层感知器和多层感知器的比较图如下表所示:
这种多层感知器模型就是最初的深度学习的模型,它主要包括输入层,隐层和输出层.而根据中间的隐层的个数又分为浅层神经网络和深度神经网络(DNN).从上表可以看出,较之于单层感知器.多层感知器对于非线性的分类的确有了较大的进步.
1969年Marvin Minsky和Seymour Papery提出了上述的感知机的研究瓶颈,指出理论上还不能证明将感知机模型扩展到多层网络是有意义的。这在人工神经网络的历史上书写了及其灰暗的一章。ANN的研究也进入了萧条期.几乎所有为ANN提供的研究基金都枯竭了,很多领域的专家纷纷放弃了这方面课题的研究。
1.2.3 BP算法---神经网络的崛起
BP算法最早由Werbos于1974年提出,1985年Rumelhart等人发展了该理论.
BP算法的基本思想是,学习过程由信号的正向传播与误差的反向传播两个过程组成。正向传播时,输入样本从输入层传入,经各隐层逐层处理后,传向输出层。若输出层的实际输出与期望的输出(教师信号)不符,则转入误差的反向传播阶段。误差反传是将输出误差以某种形式通过隐层向输入层逐层反传,并将误差分摊给各层的所有单元,从而获得各层单元的误差信号,此误差信号即作为修正各单元权值的依据。这种信号正向传播与误差反向传播的各层权值调整过程,是周而复始地进行的。权值不断调整的过程,也就是网络的学习训练过程。此过程一直进行到网络输出的误差减少到可接受的程度,或进行到预先设定的学习次数为止。---(摘自百度百科)
然而由于DNN只能够通过添加隐层的个数和神经元的个数,并从而容易出现梯度消失和梯度爆炸的问题(这些问题都是由DNN梯度求解中的链式求导造成的),并且其建立的模型效果也没有SVM等传统的机器学习算法好.这些原因阻碍了神经网络的发展.
1.2.4 深度学习
2006年,加拿大多伦多大学教授Geoffrey Hinton对深度学习的提出以及模型训练方法的改进打破了BP神经网络发展的瓶颈。自此以后,深度学习进入了快速发展的阶段(当然不是一帆风顺的!).此后,逐渐发展起来的有CNN(卷积神经网络),RNN(循环神经网络),递归神经网络,LSTM长短时记忆,增强学习(Q-learning)等算法推动了深度学习的急速的发展.
一.深度学习的主要运用
目前,深度学习主要运用于以下几个方面:
1) NLP(自然语言处理)
自然语言处理包括多个方面:
① 语音识别,语音合成自动分词,句法分析,语法纠错,关键词提取,
文本分类/聚类,文本自动摘要,信息检索(ES,Solr)
② 知识图谱,机器翻译,人机对话,机器写作
③ 推荐系统,高考机器人
④ 信息抽取,网络爬虫,情感分析,问答系统
2) 图像方面的应用
① 大规模(大数据量)图片识别(聚类/分类),如人脸识别,车牌识别,OCR等
② 以图搜图,图像分割
③ 目标检测,如自动驾驶的行人检测,安防系统的异常人群检测
3) 常见的机器学习领域的应用(分类,回归,聚类算法等)
4) 数据挖掘,风控系统,推荐系统,广告系统,游戏,机器人等方面.
参考文献:
[1]https://www.cnblogs.com/jhding/p/5687549.html