一、 自动编码器
自动编码器是一种神经网络,旨在通过将输入数据压缩为低维形式来简化输入数据的表示。这可以通过各种技术来实现,例如主成分分析 (PCA) 或奇异值分解 (SVD)。在计算机视觉领域,图像嵌入是图像的矢量表示形式,用于捕获图像的最重要特征。 这些嵌入可用于执行相似性搜索,其中根据图像的特征比较图像以查找相似图像。
图像解读:
1. 输入(Input Spectrum)
- 图像的左侧部分显示的是一个高光谱图像,它的每个像素点不仅有空间信息(spatial),还包括光谱信息(spectral)。
- 输入的高光谱数据包含每个像素对应的光谱曲线,这是一维的光谱信息(即每个像素在多个波长下的反射率或辐射强度)。
2. 输入层(Input Layer)
- 高光谱图像的光谱信息输入到自编码器的输入层。
- 图中显示的是一个典型的神经网络结构,输入层包含多个神经元,每个神经元代表一部分光谱信息。
3. 编码器(Encoder)
- 输入层后是“编码器”部分,这一层的作用是将高维的输入数据压缩到一个低维的特征空间(即进行降维)。神经网络通过编码层提取出输入光谱的特征表示。
- 随着层数的加深,数据的维度逐步减少。
4. 码层(Code Layer)
- 这是编码器的最后一层,也称为瓶颈层,它保存了低维的特征表示(low dimensional feature representation)。
- 在这里,高维光谱信息被压缩到一个较低维度的向量,用来表示最重要的特征。
5. 解码器(Decoder)
- 经过压缩的低维特征会通过解码器将信息恢复回高维空间,试图重建原始的光谱数据。
- 解码器的结构与编码器相似,但其目的是将低维特征“还原”回接近原始输入的光谱曲线。
6. 输出层(Output Layer)
- 解码器的输出层产生重构的光谱数据,即模型对原始光谱的预测。
- 输出层的结果与输入层的光谱曲线进行对比,用于计算误差(error function)。
7. 误差函数(Error Function)
- 输出的光谱曲线与目标光谱(Target Spectrum)进行比较,计算误差。这一步是为了评估模型重构的精度,通过最小化误差来优化模型。
8. 低维特征表示
- 图的右上角展示了通过编码器降维后的高光谱图像表示。这是一个压缩过的低维空间中的表示,用于后续的分析或处理。
二、零样本学习
零样本学习是在训练过程中即使提供的样本数量很少,甚至没有样本的情况下,仍然能够对这些类别进行有效的预测的技术。零样本学习(ZSL)是一种通过提供额外的辅助信息来帮助模型进行预测的方法。这些辅助信息通常包括类别的描述、语义属性或词嵌入,涵盖了已知类别和未知类别。在遥感领域,这类技术特别有用,因为常见类别的样本可能比较多,但某些感兴趣的类别可能几乎没有样本,甚至完全没有。
三、自我监督、无监督、对比学习
三种都是使用未标记数据来训练算法的机器学习方法。举个例子:
1. 自监督学习
自监督学习方法常用于所谓的基础模型的训练,因为它们能够从大量的无标签数据(通常是时间序列数据)中进行学习。
例子:颜色恢复任务
- 任务:给定一张灰度图像,模型需要预测并恢复其原始的彩色版本。
- 过程:我们使用原始彩色图像作为“未标注数据”,通过将其转换为灰度图像来创建一个自监督任务。模型在训练时的目标是根据灰度图来预测每个像素的颜色。
- 学习目标:通过学习恢复彩色信息,模型实际上在学习图像的内容和结构,这样可以提取出图像中的有用特征。
2. 无监督学习
例子:聚类(K-Means)
- 任务:假设我们有一组不同种类的水果图片(没有标签)。模型需要将这些图片按照相似性进行分类。
- 过程:通过K-Means等无监督算法,模型会分析这些图片的特征(例如颜色、形状等),然后将相似的水果分为不同的组。例如,它可能会将苹果、香蕉、橙子分为不同的类别。
- 学习目标:模型通过分析数据的内在结构,自主地找到数据中不同的模式和类别,而不需要任何事先的标签。
3. 对比学习
例子:图像相似性学习
- 任务:给定一组图片对,模型需要学会区分哪些图片是“相似的”,哪些是“不相似的”。
- 过程:我们将相似的图片(例如同一个物体的不同角度)组成正对,将不相似的图片(例如不同物体)组成负对。模型通过学习将相似的图片在特征空间中拉近,而将不相似的图片拉远。这个过程通常用于构建特征向量,使得相似的输入在特征空间中相邻。
- 学习目标:模型通过对比不同图片的特征,学习到能够区分物体的关键特征,并在无标签数据上进行分类或特征提取。