基于半监督孪生网络高光谱图像分类
原文:《A Semisupervised Siamese Network for Hyperspectral Image Classification》
摘要
随着高光谱成像技术的发展,高光谱图像(HSI)在分析地面物体类别时变得越来越重要。近年来,得益于海量标注数据,深度学习在多个研究领域取得了一系列突破。然而,标记HSI需要足够的领域知识,并且费时费力。因此,如何有效地将深度学习应用于小标记样本是HSI分类研究的一个重要课题。为了解决这个问题,我们提出了一种半监督孪生网络,将孪生网络嵌入到半监督学习方案中。它集成了自编码器模块和孪生网络,分别研究大量未标记数据中的信息,并用有限的标记样本集对其进行校正,称为3DAES。首先,在大量未标记数据上训练自编码器方法以学习精细表示,创建一个无监督特征。其次,基于这个无监督特征,使用有限的标记样本训练孪生网络,以纠正无监督特征,提高各类别之间的特征可分性。此外,通过训练孪生网络,采用随机抽样方案加速训练并避免各样本类别之间的不平衡。对三个基准HSI数据集的实验一致表明,所提出的3DAES方法在有限的标记样本下具有有效性和鲁棒性。为了复现研究,本研究开发的代码可在https://github.com/ShuGuoJ/3DAES.git上获取。
相关工作
迁移学习:迁移学习旨在将知识从源域转移到目标域,减少后者中大量标记样本的要求。它主要包括两条技术线——微调和数据分布自适应。 主动学习:一般来说,很多标记样本可能是多余的和不必要的,因为可能存在提供相似或相同信息的重复样本。因此,如何利用数据集中有价值的标记样本是主动学习想要解决的问题。在HSI分类中,大多数主动学习方法[33],[47],[48]是基于后验概率,后验概率依赖于另一个分类器来发现那些难以分类和更有价值的概率。 孪生网络:最近,旨在利用样本之间的差异来测量样本相似度的孪生网络引起了各个研究领域研究者的关注。由于样本对的构建可以增加标记样本的数量,因此孪生网络是小型训练集场景的一个很好的候选。一般采用朴素样本构造方法,遍历样本集中所有可能的组合来生成样本对。然而,标记样本对的增加会加剧分类失衡,最终牺牲分类性能。 GAN:此外,生成对抗网络(GAN)[57]是另一种流行的样本增强方法,它生成接近真实样本的假样本。近年来,生成器和鉴别器的GAN被应用于HSI分类[58]、[59],以解决小样本标记问题。通过重复对抗学习,GAN中的生成器可以生成更多接近的真实样本,判别器可以更准确地识别假样本。在此过程中,鉴别器可以从真实样本中提取出越来越多的鉴别特征。因此,在对抗性学习之后,它可以看作是HSI的一个特征提取器模块,用分类器对小的标记样本进行微调。虽然这些基于GAN的方法可以获得更多的样本,但很难精确控制训练和收敛过程。
本文贡献
在这篇文章中,我们提出了一个名为 3DAES 的半监督孪生网络,它集成了自动编码器模块和孪生网络,以研究大量未标记数据中的信息,并分别用有限的标记样本集对其进行校正。 首先,自动编码器方法在大量未标记样本上进行训练以学习细化表示,创建所谓的无监督特征。其次,使用有限的标记样本训练孪生网络来纠正无监督特征,以提高不同类别之间的特征可分离性。 同时,为了加快训练过程,避免样本不平衡,还提出了随机抽样方案。所提出的 3DAES 架构的流程图如图 1 所示。使用三个基准 HSI 数据集进行的实验一致证明了所提出的具有有限标记样本的 3DAES 方法的有效性和稳健性。 本文主要贡献:
- 我们提出了一个半监督孪生网络,称为 3DAES,用于 HSI 分类。 在孪生网络的训练阶段,样本对的构建可以增加训练数据,但会带来冗余性和多样性,尤其是在标记样本非常有限的情况下。 相反,未标记样本包含丰富的多样性,可以很好地弥补标记样本的不足。 因此,提出了一个半监督孪生网络来整合双方。 具体来说,我们引入了一个自动编码器模块,它首先使用无监督方法直接从数据本身学习必要的数据表示。 虽然由此产生的无监督特征包含了数据的内部结构信息,但它可能缺乏类可分离性; 因此,我们使用孪生网络提取有限标记样本的关系特征,旨在纠正无监督特征,以减少类内距离,同时增加类间距离。因此,所提出的 3DAES 方法可以分别充分利用大量未标记数据和有限标记样本中的无监督和监督信息,从而缓解小训练集导致的任何问题。 与现有的半监督方法不同,3DAES 不直接对无监督特征进行微调,而是用小标记样本间接校正。 据我们所知,这是第一次将孪生网络嵌入到 HSI 分类的半监督学习框架中。
- 提出了一种随机抽样策略来加速模型训练并避免预测偏差。 这种策略也可以被认为是一种数据增强过程,可以使所提出的 3DAES 模型对小训练样本有效。 对于朴素样本构建,负类的数量可能比正类的数量大得多。 在这种情况下,分由于样本在学习过程中的梯度贡献较大,分类模型一般倾向于给样本赋一个负类标签。另外,所提出的随机抽样方案简单但有效地缓解了正类和负类之间的任何不平衡,并且不需要额外的超参数。 在每次训练迭代中,正样本和负样本的数量也相等,这显着加快了训练过程。
- 所提出的 3DAES 框架中每个模块的重要性已通过一系列消融实验得到验证,并且三个基准 HSI 数据集的实验一致证明了所提出方法优于其他方法的有效性。 所提出的 3DAES 框架中包含的超参数可以通过交叉验证确定,交叉验证在每个卷积层中保持不变; 因此,确保了所提出的 3DAES 框架的鲁棒性。 对于研究复制,可以在 https://github.com/ShuGuoJ/3DAES.git 上找到为本研究开发的代码。
相关工作
自动编码器
自编码器的体系结构首先由 Hinton 和 Salakhutdinov [26]
提出,由两部分组成:编码器和解码器。 前者将输入x编码为隐藏表示h,后者将隐藏表示h解码为输出x̂。通常,编码器和解码器模块是对称的,并且具有相同的连接模式。自动编码器的学习目标是使输入x和输出x̂尽可能相似,其公式如下:
其中
孪生网络
由特征模块和度量模块组成的孪生网络[64]-[66],可以通过考虑样本对并确定它们的相似性来学习数据之间的差异。这个过程使得这种方法与其他学习范式有所区别。Hadsell等人[67]首次提出了一种对比损失函数,称为排序损失,该函数训练了一个CNN将高维数据映射到低维空间。然后使用对比损失函数在流形空间中将同一类别的样本聚集在一起,将不同类别的样本分散开来。对比损失函数公式如下:
其中y表示样本对的标签。
如果两个样本属于同一类,则该对的标签为一。
相反,当两个样本不属于同一类时,样本对的标签为零。d表示两个样本之间的距离。在[67]中,这个函数是通过欧氏距离计算的,margin是指类间的最小距离。
对比损失函数缩小同一类样本之间的距离,扩大不同类样本之间的距离,直到大于margin。为了更准确地描述数据之间的区别,一些研究[64]、[65]试图找到一个更复杂的度量函数来代替欧氏距离。
在 [64] 中,Zagoruyko 和 Komodakis
使用对比损失函数的一种变体来训练孪生网络,而两个样本之间的度量是由一个全连接网络测量的。对于对比损失,确定适当的
margin 值也可能存在问题。 与上述方法不同,Han
等人[66]将度量问题转化为二元分类问题,度量模块也被二元分类器取代。
如果样本对的样本属于同一类,则样本对为正。
反之,当样本对的样本属于不同类别时,样本对为负,样本对的概率分布代表其匹配程度。
随着深度学习方法的发展,孪生网络已广泛应用于许多研究领域,包括面部识别[68]、[69]和视觉跟踪[70]、[71]。除了上述领域外,孪生网络也被用于
HSI 分类。 刘等人[72]构建了一个混合模型,集成了 CNN 和 RNN 来处理
HSI。孪生网络通过迁移学习使用源数据集进行训练,使模型在少量样本的情况下也能很好地工作。
然后,在目标数据集上对整体模型进行微调。 由于孪生网络不能直接对 HSI
进行分类,因此在训练孪生网络后通常需要一个分类器。为了将孪生网络和分类器的训练过程统一到一个单一的方案中,Zhao
等人[73]
使用孪生网络的多分类方法从端到端训练网络。在数据预处理过程中,该方法将由ym表示的不匹配类添加到类别中。类别ym表示样本对中属于不同类别的样本。如果两个样本属于同一类yi,则它们的样本对的标签也是yi。在推理中,中心像素及其相邻像素可以生成不同的样本对,最终的分类结果由每个样本对的最大投票获得。Rao
等 [74] 提出了一种带有空间金字塔池的 3-D
CNN,它可以调整特征向量长度以减轻波段选择后的信息丢失。同时,为了提高模型的性能,引入了一个归一化项——铰链损失。Huang和Chen[75]采用了双分支架构作为孪生网络的特征模块。度量层也用于计算融合特征的相似度。
苗等 [76] 结合自动编码器和 Siamese 网络进行 HSI 分类。
然而,这项研究在几个关键方面与 [76] 不同。
首先,在[76]中,自动编码器和孪生网络通过对比和重建损失函数一起训练,而自动编码器和孪生网络在本研究中是分开训练的。
由于自动编码器和孪生网络的训练过程是统一的,因此排除了大量未标记数据中的结构信息。另外,在我们的研究中,自动编码器和孪生网络分别应用于利用未标记和标记数据,因此可以大大提高所提出的
3DAES 方法的泛化能力。
其次,我们研究中提出的数据增强策略可以降低预测偏差的风险,更适合标记样本有限的
HSI 分类。 最后,我们的 3DAES 方法引入了一个 3-D CNN 模块来从 HSI
数据中提取联合光谱空间特征,保证了学习特征的可辨别性。
本文提出的3DAES方法
基于 3-D 自动编码器的无监督特征提取
这里,3-D HSI 立方体表示为
同时,为了避免自映射,考虑了服从标准正态分布的高斯噪声项
随机样本对生成
为了后面的描述方便,引入了一些关于训练集的符号。
对于HSI数据,我们假设它有C个地物和每个类别N个训练样本(值得指出的是,每个类别的训练样本数量设置相等只是为了让后面的讨论更容易理解。一般来说,
尽管各类间的训练样本数量可能不同,但仍可得出以下推导结论)。第C(c=1,...,C)类的训练数据用
在这种朴素的样本构造方法(3)下,获得样本对的所有可能组合,表示为
其中M是训练集A中的样本数。由于有C个类,每个类有N个样本,因此I可以进一步表示为:
对于正样本对数据集
对于label(pij) = 0的负样本对数据集
此外,
通过上述样本构建,可以清楚地看到Ineg的规模远大于Ipos。在训练过程中,如果模型没有约束,所提出的方法可以将样本对高概率地分类为负,从而增加梯度。此外,随着每个类内训练样本数量的增加,N, I也会严重扩大,并且大数据集会减慢每个
epoch 的模型训练。
针对上述问题,提出了一种随机样本对生成方法来平衡正负类之间的样本量,从而使得Ipos = Ineg,减少训练时间。如图
3
所示,对于训练集中的任意样本,从同一类和不同类中随机抽取一个样本,分别组成一对正对和一对负对。
这里采用均匀采样策略。因此,对于每次训练迭代,|Ipos| = |Ineg|,|P| = 2|A|,其中|·|是集合中的元素数量。 
基于孪生网络的监督特征提取
孪生网络以样本对pij作为输入,样本
修正模块
因此,孪生网络的特征模块fϕ(xi)由编码器fe(xi)、修正模块
因此,修正模块
因此,修正模块
采用交叉熵损失函数来训练孪生网络,其描述如下[78]:
其中
补充
- 自动编码器(一下简称AE)属于生成模型的一种,目前主流的生成模型有AE及其变种和生成对抗网络(GANs)及其变种。随着深度学习的出现,AE可以通过网络层堆叠形成深度自动编码器来实现数据降维。通过编码过程减少隐藏层中的单元数量,可以以分层的方式实现降维,在更深的隐藏层中获得更高级的特征,从而在解码过程中更好的重建数据。自动编码器是通过无监督学习训练的神经网络,实际上是一个将数据的高维特征进行压缩降维编码,再经过相反的解码过程还原原始数据的一种学习方法。学习过程中通过解码得到的最终结果与原数据进行比较,通过修正权重偏置参数降低损失函数,不断提高对原数据的复原能力。自动编码器学习的前半段的编码过程得到的结果即可代表原数据的低维“特征值”。
- 自动编码器利用未标记数据学习到数据中的非监督特征,孪生网络利用少量标记样本,基于孪生网络结构,对非监督特征进行改正。
- 3D 自动编码器与孪生网络中的编码器相同,但是固定的是自动编码器的权重,训练的是修正模块的权重,实际上后半部分两个linear层的权重。修正单元是一个类似残差的结构:在encoder后加上两个linear层,然后将linear层的输出和encoder的输出相加或相乘(作者通过实验证明相加效果更好)。
- 度量模块是三个Linear层,输出为2,然后再用一个交叉熵损失函数(因为只有两个输出所以就是二分类了)来预测概率。
- 最后将影像块送入训练好的encoder+修正模块得到隐藏特征(hidden feature),将隐藏特征输入逻辑回归分类器得到结果。