首页 > 其他分享 >深度学习与统计力学(I) :深度学习中的基础理论问题

深度学习与统计力学(I) :深度学习中的基础理论问题

时间:2022-10-17 12:36:28浏览次数:52  
标签:深度 神经网络 统计力学 学习 监督 图像

这是谷歌和斯坦福最新的一项合作研究综述报告,发表在物理学的顶级期刊“凝聚态物理年鉴”(Annual Review of Condensed Matter Physics)。作者:Yasaman Bahri, Jonathan Kadmon, Jeffrey Pennington, Sam S. Schoenholz, Jascha Sohl-Dickstein, and Surya Ganguli  

本公众号将对本报告进行翻译,分6次发布仅供参考。对英文原报告感兴趣请在本公众号回复关键词“深度学习统计力学”。

深度神经网络最近在机器学习方面取得了显著的成功,这就对其成功背后的理论原理提出了深刻的问题。例如,这样的深层网络可以计算什么?我们如何训练他们?信息是如何通过它们传播的?为什么他们泛化能力很好?我们怎么能教他们想象呢?

我们回顾了最近的工作,其中的物理分析方法植根于统计力学已经开始提供这些问题的概念见解。这些见解产生了深度学习与各种物理和数学主题之间的联系,包括随机曲面、自旋玻璃、干扰、动态相变、混沌、黎曼几何、随机矩阵理论、自由概率和非平衡统计力学。事实上,统计力学和机器学习领域长期以来都有着丰富的强耦合相互作用的历史,而统计力学和深度学习交叉点的最新进展表明,这些相互作用只会加深未来的发展。

系列预告

  • 深度学习统计力学(I) :深度学习中的基础理论问题
  • 深度学习统计力学(II) :深度学习的表达能力
  • 深度学习统计力学(III) :神经网络的误差曲面
  • 深度学习统计力学(IV) :深层网络的信号传播和初始化
  • 深度学习统计力学(V) :深度学习的泛化能力
  • 深度学习统计力学(VI) :通过概率模型进行“深度想象”

1 介绍

深层神经网络具有多个隐含层[1],在许多领域都取得了显著的成功,从机器视觉[2]、语音识别[3]、自然语言处理[4]、强化学习[5],到神经科学[6、7]、心理学[8、9]和教育[10]中对动物和人类自身建模。然而,深层神经网络的成功方法仍然是一门高度实践的艺术,包含了许多启发,而不是一门精确的科学。这给理论科学带来了令人兴奋的挑战和机遇,使其能够建立一种成熟的深神经网络理论。这种理论在深度学习中足以指导广泛的工程设计选择。尽管我们目前还远远没有任何这样成熟的理论,但最近出现的统计力学和深度学习一系列交叉工作已经开始为深度网络如何学习和计算提供理论见解,还提出了由这些理论见解驱动的新的和改进的深度学习方法。

我们对这些工作进行综述,它们建立在统计力学和机器学习[11-15]之间长期而丰富的相互作用历史的基础上。有趣的是,正如我们下面讨论的,这项工作在统计力学和深入学习之间建立了许多新的桥梁。在本节其余部分中,我们将为机器学习的两种主要分支提供框架。第一种是有监督学习,它涉及到从样本中学习输入输出映射的过程。第二种是无监督学习,它涉及到学习和挖掘数据中隐藏的结构模式的过程。有了这两个框架,我们在第1.3节中介绍本综述中讨论的几个深入学习的基本理论问题,以及它们与统计力学相关的各种主题的联系。

1.1 有监督学习的总体框架

图像分类是有监督学习的一个典型例子。在图像分类问题中,需要学习从图像的像素表示到该图像的类标签(例如猫、狗)的映射。为了学习这个映射,在一组图像及其正确的类标签上训练一个神经网络。这称为有监督学习问题,因为在训练过程中,网络会得到正确的类标签。事实上,深度学习如此普及的一个开创性进展就是深度网络在图像分类方面的重大突破[2]。

形式化地,最简单的 层前馈神经网络包含 个权重矩阵 和 层神经元活动向量 , 表示每一层 中的神经元数量。 , 是一个 矩阵。由输入


其中 为偏置向量,   是 层神经元的输入模式, 是一个神经元标签非线性激活函数,它在元素粒度上将输入 转换为激活向量。我们可以将所有的 个神经网络参数 记为一个 为向量 ,则神经网络对于输入 的输出可以记为向量    ,其中函数

有监督学习任务可以表示为可能的输入 和输出 上的联合分布 。有监督学习的关键目标是寻找一组最优的参数使得在随机选择的输入输出对


其中损失函数 对正确的输出 和网络预测 的不一致进行惩罚。例如一个简单的损失函数为均方损失函数 。然而在真实应用场景中,可能无法直接得到甚至从数学描述数据分布 。例如,在图像分类中, 可以表示图像的像素强度向量,而 可以表示图像类别标签上的概率分布。通常,我们得到的是一个包含 个从分布 中采样的独立同分布(i.i.d)样本的数据集 (例如猫和狗的示例图像)。然后尝试选择参数


也即正确的答案 和网络预测 在给定训练集 上的平均不匹配度。很多有监督学习方法都是尝试最小化上述训练误差,或者对参数

1.2 无监督学习的总体框架

除了学习输入输出映射,机器学习的另一个关键分支是无监督学习,涉及复杂数据结构的建模和理解。例如,我们如何描述自然图像、声音和语言的结构?如果我们能够精确地对这些复杂数据的概率分布建模,那么我们就可以生成自然数据,以及纠正图像采集[16]、语音记录[17]或人类语言生成[4]中的错误。

当然,图像和声音等复杂数据的分布不能用数学方法来描述,但我们通常可以得到个样本的经验分布:

例如每个可以表示图像的像素强度向量,或者表示声音的压力变化时间序列。

无监督学习的目标是通过调整一簇分布的参数,从而找到一个分布与数据分布类似。这通常是通过最大化与模型参数有关的数据的对数似然函数来实现的:


这种学习的原理是修改 ,将高概率分配给数据点,将低概率分配给其他地方,从而使模型分布 更接近数据分布

当找到一个好的模型 以后,它有很多用处。例如可以从中进行采样生成新数据。也可以用来去噪或者填补数据向量 中的缺失值。更进一步地,如果分布 包含一个将潜在或隐含变量 转换为观察数据向量 的生成过程,那么推断的隐含变量

有趣的是,选择的过程可以看作是一个统计力学反问题[18]。在平衡态统计力学理论中,很多问题通常涉及到从一个微态 上Boltzmann分布 出发,从 计算 的批量统计。相反的是,机器学习往往涉及对微态 进行采样,从而推导出合适的分布

1.3 深度学习中的基础理论问题

有了上述有监督和无监督学习的最小框架,我们现在可以介绍深度学习领域的基本理论问题,以及如何用统计物理学的观点阐明这些问题。在有监督方面,我们讨论了四个问题。

首先,深度 的优点是什么?公式(1)中的哪些函数在 很大时可计算? 我们在第二节中通过把有序和混沌之间的动态相变联系来解决这个问题。

第二,很多最小化公式(3)的训练误差的方法使用(随机)梯度下降来降低参数 上的 的误差曲面。这个误差曲面的形状是怎样的?我们何时能够下降到低训练误差点? 我们将在第三节解决这些问题,并与淬火无序的能量景观的统计力学建立了各种联系,包括随机高斯场、自旋玻璃和干扰等现象。实际上 可以认为是热自由度 上的能量函数,其中数据

第三,在使用梯度下降最小化 时需要从一个初始点 出发,通常是随机选择的。如何选择随机初始化来加速后续的梯度下降? 在第四节中,我们将展示使用随机深网络信号传播的理论可以为好的初始化提供线索,并与随机矩阵理论、自由概率和泛函路径积分中的主题建立联系。

第四,虽然很多学习算法最小化公式(3)中的 ,也可能对参数 增加额外的正则项,关键的目标是优化公式(2)中的测试误差 ,即在训练集 中不存在的随机选择的新样本上的误差。因此达到小的泛化误差 非常关键。什么时候能够获得小的泛化误差,特别是在参数数量 远大于数据点数量 的情况下? 我们将在第5节中讨论这个问题,并与随机矩阵谱中的相变、自由场理论和接触粒子系统等主题建立联系。

在无监督方面,理论发展还不是很成熟。在第6节中我们介绍与平衡态力学(如自由能最小化)和非平衡态统计力学(如Jarzynski等式和不可逆过程中的热耗散)有关的深层无监督学习的工作。

深度学习与统计力学(I) :深度学习中的基础理论问题_深度学习


标签:深度,神经网络,统计力学,学习,监督,图像
From: https://blog.51cto.com/u_15622928/5762175

相关文章

  • 深度学习与统计力学(II) :深度学习的表达能力
    谷歌和斯坦福最新合作综述报告,发表在物理学的顶级期刊“凝聚态物理年鉴”(AnnualReviewofCondensedMatterPhysics)。对本报告进行翻译,分6次发布仅供参考。英文报告请在本......
  • 训练深度学习神经网络的常用5个损失函数
    神经网络在训练时的优化首先是对模型的当前状态进行误差估计,然后为了减少下一次评估的误差,需要使用一个能够表示错误函数对权重进行更新,这个函数被称为损失函数。损失函......
  • javaweb学习记录
    学习javaweb是完完全全自学的,从mysql,tomcat,到Servlet,html都是自学的,主要是看黑马次程序员,但是因为时间原因,我并没有哪个都看,在寒假时我需要再次观看一遍。首先......
  • js 深度克隆实现
    functioncheckType(any){returnObject.prototype.toString.call(any).slice(8,-1)}functionclone(any){if(checkType(any)==='Object'){//拷贝对象......
  • 学习日记
    1、26、删除有序数组中的重复项intremoveDuplicates(int*nums,intnumsSize){if(numsSize==0){return0;}intfast=1,slow=1;//fa......
  • 代码块+控制流图+程序切片的学习
    代码基本知识点代码基本块严格的来说,基本块是满足下列条件的一组连续指令代码,程序的执行(控制流)只能从基本块的第一条语句(入口语句)进入,从基本块的最后一条语句离开。int......
  • 面试官:深度不够,建议回去深挖
    作者:小傅哥博客:https://bugstack.cn沉淀、分享、成长,让自己和他人都能有所收获!......
  • Kruskal重构树 学习笔记
    我们回顾一下最小与最大生成树的性质:对于一张图的最小生成树,原图中任意两个节点中任意一条路径的边权最大值的最小值为生成树中节点路径间边权的最大值。最大生成树则相反......
  • 实验室深度学习服务器崩溃——Oops: 0000 [#1] SMP NOPTI
    这两天实验室的服务器总是崩溃,重启已经不能解决问题了,由于是跑深度学习的服务器,而且还是承接国家级项目的运行服务器,可以说是实验室的主要生产力了,给出报错的日志:  Oc......
  • 树上莫队 学习笔记
    树上莫队本质上是把树上的结点转化为区间信息,从而使用莫队求解。但是不能直接使用树链剖分的\(\text{dfs}\)序,因为树上任意一条路径所对应的区间不是连续的。此处需要用......