原文:《Semi-Supervised Learning via Convolutional Neural Network for
Hyperspectral Image Classification》
摘要
为了利用高光谱图像 (HSI) 中的未标记数据,提出了一种基于卷积神经网络
(CNN) 的简单但有效的半监督学习方法用于 HSI 分类。
首先,我们通过将未标记数据的聚类损失函数与标记数据的 softmax
损失函数相结合来定义损失函数。 在这里,从 CNN
中提取的标记特征不仅用于训练分类器,还提供锚点以通过 K-means
方法初始化一组聚类中心。 然后,使用所有数据联合训练深度网络进行 HSI
分类。 实验结果表明,我们的方法可以取得与传统的基于 CNN
的监督学习方法相比的结果。 同时,我们的方法网络结构简单,易于训练。
本文方法
在本文中,提出了一种通过 CNN 进行 HSI
分类的简单但有效的半监督学习方法。
不同于传统的半监督深度网络方法先使用未标记数据预训练网络,然后采用标记数据微调网络,我们的方法同时使用标记样本和未标记样本训练深度网络。
本文的主要贡献可归纳如下:
- 我们开发了一个损失函数,其中包括分别针对未标记和标记样本的聚类损失项和
softmax 损失项,聚类损失项有助于提供类判别函数。
- 我们采用从标记样本中提取的一些有限特征作为锚来初始化聚类中心,并使用所有样本优化这个深度网络。
因此,我们的方法可以有效地提取强大的特征,并利用有限的标记样本对高光谱图像进行分类。
提出的方法
网络结构
我们方法的网络结构如图1所示,网络输入包括标记和未标记样本,这些样本是从大小为的HSI中裁剪而来的,其中是光谱带的数目,本文将设为9。在卷积过程中,我们可以使用大小为的核作为卷积核,其中是来自最后一层的输出特征地图的数量。设计的CNN结构包括4个卷积层和一个全连通层,每个卷积层后面都有一个整流线性单元
(ReLU)
层作为激活函数。CNN的输出相应地包含已标记和未标记的特征向量。分类步骤采用Softmax分类器,使用K-means完成半监督聚类过程。
半监督学习
假设全连接层后的输出特征向量表示为,此处和分别表示CNN提取的已标记特征向量和未标记特征向量,和分别是标记样本和未标记样本的数量。首先,用作锚点通过平均每个类的来确定初始中心。然后,我们可以测量中的每个向量与所有聚类中心之间的距离,如下所示:
其中,表示第个未标记特征向量与第个聚类中心的距离。一般而言,属于第类时,有着最小的距离。因此,未标记样本的聚类损失函数定义如下:
此处,是一个二进制参数,当接近类别时等于1,否则为0,,其中。因此,随着类间距离的增大,σ也随之增大。显然,当所有未标记的样本都被精确分类时,达到最小值,因为所有未标记的样本都靠近它们的中心。
同时,利用CNN从标记数据中提取的特征向量进行分类。采用 softmax
分类器解决多分类问题,并通过 softmax 定义监督损失函数如下:
这里的是指示函数,因此1{真命题} =
1,1{假命题} = 0。是 softmax
分类器得到的预测标签。 最后将两个损失函数组合如下:
其中是一个正则化参数,用来控制两个损失函数的影响。显然,当时,所提出的方法就变成了传统的带有softmax分类器的CNN方法,当等于0时就变成了聚类问题。我们最小化总损失函数来训练我们的网络。
在测试过程中,只采用softmax分类器进行分类。
网络优化
本文使用小批量随机梯度下降法通过计算损失函数对的偏导数来优化我们网络的参数,并用于更新网络。计算公式如下:
这里,和表示 softmax
损失函数的传统反向传播误差。 损失函数对的偏导数公式如下:
softmaxloss中参数和卷积层初始化参数的更新过程如下所示:
这里代表网络的学习率,代表迭代次数。
更新聚类中心
网络优化过程中需要更新聚类中心。 首先,所有未标记的特征向量将通过公式(1)所示的距离测量得到自己的标签。
然后通过对具有相同标签的特征向量进行平均来获得新的中心值。为了避免未标记数据中可能存在噪声对聚类中心产生较大扰动,使用更新聚类中心如下:
其中表示初始聚类中心,提供第次迭代,是更新参数。
在本文中,设置为
0.8。