当前位置: 首页 > article >正文

近似推断 - 学习的近似推理篇

前言

在人工智能与机器学习的浪潮中,学习的近似推理( Approximate Inference for Learning \text{Approximate Inference for Learning} Approximate Inference for Learning)正逐渐成为推动技术进步的关键力量。面对日益复杂的数据模型和庞大的数据集,传统的精确推理方法往往难以在有限的时间和资源内给出满意的答案。因此,近似推理作为一种折衷而高效的解决方案,应运而生并逐渐受到广泛关注。

序言

学习的近似推理旨在通过一系列优化策略和方法,在保持一定精度的前提下,降低推理的计算成本,从而实现对大规模数据和复杂模型的快速学习和预测。这种方法不仅提高了机器学习的效率,还为处理不完全数据、隐变量和复杂依赖关系等问题提供了新的视角和解决方案。

学习的近似推理

  • 我们已经看到了推断可以被视作是一个增加函数 L \mathcal{L} L 值的优化过程。
    • 显式地通过迭代方法比如不动点方程或者基于梯度的优化算法来执行优化的过程通常是代价昂贵且耗时巨大的。
    • 通过学习一个近似推断许多推断算法避免了这种代价。
    • 具体地说,我们可以将优化过程视作将一个输入 v \boldsymbol{v} v 投影到一个近似分布 q ∗ = arg max ⁡ q L ( v , q ) q^\ast=\argmax_q \mathcal{L}(\boldsymbol{v},q) q=argmaxqL(v,q)的一个函数 f f f
    • 一旦我们将多步的迭代优化过程看作是一个函数,我们可以用一个近似函数为 f ^ ( v ; θ ) \hat{f}(\boldsymbol{v}; \boldsymbol{\theta}) f^(v;θ) 的神经网络来近似它。

wake sleep算法

  • 训练一个可以用 v \boldsymbol{v} v 来推断 h \boldsymbol{h} h 的模型的一个主要难点在于我们没有一个监督训练集来训练模型。

    • 给定一个 v \boldsymbol{v} v,我们无法获知一个合适的 h \boldsymbol{h} h
    • v \boldsymbol{v} v h \boldsymbol{h} h 的映射依赖于模型族的选择,并且在学习过程中随着 θ \boldsymbol{\theta} θ 的改变而变化。
    • wake sleep 算法 ( Hinton et al., 1995b; Frey et al., 1996 \text{Hinton et al., 1995b; Frey et al., 1996} Hinton et al., 1995b; Frey et al., 1996) 通过从模型分布中抽取 v \boldsymbol{v} v h \boldsymbol{h} h 的样本来解决这个问题。
    • 例如,在有向模型中,这可以通过执行从 h \boldsymbol{h} h 开始并在 v \boldsymbol{v} v 结束的原始采样来高效地完成。
    • 然后这个推断网络可以被训练来执行反向的映射:预测哪一个 h \boldsymbol{h} h 产生了当前的 v \boldsymbol{v} v
    • 这种方法的主要缺点是我们将只能在那些在当前模型上有较高概率的 v \boldsymbol{v} v 值上训练推断网络。
    • 在学习早期,模型分布与数据分布偏差较大,因此推断网络将不具有在类似数据的样本上学习的机会。
  • 在面对配分函数 - 随机最大似然和对比散度篇中,我们看到做梦睡眠在人类和动物中作用的一个可能解释是,做梦可以提供蒙特卡罗训练算法用于近似无向模型中对数配分函数负梯度的负相位样本。

    • 生物做梦的另一个可能解释是它提供来自 p ( h , v ) p(\boldsymbol{h}, \boldsymbol{v}) p(h,v) 的样本,这可以用于训练推断网络在给定 v \boldsymbol{v} v 的情况下预测 h \boldsymbol{h} h
    • 在某些意义上,这种解释比配分函数的解释更令人满意。
    • 如果蒙特卡罗算法仅使用梯度的正相位运行几个步骤,然后仅对梯度的负相位运行几个步骤,那么他们的结果通常不会很好。
    • 人类和动物通常连续清醒几个小时,然后连续睡着几个小时。
    • 这个时间表如何支持无向模型的蒙特卡罗训练尚不清楚。
    • 然而,基于最大化 L \mathcal{L} L 的学习算法可以通过长时间调整改进 q q q 和长期调整 θ \boldsymbol{\theta} θ 来实现。
    • 如果生物做梦的作用是训练网络来预测 q q q,那么这解释了动物如何能够保持清醒几个小时(它们清醒的时间越长, L \mathcal{L} L log ⁡ p ( v ) \log p(\boldsymbol{v}) logp(v) 之间的差距越大,但是 L \mathcal{L} L 仍然是下限)并且睡眠几个小时( 生成模型本身在睡眠期间不被修改),而不损害它们的内部模型。
    • 当然,这些想法纯粹是猜测性的,没有任何确定的证据表明做梦实现了这些目标之一。
    • 做梦也可以通过从动物的过渡模型(用来训练动物策略)采样合成经验来服务于强化学习而不是概率建模。
    • 也许睡眠可以服务于一些机器学习社区尚未发现的其他目的。

学习推断的其他形式

  • 这种学习近似推断策略已经被应用到了其他模型中。

    • Salakhutdinov and Larochelle (2010) \text{Salakhutdinov and Larochelle (2010)} Salakhutdinov and Larochelle (2010) 证明了在学习推断网络中的单一路径相比于在深度玻尔兹曼机中的迭代均匀场不动点方程能够得到更快的推断。
    • 其训练过程基于运行推断网络,然后应用均匀场的一步来改进其估计,并训练推断网络来输出这个更精细的估计以代替其原始估计。
  • 我们已经在深度学习自编码器 - 预测稀疏分解(PSD)篇中已经看到,预测性的稀疏分解模型训练一个浅层编码器网络,从而预测输入的稀疏编码。

    • 这可以被看作是自编码器和稀疏编码之间的混合。
    • 为模型设计概率语义是可能的,其中编码器可以被视为执行 learned \text{learned} learned近似 MAP \text{MAP} MAP推断。
    • 由于其浅层的编码器, PSD \text{PSD} PSD 不能实现我们在均匀场推断中看到的单元之间的那种竞争。
    • 然而,该问题可以通过训练深度编码器实现 learned \text{learned} learned近似推断来补救,如 ISTA \text{ISTA} ISTA技术 ( Gregor and LeCun, 2010b \text{Gregor and LeCun, 2010b} Gregor and LeCun, 2010b)。
  • 近来 learned \text{learned} learned近似推断已经成为了变分自编码器形式的生成模型中的主要方法之一 ( Kingma and Welling, 2014a; Rezende et al., 2014 \text{Kingma and Welling, 2014a; Rezende et al., 2014} Kingma and Welling, 2014a; Rezende et al., 2014)。

    • 在这种优美的方法中,不需要为推断网络构造显式的目标。
    • 反之,推断网络仅仅被用来定义 L \mathcal{L} L,然后调整推断网络的参数来增大 L \mathcal{L} L
    • 我们可以使用近似推断来训练和使用大量的模型。许多模型将在后续篇章:深度生成模型中描述。

总结

学习的近似推理作为一种高效、灵活的方法,在人工智能与机器学习领域展现出了巨大的潜力。它不仅降低了推理的计算成本,提高了学习效率,还为处理复杂数据和模型提供了有力的支持。通过结合各种优化算法和策略,学习的近似推理能够在保持一定精度的前提下,实现对大规模数据的快速处理和预测。

随着人工智能技术的不断发展,学习的近似推理将在更多领域发挥重要作用。无论是在自然语言处理、图像识别、推荐系统还是医疗诊断等领域,学习的近似推理都将为我们提供更加高效、准确和智能的解决方案。因此,深入研究和探索学习的近似推理方法,对于推动人工智能技术的进步和应用具有重要意义。

往期内容回顾

面对配分函数 - 随机最大似然和对比散度篇
深度学习自编码器 - 预测稀疏分解(PSD)篇


http://www.kler.cn/news/365592.html

相关文章:

  • 川渝地区计算机考研择校分析
  • 【linux网络编程】| 网络基础 | 解析IP与Mac地址的区别
  • 学习threejs,利用THREE.ExtrudeGeometry拉伸几何体实现svg的拉伸
  • Android 原生开发与Harmony原生开发浅析
  • 大家都在用的HR招聘管理工具:国内Top5排名
  • 格姗知识圈博客网站开源了!
  • go语言结构体与json数据相互转换
  • 如何动态改变本地的ip
  • 【华为路由】OSPF多区域配置
  • LINUX1.2
  • 主机电子邮件访问:实现高效通信的关键
  • Node.js 23 发布了!不再支持 32 位 windows 系统
  • Ceph入门到精通-Osd db扩容
  • 【赵渝强老师】Hive的内部表与外部表
  • C语言运算符——[]下标运算符
  • 【开源免费】基于SpringBoot+Vue.JS在线视频教育平台(JAVA毕业设计)
  • 离offer更进一步的JVM详细面试题(含答案)
  • ⭐ Unity 序列帧播放脚本
  • NVIDIA发布Nemotron-70B-Instruct,超越GPT-4o和Claude 3.5的AI模型
  • 提示词高级阶段学习day3.2结构化 Prompt 的优势
  • 什么是3D展厅?有哪些应用场景?
  • 0160____declspec(noreturn)的用法
  • vue3中watch的用法以及使用场景以及与watchEffect的使用对比
  • 数据清洗-总结
  • 如何从iconfont中获取字体图标并应用到微信小程序中去?
  • 【个人记录】新电脑的配置截图和电源选项的修改