深入浅出谈谈深度学习~

本文涉及的产品
图像搜索,7款服务类型 1个月
NLP自然语言处理_基础版,每接口每天50万次
NLP 自学习平台,3个模型定制额度 1个月
简介: 深度学习的概念由Hinton等人于2006年提出。深度学习可以简单理解为传统神经网络的拓展。如下图所示,深度学习与传统的神经网络之间有相同的地方,二者的相同之处在于,深度学习采用了与神经网络相似的分层结构:系统是一个包括输入层、隐层(可单层、可多层)、输出层的多层网络,只有相邻层的节点之间有连接,而同一层以及跨层节点之间相互无连接。

一、深度学习的起源与概念

深度学习的概念由Hinton等人于2006年提出。深度学习可以简单理解为传统神经网络的拓展。如下图所示,深度学习与传统的神经网络之间有相同的地方,二者的相同之处在于,深度学习采用了与神经网络相似的分层结构:系统是一个包括输入层、隐层(可单层、可多层)、输出层的多层网络,只有相邻层的节点之间有连接,而同一层以及跨层节点之间相互无连接。

47.jpg


传统的神经网络和深度神经网络    

深度学习框架将特征和分类器结合到一个框架中,用数据去学习特征,在使用中减少了手工设计特征的巨大工作量。看它的一个别名:无监督特征学习(Unsupervised Feature Learning),就可以顾名思义了。无监督(Unsupervised)学习的意思就是不需要通过人工方式进行样本类别的标注来完成学习。因此,深度学习是一种可以自动地学习特征的方法。

深度学习通过学习一种深层非线性网络结构,只需简单的网络结构即可实现复杂函数的逼近,并展现了强大的从大量无标注样本集中学习数据集本质特征的能力。深度学习能够获得可更好地表示数据的特征,同时由于模型的层次深(通常有5层、6层,甚至10多层的隐藏层节点)、表达能力强,因此有能力表示大规模数据。对于图像、语音这种特征不明显(需要手工设计且很多没有直观的物理含义)的问题,深度模型能够在大规模训练数据上取得更好的效果。相比于传统的神经网络,深度神经网络作出了重大的改进,在训练上的难度(如梯度弥散问题)可以通过“逐层预训练”来有效降低。

值的注意的是,深度学习不是万能的,像很多其他方法一样,它需要结合特定领域的先验知识,需要和其他模型结合才能得到最好的结果。此外,类似于神经网络,深度学习的另一局限性是可解释性不强,像个“黑箱子”一样不知为什么能取得好的效果,以及不知如何有针对性地去具体改进,而这有可能成为产品升级过程中的阻碍。

近年来,深度学习的发展逐渐成熟。2012年6月,《纽约时报》披露了Google Brain项目,吸引了公众的广泛关注。这个项目是由著名的斯坦福大学的机器学习教授Andrew Ng和在大规模计算机系统方面的世界顶尖专家Jeff Dean共同主导,用16,000个CPU Core的并行计算平台去训练含有10亿个节点的深度神经网络(Deep Neural Networks,DNN),使其能够自我训练,对2万个不同物体的1,400万张图片进行辨识。在开始分析数据前,并不需要向系统手工输入任何诸如“脸、肢体、猫的长相是什么样子”这类特征。Jeff Dean说:“我们在训练的时候从来不会告诉机器:‘这是一只猫’(即无标注样本)。系统其实是自己发明或领悟了‘猫’的概念。

2014年3月,同样也是基于深度学习方法,Facebook的DeepFace项目使得人脸识别技术的识别率已经达到了97.25%,只比人类识别97.5%的正确率略低那么一点点,准确率几乎可媲美人类。该项目利用了9层的神经网络来获得脸部表征,神经网络处理的参数高达1.2亿。

以及2016年3月人工智能围棋比赛,由位于英国伦敦的谷歌(Google)旗下DeepMind公司的戴维·西尔弗、艾佳·黄和戴密斯·哈萨比斯与他们的团队开发的AlphaGo战胜了世界围棋冠军、职业九段选手李世石,并以4:1的总比分获胜。AlphaGo的主要工作原理就是深度学习,通过两个不同神经网络“大脑”合作来改进下棋:第一大脑:落子选择器 (Move Picker)和第二大脑:棋局评估器 (Position Evaluator)。这些大脑是多层神经网络跟那些Google图片搜索引擎识别图片在结构上是相似的。它们从多层启发式二维过滤器开始,去处理围棋棋盘的定位,就像图片分类器网络处理图片一样。经过过滤,13个完全连接的神经网络层产生对它们看到的局面判断。这些层能够做分类和逻辑推理。

二、深度学习的应用

深度学习受到世界各国相关领域研究人员和高科技公司的重视,最广泛的三个主要研究应用领域包括:语音识别、机器视觉和自然语言处理。

语音识别方面: 从2009年开始,微软亚洲研究院的语音识别专家们和深度学习领军人物Hinton合作。2011年微软公司推出基于深度神经网络的语音识别系统,这一成果将语音识别领域已有的技术框架完全改变。采用深度神经网络后,样本数据特征间相关性信息得以充分表示,将连续的特征信息结合构成高维特征,通过高维特征样本对深度神经网络模型进行训练。由于深度神经网络采用了模拟人脑神经架构,通过逐层的进行数据特征提取,最终得到适合进行模式分类处理的理想特征。

机器视觉方面:对于图像的处理是深度学习算法最早尝试应用的领域。早在1989年,加拿大多伦多大学教授Yann LeCun就和他的同事提出了卷积神经网络(Convolutional Neural Networks, CNN)它是一种包含卷积层的深度神经网络模型。通常一个卷机神经网络架构包含两个可以通过训练产生的非线性卷积层,两个固定的子采样层和一个全连接层,隐藏层的数量一般至少在5个以上。CNN的架构设计是受到生物学家Hube和Wiesel的动物视觉模型启发而发明的,尤其是模拟动物视觉皮层的V1层和V2层中简单细胞和复杂细胞在视觉系统的功能。起初卷积神经网络在小规模的问题上取得了当时世界最好成果。但是在很长一段时间里一直没有取得重大突破。主要原因是卷积神经网络应用在大尺寸图像上一直不能取得理想结果,比如对于像素数很大的自然图像内容的理解,这使得它没有引起计算机视觉研究领域足够的重视。2012年10月,Hinton教授以及他的学生采用更深的卷神经网络模型在著名的ImageNet问题上取得了世界最好结果,使得对于图像识别的领域研究更进一步。

自卷积神经网络提出以来,在图像识别问题上并没有取得质的提升和突破,直到2012年Hinton构建深度神经网络才去的惊人的成果。这主要是因为对算法的改进,在网络的训练中引入了权重衰减的概念,有效的减小权重幅度,防止网络过拟合。更关键的是计算机计算能力的提升,GPU加速技术的发展,使得在训练过程中可以产生更多的训练数据,使网络能够更好的拟合训练数据。2012年国内互联网巨头百度公司将相关最新技术成功应用到人脸识别和自然图像识别问题,并推出相应的产品。现在的深度学习网络模型已经能够理解和识别一般的自然图像。深度学习模型不仅大幅提高了图像识别的精度,同时也避免了需要消耗大量时间进行人工特征的提取,使得在线运行效率大大提升。

自然语言处理方面: 自然语言处理问题是深度学习在除了语音和图像处理之外的另一个重要的应用领域。数十年以来,自然语言处理的主流方法是基于统计的模型,人工神经网络也是基于统计方法模型之一,但在自然语言处理领域却一直没有被重视。语言建模时最早采用神经网络进行自然语言处理的问题。美国NEC研究院最早将深度学习引入到自然语言处理研究中,其研究院从2008年起采用将词汇映射到一维矢量空间和多层一维卷积结构去解决词性标注、分词、命名实体识别和语义角色标注四个典型的自然语言处理问题。他们构建了一个网络模型用于解决四个不同问题,都取得了相当精确的结果。总体而言,深度学习在自然语言处理上取得的成果和在图像语音识别方面相差甚远,仍有待深入研究。

三、深度学习的常用框架

48.jpg


相关文章
|
5月前
|
机器学习/深度学习 存储 缓存
【动手学深度学习】深入浅出深度学习之RMSProp算法的设计与实现
【动手学深度学习】深入浅出深度学习之RMSProp算法的设计与实现
130 32
|
16天前
|
机器学习/深度学习 人工智能 自然语言处理
深入浅出深度学习:从基础到实战
【9月更文挑战第19天】本文将带你走进深度学习的世界,从基础概念入手,逐步深入到实战应用。我们将通过简单易懂的语言和生动的比喻,让你轻松理解深度学习的原理和应用场景。同时,我们还为你准备了一些实用的代码示例,帮助你快速入门深度学习,开启你的AI之旅。
38 10
|
13天前
|
机器学习/深度学习 人工智能 TensorFlow
深度学习入门:从理论到实践
【9月更文挑战第22天】本文将带你走进深度学习的世界,从基础的理论概念出发,逐步深入到实践应用。我们将探讨神经网络的工作原理,以及如何通过编程实现一个简单的深度学习模型。无论你是初学者还是有一定基础的学习者,都能在这篇文章中找到有价值的信息。让我们一起揭开深度学习的神秘面纱,探索这个充满无限可能的领域吧!
|
9天前
|
机器学习/深度学习 人工智能 自然语言处理
深度学习的奥秘:从理论到实践
【9月更文挑战第25天】本文将深入探讨深度学习的核心概念,从基础理论到实际应用,揭示其背后的原理和实现方法。我们将通过代码示例,展示如何利用深度学习解决实际问题,并讨论其在各领域的应用前景。无论你是初学者还是有经验的开发者,都能从中获益。
|
2月前
|
机器学习/深度学习 人工智能 自然语言处理
深度学习之旅:从理论到实践
【8月更文挑战第31天】本文将带你走进深度学习的世界,探索其背后的理论基础和实际应用。我们将从神经网络的基本概念出发,逐步深入到深度学习的核心技术,如反向传播、卷积神经网络等。同时,我们还将通过代码示例,展示如何利用深度学习技术解决实际问题。无论你是初学者还是有一定基础的学习者,都能在本文中找到有价值的信息。让我们一起踏上深度学习的探索之旅吧!
|
4月前
|
机器学习/深度学习 人工智能 自然语言处理
深度学习知识点全面总结
深度学习知识点全面总结
58 3
|
12月前
|
机器学习/深度学习 自然语言处理 算法
深度学习基础知识:介绍深度学习的发展历程、基本概念和主要应用
深度学习基础知识:介绍深度学习的发展历程、基本概念和主要应用
4376 0
|
5月前
|
机器学习/深度学习 运维 算法
深度学习基础知识扫盲(3)
信息增益(Information Gain) P96 熵的减少/减少杂质/增大纯度称为信息增益。 在构建决策树中,如何选择特征先后?如何停止构建树?
135 1
|
5月前
|
机器学习/深度学习 算法
深度学习基础知识扫盲(2)
Training Set/ Validation Set/ Test Set 训练集:用来训练w,b的参数。生成w,b。 交叉验证集、开发集、验证集:用来选择具体的模型。生成d。 测试集:要有泛化评估能力,不能参与参数生成。
160 0
|
5月前
|
机器学习/深度学习 算法 搜索推荐
深度学习基础知识扫盲(1)
监督学习(Supervised learning) 计算机通过示例进行学习,它从过去的数据进行学习,并将学习结果应用到当前数据中,以预测未来事件,在这种情况下,输入和期望的输出数据都有助于预测未来事件。
170 0
下一篇
无影云桌面