1. 简介
在本教程中,我们将讨论深度学习中的潜在空间。首先,我们将定义这个术语并讨论它对深度学习的重要性,然后我们将展示一些潜在空间的例子。
2. 定义
形式上,潜在空间被定义为抽象的多维空间,它编码外部观察事件的有意义的内部表示。在外部世界中相似的样本在潜在空间中彼此靠近。
为了更好地理解这个概念,让我们考虑一下人类如何感知世界。通过将每个观察到的事件编码为我们大脑中的压缩表示,我们能够理解广泛的主题。
例如,我们不会记住狗的每一个外观细节,以便能够在街上认出一只狗。正如我们在下图中所看到的,我们保留了狗的一般外观的内部表示:
以类似的方式,潜在空间试图通过空间表示向计算机提供对世界的压缩理解。
3. 深度学习的重要性
深度学习已经彻底改变了我们生活的许多方面,其应用范围从自动驾驶汽车到预测严重疾病。它的主要目标是将原始数据(例如图像的像素值)转换为合适的内部表示或特征向量,学习子系统(通常是分类器)可以从中检测或分类输入中的模式。因此,我们意识到深度学习和潜在空间是密切相关的概念,因为前者的内部表示构成了后者。
正如我们在下面看到的,深度学习模型将输入原始数据并输出位于称为潜在空间的低维空间中的判别特征。然后使用这些特征来解决各种任务,如分类、回归或重建:
为了更好地理解潜在空间在深度学习中的重要性,我们应该思考以下问题:为什么我们必须在分类、回归或重建之前在低维潜在空间中对原始数据进行编码?
答案是数据压缩。具体来说,在我们的输入数据是高维的情况下,不可能直接从原始数据中学习重要信息。
例如,在图像分类任务中,输入维度可能与输入像素相对应。系统似乎不可能通过查看如此多的值来学习有用的分类模式。解决方案是使用深度神经网络将高维输入空间编码为低维潜在空间。
4. 实例
现在,让我们讨论深度学习中的一些例子,其中潜在空间的存在对于捕获任务复杂性和实现高性能是必要的。
4.1. 图像特征空间
正如我们之前提到的,潜在空间是每个卷积神经网络不可或缺的一部分,它以图像的原始像素作为输入,并在最后一层对潜在空间中的一些高级特征进行编码。
这个潜在空间使模型能够使用低维判别特征而不是高维原始像素来执行任务(例如,分类)。在下图中,我们可以看到 CNN 的一般架构:
训练后,模型的最后一层捕获了图像分类任务所需的重要输入模式。在潜在空间中,描绘同一对象的图像具有非常接近的表示。通常,潜在空间中向量的距离对应于原始图像的语义相似性。
下面,我们可以看到动物分类模型的潜在空间是怎样的。绿色点对应于从模型的最后一层提取的每个图像的潜在向量。我们观察到相同动物的向量更接近潜在空间。因此,模型更容易使用这些特征向量而不是原始像素值对输入图像进行分类:
4.2. 词嵌入空间
在自然语言处理中,词嵌入是词的数字表示,因此相似的词具有接近的表示。因此,词嵌入位于一个潜在空间中,每个词都被编码成一个低维语义向量。
有许多学习词嵌入的算法,如 Word2Vec 或 GloVe。在下图中,我们可以看到潜在空间中词嵌入的拓扑图:
正如预期的那样,语义相似的词,如“toilet”和“bathroom”,在潜在空间中有紧密的词嵌入。
4.3. GANs
在之前的教程中,我们已经讨论了很多关于 GAN 及其应用的内容。简而言之,GAN 将来自某些先验分布和输出的随机向量作为输入和图像。该模型的目标是学习生成真实数据集的底层分布。例如,如果我们的数据集包含带椅子的图像,则 GAN 模型会学习生成带椅子的合成图像。
GAN 的输入充当潜在向量,因为它将输出图像编码为低维向量。为了验证这一点,我们可以看到插值在潜在空间中是如何工作的,因为我们可以通过线性修改潜在向量来处理图像的特定属性。
在下图中,我们可以看到如何通过改变生成人脸的 GAN 的潜在向量来处理人脸的姿势:
5. 总结
在本教程中,我们介绍了深度学习中的潜在空间。首先,我们讨论了该术语的定义及其与深度学习的密切关系,然后我们提供了一些说明性示例。