深度学习鼻祖Geoffrey Hinton帮你入门带你飞

2016-08-23 10:31:14     作者:Blake      来源:雷锋网

Geoffrey Everest Hinton是反向传播算法和对比散度算法的发明人之一,也是深度学习的积极推动者,本文是他对于深度学习介绍的演讲PPT。

本文联合编译:Blake、高斐

雷锋网注:Geoffrey Everest Hinton(杰弗里·埃弗里斯特·辛顿 )是一位英国出生的计算机学家和心理学家,以其在神经网络方面的贡献闻名。辛顿是反向传播算法和对比散度算法的发明人之一,也是深度学习的积极推动者,目前任职于多伦多大学与Google。作为人工智能领域的三位奠基人之一,早在30年前,辛顿就已经在深度学习领域留下了自己的烙印。然而,直到计算机的性能达到深度学习的要求,辛顿才开始在学术界以外得到自己应得的广泛认可,本文是他对于深度学习介绍的演讲PPT。

深度学习

Geoffrey Hinton

多伦多大学&Google

机器学习任务的频谱

典型的统计学方法                         

  • 低维度数据(例如,低于1000个维度)      

  • 数据中存在大量的噪音                        

  • 数据不存在健全的结构, 一个极简模型如何表示数据结构

  • 主要问题在于区分真正结构与数据噪音         

人工智能(AI)

  • 高维度数据(例如,多于1000个维度)

  • 如果合理处理噪音,噪音不足以模糊数据的内在结构。

  • 数据中有庞大得结构,数据结构过于复杂,难以用一个简单的模型表示。

  • 主要问题在于弄清楚如何表示复杂的数据结构,使得这种结构易于学习

深度学习简要发展史

  • 用于学习多层非线性特征的反向传播算法于20世纪70年代和80年代被提出来并得到多次发展演变(Werbos, Amari, Parker, Lecun, Rumelhart et al)。

  • 当时,反向传播算法具有广阔的应用前景,然而,到20世纪90年代,机器学习领域的众多研究者开始停止运用该算法,原因如下:

—该算法不能有效利用多数隐藏层(除了其在“时延”和卷积网的应用)。

—该算法不能在递归网络中发挥有效作用。

如何学习多层特征(~1985)

运用反向传播错误信号以获得用于学习的衍生工具:

首先输入输入信息向量,通过隐藏层,最终得到输出结果,对比输出结果与正确答案得到错误信号。

随机梯度下降

  • 计算少量随机“小批量”训练数据的所有权重值的梯度矢量。

—这将对所有训练数据的梯度矢量进行随机评估。

—若权重值完全出现错误,即便获得一个耗费多,精确地估计值也是无意义的。

  • 略微减小梯度估计值,以更新所有权重值。

—与其他更好地方法相比,这种原始的优化方法能够在大数据集中发挥更好的作用。

反向传播算法到底是哪里出错了?——20世纪90年代的观点

  • 反向传播算法需要大量的标记过的训练数据

—  几乎所有的数据都是未经标记的。

  • 反向传播算法未能规划好学习时间

—  在存在众多隐藏层的网络中,该算法学习速度非常慢。

  • 在局部优化过程中,反向传播算法会出现卡壳现象

—  该算法通常能够得到极好的运用,但是从来没有极好的理论。

运用无监督学习方式,克服反向传播算法的局限性

  • 保持运用梯度方法的有效性与简洁性,以调整权重值,同时运用这种方法为感官输入信息构建结构。

—  调整权重,保证一个生成模型生成感官输入信息的最大可能性。

—  学习图像,而非标记过的图像。

      如果你想要从事计算机视觉领域的研究,首选学习计算机制图法。

  • 我们应当学习哪种生成模型?

随机二进制单位(一种奇数选择方法)

 

受限玻尔兹曼机

  • 限制层与层之间的连接性,使学习变得更为简单。

—只有一层随机二进制隐藏单元。

—隐藏层之间无连接。

  • 在受限玻尔兹曼机中,鉴于可视状态,隐藏层之间存在有条件相互独立关系。

— 当存在一个既定的数据矢量,我们能够快速从后验分布中获取一个无偏差样本。

受限玻尔兹曼机最大可能性学习算法图

由可视单元的一个训练矢量V开头。

在更新所有平行隐藏单元与更新所有平行的可视单元之间转换。

快速学习受限玻尔兹曼机的方法

由可视单元的一个训练矢量开头

更新所有平行的隐藏单元

更新所有平行的可视单元,以实现重构

再次更新隐藏单元

  

旁白

  • 通过对运用两种不同方法获得的预测值取平均数,Netflix 能够预测出你对一部电影的喜爱程度。

  • 其中的一种方法使用经过快速近似学习算法的一种算法版本训练的受限玻尔兹曼机。

      这是受限玻尔兹曼机的首次重大应用。

训练深度网络(受限玻尔兹曼机饱受欢迎的主要原因在于的到盖茨比基金的支持)

  • 首先训练直接从像素中获取输入信息的特征层。

  • 接着,将这些讲过训练的特征视为像素,激活这些特征,在第二隐藏层学习这些特征的特征。

      如此便生成一个多层生成模型。

  • 每当我们添加一个特征层,便能够得到训练数据的对数概率一个更好的可变下限,这一点可以得到证实。

      这一证明过程是非常复杂的(但是对于学术界同仁之间相互尊重极为重要)。

精细调整,以实现区分这一目的

  • 预训练:首先,一次只学习一个特征层,不使用标记过的信息。

  • 精细调增:增添最后一个标记单元层,反向计算标记单元的误差,以便精细调整那些在无监督前期训练阶段学会的特征。

  • 这种精细调整方法能够克服标准反向传播算法的两个主要局限性。

      因为未经标记数据而发现好的特征,我们要求使用更少的标记。

      由于在预训练过程中,一次仅训练一层,并且是从可感知的特征进行精细调整的,学习速度变得越来越快。

为预训练深层神经网构建声学模型

  • 在使用双手机模型的标准后期处理之后,获得23.0%的手机错误率。

  • TIMIT之前获得最优结果为24.4%,这便要求对几个模型的结果取平均值。

通过较短时间的前期处理,现在我们在这一块儿能够做的更好。

接下来会发生什么

  • 当预训练深层神经网络的性能优于在MSR演讲组一致推崇的高斯混合模型,IBM与Google对这类深层神经网络实行进一步发展。

  • 直至2012年,安卓系统的声音搜索功能便是运用一个基于深层神经网络的声学模型。

  • 现在所有起到领导作用的团队均使用神经网络,这一技术正在向性能越来越好的递归神经网络发展。

图像网的ILSVRC-2012竞争

  • 拥有120万高分辨率训练图像的数据集。

  • 1000种不同类别的物体。

  • 任务是在前5次猜测中猜出“正确”的。

  • 在这个数据集中,对现有的一些计算机视觉方法进行测试。

    2012年的计算机视觉系统使用运用手工工程的复杂的多层系统。

       早期阶段主要通过优化一些参数得到调整。

 

ILSVRC-2012竞争的错误率

  • 2015年深层卷积神经网                                                     5%

  • 多伦多大学(Krizhevsky等,2012)                               16%

  • 东京大学                                                                         26%

  • 牛津大学(Zisserman 等)                                                  27%

  • INRIA(法国国家科学院)与XRCE(欧洲施乐研究中心)      27%

  • 阿姆斯特丹大学                                                               29%

针对Imagenet的神经网络

  • Alex Krizhevsky等在NIPS 2012开发了一个非常深的卷积神经网络(Le Cunn 1987),它的架构包括:

l  7个隐藏层(不包括最大池化层)

l  早期的层级是卷积的

l  最后两层是全局相连的

  • 激活函数是每个隐层的修正线性单元

    这些训练速度快得多,且比逻辑单元要更具表现力

  • 全局连接层拥有最多的参数

      Dropout用来防止这些层级过拟合

 

在测试集上的样本(以及神经网络猜测结果)

猎豹(豹 雪豹 埃及猫)

高速列车(小轿车 地铁 电车)

放大镜(剪刀、放大镜、煎锅、听诊器)

 

修正线性单元

  • 使用逻辑弯曲而非线性神经进行修正

y = max(0,x)

这种非线性使得深度网络更易训练,在处理真实值的时候也表现的更好。

 

Dropout:平均多个大型神经网络的有效方式

  • 设想一个包括一个隐层的神经网络

  • 每次提出一个训练样本时,随机以0.5的可能性省略一个隐藏单元

  • 因此我们随机从2^H不同的架构中取样

所有的架构权重相同

 

Dropout作为一种模型平均形式

  • 我们从2^H模型取样。只有一部分模型层级训练过,且它们只训练过一个样本。

  • 权重共享意味着它们中每个模型都是十分正则化的

这比试着将权重保持在较少状态更能实现好的正则化

 

在测试的时候我们做些什么?

  • 我们能对许多不同的架构进行取样,然后在它们的输出分布中取几何平均数。

  • 能用上所有的隐藏单元更好,但是要将它们的输入权重减半

     这恰好计算了所有2^H模型预测的几何平均数

  • 在有更多的隐层的情况下,测试时期将权重减半是唯一一种模型平均的近似值,但是它得到结果不错

 

1986年提出的方向传播算法哪里错了?

关于它为什么失败,我们得出的结论都错了。真正的原因是:

1. 我们的标记数据集太小了。(几千倍的差异)

2. 我们的运算能力太慢了。(百万倍的差异)

3. 我们进行权重初始化的方式错了。

4. 我们使用了错误的非线性类别。

几年前,Jeff Dean认为如果计算能力足够的话,神经网络也许能够做到一些非常了不起的事情。

他建立许多架构让一些大型神经网络在Google的数据中心核心区块上进行训练。

 

卷积神经网络(部分复杂细节已略去)

有关卷积网络最好的类型可以去查看Hochreiter和Schmidhuber于1997年发布文章的细节。

 

卷积神经网络

卷积神经网络十分强大,因为它们结合了两种特性。

l  分布式隐层允许它们有效存储之前的信息

l  非线性动态允许它们以复杂的方式更新隐层

l  深度越深,性能更好

 

机器翻译的一种全新方式(Suskever, Vinyals和Le,2014)

  • 针对每种语言,我们都有一个深度编码器RNN和一个深度解码器RNN

  • 针对原始语言的编码器RNN按照语句中文本顺序进行阅读

它最终的隐层表示的就是语句所要表达的含义。

 

针对翻译分布的一个解码器RNN

  • 首先它输出的是可能的首个单词的概率分布

  • 我们在这个分布中选取一个单词,然后将它反馈到RNN中最为一个输入

  • 给定首个单词,RNN指定第二个单词的分布

  • 继续进行,直到选完

      在训练期间,我们只需要输入“正确”的单词。

 

编码器和解码器网络是如何训练的

  • 给定一个句型组,使用反向传播来最大化产生特定翻译的对数可能性

  • 目前这个系统只训练过一组语言

该系统已实现在该数据上的最佳水准

该系统大约需要一年来开发

如果我们使用更多的数据,并且同时对多种语言共同进行训练编码器和解码器的话,它的表现会好的多

欧洲的议会给出了25种方式,我们可以通过所有的25中解码器进行反向传播。

 

结合视觉和语言(Vinyals等近期工作的简单介绍)

  • 在imagent上训练的深度卷积网络种最后一个隐层的活动向量是能编码图片中内容的“认知”

  • 将认知规划到深度卷积神经网络的初始隐层

  • 训练RNN来输出它在图片中看到了什么

使用一个拥有20万张图片(每张图片有几个注释)的数据集

不再重复训练卷积神经网络

 

一群人在一个户外市场购物

(人们蜷缩围绕着一家开放市场)

 

一个抱着填充动物玩具的孩子特写

(一个小女孩睡在沙发上,抱着一个玩具熊)

 

文本处理的意义

  • 一旦我们能将一句话转化成一个思想向量,那么一篇文本也能变成一系列的思想向量。

  • 在接下里的几年里,人们将使用深度RNNs来学习对思想向量序列进行建模。

这将捕获自然推理过程

它应该能让我们理解文本要表达的含义

  • 我们可能需要数十亿的神经元以及百亿级的参数才能实现人类的理解水平。

 

经典AI的意义

  • 对于物理学家来说光波必须通过以太来进行传播

他们认为没有其他的可能性

  • 对于AI研究学者来说人们必须使用正式的推理规则来通过一个一个论点来传播含义

他们认为没有其他的可能性

  • 神经网络内部的编码器与解码器没有符号专门用来针对机器翻译

唯一的符号是输入和输出

  • 也许处理符号串不是通过操作内部符号串来实现的

处理像素阵列绝对不是通过操作内部像素来实现的

 

深度学习是从哪里来的?

  • 所有的主要思想和几乎全部的实践成果都是来源于基于兴趣的研究。(Gatsby基金十分重要)

  • 目标在于鼓励翻译研究的政府资助也对发展深度学习科学技术有小部分贡献

公司擅长于开发新的想法理念

长远来看,好的想法理念却是真正的瓶颈

因此给予大学基础结构来发展真正的想法理念

PS : 本文由雷锋网(搜索“雷锋网”公众号关注)编译,未经许可拒绝转载!

via Geoffrey Hinton

返回沙发首页  
沙发管家微信
扫描关注沙发管家微信 QQ群: 沙发网官方群 微博:

资讯评论

亲,你需要登录后才能进行评论喔!

还没有评论,快来抢沙发吧!

提示

热门设备安装方法 查看更多>>

最新设备

智能电视 / 盒子评测

安装指南

应用

热门专题