深度学习自编码器 - 提供发现潜在原因的线索篇

news/2024/9/28 13:35:25 标签: 深度学习, 人工智能, 算法, 机器学习

序言

在探索复杂数据背后的秘密时,深度学习如同一把锐利的钥匙,特别是其核心的表示学习机制,为我们打开了一扇通往未知世界的大门。表示学习不仅仅是数据的简单编码或转换,它更是深度挖掘数据内在结构、关系与规律的过程。在这一过程中,深度学习模型能够自动发现并提取出数据中隐藏的、潜在的有价值信息,这些信息往往为我们揭示了现象背后的深层原因和机制。正是这种能力,使得表示学习成为解决复杂问题、揭示潜在原因的强有力工具。

提供发现潜在原因的线索

  • 我们回到最初的问题之一来结束表示学习:什么原因能够使一个表示比另一个表示更好?

    • 首先在深度学习之表示学习 - 半监督解释因果关系篇中介绍的一个答案是,一个理想的表示能够区分生成数据变化的潜在因果因子,特别是那些与我们的应用相关的因素。
    • 表示学习的大多数策略都会引入一些有助于学习潜在变动因素的线索。这些线索可以帮助学习器将这些观察到的因素与其他因素分开。
    • 监督学习提供了非常强的线索:每个观察向量 x \boldsymbol{x} x 的标签 y \boldsymbol{y} y,它通常直接指定了至少一个变化因素。
    • 更一般地,为了利用丰富的无标签的数据,表示学习会使用关于潜在因素的其他不太直接的提示。
    • 这些提示包含一些我们(学习算法的设计者)为了引导学习器而强加的隐式先验信念。
    • 诸如没有免费午餐定理的这些结果表明,正则化策略对于获得良好泛化是很有必要的。
    • 当不可能找到一个普遍良好的正则化策略时,深度学习的一个目标是找到一套相当通用的正则化策略,能够适用于各种各样的 AI \text{AI} AI任务(类似于人和动物能够解决的任务)。
  • 在此,我们提供了一些通用正则化策略的列表。该列表显然是不详尽的,但是给出了一些学习算法是如何发现对应着潜在因素的特征的具体示例。

  • 该列表由 Bengio et al. (2013e) \text{Bengio et al. (2013e)} Bengio et al. (2013e)应用数学与机器学习基础 - 概率与信息论篇 - 为什么要用概率提出,这里进行了部分拓展。

    • 平滑:

      • 假设对于单位 d \boldsymbol{d} d 和小量 ϵ \epsilon ϵ f ( x + ϵ d ) ≈ f ( x ) f(\boldsymbol{x} + \epsilon\boldsymbol{d}) \approx f(\boldsymbol{x}) f(x+ϵd)f(x)
      • 这个假设允许学习器从训练样本泛化到输入空间中附近的点。
      • 许多机器学习算法都利用了这个想法,但它不能克服维数灾难难题。
    • 线性:

      • 很多学习算法假定一些变量之间的关系是线性的。
      • 这使得算法能够预测远离观测数据的点,但有时可能会导致一些极端的预测。
      • 大多数简单的学习算法不会做平滑假设,而会做线性假设。
      • 这些假设实际上是不同的——具有很大权重的线性函数在高维空间中可能不是非常平滑的。
      • 参看 Goodfellow et al.(2014b) \text{Goodfellow et al.(2014b)} Goodfellow et al.(2014b)了解关于线性假设局限性的进一步讨论。
    • 多个解释因子:

      • 许多表示学习算法受以下假设的启发,数据是由多个潜在解释因子生成的,并且给定每一个因素的状态,大多数任务都能轻易解决。
      • 深度学习之表示学习 - 半监督解释因果关系篇描述了这种观点如何通过表示学习启发半监督学习的。
      • 学习 p ( x ) p(\boldsymbol{x}) p(x) 的结构要求学习出一些对建模 p ( y ∣ x ) p(\boldsymbol{y} \mid \boldsymbol{x}) p(yx) 同样有用的特征,因为它们都涉及到相同的潜在解释因子。
      • 深度学习自编码器 - 分布式表示篇介绍了这种观点如何启发分布式表示的使用,表示空间中分离的方向对应着分离的变化因素。
    • 因果因子:

      • 该模型认为学习到的表示所描述的变量是观察数据 x \boldsymbol{x} x 的成因,而并非反过来。
      • 正如深度学习之表示学习 - 半监督解释因果关系篇中讨论的,这对于半监督学习是有利的,当潜在成因上的分布发生改变,或者我们应用模型到一个新的任务上时,学习到的模型都会更加鲁棒。
    • 深度,或者解释因子的层次组织:

      • 高级抽象概念能够通过将简单概念层次化来定义。
      • 从另一个角度来看,深层架构表达了我们认为任务应该由多个程序步骤完成的观念,每一个步骤回溯到先前步骤完成处理的输出。
    • 任务间共享因素:

      • 当多个对应到不同变量 y i \text{y}_i yi 的任务共享相同的输入 x \text{x} x 时,或者当每个任务关联到全局输入 x \text{x} x 的子集或者函数 f ( i ) ( x ) f^{(i)}(\text{x}) f(i)(x) 时,我们会假设每个变量 y i \text{y}_i yi 关联到来自相关因素 h \mathbf{h} h 公共池的不同子集。
      • 因为这些子集有重叠,所以通过共享的中间表示 P ( h ∣ x ) P(\mathbf{h} \mid \mathbf{x}) P(hx) 来学习所有的 P ( y i ∣ x ) P (\text{y}_i \mid \mathbf{x}) P(yix) 能够使任务间共享统计信息。
    • 流形:

      • 概率质量集中,并且集中区域是局部连通的,且占据很小的体积。
      • 在连续情况下,这些区域可以用比数据所在原始空间低很多维的低维流形来近似。
      • 很多机器学习算法只在这些流形上有效 ( Goodfellow et al., 2014b \text{Goodfellow et al., 2014b} Goodfellow et al., 2014b)。
      • 一些机器学习算法,特别是自编码器,会试图显式地学习流形的结构。
    • 自然聚类:

      • 很多机器学习算法假设输入空间中每个连通流形可以被分配一个单独的类。
      • 数据分布在许多个不连通的流形上,但相同流形上数据的类别是相同的。
      • 这个假设激励了各种学习算法,包括正切传播、 双反向传播、 流形正切分类器和对抗训练。
    • 时间和空间相干性:

      • 慢特征分析和相关的算法假设,最重要的解释因子随时间变化很缓慢,或者至少假设预测真实的潜在解释因子比预测诸如像素值这类原始观察会更容易些。
      • 参考线性因子模型 - 慢特征分析(SFA)篇,进一步了解这个方法。
    • 稀疏性:

      • 假设大部分特征和大部分输入不相关——在表示猫的图像时,没有必要使用象鼻的特征。
      • 因此,我们可以强加一个先验,任何可以解释为 ‘‘存在’’或 ‘‘不存在’’ 的特征在大多数时间都是不存在的。
    • 简化因素依赖性:

      • 在良好的高级表示中,因素会通过简单的依赖相互关联。
      • 边缘独立可能是最简单的, P ( h ) = ∏ i P ( h i ) P(\mathbf{h}) = \prod_i P(\mathbf{h}_i) P(h)=iP(hi)
      • 但是线性依赖或浅层自编码器所能表示的依赖关系也是合理的假设。
      • 这可以在许多物理定律中看出来,并且可以假设,在学习到表示的顶层插入线性预测器或分解的先验。
  • 表示学习的概念将许多深度学习形式联系到了一起。 前馈网络和循环网络,自编码器和深度概率模型都在学习和使用表示。学习最佳表示仍然是一个令人兴奋的研究方向。

总结

深度学习之表示学习,以其独特的视角和方法,为我们提供了发现数据背后潜在原因的宝贵线索。通过构建深层次的网络结构,表示学习能够深入数据的内核,揭示出那些肉眼难以察觉的规律和模式。这些规律和模式不仅帮助我们更好地理解数据本身,更为我们解决实际问题、制定科学决策提供了有力支持。在未来的发展中,随着技术的不断进步和应用场景的不断拓展,深度学习之表示学习必将在更多领域展现出其强大的潜力和价值,为我们揭示更多自然界的奥秘和规律。

往期内容回顾

深度学习之表示学习 - 引言篇
深度学习之表示学习 - 半监督解释因果关系篇
深度学习自编码器 - 分布式表示篇
应用数学与机器学习基础 - 概率与信息论篇
线性因子模型 - 慢特征分析(SFA)篇


http://www.niftyadmin.cn/n/5681190.html

相关文章

web前端-CSS引入方式

一、内部样式表 内部样式表(内嵌样式表)是写到html页面内部,是将所有的 CSS 代码抽取出来,单独放到一个<styie>标签中。 注意: ① <style>标签理论上可以放在 HTML文档的任何地方&#xff0c;但一般会放在文档的<head>标签中 ② 通过此种方式&#xff0c;可…

【JavaEE初阶】深入理解wait和notify以及线程饿死的解决

前言&#xff1a; &#x1f308;上期博客&#xff1a;【JavaEE初阶】深入解析死锁的产生和避免以及内存不可见问题-CSDN博客 &#x1f525;感兴趣的小伙伴看一看小编主页&#xff1a;【JavaEE初阶】深入解析死锁的产生和避免以及内存不可见问题-CSDN博客 ⭐️小编会在后端开…

Reactor 反应堆模式

Reactor 反应堆模式 1、概念 Reactor&#xff08;反应堆&#xff09;模式是一种事件驱动的设计模式&#xff0c;通常用于处理高并发的I/O操作&#xff0c;尤其是在服务器或网络编程中。它基于事件多路复用机制&#xff0c;使得单个线程能够同时管理大量并发连接&#xff0c;而…

el-table给列加单位,表头加样式,加斑马纹

<el-table ref"table" class"dataTable" :data"detailList" :header-cell-style"tableHeaderColor" :row-class-name"tableRowClassName" highlight-current-row><el-table-column label"序号" al…

git 基本原理

文章内容来源于视频 举个案例&#xff0c;家族里面有一本记载祖传秘籍的菊花宝典&#xff0c;这本菊花宝典的正本存储在家族祠堂里面&#xff0c;每一个家庭从正本复制一本存在自己家中&#xff0c;称为副本。这个过程称为clone 一个家庭需要再菊花宝典中添加技能&#xff0c…

Django 配置邮箱服务,实现发送信息到指定邮箱

一、这里以qq邮箱为例&#xff0c;打开qq邮箱的SMTP服务 二、django项目目录设置setting.py 文件 setting.py 添加如下内容&#xff1a; # 发送邮件相关配置 EMAIL_BACKEND django.core.mail.backends.smtp.EmailBackend EMAIL_USE_TLS True EMAIL_HOST smtp.qq.com EMAIL…

Vue 技术入门 day1 模版语法、数据绑定、事件处理、计算属性与监视、class和style绑定、条件渲染v-if/v-show、列表渲染v-for

目录 1.Vue 核心 1.1. Vue 简介 1.1.1 介绍与描述 1.1.2 Vue 的特点 1.2 模板语法 1.2.1 模板的分类 1.2.2 插值语法 1.2.3 指令语法 1.2.4 实例 1.3 数据绑定 1.3.1 单向数据绑定 1.3.2 双向数据绑定 1.3.3 MVVM 模型 1.3.4 data与el的2种写法 1.3.5 实例 1.3.…

HTML基础用法介绍一

VS code 如何快速生成HTML骨架注释是什么&#xff1f;为什么要写注释&#xff1f;注释的标签是什么&#xff1f;标题标签段落标签换行标签与水平线标签 (都是单标签&#xff09;文本格式化标签图片标签超链接标签音频标签视频标签 &#x1f698;正片开始 VS code 如何快速生成…