深度学习大神Yoshua Bengio经典前瞻演讲,帮你打通深度学习的任督二脉(上)

    xiaoxiao2021-07-17  280

    本文联合编译:Blake、高斐

    雷锋网注:Yoshua Bengio教授是机器学习大神之一,尤其是在深度学习这个领域,他也是人工智能领域中经典之作《Learning Deep Architectures for AI》的作者。Yoshua Bengio连同Geoff Hinton老先生以及 Yann LeCun教授一起造就了2006年始的深度学习复兴。他的研究工作主要聚焦在高级机器学习方面,致力于用其解决人工智能问题。目前他是仅存的几个仍然全身心投入在学术界的深度学习教授之一(蒙特利尔大学),本文是他在2009年的经典前瞻演讲——“人工智能学习深度架构”有关内容的第一部分。

    人工智能学习深度架构

    Yoshua Bengio 蒙特利尔大学

    主要内容:“人工智能学习深度架构” 

    深度架构效果好

    在视觉和自然语言处理任务中打败了浅层神经网络(shallow neural network)

    在像素级视觉任务中打败了支持向量机(SVMs)(同时能处理自然语言处理问题中SVMs不能处理的数据大小)

    在自然语言处理领域中实现了当下最好的表现

    在无监督状态下打败了了深度神经网络

    学会了视觉特征(和V1和V2神经元类似)

    深度架构的动机

    大脑拥有深度架构

    人类是分层级进行思考的(通过构筑一些简单的概念)

    深度不够的架构其效率也成倍降低

    分布式表征(可能是稀疏的)对于实现非局部泛化来说是有必要的,比1-N枚举潜在变量值有效得多

    多层级的潜在变量允许统计强度的共享组合

    局部捕获变量

    竖轴为预测f(x),横轴为测试点x

    较少变量情况下较为简单

    紫色曲线代表真实未知运算

    蓝色曲线代表已学会的运算:其中预测= f(x)

    维度的诅咒

    1维时——10个位置(position)

    2维时——100个位置(position)

    3维时——1000个位置(position)

    要实现局部概览,需要对所有的可能变量进行样本表征。

    局部泛化的限制:理论结果(Bengio & Delalleau 2007)

    理论:高斯内核机器至少需要k个样本来学会一个运算(在某些线上有2k个零交叉点)

    理论:对于高斯内核的机器来说,对多种函数在维度上进行训练需要跨维度样本

    在流形局部推广时维数的维数灾难 Curse of Dimensionality When Generalizing Locally on a Manifold

    位图图像的旋转变换(rotation transformation of a bitmap image)

    局部线性补丁与流形相切 local linear patches tangent to the manifold

    收缩变化(shrinking transformation)

    原始输入向量空间(raw input vector space)

    怎样击败变量中许多因素的诅咒?

    组合性:在表征能力上指数增益

    分布表征(Distributed representations)

    深度架构(Deep architecture)

    分布表征(Distributed representations)

    许多神经元是同时活动的

    输入代表了一系列特征(不互相独立)的活动

    比局部表征更有效(指数级)

    局部VS分布

    局部式分区:通过已学会原型进行分区

    分布式分区:子分区1、子分区2、子分区3

    认知神经科学的启示

    大脑使用的是分布式表征

    大脑也是深度架构

    大脑重度使用无监督学习

    大脑倾向于学习更简单的任务

    人类大脑通过社会/文化/教育进行发展

    大脑中的深度架构

    V4区域——更高层次的视觉抽象

    V3区域——初级的形状检测器

    V2区域——边缘检测器

    视网膜——像素

    我们思想(头脑)中的深度架构

    人类会有层次的组织他们的想法和概念

    人类首先学习一些更简单的概念,然后将这些组合起来去表征更复杂抽象的概念

    工程师将解决方案分为多层次的抽象和处理

    想要学习/发现这些概念

    示例:

    由图片(男人坐在地上)——原始输入向量表征——稍微高阶的表征——中间层级等——相当高阶的表征(男人、坐)

    深度架构与共享统计强度以及多任务学习

    想要更接近人工智能的话,更好地推广新的任务是至关重要的。

    深度架构能学会良好的中间表征(能在任务间共享)

    一个良好的表征对于许多任务来说是有意义的

    原始输入x——共享中间表征h——任务1、2、3(y1、y2、y3)

    特征与子特征共享

    不同的任务能共享同样的高阶特征

    不同的高阶特征能从同样的低阶特征组中建立

    更多的阶层=在表征效果上指数级增加

    低阶特征——高阶特征——任务1-N(输出y1-yN)

    架构深度

    元素集(*、sin、+、-)——输入(x、a、b) 输出(*)  深度=4

    元素集(神经元、神经元、神经元)—— 深度=3

    深度架构更具表达性

    2层(逻辑闸、正式的神经元、RBF单元)=通用逼近器

    所有的3个原理(Hastad et al 86 & 91, Bengio et al 2007)

    使用k层紧密表征的运算可能需要k-1层的指数级别 

    深度架构中共享组件

    用共享组件表示的多项式:深度的优势可能指数级增长

    如何来训练深度架构?

    深度架构具有强大的表征能力

    如何对它们进行训练?

    有关深度方面的突破

    在2006年前,训练深度架构都未成功过(除了卷积神经网络以外)

    Hinton, Osindero & Teh « A Fast Learning Algorithm for Deep Belief Nets », Neural Computation, 2006

    Bengio, Lamblin, Popovici, Larochelle « Greedy Layer-Wise Training of Deep Networks », NIPS’2006

    Ranzato, Poultney, Chopra, LeCun « Efficient Learning of Sparse Representations with an Energy-Based Model », NIPS’2006

    贪婪逐层预训练

    堆栈受限玻尔兹曼机(RBM)——深度信念网络(DBN)——监督深度神经网络

    良好的多层神经网络

    每层输出向量

    给定输入x输出层预测目标变量Y的参数分布

    训练多层神经网络

    输出:示例——多项式和softmax输出单元的多类分类

    基于梯度优化的训练准则,包括条件对数拟然训练等

    无监督预训练的效果

    AISTATS’2009

    横轴代表测试错误,竖轴代表计数

    蓝色为不带预训练 橙色为带预训练

    深度的影响

    横轴为层级数目,竖轴为测试分类错误

    玻尔兹曼机和MRFs

    玻尔兹曼机

    马尔可夫随机场

    隐藏变量更有趣

    受限玻尔兹曼机

    最流行的深度架构构件

    双向无监督图形模型

    带(图像、标记)的RBM可见单元

    能预测可见单元的子集y(给定其他的x)

    如果y只得到很少的值

    Gibbs取样

    RBMs是通用逼近器(LeRoux & Bengio 2008, Neural Comp.)

    添加一个隐藏单元(与适当的参数选择)保证了增加的可能性

    拥有足够的隐藏单元,能够完美地模拟任意离散分布

    有nb级隐藏单元的RBMs= 非参数(non-parametric)

    Optimal training criterion for RBMs which will be stacked into a  DBN is not the RBM likelihood

    RBM条件因式分解

    RBM给予二项式神经元能量

    RBM隐藏神经元划分输入控件

    分区1、分区2、分区3

    RBMs中的Gibbs取样

    P(h|x) 和 P(x|h) 因式分解——简单推理、方便的Gibbs取样

    Gibbs取样存在的问题

    在实践中,Gibbs取样并不总是很好的混合。

    在MNIST上通过CD训练RBM

    随机状态的链

    真正的数字链

    自由能量

    自由能量= 边缘化时的等效能量

    在RBMs中能被精确、有效地计算

    边际似然p(x)追溯到高划分函数Z

    对自由能量的因式分解

     

    基于能量的模型梯度

    玻尔兹曼机梯度(Boltzmann Machine Gradient)

    梯度有两个成分——正相、负相

    在RBMs中,容易取样或者在h|x 中求和

    不同的部分:使用马尔可夫链从P(x)中取样

    训练RBMs

    对比发散(CD-k):负相Gibbs链观察x,运行k Gibbs步骤

    持续对比发散(PCD):当权重缓慢变化时在背景中运行负相Gibbs链

    快速持续对比发散(Fast PCD):两组权重,有用大量学习率的只用于负相,快速探索模式

    集群:确定性近混沌动力系统定义了学习和采样

    退火MCMC:使用更高的温度来逃避模式

    对比发散

    对比发散(CD-k):从负相区块开始Gibbs链观察x,运行k Gibbs步骤(Hinton 2002)

    持续对比发散(PCD)

    当权重缓慢变化时在背景中运行负相Gibbs链(Younes 2000, Tieleman 2008):

    保证(Younes 89, 2000; Yuille 2004)

    如果学习率以1/t 减少

    在参数变化太多之前链进行混合

    当参数变化时,链保持收敛

    具有高学习效率的持续对比散度(persistent CD)

    在不考虑能量所处位置这一条件下,逆相样本迅速推高能量,并迅速移动到另一模式。

    大步幅持续对比散度(persistent CD)

    在不考虑能量所处位置这一条件下,逆相样本迅速推高能量,并迅速移动到另一模式。

    具有高学习效率的持续对比散度(persistent CD)

    在不考虑能量所处位置这一条件下,逆相样本迅速推高能量,并迅速移动到另一模式。

    快速持续对比散度与集群

    取样过程中,利用参数快速变化(高学习效率)时获得的极快速集群效应。

    快速PCD:两组权重值,其中之一对应高学习效率,只用于逆相,能够快速转换模式。

    集群(参见Max Welling在ICML,UAI及专题演讲会上的讲话):0度MRFs和RBMs,快速计算权重值。

    集群马尔可夫随机域(MRFs)

    O度MRF的状态S,权重为W

    全面观察的案例,观察所得结果为,在动态系统与W一直发生变化。

    只要W保持不变,即使取最大近似值,样本的统计结果仍将与数据统计结果相匹配。

    集群受限玻尔兹曼机(RBMs)

    该状态的隐层s = (x,h)

    二项式状态变量        

    统计值f

    在正相位中,给定输入信息x,优化隐层h

     在实践操作中,利用RBM(受限玻尔兹曼机)结构,能够实现函数值最大化。

    运用集群实现快速混合

     

    充当生成模型的采样器

    取消模型与采样程序两者间传统意义上的彻底分离

    考虑将自适应程序与充当生成模型的一个采样程序相结合所产生的整体影响

    采样结果可以通过以下步骤得到评估(不参考某种潜在的概率模型)

     

    退火MCMC(Tempered MCMC)

    高温退火有助于估计对数似然值

    考虑不同温度条件下的多重链及邻近链之间的可逆交换

    较高温度链能够不受模型的限制

    模型取样是从T=1开始

    总结:本文中主要提到了有关深度架构、神经网络、玻尔兹曼机等相关内容,以及为什么将它们应用到人工智能领域中的原由。作为 Yoshua Bengio在2009年的演讲,它是相当具有前瞻性的。在后续部分中, Yoshua Bengio也提到了DBN、无监督学习等有关理念及实践过程,请继续关注我们的接下来的第二部分内容文章。

    本文作者:李尊

    本文转自雷锋网禁止二次转载,原文链接

    相关资源:深度学习(中文版)(Ian Goodfellow, Yoshua Bengio, Aaron Courville)

    最新回复(0)