目录
表示学习
- 我们可以将监督学习训练的前馈网络视为表示学习的一种形式。具体地,网络的最后一层通常是线性分类器,如 softmax 回归分类器。网络的其余部分学习出该分类器的表示。监督学习训练模型,一般会使得模型的各个隐藏层(特别是接近顶层的隐藏层)的表示能够更加容易地完成训练任务。
- 贪心逐层无监督预训练
- 它使研究者首次可以训练不含诸如卷积或者循环这类特殊结构的深度监督网络。
- 贪心逐层无监督预训练依赖于单层表示学习算法,每一层使用无监督学习预训练,将前一层的输出作为输入,输出数据的新的表示。
- 介绍
- 贪心:它独立地优化解决方案的每一个部分,每一步解决一个部分,而不是联合优化所有部分。
- 逐层:每次处理一层网络,训练第 k层时保持前面的网络层不变。特别地,低层网络(最先训练的)不会在引入高层网络后进行调整。
- 无监督:是因为每一层用无监督表示学习算法训练。
- 预训练:是因为它只是在联合训练算法精调所有层之前的第一步。
- 无监督预训练结合了两种不同的想法。第一,它利用了深度神经网络对初始参数的选择,可以对模型有着显著的正则化效果(在较小程度上,可以改进优化)的想法。第二,它利用了更一般的想法——学习输入分布有助于学习从输入到输出的映射。
- 迁移学习和领域自适应
- 学习器必须执行两个或更多个不同的任务,但是我们假设能够解释 P1变化的许多因素和学习 P2需要抓住的变化相关。这通常能够在监督学习中解释,输入是相同的,但是输出不同的性质。
- 在 领域自适应的相关情况下,在每个情景之间任务(和最优的输入到输出的映射)都是相同的,但是输入分布稍有不同。
- 迁移学习的两种极端形式
- 一次学习:只有一个标注样本的迁移任务被称为一次学习
- 可以清楚地分离出潜在的类别。在迁移学习阶段,仅需要一个标注样本来推断表示空间中聚集在相同点周围许多可能测试样本的标签。这使得在学成的表示空间中,对应于不变性的变化因子已经与其他因子完全分离,在区分某些类别的对象时,我们可以学习到哪些因素具有决定意义
- 零次学习:没有标注样本的迁移任务
- 考虑一个零次学习情景的例子,学习器已经读取了大量文本,然后要解决对象识别的问题。如果文本足够好地描述了对象,那么即使没有看到某对象的图像,也能识别出该对象的类别。
- 一次学习:只有一个标注样本的迁移任务被称为一次学习
- 半监督解释因果关系
- 表示学习的一个重要问题是 ‘‘什么原因能够使一个表示比另一个表示更好?” 一种假设是,理想表示中的特征对应到观测数据的潜在成因,特征空间中不同的特征或方向对应着不同的原因,从而表示能够区分这些原因。这个假设促使我们去寻找表示p(x)的更好方法。
- 分布式表示
- 能用具有 k 个值的 n 个特征去描述
个不同的概念。
- 以下是基于非分布式表示的学习算法的示例:
- 聚类算法,包含 k-means 算法:每个输入点恰好分配到一个类别。
- k-最近邻算法:给定一个输入,一个或几个模板或原型样本与之关联。在 k > 1的情况下,每个输入都使用多个值来描述,但是它们不能彼此分开控制,因此这不能算真正的分布式表示。
- 决策树:给定输入时,只有一个叶节点(和从根到该叶节点路径上的点)是被激活的。
- 高斯混合体和专家混合体:模板(聚类中心)或专家关联一个激活的程度。和k-最近邻算法一样,每个输入用多个值表示,但是这些值不能轻易地彼此分开控制。
- 具有高斯核 (或其他类似的局部核)的核机器:尽管每个 “支持向量’’ 或模板样本的激活程度是连续值,但仍然会出现和高斯混合体相同的问题。
- 基于n-gram的语言或翻译模型。
- 能用具有 k 个值的 n 个特征去描述
- 得益于深度的指数增益
- 我们看到足够深的前馈网络会比深度不够的网络具有指数级优势。这样的结果也能从诸如概率模型的其他模型中获得。和-积网络(sum-product network, SPN)是这样的一种概率模型。这些模型使用多项式回路来计算一组随机变量的概率分布。
- 许多种类的只有一个隐藏层的网络(例如,具有饱和非线性,布尔门,和/积,或 RBF 单元的网络)都可以被视为万能近似器。可以在任意非零允错级别近似一大类函数
- 供发现潜在原因的线索
- 一个理想的表示能够区分生成数据变化的潜在因果因子,特别是那些与我们的应用相关的因素。表示学习的大多数策略都会引入一些有助于学习潜在变差因素的线索。这些线索可以帮助学习器将这些观察到的因素与其他因素分开。监督学习提供了非常强的线索:每个观察向量x xx的标签y yy,它通常直接指定了至少一个变差因素。更一般地,为了利用丰富的未标注数据,表示学习会使用关于潜在因素的其他不太直接的提示。这些提示包含一些我们(学习算法的设计者)为了引导学习器而强加的隐式先验信息。诸如没有免费午餐定理的这些结果表明,正则化策略对于获得良好泛化是很有必要的。
- 通用正则化策略的列表
- 平滑
- 线性
- 多个解释因子
- 因果因子
- 深度,或者解释因子的层次组织
- 任务间共享因素
- 流形
- 自然聚类
- 时间和空间相干性
- 稀疏性
- 简化因子聚类
深度学习中的结构化概率模型
- 图模型的研究社群是巨大的,并提出过大量的模型、训练算法和推断算法。
- 非结构化建模的挑战
- 分类问题可以把这样一个来自高维分布的数据作为输入,然后使用一个类别的
标签来概括它,这个分类过程丢弃了输入数据中的大部分信息,然后产生单个值的输出,这个分类器通常可以忽略输入数据的很多部分。 - 我们也可以使用概率模型完成许多其他的任务。这些任务通常相比于分类成本
更高。其中的一些任务需要产生多个输出。大部分任务需要对输入数据整个结构的
完整理解,所以并不能舍弃数据的一部分。这些任务包括以下几个:- 估计密度函数
- 去噪
- 缺失值的填补
- 采样
- 结构化概率模型为随机变量之间的直接作用提供了一个正式的建模框架。这种
方式大大减少了模型的参数个数以致于模型只需要更少的数据来进行有效的估计。
这些更小的模型大大减小了在模型存储、模型推断以及从模型中采样时的计算开销。
- 分类问题可以把这样一个来自高维分布的数据作为输入,然后使用一个类别的
- 使用图描述模型结构
- 有向图模型:是一种结构化概率模型(所有的边都是有方向的)
- 无向模型:无向模型中所有的边都是没有方向的。
- 配分函数
- 有向建模和无向建模之间一个重要的区别就是有向模型是通过从起始点的概率
分布直接定义的,反之无向模型的定义显得更加宽松,通过 势能函数ϕ 函数转化为概率分布而定义。
- 有向建模和无向建模之间一个重要的区别就是有向模型是通过从起始点的概率
- 基于能量的模型
- E(x) 被称作是能量函数。对所有的 z,exp(z) 都是正的,这保证了没有一个能量函数会使得某一个状态x的概率为 0。
- 许 多 对 概 率 模 型 进 行 操 作 的 算 法 不 需 要 计 算 pmodel(x), 而 只 需 要 计 算log Pmodel(x)。对于具有潜变量 h 的基于能量的模型,这些算法有时会将该量的负数称为自由能:
- E(x) 被称作是能量函数。对所有的 z,exp(z) 都是正的,这保证了没有一个能量函数会使得某一个状态x的概率为 0。
- 在有向模型和无向模型中转换
- 有向图转换为无向图的方法不唯一,我们当然可以简单把任何一个有向图转换为一个全连接的( fully connected)无向图,但是这样会糟糕的丢掉有向图中的条件独立的性质。下面介绍一种方法,叫做moralization,保证了有向图转换为无向图后,添加了最少的连接(link).规则如下:
- 若一个结点(node),只有一个父代(parent),那么就把父代到它的有向箭头去掉即可。
- 若一个结点有多个父代,则要把每一个父代组对两两(in pair)连接起来
如下图从a,转换到b,.我们需要把x4的三个父代,两两连接起来。 - 另一种情况
- 有向图转换为无向图的方法不唯一,我们当然可以简单把任何一个有向图转换为一个全连接的( fully connected)无向图,但是这样会糟糕的丢掉有向图中的条件独立的性质。下面介绍一种方法,叫做moralization,保证了有向图转换为无向图后,添加了最少的连接(link).规则如下:
- 因子图
- 可以解决标准无向模型语法中图表达的模糊性。
- 可以解决标准无向模型语法中图表达的模糊性。
- 有向图模型:是一种结构化概率模型(所有的边都是有方向的)
- 从图模型中采样
- 可以通过一个简单高效的过程从模型所表示的联合分布中产生样本,这个过程被称为 原始采样
- 原始采样仅适用于有向模型。我们可以通过将无向模型转换为有向模型来实现从无向模型中抽样,但是这通常需要解决棘手的推断问题(要确定新有向图的根节点上的边缘分布),或者需要引入许多边从而会使得到的有向模型变得难以处理。理论上最简单的方法是 Gibbs 采样(Gibbs Sampling)。
- 结构化建模的优势
- 使用结构化概率模型的主要优点是它们能够显著降低表示概率分布、学习和推
断的成本。 - 图模型通过省略某些边来传达信息。在没有边的情况下,模型假设不对变量间直接的相互作用建模。
- 使用结构化概率模型的主要优点是它们能够显著降低表示概率分布、学习和推
- 学习依赖关系
- 当模型旨在描述直接连接的可见变量之间的依赖关系时,通常不可能连接所有变量,因此设计图模型时需要连接那些紧密相关的变量,并忽略其他变量之间的作用。
- 使用潜变量而不是自适应结构避免了离散搜索和多轮训练的需要。可见变量和潜变量之间的固定结构可以使用可见单元和隐藏单元之间的直接作用,从而建模可见单元之间的间接作用。
- 结构化概率模型的深度学习方法
- 深度学习从业者通常与其他从事结构化概率模型研究的机器学习研究者使用相同的基本计算工具。然而,在深度学习中,我们通常对如何组合这些工具作出不同的设计决定,导致总体算法、模型与更传统的图模型具有非常不同的风格。
- 深度学习并不总是涉及特别深的图模型。在图模型中,我们可以根据图模型的图而不是计算图来定义模型的深度。
- 深度学习基本上总是利用分布式表示的思想。即使是用于深度学习目的的浅层模型(例如预训练浅层模型,稍后将形成深层模型),也几乎总是具有单个大的潜变量层。深度学习模型通常具有比可观察变量更多的潜变量。
- 潜变量的设计方式在深度学习中也有所不同。深度学习从业者通常不希望潜变量提前包含了任何特定的含义——训练算法可以自由地开发对特定数据集建模所需要的概念。
- 另一个明显的区别是深度学习方法中经常使用的连接类型。深度图模型通常具有大的与其他单元组全连接的单元组,使得两个组之间的相互作用可以由单个矩阵描述。传统的图模型具有非常少的连接,并且每个变量的连接选择可以单独设计。模型结构的设计与推断算法的选择紧密相关。
- 图模型的深度学习方法的一个主要特征在于对未知量的较高容忍度。与简化模型直到它的每一个量都可以被精确计算不同的是,我们仅仅直接使用数据运行或者是训练,以增强模型的能力。
蒙特卡罗方法——答案具有随机大小的错误,可得到近似解。
- 采样和蒙特卡罗方法
- 当我们需要以较小的代价近似许多项的和或某个积分时,采样是一种很灵活的选择。
- 马尔可夫链蒙特卡罗方法
- 由一个随机状态x和一个转移分布T(x′| x) 定义而成,T(x′| x) 是一个概率分布,说明了给定状态 x 的情况下随机地转移到 x′的概率。运行一个马尔可夫链意味着根据转移分布 T(x′| x) 采出的值 x′来更新状态 x。
- 通常在一些宽松的条件下,一个带有转移算子T 的马尔可夫链都会收敛到一个不动点,这个不动点可以写成如下形式:
当 x 是离散值时,这个期望对应着求和,而当 x 是连续值时,这个期望对应的是积分。
- 不同的峰值之间的混合挑战
- 使用 MCMC 方法的主要难点在于马尔可夫链的 混合(Mixing)通常不理想。在
理想情况下,从设计好的马尔可夫链中采出的连续样本之间是完全独立的,而且在
x 空间中,马尔可夫链会按概率大小访问许多不同区域。 - MCMC方法采出的样本可能会具有很强的相关性,尤其是在高维的情况下。我们把这种现象称为慢混合甚至混合失败
- 不同峰值之间通过回火来混合
- 当一个分布有一些陡峭的峰并且被低概率区域包围时,很难在分布的不同峰
值之间混合。 - 基于 回火转移(tempered transition) (Neal, 1994) 的马尔可夫链临时从高温度的分布中采样使其在不同峰值之间混合,然后继续从单位温度的分布中采样。
- 当一个分布有一些陡峭的峰并且被低概率区域包围时,很难在分布的不同峰
- 深度也许会有助于混合
- 当我们从潜变量模型 p(h, x) 中采样时,我们可以发现如果 p(h | x) 将 x 编码
得非常好,那么从 p(x | h) 中采样时,并不会太大地改变 x,那么混合结果会很糟糕。解决这个问题的一种方法是使得 h 成为一种将 x 编码为 h 的深度表示,从而使得马尔可夫链在 h 空间中更容易混合。
- 当我们从潜变量模型 p(h, x) 中采样时,我们可以发现如果 p(h | x) 将 x 编码
- 不同峰值之间通过回火来混合
- 使用 MCMC 方法的主要难点在于马尔可夫链的 混合(Mixing)通常不理想。在
直面配分函数
- 对数似然梯度:【机器学习】白板推导系列(二十四) ~ 直面配分函数_哔哩哔哩_bilibili
https://www.bilibili.com/video/BV1EE411a7Mf?spm_id_from=333.851.header_right.fav_list.click
- 随机最大似然和对比散度:【机器学习】白板推导系列(二十四) ~ 直面配分函数_哔哩哔哩_bilibili
https://www.bilibili.com/video/BV1EE411a7Mf?spm_id_from=333.851.header_right.fav_list.click
- 伪似然
- 蒙特卡罗近似配分函数及其梯度需要直接处理配分函数。有些其他方法通过训
练不需要计算配分函数的模型来绕开这个问题。这些方法大多数都基于以下观察:
无向概率模型中很容易计算概率的比率。这是因为配分函数同时出现在比率的分子
和分母中,互相抵消: - 伪似然比 SML 在每个梯度步骤中的计算代价要大得多,这是由于其对所有条
件进行显式计算。但是,如果每个样本只计算一个随机选择的条件,那么广义伪
似然和类似标准仍然可以很好地运行,从而使计算代价降低到和 SML 差不多的程
度 (Goodfellow et al., 2013d)。
- 蒙特卡罗近似配分函数及其梯度需要直接处理配分函数。有些其他方法通过训
- 得分匹配和比率匹配
- 最小化模型对数密度和数据对数密度关于输入的导数之间的平方差期望:
- 最小化模型对数密度和数据对数密度关于输入的导数之间的平方差期望:
- 去噪得分匹配
- 某些情况下,我们希望拟合以下分布来正则化得分匹配
- 某些情况下,我们希望拟合以下分布来正则化得分匹配
- 噪声对比估计
- 具有难求解的配分函数的大多数模型估计都没有估计配分函数。噪声对比估计采取了一种不同的策略。在这种方法中,模型估计的概率分布被明确表示为
其中 c 是
的近似。噪声对比估计过程将 c 视为另一参数,使用相同的算法同时估计 θ 和 c,而不是仅仅估计 θ,。因此,所得到的
可能并不完全对应有效的概率分布,但随着 c 估计的改进,它将变得越来越接近有效值1。
- 噪声分布(noise distribution)pnoise(x)。噪声分布应该易于估计和从中采样。我们现在可以构造一个联合 x 和新二值变量 y 的模型。在新的联合模型中,我们指定
- 具有难求解的配分函数的大多数模型估计都没有估计配分函数。噪声对比估计采取了一种不同的策略。在这种方法中,模型估计的概率分布被明确表示为
- 估计配分函数
- 退火重要采样
- 桥式采样