社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  机器学习算法

深度学习必看的一篇经典论文!

机器学习初学者 • 9 月前 • 353 次点击  

这是所有学习深度学习的小伙伴都必看的一篇论文,由卷积神经网络之父Yann Le Cun、Yoshua Bengio、深度学习界的领军人物Geoffrey Hinton三位顶级大佬联合撰写----《Deep learning》

论文摘要

深度学习利用多层处理模型学习多层次抽象数据表示,显著提升语音识别、视觉识别等领域表现。BP算法指导模型调整内部参数,实现复杂结构发现。深度卷积网络处理图像、视频表现卓越,递归网络处理序列数据如文本成效显著。

机器学习技术广泛应用于Web搜索、内容过滤、商品推荐等,并融入消费品如相机、手机。深度学习逐步取代传统技术,自动学习未加工数据表示。深度学习将原始数据通过非线性模型转换为高层次抽象表达,适用于复杂函数学习。

深度学习特征表达由数据自动学习,无需人工设计,正解决AI领域长期难题。已应用于科学、商业、政府等多领域,并击败其他技术在药物预测、粒子数据分析、大脑回路重建等方面。

特别在自然语言理解中,深度学习成果显著,如主题分类、情感分析等。随计算能力和数据量增加,深度学习将进一步成功。新学习算法和架构将加速此进程。

监督学习

监督学习是机器学习最常见形式,涉及标记数据集训练模型以分类对象。例如,通过收集房子、汽车、人与宠物的图像数据集并标注类别,可建立分类系统。在训练时,机器从图片产生以向量分数表示的输出,每个类别一个。初期,所需类别的得分并不高,但通过计算目标函数来获取输出与期望的误差,机器调整内部权值来减少此误差。这些权值定义了机器功能。

深度学习系统中,使用数百万样本和权值进行训练。算法计算每个权值的梯度向量,表示权值微小变化对误差的影响。然后,权值在梯度矢量的反方向调整,目标是降低平均输出误差。

从业者常用随机梯度下降(SGD)算法,它提供样本计算误差,并据此调整权值。通过小样本集合重复训练,直到目标函数稳定。SGD简单且速度快。训练后,系统用测试集检验性能,即对新样本的识别能力。

许多机器学习技术用线性分类器处理人工特征。2类分类器通过特征加权和决定类别。但线性分类器仅适合简单划分,不适用于图像和语音识别等需要鲁棒性和特定敏感性的任务。例如,狼和萨莫耶德犬在相似背景下的图像可能很相似,但两者在像素级别上差异大。

图1 多层神经网络和BP算法

多层神经网络通过连接点整合输入空间,使数据线性可分。此例用两个输入节点、两个隐藏节点和一个输出节点展示,但实际应用中网络规模更大。链式法则描述了微小变化如何传递。神经网络中,每层计算总输入z,并通过非线性函数计算输出。常用的非线性函数有ReLU和sigmoids。反向传播时,计算输出单元误差并传递到输入层。简单分类器无法区分复杂数据,深度学习通过多层简单模块栈克服此问题,每层模块增加表达的可选择性和不变性。深度学习关键优势在于通过通用学习过程自动提取良好特征。

用反向传播训练多层神经网络。早期模式识别任务中,研究者希望用多层网络替代人工特征选择,但多层神经网络训练结果不佳。直到20世纪80年代,简单的随机梯度下降方法改变了这一情况。反向传播算法是求解多层网络权值梯度的关键,通过链式法则向后传播导数。深度学习常用前馈式神经网络,ReLU作为激活函数表现优越。隐藏层以非线性方式打乱输入数据,使类别在最后一层线性可分。90年代晚期,神经网络和反向传播被质疑,因梯度下降易陷入局部最小解。但理论和实验表明,局部最小解并非大问题,解空间多为鞍点。2006年,CIFAR推动深度前馈式神经网络复兴,通过非监督学习预训练网络层,再用反向传播微调,显著提升了手写数字和行人预测的性能,特别适用于小标签数据集。使用该方法在GPU上实现的语音识别应用取得显著加速,2009年成功映射声波系数窗口并在标准测试上达到惊人效果。随后,深度网络版本被开发并用于安卓手机。对于小数据集,无监督预训练可防止过拟合,提高泛化性能。

卷积神经网络(CNN)

卷积神经网络(CNN)是一种深度前馈网络,易于训练且泛化性能更佳,被计算机视觉团队广泛采用。CNN处理多维数组数据,利用局部连接、权值共享、池化和多层网络结构来处理图像、声音和视频等数据。

图2 卷积神经网络内部

一个典型的卷积神经网络结构由卷积层和池化层组成,探测局部特征并通过滤波器连接到上层局部块。特征图共享过滤器,以识别在多个位置出现的特征。卷积层探测局部连接,而池化层合并相似特征。通过卷积、非线性变换和池化层的组合,实现特征提取。深度神经网络利用层级属性,高级特征由低级特征组合得到。池化操作让特征表示对位置变化具有鲁棒性。卷积神经网络受视觉神经科学启发,模拟了视觉回路的层级结构。自20世纪90年代起,卷积神经网络应用于语音识别、文档阅读、字符识别等领域。

使用深度卷积网络进行图像理解

21世纪,它被广泛用于图像检测、分割、物体识别等领域,特别在人脸识别上取得显著成功。图像可在像素级别打标签,用于自动接听、自动驾驶等技术。Mobileye和NVIDIA将卷积神经网络用于汽车视觉系统。该技术在2012年ImageNet竞赛中大获成功,显著降低了错误率,推动了计算机视觉革命。如今,卷积神经网络广泛用于识别和探测任务,甚至用于生成图像标题。硬件、软件及算法进步使训练时间大幅缩短。谷歌、微软等公司注意到该技术的潜力,而NVIDIA等则在开发CNN芯片,用于智能设备中。

分布式特征表示与语言处理

分布式特征表示显示深度网络的优势,包括泛化能力和组合表示的指数级潜力。多层神经网络学习输入数据的特征,以预测目标输出。例如,在文本预测中,网络学习单词向量,并预测句子中下一个单词。这些语义特征在输入中不明确,但由网络学习得到。在利用“微规则”学习过程中,我们发现它有助于解析输入与输出符号间的关系。即使句子来自真实文本且微规则不可靠,学习单词向量仍表现良好。预测新事例时,相似概念词易混淆,如Tuesday与Wednesday、Sweden与Norway。此方式称为分布式特征表示,元素不互斥,构造信息对应观测数据变化。单词向量基于自动学习的特征构造,而非专家决策。词向量学习现已广用于自然语言。

图4 词向量学习可视化

特征表示问题争论于逻辑启发与神经网络之间。逻辑启发中,符号实体代表事物,因属性相同或不同。神经网络则通过活动载体、权值矩阵和非线性化,实现常识推理的快速“直觉”。

标准方法基于统计语言模型,未使用分布式特征表示,而是基于N-grams统计简短符号序列频率。需要大量语料库。N-grams视单词为原子单元,无法处理语义相关序列。神经网络语言模型通过关联词与真实特征值向量,使语义相关词在向量空间内相近(图4)。

递归神经网络(RNNs)适用于序列输入任务,如语音和语言。RNNs处理序列元素时维护隐式单元中的历史信息“状态向量”。RNNs虽强大但训练存问题,因梯度随时间增长或下降,导致结果激增或降为零。

RNNs可预测文本中下一个字符或句子中单词,适用于复杂任务。例如,阅读英语句子后,训练“编码器”网络使隐式单元状态向量表征句子意思。此“思想向量”可作为法语“编码器”网络的初始化状态或额外输入,输出法语翻译首单词概率分布。选择特殊首单词作为编码网络输入,输出翻译句子中第二个单词的概率分布,直至停止。此过程基于英语句子概率分布生成法语词汇序列。该方法表现与先进方法相当,引发对句子理解是否需内部符号表示的质疑。这与日常推理观点匹配。类似地,编码器将图片内容“翻译”为英语句子(如图3)。解码器与RNNs类似。深度学习引发巨大兴趣(参见[86])。RNNs展开后视为深度前馈网络,但难以学习并保存长期信息。为解决此,提出了LSTM(长期保存输入)。LSTM网络比传统RNNs更有效,尤其在语音识别中。LSTM或相关门控单元在编码、解码网络及机器翻译中表现良好。近年学者提出多种增强RNNs记忆的提案,如神经图灵机和记忆网络,均表现优异。神经图灵机和记忆网络不仅用于记忆化,还用于推理和符号操作任务,如算法学习和排序符号序列。记忆网络可训练用于追踪故事状态,回答复杂推理问题。


深度学习的未来展望

无监督学习虽促进深度学习热潮,但有监督学习更受瞩目。无监督学习在人类和动物学习中占主导,通过观察发现世界结构。期望未来机器视觉有更多进步,基于ConvNets和RNNs的增强学习系统正在发展,已在分类任务中超越被动系统,并在游戏中有显著效果。

未来几年,自然语言理解将是深度学习重要领域,有望更好理解句子和文档。人工智能的重大进步将来自结合复杂推理和表示学习的系统,需用新范式替代基于规则的字符操作。

下载论文:https://www.cs.toronto.edu/~hinton/absps/NatureDeepReview.pdf

往期精彩回顾




  • 交流群

欢迎加入机器学习爱好者微信群一起和同行交流,目前有机器学习交流群、博士群、博士申报交流、CV、NLP等微信群,请扫描下面的微信号加群,备注:”昵称-学校/公司-研究方向“,例如:”张小明-浙大-CV“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~(也可以加入机器学习交流qq群772479961


Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/173700
 
353 次点击