理解机器学习中的潜在空间(Understanding Latent Space in Machine Learning)

news2024/11/26 19:42:48

在这里插入图片描述

1、什么是潜在空间?

If I have to describe latent space in one sentence, it simply means a representation of compressed data.

如果我必须用一句话来描述潜在空间,它只是意味着压缩数据的表示。

想象一个像上面所示的手写数字(0-9)的大型数据库。相同数字的手写图像(即3的图像)与其他不同数字的图像(即3s vs. 7s)相比,彼此之间最相似。但我们能训练一个算法来识别这些相似性吗?如何训练?

如果你训练了一个模型来对数字进行分类,那么你也训练了这个模型来学习图像之间的“结构相似性”。事实上,这就是模型如何首先能够对数字进行分类——通过学习每个数字的特征。

如果这个过程看起来对你来说是“隐藏”的,那是因为它是。Latent,顾名思义就是“隐藏的”。

“潜在空间”的概念很重要,因为它的用途是“深度学习”的核心——学习数据的特征并简化数据表示以寻找模式。

感兴趣吗?让我们一点一点地分解潜在空间:

① 为什么我们在机器学习(ML)中压缩数据?

数据压缩(Data compression)被定义为使用比原始表示更少的比特对信息进行编码的过程。这就像获取一个19D数据点(需要19个值来定义唯一的点)并将所有信息压缩到一个9D数据点中。

在这里插入图片描述

通常情况下,数据在机器学习中被压缩,以学习有关数据点的重要信息。让我举个例子来解释。

假设我们想训练一个模型来使用全卷积神经网络(FCN)对图像进行分类(即输出给定数字图像的数字)。当模型“学习”时,它只是学习每一层的特征(边、角度等),并将特征组合归因于特定的输出。

但每次模型通过一个数据点进行学习时,图像的维数首先会降低,然后才会最终增加(见下面的编码器和瓶颈)。当维数降低时,我们认为这是一种有损压缩。

在这里插入图片描述

因为模型需要重建压缩数据(参见解码器),它必须学会存储所有相关信息并忽略噪声。这就是压缩的价值——它允许我们去掉任何无关的信息,只关注最重要的特性。

这种“压缩状态”是我们数据的潜在空间表示。

② 空间(space)是什么意思?

你可能想知道为什么我们称它为潜在空间。毕竟,压缩的数据,乍一看,可能不会引起任何形式的“空间”。

但这里有个相似之处。

在这个相当简单的例子中,假设我们的原始数据集是尺寸为5×5×1的图像。我们将我们的潜在空间维度设置为3×1,这意味着我们压缩的数据点是一个具有3维的向量。

在这里插入图片描述

现在,每个压缩数据点仅由3个数字唯一定义。这意味着我们可以在三维平面上绘制这些数据(一个数字是x,另一个是y,另一个是z)。

在这里插入图片描述

这就是我们所指的“空间”。

Whenever we graph points or think of points in latent space, we can imagine them as coordinates in space in which points that are “similar” are closer together on the graph.

每当我们绘制点或考虑潜在空间中的点时,我们可以将它们想象为空间中的坐标,其中“相似”的点在图上靠的更近。

一个自然出现的问题是,我们如何想象4D点或n维点的空间,甚至是非向量的空间(因为潜在空间表示不需要2或3维向量,而且通常不需要,因为太多的信息回丢失)。

令人不满意的答案是,我们不能。我们是三维生物,无法理解n维空间(例如n>3)。然而,有一些工具,如t-SNE,可以将我们的高维潜在空间表征转化为我们可以可视化的表征(2D或3D)。(参见下面可视化潜在空间部分。)

但是你可能会想,什么是“相似”的图像,为什么降低数据的维数会使相似的图像在空间上“更接近”?

③ 相似(similar)是什么意思?

如果我们看三张图片,两张椅子和一张桌子,我们会很容易地说出这两张椅子的图像是最相似的,而桌子和椅子的图像是最不同的。

在这里插入图片描述

但是,是什么让这两张椅子的图像“更相似”呢?椅子具有可区分的特征(即靠背,没有抽屉,腿之间的连接)。这些都可以被我们的模型通过学习边、角度等模式来“理解”。

如前所述,这些特征被封装在数据的潜在空间表示中。

因此,随着维数的降低,与每张图像不同的“无关”信息(例如椅子的颜色)从我们的潜在空间表示中“删除”,因为每张图像只有最重要的特征存储在潜在空间表示中。

因此,当我们降低维度时,两把椅子的表现变得不那么明显,而更相似。如果我们想象它们在太空中,它们会“更接近”。

请注意,我在整篇文章中提到的“接近度”(“closeness”)度量是一个模棱两可的术语,而不是确定的欧几里得距离,因为空间中的距离有多种定义。

2、为什么潜在空间很重要?

潜在空间的概念绝对是有趣的。但它是如何使用的呢?我们什么时候用它?最重要的是,为什么?

我们会发现,潜在空间“隐藏”在许多我们最喜欢的图像处理网络、生成模型等中。

虽然潜在空间对大多数人来说是隐藏的,但在某些任务中,了解潜在空间不仅是有帮助的,而且是必要的。

① 表示学习(Representation Learning)

数据的潜在空间表示包含了表示原始数据点所需的所有重要信息。

这种表示(representation)必须表示原始数据的特征(features)。

换句话说,模型学习数据特征并简化其表示以使其更易于分析

这是表示学习概念的核心,它被定义为一组技术,允许系统从原始数据中发现特征检测或分类所需的表征(representations)。

在这个用例中,我们的潜在空间表示用于将更复杂形式的原始数据(如图像、视频)转换为更简单的表示,从而“更便于处理”和分析。

下面列出了表示学习的具体实例——Manifolds

潜在空间是流形学习(manifold learning)中的一个重要概念,是表示学习的一个分支。

数据科学中的流形(manifolds)可以理解为在某种程度上“相似”的数据组或子集。

这些在高维空间中通常难以察觉或模糊的相似性,一旦我们的数据在潜在空间中被表示出来,就可以被发现。

以下面的“swiss roll”为例。

在这里插入图片描述

在3D中,我们知道存在相似数据点的组,但是用高维数据来描绘这样的组要困难得多。

通过将数据的维度降低到2D,在这种情况下可以被认为是“潜在空间”表示,我们能够更容易地区分数据集中的流形(相似数据组)。

要了解更多关于流形和流形学习的知识,我推荐以下文章:

  • Manifolds in Data Science — A Brief Overview:https://towardsdatascience.com/manifolds-in-data-science-a-brief-overview-2e9dde9437e5
  • 2.2. Manifold learning:https://scikit-learn.org/stable/modules/manifold.html?source=post_page-----de5a7c687d8d--------------------------------
② 自动编码器和生成模型(Autoencoders and Generative Models)

一种常见的深度学习模型是自动编码器,它可以操纵潜在空间中数据的“接近度”(“closeness”)——一种作为恒等函数(identity function)的神经网络。换句话说,自动编码器学会输出输入的任何内容。

在这里插入图片描述

现在,如果你是这个领域的新手,你可能会想,为什么我们需要一个这样的模型呢?如果它输出的只是它自己,那么它似乎毫无用处……

虽然这个推理是有效的,但我们不太关心模型的输出。我们更关心模型在这个过程中学到了什么。

当我们强迫一个模型成为恒等函数时,我们是在强迫它将所有数据的相关特征存储在压缩表示中,以便在压缩形式中有足够的信息,这样模型就可以“准确”地重建它。听起来是不是很熟悉?应该是这样,因为这个压缩表示是我们的潜在空间表示(上图中的红色块)。

我们已经看到了如何在潜在空间中更容易发现模式,因为相似的数据点往往会聚集在一起,但我们还没有看到如何从这个潜在空间中采样点来生成“新”数据。

在这里插入图片描述

在上面的例子中,我们可以通过对潜在空间进行插值来生成不同的面部结构,并使用我们的模型解码器将潜在空间表示重建为与原始输入具有相同尺寸的2D图像。

什么是潜在空间插值?

假设我已经将前一节的椅子图像压缩为以下2D向量,[0.4, 0.5]和[0.45, 0.45]。假设桌子被压缩到[0.6,0.75]。如果我要对潜在空间进行插值,我会对“椅子”簇和“桌子”簇之间的潜在空间中的点进行采样。

我们可以将这些采样的2D向量输入到模型的解码器中。瞧!我们得到的“新”图像看起来像是椅子和桌子之间的变形。“新”加了引号,因为这些生成的图像在技术上并不独立于原始数据样本。

下面是潜在空间中两种椅子之间线性插值的例子。

在这里插入图片描述

图像生成仍然是一个活跃的研究领域,而潜在空间是一个必须理解的基本概念。请参阅以下文章,了解生成模型的更多用例,以及使用GAN(生成对抗网络)的潜在空间差值的实际示例,GAN是另一个使用潜在空间表示的生成模型。

  • 18 Impressive Applications of Generative Adversarial Networks(GANs):https://machinelearningmastery.com/impressive-applications-of-generative-adversarial-networks/?source=post_page-----de5a7c687d8d--------------------------------
  • How to Explore the GAN Latent Space When Generating Faces:https://machinelearningmastery.com/how-to-interpolate-and-perform-vector-arithmetic-with-faces-using-a-generative-adversarial-network/?source=post_page-----de5a7c687d8d--------------------------------

3、潜在空间可视化

有关潜在空间可视化的更多信息,我推荐Hackernoon的文章,该文章提供了一个使用t-SNE算法在2D空间中可视化数字图像之间相似性的实际示例。

  • Latent space visualization — Deep Learning bits #2:https://hackernoon.com/latent-space-visualization-deep-learning-bits-2-bd09a46920df?source=post_page-----de5a7c687d8d--------------------------------

4、主要收获

潜在空间只是压缩数据的一种表示,其中相似的数据点在空间中距离更近。

潜在空间对于学习数据特征和寻找用于分析的更简单的数据表示非常有用。

我们可以通过分析潜在空间中的数据来理解数据点之间的模式或结构相似性,无论是通过流形还是聚类等。

我们可以在潜在空间中插入数据,并使用我们模型的解码器来“生成”数据样本。

我们可以使用t-SNE和LLE等算法来可视化潜在空间,这些算法将潜在空间转换为2D或3D。

在了解潜在空间的过程中,我被这个“隐藏”但又必不可少的概念所吸引。我希望这篇文章能够揭开潜在空间表示的神秘面纱,并提供我作为一个新手所渴望的对深度学习的“更深层次的理解”。

5、参考资料
  • Understanding Latent Space in Machine Learning:https://towardsdatascience.com/understanding-latent-space-in-machine-learning-de5a7c687d8d
  • 理解机器学习中的潜在空间:https://zhuanlan.zhihu.com/p/369946876
  • Manifolds in Data Science — A Brief Overview:https://towardsdatascience.com/manifolds-in-data-science-a-brief-overview-2e9dde9437e5
  • 2.2. Manifold learning:https://scikit-learn.org/stable/modules/manifold.html?source=post_page-----de5a7c687d8d--------------------------------
  • 18 Impressive Applications of Generative Adversarial Networks(GANs):https://machinelearningmastery.com/impressive-applications-of-generative-adversarial-networks/?source=post_page-----de5a7c687d8d--------------------------------
  • How to Explore the GAN Latent Space When Generating Faces:https://machinelearningmastery.com/how-to-interpolate-and-perform-vector-arithmetic-with-faces-using-a-generative-adversarial-network/?source=post_page-----de5a7c687d8d--------------------------------
  • Latent space visualization — Deep Learning bits #2:https://hackernoon.com/latent-space-visualization-deep-learning-bits-2-bd09a46920df?source=post_page-----de5a7c687d8d--------------------------------

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1897615.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

天猫超市卡怎么用

猫超卡是在天猫超市里面消费用的卡 但是我们现在买东西都喜欢货比三家,肯定是哪家划算在哪买,要是淘宝其他店铺或京东卖的更便宜,猫超卡自然就用不上了 这种情况的话,还不如直接把猫超卡的余额提出来,买东西也不受限…

RPMBUILD从入门到放弃

前言 为什么会产生这篇文章?促使我写出这片文章的背景是:前几周出差至客户现场部署服务,由于客户是zf,底层物理机都是浪潮品牌,且内网涉密。由于没有提前告知此情况,我误以为还是之前的安装方式一套流程就能部署完成,但没想到的是中间件的安…

Pandas 入门 15 题

Pandas 入门 15 题 1. 相关知识点1.1 修改DataFrame列名1.2 获取行列数1.3 显示前n行1.4 条件数据选取值1.5 创建新列1.6 删去重复的行1.7 删除空值的数据1.9 修改列名1.10 修改数据类型1.11 填充缺失值1.12 数据上下合并1.13 pivot_table透视表的使用1.14 melt透视表的使用1.1…

精准调整:数控切割机导轨的水平与垂直度校准!

滚柱导轨因其具有高承载、高精度、高稳定性和长寿命等特点,被广泛应用在重型设备、精密设备、自动化生产线、航空航天和半导体设备等领域。尤其是在数控切割机中的应用,最为广泛。 对于数控切割机来说,滚柱导轨的调整非常重要,是数…

在 Baklib Experience 中实现混合 CMS 架构

“还记得 CMS 主要用于在网页上布局内容吗?当时,这满足了网站管理需求。然而,行业正在发生变化,数字体验平台 Baklib Digital Content Experience 正在引领潮流。继续阅读以了解如何以及详细了解可用于确保全渠道成功的两个原则。…

[go-zero] 简单微服务调用

文章目录 1.注意事项2.服务划分及创建2.1 用户微服务2.2 订单微服务 3.启动服务3.1 etcd 服务启动3.2 微服务启动3.3 测试访问 1.注意事项 go-zero微服务的注册中心默认使用的是Etcd。 本小节将以一个订单服务调用用户服务来简单演示一下,其实订单服务是api服务&a…

【二】Ubuntu24虚拟机在Mac OS的VMware Fusion下无法联网问题

文章目录 1.环境背景2. 需求背景3. 解决方法3.1 在mac的终端查看虚拟机NAT网络3.2 查看unbuntu节点2的网络配置3.3 问题定位与解决3.3.1 检查是否有冲突3.3.2 冲突解决方法 4. 总结4.1 NAT 网关的原理4.2 VMware Fusion 的 NAT 模式4.3 为什么网关冲突会引起问题4.4 理解配置冲…

龙迅#LT8642UXE适用于四路HDMI转两路HDMI切换应用功能,分辨率高达4K60HZ!

1. 概述 LT8642UXE HD-DVI2.0/1.4 交换机具有符合 HD-DVI2.0/1.4 规范的 4:2 交换机、最大 6Gbps 高速数据速率、自适应均衡接收输入和预加重 TX 输出,以支持长电缆应用。 LT8642UXE HD-DVI2.0/1.4 开关自动检测电缆损耗,并自适应优化均衡设置…

web Worker学习笔记 | 浏览器切换标签,定时器失效的解决办法

文章目录 web Workerweb Worker介绍 - 多线程解决方案浏览器多进程架构 web workers 的使用关闭worker引用其他js文件 浏览器切换标签,定时器失效的解决办法窗口可见性 API解决定时器失效的方案 web Worker web Worker介绍 - 多线程解决方案 Web Workers 是Html5提…

《中国品牌网》揭秘格行品牌崛起之路:如何从混乱市场中杀出重围,领跑未来?

在随身WiFi行业乱象丛生的背景下,格行品牌凭借其独特的经营理念和长期主义的精神,逐渐崭露头角,成为行业的领跑者。近日,《中国品牌网》记者专访了格行品牌的创始人刘永先先生,就他的经营理念、市场策略以及未来展望进…

TCP的pop网络模式

TCP的pop网络模式 1、tcp连接的状态有以下11种 CLOSED:关闭状态LISTEN:服务端状态,等待客户端发起连接请求SYN_SENT:客户端已发送同步连接请求,等待服务端相应SYN_RECEIVED:服务器收到客户端的SYN请请求&…

sql注入问题批量处理

问题:SQL注入修改,历史代码全是${};无法修改的比如表名,列名,动态排序之类的不改,其他的都要修改完成 背景:新公司第一个任务就是SQL注入的修改,历史sql全部都是${},一个个调整不太合适只能批量…

JDBC 学习笔记+代码整理

Tip Idea自带可视界面👉MySQL 图形化界面-CSDN博客 Idea2022无add Framework support选项👉最新版IDEA:Add web Framework Support步骤/构建JavaWeb项目步骤_idea add framework support-CSDN博客 基本步骤 1.加载驱动包Driver 2.建立与数据库的连接C…

[TensorFlow-Lite][深度学习]【快速简介-1】

前言: 很多场景下面我们需要需要把我们的深度学习模型部署到Android,IOS 手机上面. Google 通过TensorFlow Lite 提供了对应的解决方案. 目录: 端侧部署优点 硬件支持 性能 应用案例 一 端侧部署优点 1; 很多场景下面: 无网络,数据无法…

维护和管理LDAP之OpenDJ

目录 基本介绍 服务专有名词 安装 命令行工具 密码管理 重置管理员密码 管理服务器进程 管理索引 如何搜索 管理索引 管理目录数据 测试数据 导出数据 导入数据 LDIF文件数据查看和比较 数据存储-Backends 配置连接 开启 HTTP/HTTPS连接 使用 REST访问 -open…

如何学习和提升SQL

资料来源于腾讯技术直播,只作为学习记录,如有侵权,请联系作者进行删除

文献阅读:通过高通量原位成对测序实现亚细胞分辨率的空间多组学

文献介绍 文献题目: Spatial multi-omics at subcellular resolution via high-throughput in situ pairwise sequencing 研究团队: 曹罡(深圳理工大学)、戴金霞(华中农业大学) 发表时间: 2024…

【算法 - 哈希表】两数之和

这里写自定义目录标题 两数之和题目解析思路解法一 :暴力枚举 依次遍历解法二 :使用哈希表来做优化 核心逻辑为什么之前的暴力枚举策略不太好用了?所以,这就是 这道题选择 固定一个数,再与其前面的数逐一对比完后&…

【Portswigger 学院】文件上传

教程和靶场来源于 Burpsuite 的官网 Portswigger:File upload vulnerabilities - PortSwigger 原理与危害 很多网站都有文件上传的功能,比如在个人信息页面允许用户上传图片作为头像。如果网站应用程序对用户上传的文件没有针对文件名、文件类型、文件内…

2007年下半年软件设计师【下午题】试题及答案

文章目录 2007年下半年软件设计师下午题--试题2007年下半年软件设计师下午题--答案2007年下半年软件设计师下午题–试题