热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

TensorFlow系列专题(三):深度学习简介

一.深度学习的发展历程深度

一.深度学习的发展历程

  • 深度学习的起源阶段
  • 深度学习的发展阶段
  • 深度学习的爆发阶段
二.深度学习的应用
  • 自然语言处理
  • 语音识别与合成
  • 图像领域
三.参考文献

 

一.深度学习的发展历程

作为机器学习最重要的一个分支,深度学习近年来发展迅猛,在国内外都引起了广泛的关注。然而深度学习的火热也不是一时兴起的,而是经历了一段漫长的发展史。接下来我们简单了解一下深度学习的发展历程。

  • 深度学习的起源阶段
1943年,心里学家麦卡洛克和数学逻辑学家皮兹发表论文《神经活动中内在思想的逻辑演算》[1],提出了MP模型。MP模型是模仿神经元的结构和工作原理,构成出的一个基于神经网络的数学模型,本质上是一种“模拟人类大脑”的神经元模型(这里有必要说明的是,我们说的模仿其实更准确的说法应该是参考,计算机领域的“人工神经网络”的确是受到生物学上的“神经网络”的启发,但是两者相差万里,没有直接的可比性。)。MP模型作为人工神经网络的起源,开创了人工神经网络的新时代,也奠定了神经网络模型的基础。

1949年,加拿大著名心理学家唐纳德·赫布在《行为的组织》中提出了一种基于无监督学习的规则——海布学习规则(Hebb Rule)[2]。海布规则模仿人类认知世界的过程建立一种“网络模型”,该网络模型针对训练集进行大量的训练并提取训练集的统计特征,然后按照样本的相似程度进行分类,把相互之间联系密切的样本分为一类,这样就把样本分成了若干类。海布学习规则与“条件反射”机理一致,为以后的神经网络学习算法奠定了基础,具有重大的历史意义。

20世纪50年代末,在MP模型和海布学习规则的研究基础上,美国科学家罗森布拉特发现了一种类似于人类学习过程的学习算法——感知机学习[3]。并于1958年,正式提出了由两层神经元组成的神经网络,称之为“感知器”。感知器本质上是一种线性模型,可以对输入的训练集数据进行二分类,且能够在训练集中自动更新权值。感知器的提出吸引了大量科学家对人工神经网络研究的兴趣,对神经网络的发展具有里程碑式的意义。

但随着研究的深入,人们发现了感知器模型所存在的不足,它甚至无法解决最简单的线性不可分问题(例如异或问题)。由于这一不足以及没有及时推广感知器到多层神经网络中,在20世纪70年代,人工神经网络进入了第一个寒冬期,人工神经网络的发展也受到了很大的阻碍甚至质疑。

  • 深度学习的发展阶段
1982年,著名物理学家约翰·霍普菲尔德发明了Hopfield神经网络。Hopfield神经网络是一种结合存储系统和二元系统的循环神经网络。Hopfield网络也可以模拟人类的记忆,根据激活函数的选取不同,有连续型和离散型两种类型,分别用于优化计算和联想记忆。但由于容易陷入局部最小值的缺陷,该算法并未在当时引起很大的轰动。

直到1986年,深度学习之父杰弗里·辛顿提出了一种适用于多层感知器的反向传播算法——BP算法[3]。BP算法在传统神经网络正向传播的基础上,增加了误差的反向传播过程。反向传播过程不断地调整神经元之间的权值和阈值,直到输出的误差达到减小到允许的范围之内,或达到预先设定的训练次数为止。BP算法解决了非线性分类问题,让人工神经网络再次引起了人们广泛的关注。

但是由于八十年代计算机的硬件水平有限,运算能力跟不上,以及当神经网络的层数增加时,BP算法会出现“梯度消失”的问题等等。这使得BP算法的发展受到了很大的限制。再加上90年代中期,以SVM为代表的其它浅层机器学习算法被提出,并在分类、回归问题上均取得了很好的效果,其原理相较于神经网络模型具有更好的可解释性,所以人工神经网络的发展再次进入了瓶颈期。

  • 深度学习的爆发阶段
2006年,杰弗里·辛顿以及他的学生鲁斯兰·萨拉赫丁诺夫正式提出了深度学习的概念。他们在世界***学术期刊《Science》发表的一篇文章中详细的给出了“梯度消失”问题的解决方案——通过无监督的学习方法逐层训练算法[4],再使用有监督的反向传播算法进行调优。该深度学习方法的提出,立即在学术圈引起了巨大的反响,以斯坦福大学、多伦多大学为代表的众多世界知名高校纷纷投入巨大的人力、财力进行深度学习领域的相关研究,而后又迅速蔓延到工业界中。

2012年,在著名的ImageNet图像识别大赛中,杰弗里·辛顿领导的小组采用深度学习模型AlexNet一举夺冠[5]。AlexNet采用ReLU激活函数,极大程度上上解决了梯度消失问题,并采用GPU极大的提高了模型的运算速度。同年,由斯坦福大学著名的吴恩达教授和世界顶尖计算机专家Jeff Dean共同主导的深度神经网络——DNN技术在图像识别领域取得了惊人的成绩,在ImageNet评测中成功的把错误率从26%降低到了15%。深度学习技术在世界大赛的脱颖而出,又进一步吸引了学术界和工业界对于深度学习领域的关注。

随着深度学习技术的不断进步以及计算机硬件算力的不断提升,2014年,Facebook基于深度学习技术的DeepFace项目,在人脸识别方面的准确率已经能达到97%以上,跟人类识别的准确率几乎没有差别。这样的结果也再一次证明了深度学习技术在图像识别方面的一骑绝尘。

2016年,谷歌公司基于深度强化学习开发的AlphaGo以4:1的比分战胜了国际顶尖围棋高手李世石,深度学习的热度一时无两。后来,AlphaGo又接连和众多世界级围棋高手过招,均取得了完胜。这也证明了在围棋界,基于深度学习技术的机器人几乎已经超越了人类。

2017年,基于深度强化学习技术的AlphaGo升级版AlphaGo Zero横空出世。其采用“从零开始”、“无师自通”的学习模式,以100:0的比分轻而易举打败了之前的AlphaGo。除了围棋,它还精通国际象棋等其它棋类游戏,可以说是真正的棋类“天才”。此外在这一年,深度学习相关技术也在医疗、金融、艺术、无人驾驶等多个领域均取得了显著的成果。所以,也有专家把2017年看作是深度学习甚至是人工智能发展最为突飞猛进的一年。

深度学习发展到今天已经越来越趋于成熟,尤其是图像方面。无论是科研还是应用,大家也越来越理性,而不是像早些时候,把深度学习视为“万能的”,盲目的去跟风。当然,这一领域也还有许多问题需要解决,还有很多有趣、有挑战性的方向可以研究。

 

图1 深度学习发展简史

二.深度学习的应用

作为机器学习发展到一定阶段的产物,近年来深度学习技术之所以能引起社会各界广泛的关注,是因为不光在学术界,同时也在工业界取得了重大突破和广泛的应用。其中应用最广的几个研究领域分别是自然语言处理、语音识别和图像处理。接下来,我们分别来看一下这三个领域的发展现状:

  • 自然语言处理
自然语言处理(NLP)是语言学和人工智能的交叉科学,旨在让计算机能够“读懂”人类的语言。其包括的主要范畴有(我们这里说的自然语言处理仅仅指文本相关的):分词、词性标注、命名实体识别、句法分析、关键词抽取、文本分类、自动摘要以及信息检索等等。传统的自然语言处理主要是利用语言学领域本身的知识结合一些统计学的方法来获取语言知识。后来伴随着机器学习浅层模型的发展(如:SVM、逻辑回归等等),自然语言处理领域的研究取得了一定的突破,但在语义消歧、语言的理解等方面还是显得力不存心。近年来,随着深度学习相关技术(DNN、CNN、RNN等)[6][7]取得了显著的进展,其在自然语言处理方面的应用也展现出了明显的优势。

从算法上来看,词向量(word vector)作为深度学习算法在自然语言领域的先驱,有着及其广泛的应用场景,在机器翻译、情感分析等方面均取得了不错的效果。其基本思想是把人类语言中的词尽可能完整地转换成计算机可以理解的稠密向量,同时要保证向量的维度在可控的范围之内,在Bahdanau等人利用LSTM[8]模型结合一些自定义的语料,解决了传统模型的Out of dictionary word问题之后,更使得基于深度学习的自然语言处理较于传统方法有明显的优势。目前,基于深度学习的自然语言处理在文本分类、机器翻译、智能问答、推荐系统以及聊天机器人等方向都有着极为广泛的应用。

  • 语音识别与合成
语音相关的处理其实也属于自然语言处理的范畴,目前主要是语音合成(Text to Speech,TTS)和语音识别(Automated Speech Recognition,ASR)。语音识别应该是大家最为熟知的,也是应用最为广泛的。同自然语言处理类似,语音识别也是人工智能和其它学科的交叉领域,其所涉及的领域有:模式识别、信号处理、概率论、信息论,发声原理等等。近年来随着深度学习技术的兴起,语音识别取得显著的进步,基于深度学习的语音技术不仅从实验室走向了市场,更得到了谷歌、微软、百度以及科大讯飞等众多科技公司的青睐。语音输入法、家用聊天机器人、医疗语音救助机、智能语音穿戴设备等具体的应用场景也是层出不穷。

事实上,在深度学习算法还未普及之前的很长一段时间,语音识别系统大多采用高斯混合模型(GMM)这一机器学习浅层模型完成数据的量化和建模。由于该模型可以精确地量化训练集并对数据有较好的区分度,所以长期在语音识别领域占主导地位。直到2011年,微软公司推出了基于深度学习的语音识别系统,模拟人类大脑分层对数据特征进行提取,使得样本特征之间的联系更加密切,完美的克服了GMM[9]模型处理高维数据方面的不足。直到今天,基于深度神经网络的模型仍然广泛应用在语音相关的各个领域中。

  • 图像领域
事实上,图像领域目前算是深度学习应用最为成熟的领域。也正是由于深度学习算法在ImageNet图像识别大赛中远超其它机器学习算法、以巨大优势夺魁才推动了深度学习发展的第三次浪潮。目前,通过卷积神经网络(CNN)构建的图像处理系统能够有效的减小过拟合、对大像素数图像内容能很好的识别,在融合GPU加速技术后,使得神经网络在实际中能够更好的拟合训练数据,更快更准确的识别大部分的图片。总而言之,深度学习模型可谓是和图像处理技术的完美结合,不仅能够提高图像识别的准确率,同时还可以在一定程度上提高运行效率,减少了一定的人力成本。

 

三.参考文献

[1] A Logical Calculus of the Ideas Immanent in Nervous Activity .  Warren S. McCulloch. Walter Pitts.1943

[2] Organization of Behavior: A Neuropsychological Theory . Donald Hebb . 1949

[3] Learning Internal Representations by Error Propagation . Rumelhart.1986

[4] Reducing the dimensionality of data with neural networks . Hinton.2006

[5]Imagenet classification with deep convolutional neural networks. Hinton.2012

[6] ImageNet Classification with Deep Convolutional Networks. Yann LeCun .1998

[7] Supervised Sequence Labelling with Recurrent Neural Networks. Alex Graves .2008

[8] Learning to forget: continual prediction with LSTM. FA Gers , J Schmidhuber , F Cummins . 2014

[9] A finite sample correction for the variance of linear efficient two-step GMM estimators. F Windmeijer.2000


推荐阅读
  • 吴恩达推出TensorFlow实践课程,Python基础即可入门,四个月掌握核心技能
    量子位报道,deeplearning.ai最新发布了TensorFlow实践课程,适合希望使用TensorFlow开发AI应用的学习者。该课程涵盖机器学习模型构建、图像识别、自然语言处理及时间序列预测等多个方面。 ... [详细]
  • 2017年人工智能领域的十大里程碑事件回顾
    随着2018年的临近,我们一同回顾过去一年中人工智能领域的重要进展。这一年,无论是政策层面的支持,还是技术上的突破,都显示了人工智能发展的迅猛势头。以下是精选的2017年人工智能领域最具影响力的事件。 ... [详细]
  • 本文探讨了图像标签的多种分类场景及其在以图搜图技术中的应用,涵盖了从基础理论到实际项目实施的全面解析。 ... [详细]
  • 《计算机视觉:算法与应用》第二版初稿上线,全面更新迎接未来
    经典计算机视觉教材《计算机视觉:算法与应用》迎来了其第二版,现已开放初稿下载。本书由Facebook研究科学家Richard Szeliski撰写,自2010年首版以来,一直是该领域的标准参考书。 ... [详细]
  • 计算机视觉初学者指南:如何顺利入门
    本文旨在为计算机视觉领域的初学者提供一套全面的入门指南,涵盖基础知识、技术工具、学习资源等方面,帮助读者快速掌握计算机视觉的核心概念和技术。 ... [详细]
  • 随着技术的发展,黑客开始利用AI技术在暗网中创建用户的‘数字孪生’,这一现象引起了安全专家的高度关注。 ... [详细]
  • 精选10款Python框架助力并行与分布式机器学习
    随着神经网络模型的不断深化和复杂化,训练这些模型变得愈发具有挑战性,不仅需要处理大量的权重,还必须克服内存限制等问题。本文将介绍10款优秀的Python框架,帮助开发者高效地实现分布式和并行化的深度学习模型训练。 ... [详细]
  • 机器学习核心概念与技术
    本文系统梳理了机器学习的关键知识点,涵盖模型评估、正则化、线性模型、支持向量机、决策树及集成学习等内容,并深入探讨了各算法的原理和应用场景。 ... [详细]
  • 本文旨在探讨如何利用决策树算法实现对男女性别的分类。通过引入信息熵和信息增益的概念,结合具体的数据集,详细介绍了决策树的构建过程,并展示了其在实际应用中的效果。 ... [详细]
  • 深入浅出TensorFlow数据读写机制
    本文详细介绍TensorFlow中的数据读写操作,包括TFRecord文件的创建与读取,以及数据集(dataset)的相关概念和使用方法。 ... [详细]
  • LambdaMART算法详解
    本文详细介绍了LambdaMART算法的背景、原理及其在信息检索中的应用。首先回顾了LambdaMART的发展历程,包括其前身RankNet和LambdaRank,然后深入探讨了LambdaMART如何结合梯度提升决策树(GBDT)和LambdaRank来优化排序问题。 ... [详细]
  • 本文深入探讨了CART(分类与回归树)的基本原理及其在随机森林中的应用。重点介绍了CART的分裂准则、防止过拟合的方法、处理样本不平衡的策略以及其在回归问题中的应用。此外,还详细解释了随机森林的构建过程、样本均衡处理、OOB估计及特征重要性的计算。 ... [详细]
  • Python库在GIS与三维可视化中的应用
    Python库极大地扩展了GIS的能力,使其能够执行复杂的数据科学任务。本文探讨了几个关键的Python库,这些库不仅增强了GIS的核心功能,还推动了地理信息系统向更高层次的应用发展。 ... [详细]
  • 本文提供了一个使用 while 循环在 Linux Shell 脚本中处理文件列表的具体示例。通过这个例子,读者可以了解如何利用 shell 脚本来批量处理文件,包括文件名的匹配和处理。 ... [详细]
  • 使用 Jupyter Notebook 实现 Markdown 编写与代码运行
    Jupyter Notebook 是一个开源的基于网页的应用程序,允许用户在同一文档中编写 Markdown 文本和运行多种编程语言的代码,并实时查看运行结果。 ... [详细]
author-avatar
高粱_
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有