翻译A-fast-learning-algorithm-for-deep-belief-nets_第1页
翻译A-fast-learning-algorithm-for-deep-belief-nets_第2页
翻译A-fast-learning-algorithm-for-deep-belief-nets_第3页
翻译A-fast-learning-algorithm-for-deep-belief-nets_第4页
翻译A-fast-learning-algorithm-for-deep-belief-nets_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于深度置信网络的快速学习算法基于深度置信网络的快速学习算法 A fast learning algorithm for deep belief nets 摘要摘要 本文展示了如何运用 互补先验 来消除使得在多隐层密度连接型置信网 络中推理困难的 explaining away 现象 利用互补先验 我们提出了一个快速 贪婪算法 用于学习深度有向置信网络 每次学习一层 为最顶上的两层提供 无向关联记忆 快速贪婪算法用来初始化一个更慢的的学习过程 这个过程是 用 wake sleep 算法的对比版本来微调权值 在微调之后 一个三层隐含层的 网络生成了一个很好的手写数字图像和其它记号的联合分布生成模型 这个生 成模型能比判别式学习算法更好的分类数字 这些存在数字的低维副本通过顶 层关联记忆的自由能量地形的长峡谷建模 利用有向关系去表现脑海中的关联 记忆 很容易找到这些峡谷 1 介绍 介绍 在一些含有多个隐层的密度连接有向置信网络中 学习是困难的 因为给 定一个数据向量 要推断隐含活动的条件分布是很难的 变分方法简单地去近 似真实的条件分布 但是这些近似可能很差 特别是在假设先验独立的最深的 隐层 而且 很多学习仍需要所有的参数一起学习 造成学习时间随参数增加 而剧增 图 1 这个网络用来建模数字图像的联合分布 我们设计了一个模型 模型的顶部两层来自于一个无向联想记忆 见图 1 剩下的隐层来自于一个有向无环图 这个有向无环图能将联想记忆转换为像像 素点那样的观察变量的 这种混合模型有很多优点 1 可以利用快速贪婪算法来快速的寻找一个很好的参数集合 甚至是有数 百万参数和很多隐层的深度网络 2 学习算法是无监督的 但是可以通过学习一个生成标记和数据的模型 从而使的模型同样适用于有标记的样本 3 提出微调算法来学习优秀的生成模型 是一个优于用于手写数字 MNIST 数据库的判别式算法的算法 4 生成模型更易于解释深度隐层的分布情况 5 用于形成认知的推断又快又准 6 学习算法是本地的 神经元强度的调整仅取决于前端神经元和后端神经 元的状态 7 通信简单 神经元仅需要去联系他们的随机二值状态 第二部分介绍了 互补先验 的概念 它可以消除使的有向模型推断困难 的 explaining away 现象 并展示了一个带补充先验的有向置信网络的例子 第三部分展示了限制玻尔姿曼机与定权无限有向网的等价性 第四部分介绍了一个快速贪婪算法 可以每次建立多层有向网中的一层 变分边界表明了随着每增加一个新的层 整个生成模型都会得到改进 贪婪算 法与 boosting 有一些相似性 在于它的重复利用 弱 分类器而不是重新权衡 每个数据向量以保证下一步能学到新的东西 被用来构建深度有向网的 弱 学习 器本身就是一个无向图模型 第五部分 快速贪婪算法得到的权重如何用 上下 算法进行微调 这是 一个 wake sleep 算法的对比版本 它没有 模型平均 问题 这个问题会使得 wake sleep 算法得不到很好的认知权重 第六部分展示了一个网络的模式识别效果 这个网络有三个隐层 和手写 数字 MNIST 集的 170 万个权重 不提供任何几何学时 没有任何特殊的预处 理 这个网络的生成效果在 10000 张数字集上是 1 25 的错误率 在这个特殊 的应用中 这个算法比最佳的后向传播网络优了 1 5 该算法也稍微优于支持 向量机在相同任务中取得的 1 4 的错误率 最后 第七部分展示了当运行不被视觉输入所限制时 网络的 mind 中 在发生着什么 这个网络有一个完整的生成模型 所以可以轻易的看到它的 mind 我们可以简单地从高层表示中生成一个图像 综上所述 我们考虑了一个由随机二值变量组成的网络 但是这些 ideas 可 以生成其他模型 其中变量的 log 概率是一个有向连接邻居的状态的加性函数 2 互补先验分布互补先验分布 有向置信网络中的 explaining away 现象使得推断变得困难 见图 2 在 密度连接网络中 隐含变量的后验分布是很棘手的 除非少数特殊的例子 如 混合模型 带高斯噪声的线性模型 马尔可夫链 Monte Carlo 可以被用来从后验 采样 但他们特别耗时 变分方法用一个更易处理的分布来近似真实的后验 并可以被用来为训练数据的 log 概率划分一个更低的下界 lower bound 令人欣 慰的是 学习可以确保给出一个变分边界 甚至是当隐含状态的推断是错误的 时候 但寻找一个一次性消除 explaining away 的方法会更好 甚至是在隐含 变量对可见变量有高度相关性的模型里 但大部分认为这是不可能的 图 2 当我们观察房价的跳跃时 一个包含两个独立的 罕见的原因的 logistic 置信网络 变得高度非相关 10 的地震节点意味着 在任何观察的情况下 这 种节点关的可能性比开的可能性多 E10 倍 如果地震节点打开 卡车节点关闭 跳跃节点有一个总数为 0 的输入 这说明开 关的可能性是相等的 一个 logistic 置信网络是由随机二值单元组成的 当用这个网络去生成数据 打开单元 i 的概率是一个由它的直接祖先 j 和与直接祖先的联系权重 wij 组成 的 logistic 函数 1 exp 1 1 1 j ijji i sb sp 这里的 bi 指单元 i 的偏差 如果一个 logistic 置信网络只有一个隐层 隐含变量 的先验分布是因子的 因为当用模型来生成数据时 它们的二值状态是被独立 选择的 后验分布中的非独立性来自于数据中的可能性 term 可能我们能通过 另外的隐层建立补充先验来削减 explaining away 现象 当可能性 term 随先 验增加 我们会得到一个因子的后验 补充先验存在的并不明显 但图 3 展示 了一个简单的定权无限 logistic 置信网的例子 这个网络中每一隐层都有一个补 充先验 利用固定的权重来构建补充先验可能看起来小事一桩 正如我们所见 然而 它是一个很好的学习算法 逐渐的由上一层的权重来求解每一层的权重 2 1 定权无限有向模型定权无限有向模型 我们可以通过无限深度隐层的随机初始化后 用图 3 中的无限有向网来生 成数据 然后执行自顶向下 祖先 pass 这里的每层的每个变量的二值状态 都是服从由自顶向下的来自于它上层的活跃父节点的输入决定的 Bernoulli 分布 在这方面 它就跟其它的有向无环置信网络一样 然而 不同于其它有向网络 我们可以开始于可见单元的数据向量 然后用权重转置矩阵去依次推断每一个 隐层的因子分布 来从所有隐层的真实的先验分布中取样 在每一个隐层 在 对上一层进行因子后验的计算之前 我们从每一个因子后验中取样 附录 A 显 示了这个流程给出了无偏的样本 因为每一层的补充先验确保了后验分布是因 子的 图 3 定权无限置信网络 向下的箭头代表生成模型 向上的箭头不属于这 个模型 他们表示用来从网络的每个隐层的后验分布中推断样本的参数 既然我们能够从真实的后验中采样 我们就可以计算数据的 log 概率的导数 首先对 H0 层的 j 单元到 V0 层的 i 单元的生成权重求导 见图 3 在 00 ij logistic 置信网络中 单个数据向量 V0 的极大似然学习准则是 2 log 000 00 0 iij ij vvh vp 这里的表示采样状态的平均 vi0 指如果可见向量是由采样的隐含状态中随 机重构的 单元 i 被打开的概率 由第一层隐层 H0 的采样随机状态 计算第二层隐层 V1 的后验分布 跟重 构数据是一样的过程 所以 vi1 是一个概率为 vi0 的 Bernoulli 随机变量的样本 学习准则被写成下式 3 log 100 00 0 iij ij vvh vp vi1 对 hj0 的依赖性毫无疑问是用 3 式来推导 2 式 如下 log 100 00 0 iij ij vvh vp 001 jji hhv 211 iij vvh 4 所有的垂直对齐项相互抵消得到 5 式的 Boltzmann 机器学习准则 3 限制 限制 Boltzmann 机和对比发散学习机和对比发散学习 图 3 中的无限有向网络是与 RBM 等价的 RBM 有一个由互不相连 无向 的 与可见状态层连接对称的隐含状态组成的单独层 为了从 RBM 中生成数据 我们可以从某一层的随机状态开始 然后执行交 替 Gibbs 采样 给定目前其他层的单元的状态 一层中的所有单元都被并行更 新 重复这个过程直到系统从均匀分布中采样 要注意的是 这个过程与从定 权无限置信网中生成数据的过程是等价的 为了在 RBM 中执行极大似然学习 我们可以利用两个交互作用之间的区别 对每一个可见单元 i 和隐含单元 j 之间 的权重 Wij 当一个数据向量附属在一个可见单元上 而且隐含状态是从它们 的因子条件分布中采样的 我们就要衡量交互关系 然后 用另外的 0 j 0 ih v Gibbs 采样 我们运行马尔科夫链直到它达到它的平稳分布 然后计算交互关 系 训练数据的 log 概率导数为 0 j 0 ih v 5 jiji ij hvhv vp 00 00 0 log 这个学习准则与定权无限 logistic 置信网的极大似然学习准则是一致的 Gibbs 采样的每一步都对应计算无限 logistic 置信网的每一层的精确的后验分布 6 KL KL 0 PPPP n 图 4 中描绘了一个使用交替 Gibbs 采样的马尔科夫链 在一个完整的 Gibbs 采 样过程中 顶层的隐单元都被并行更新 4 转化表征的贪婪算法 转化表征的贪婪算法 学习复杂模型的一种有效办法就是组合一系列的简单模型 并有序的学习 它们 为了防止序列中的模型与前面的模型学到不同的东西 在每个模型都被 学习后 数据就被修改了 图 5 混合网络 顶部的两层有无向连接 而且来自关联记忆 图 5 展示了一个多层生成模型 这个模型的顶部两层通过无向连接交互 其他的都是有向连接 顶部的无向连接与固定权重的无限多更高的层等效 模型中没有层内连接 为了简化分析 每层都有相同数目的单元 可以通过假 设高层之间的参数被用来组成 Wo 的互补先验知识 来计算参数 Wo 的敏感值 这就等价于假设所有的权重矩阵都是相同的 在这些假设下的学习 Wo 任务就 简化成学习 RBM 虽然这仍然很困难 一旦学习到了 Wo 数据通过映射 后在第一层隐层创建更高级的 数据 T 0 W 如果 RBM 是原始数据的最佳模型 高层权重矩阵将得到很好的高层 数据 然而通常 RBM 都不能很好的得到原始数据的模型 我们可以用下面的贪婪 算法得到一个更好的生成模型 1 学习 Wo 时 假设所有的权重矩阵都是固定的 2 固定 Wo 然后用来推断第一个隐层的变量的状态的因子近似后验 T 0 W 分布 尽管随后高层权重的改变意味着这个推断方法不再正确 3 让所有的高层权重矩阵彼此相连 但独立于 Wo 学习一个由原始数据 经转化后生成的高层数据的 RBM 模型 T 0 W 如果这个贪婪算法改变了高层的权重矩阵 它肯定会改进生成模型 多层 生成模型下的单数据向量 vo 的消极的 log 概率被来自近似分布 Q 的负熵的变分 的自由能量所限制 对于一个有向模型 配置 vo ho 的 能量 表示为 7 log log 00000 hvphphvE 边界为 8 0 0 log log log log 0000 000000 allh allh vhQvhQ hvphpvhQvp 这里的 ho 是第一层隐层的单元的二值配置 pho 是基于现在的模型的 ho 的先 验概率 Q 是基于第一层隐层的单元的二值配置的任意概率分布 当且仅当 Q 是真实的后验分布时取等号 当所有的权重矩阵捆绑在一起 将应用于数据向量产生的 Ho 的因子分 T 0 W 布是真实的后验分布 所以第二步中的贪婪算法 log p 是等于边界的 第二步固 定了 Q 和 p 后 边界的导数也就是下式的导数 9 0 log 000 allh hpvhQ 所以将边界最大化 更高层的权重等于最大化一个 ho 发生的概率为 Q 的数据 集的 log 概率 如果边界变的更小 尽管下界在增长 log 下降也是可能的 但 log 不会低于第二步中贪婪算法得出的值 因为边界在这一点上是紧的 而且一 直在增加 贪婪算法可以递归 所以如果我们用完整的极大似然 Boltzmann 机学习算 法去学习每一组固定权重 然后再将组里底层从上一层的权重里解开 我们就 可以每次都学习到一层的权重 并能保证数据的 log 概率不会低于完全生成模 型 实际上 我们用对比发散学习来代替极大似然 Boltzmann 机学习算法是因为它 更好更快 为了确保通过贪婪地学习更多层而使的生成模型得到了改进 可以简单的 认为模型 这个模型中 每一层都一样大小 这样高层的权重可以被初始化成 在从低层权重解开之前学习到的值 同样的贪婪算法可以用在不同大小的层数 上 5 基于上下算法的回馈修正 基于上下算法的回馈修正 一次学习一层权重矩阵很高效但是并不是全局最优 一旦学习了高层的权 重 低层的权重和简单推理过程将都不是最优的 贪婪算法得到的次优结果对像 boosting 这样的监督方法是相对没有什么影响的 标记很难得到 而且每个标记可能仅提供少许参数的约束 所以过拟合是一个 欠拟合更典型的问题 然而 回溯到以前 修改之前的模型也只会造成更多的 麻烦 非监督模型可以利用大量的无标记数据库 而且每个样本都可能是高维 的 因此提供很多约束给生成模型 欠拟合是一个可以被后面的 back fitting 阶 段缓解的严峻问题 back fitting 阶段中 之前被学习了的权重又被修正以更好 的适应之前学习到的权重 在贪婪的学习完每一层的原始数据的权重后 我们解除用于从定义模型的 生成 模型中推理的 认知 权重 但保留每一层的后验必须近似为因子分布 的限制 且这个因子分布中 给定低层变量的值后 每一层内的变量是条件独 立的 一个 wake sleep 算法的变体可以被用来允许高层权重影响低层权重 6 MNIST 的识别效果的识别效果 6 1 训练网络 训练网络 MNIST 手写数字数据库有 60000 训练图像和 10000 训练图像 在训练的初 始化阶段 第四部分介绍过的贪婪算法用来从底部开始 单独训练每一层的权 重 每一层都用训练集训练 30 次 在训练过程中 RBM 的可见层的单元都拥 有 0 1 之间的实值 在训练顶层的权重时 标记被作为输入提供 这些标记用一个 10 单元的 softmax 组的打开来表示 当这些组里的活动被上层的活动重构时 仅有一 个单元被允许激活 而且选择单元 i 的概率为 10 j j i i x x p exp exp 这里的 xi 指单元 i 接受的总输入 奇怪的是 学习准则不受一个 softmax 组中 单元间的竞争的影响 所以神经元不需要知道哪个单元在与哪个单元在竞争 竞争会影响一个单元的打开 但这是唯一会影响学习的概率 在一层层的贪婪训练后 这个网络被不同学习速度 权重衰减地训练出来 学习速率 动力 权重衰减是在多次的训练网络后得出的 在验证集上表现最佳的网络有 1 39 的错误率 然后将这个网络在 60000 张 训练图片上训练 直到网络在整个训练集上的错误率与在 44000 张图像的初始 训练集上的最终错误率一样低 这又得再进行 59 次迭代使的总学习时间达到了 一周 最终的网络有 1 25 的错误率 网络的错误如图 7 所示 图 6 展示的是 网络计算正确但是第二佳的概率是最佳概率的 0 3 以内的例子 图 6 网络测试正确但第二猜测的概率是第一猜测的概率的 0 3 以内的所有的 49 个案例 图 7 网络中测试错误的 125 个案例 每个案例都标注着网络的识别结果 6 2 测试网络 测试网络 一个测试网络的办法是 用图像中的随机 up pass 来固定关联记忆的低层中 500 个单元的二值状态 一个更好的方法是 先固定关联记忆的低层的 500 个单元 然后再依次打 开每一个标记单元 然后精确计算 510 个组件二值向量的自由能量 尽管所有 的计算都需要 标记单元开关的独立性 而且这种方法计算的精确条件平稳分布 是基于标注而不是用之前使用的 Gibbs 采样来近似 因为 up pass 中的随机决策 这种方法的错误率比引用的方法的还要高 0 5 我们可以通过两种办法来消除 这种噪声 最简单的方法是 利用激活的概率来代替随机二值状态来确定 up pass 第二种方法是 重复随机 up pass20 次 然后平均这 20 次的标注概率和标注 log 概率 然后挑选出最佳 这两种类型的平均给出了几乎相同的结果 而且这些 结果都与用确定性 up pass 非常近似 图 8 每行显示了 10 个来自带标记的生成模型的样本 顶层的关联记忆在样本 见进行了 1000 次迭代间隔采样 图 9 每行显示了 10 个来自带标记的生成模型的样本 顶层的关联记忆是用来 自每个图像都以 0 5 的概率打开的随机二值图像的 up pass 来初始化 7 深度剖析神经网络 深度剖析神经网络 为了从模型中生成样本 我们在顶层关联记忆里又进行了一次 Gibbs 采样 直到马尔科夫链收敛至平稳分布 然后我们将来自这个分布的样本作为低层的 输入 用单个的生成连接的 down pass 生成图像 如果在 Gibbs 采样过程中 如果将带标记的单元归为一类 我们可以看到服从模型的类条件分布的图像 图 8 展示了在样本中执行 1000 次 Gibbs 迭代采样的每个类的一系列图像 我们可以通过将随机二值图像作为输入 来初始化顶部两层的状态 图 9 显示了当程序带标记的自由运行时 关联记忆的类条件状态会发散 每迭代 down pass20 次来看看关联记忆的 mind 从而观察到内部状态 mind 这个词并不是隐喻 我们认为内心状态是一个假想的外部的世界 这里的高层 内部表示将组成真实的认知 图中所示的就是这个假想的世界 8 总结 总结 每次学习一层深度密度连接置信网络是可能 最明显的方式就是在学习低 层时假设上层不存在 但这与用简单因子近似来代替难以得到的后验分布的做 法不兼容 为了让这些近似发挥作用 我们需要真实的后验与因子尽可能的相 近 所以 取而代之忽略上层的做法 我们假设它们存在但带固定权重 这些权重 被补充先验约束 从而使得真实的后验接近于因子 这与能用对比发散高效学 习的无向模型是等价的 加上的罚项后 这也可以被视作约束变量学习 因为 罚项 近似值和真实值之间的差异 已经被先验必须使变量近似精确的约 束代替 在每一层都被学习后 它的权重便独立于上层的权重 随着这些上层权重 改变 低层的先验知识不再是互补的了 所以低层真实的后验分布不再是因子 的了 生成矩阵的转置也不再正确 但我们可以利用可变约束去展示调整高层 权重可以改进整个生成模型 为了展示快速贪婪学习算法的效率 我们用它来初始化一个更慢的微调算 法的权重 这个微调算法能学习到数字图片以及它们的标注的很好的生成模型 忽略微调算法 利用贪婪算法的速度去学习一个更大更深的网络或者一个更大 的训练集 图 1 中的网络有大概 0 002 立方毫米的参数 上百个这样复杂的网 络能适应一个高度分解的功能性核磁共振成像扫描的单个元素里 说明更大的 网络需要用人脑那么大的认知能力才能计算 我们目前的生成模型有很多局限性 它是为多进制可以被视作概率的图像 而设计的 认知过程中自顶向下的反馈受限于最顶两层的关联记忆 这里没有 一种系统的方法去解决认知不变性 假设已经分割完成 当判别式很复杂时 系统没有学会有序的处理信息量最大的部分 然而 这说明了生成模型相对于 判别式算法的很多优点 1 生成模型能学习底层特征

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论