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)。