基于SSAE深度学习特征表示的高光谱遥感图像分类方法

2018-10-18 10:31,
计算机测量与控制 2018年10期
关键词:编码器分类器深度

,

(河海大学 商学院,南京 211100)

0 引言

高光谱遥感图像不仅包含地物的连续、紧密的光谱信息,且包含地物的空间分布信息,为此在如农业、矿物学、监测和环境科学中有重要应用[1]。对高光谱影像中每个像素进行分类是关键问题,目前学者引入了大量的机器学习方法来解决分类问题[2]。

机器学习算法的性能在很大程度上取决于它们的数据表示(特征)的选择,这在计算机视觉任务中尤为明显。其中精心设计的手工特征,如尺度不变特征变换(SIFT)或梯度直方图(HOG)在各种任务中表现出很高的有效性[3-4]。但是,这些特征描述符的主要缺点是在设计过程中需要进行人为干预。此外,这些特征具有高维度特性并且具有有限的泛化能力。这就促使需要通过特征表示学习从数据中自动提取的有效特征,旨在学习原始数据的有用表示以用于更高级别的任务,并最小化学习算法对特征工程的依赖性[5]。

从基础数据中学习这些特征会受许多变异因素的影响。例如,在遥感图像方面,包括地面环境条件以及云污染会给特征学习带来挑战。一些学者采用各种经典神经网络来提取特征,例如文献[6]采用了卷积神经网络进行特征学习来提取特征。但是这些神经网络的计算复杂度都很高。

在这项工作中,我们的目标是在现实世界的情景下找到卫星数据的“优良特征表示”。本文通过考虑稀疏自动编码器(Sparse Auto-encoder, SAE)的框架,构建一种无监督特征表示学习方法。SAE是一种采用非线性编码并施加稀疏性约束来表示原始数据的人工神经网络。为了在复杂背景下训练深度模型,本文利用一系列堆叠的稀疏自动编码器,构建堆叠稀疏自动编码器(Stacked Auto-encoder, SSAE)进行特征映射,获得图像的特征表示。最后通过传统的支持向量机(Support Vector Machine, SVM)分类器对输入图像特征进行分类,最终实现遥感图像中像素的分类。

1 基于SSAE深度学习的特征表示

1.1 稀疏自动编码器(SAE)

特征映射是将输入模式x∈Rd转换为k个神经元(单位)的隐藏表示h(称为编码),由编码器函数定义:

f(x)=h=αf(W1x+b1)

(1)

其中:αf是应用于输入向量的激活函数。激活函数通常选择为非线性,如逻辑sigmoid和双曲正切。最近,人们越来越关注修正线性单元(Rectified Linear Unit, ReLU)[8],它似乎在监督识别任务中效果更好。

(2)

其中:αg是激活函数,W2∈Rd×k是解码矩阵,b2∈Rd是从隐藏层到输出层学习的偏置参数。

通过特定的损失函数,最小化输入和输出之间的重建误差,来实现对自动编码器的参数集A=W1的估计。给定训练集,一个典型的损失函数是用来寻求最小化的最小二乘误差,优化目标[9]定义如下:

(3)

SAE是典型自动编码器的特殊情况,其中编码被限制为稀疏,即在训练期间仅有一小部分单元是活动的。信号和模型稀疏性具有许多优点,对信号处理和机器学习产生了深远的影响,例如鲁棒性,模型复杂性,生成性和判别能力等。此外,来自神经科学的证据表明,稀疏网络更接近生物神经元的反应,因为被同时激活的神经元的百分比估计在总数的1%到4%之间[10-11]。

图1 传统自动编码器体系结构

(4)

(5)

(6)

超参数β确定稀疏正则化的重要性。通过计算JspAE的偏导数并应用反向传播算法来更新一组特定的权重。这样,在少量迭代之后,训练通常会收敛到全局最小。可以通过常规优化算法(例如,梯度下降)来实现最小化模型参数θ,也可以使用更复杂的算法,例如共轭梯度和BFGS(Broyden-Fletcher-Goldfarb-Shanno)方法以加速收敛。

1.2 堆叠稀疏自动编码器(SSAE)

深度学习是表示学习的一个特例,它认为多层次表示会产生更通用和有益的特征。第一层神经元的活动对应于输入的低级特征,而更高级别的抽象概念在随后的隐藏层中进行编码。更具体地说,本文为深度架构提供表面反射输入数据,这是从遥感观测系统收集的原始数据,并尝试通过分层方法来学习它们的“高级”版本,这将理想地匹配高质量的手工特征。这里,本文考虑的高质量特征是归一化植被指数(NDVI)和地表温度(LST),这些特征是从MODIS Terra检索的相同月份的相同图块上提取的。NDVI和LST时间序列特征的组合可以量化植被生长表现和土地覆盖物理特征的变化。

通过这种方式,本文目标是绕过专家对这些特征的经验设计要求,自动学习可以替代和增强图像的特征表示。同时,由于处理的无监督性质,所提出的方法更具普遍性,并且还可以与其他类型的目标一起工作,例如城市地区的结构。

通过将单层自动编码器堆叠在一起,可以创建具有两个或更多隐藏层的堆叠自动编码器架构[13],如图2所示,其中圆圈表示特征单元。黑色表示隐藏层单元,而白色表示可见单元,两个中间层构成一个编码器。

图2 4层堆叠自动编码器网络[3-4-4-2]

形式上,首先将原始数据作为输入,训练SAE。然后丢弃解码器层,使得隐藏单元(第1层特征)的激活,成为用于训练第二自动编码器层的输入(前馈),进而产生另一表示(第2层特征)。这种贪婪的逐层过程使先前的图层保持固定,并忽略与后续图层的交互,从而大大减少了对参数空间的搜索。虽然这个过程可以重复多次,但很少涉及三个以上的隐藏层。我们可以根据下式来公式化堆叠自动编码器:

hL=fL(…f2(f1(x)))

(7)

其中:hL表示由顶层L学习的表示。整个架构的输出用于反馈给独立的分类器,与原始输入相比,这种方式提供了改善的数据表示。

深度学习的挑战在于,梯度信息很难通过一系列随机初始化的层,这是因为很难确定一个好的起点。无监督预训练是最近开发的且非常有影响力的协议,通过引入用于初始化每层权重的先验知识来帮助缓解该优化问题,允许梯度“流动良好”。自动编码器作为无监督学习的一个基本例子,作为预训练深度神经网络的方法引起了很多关注。在形式上,我们使用SAE以自下而上的方式一次训练一个层,用于固定数量的更新(轮次)。到目前为止,该程序完全没有监督。随后在深层结构的顶层引入监督的重建,以便相对于监督标准微调基于梯度的优化算法,该标准称为微调阶段的过程。作为最后一个可选的训练阶段,可以通过全局微调进一步优化参数,每调整一次都使用通过整个网络架构的反向传播。

1.3 数据预处理

(8)

2 基于SVM的像素分类

本文将支持向量机(SVM)作为基础分类器,根据所提取的特征对遥感图像进行分类。SVM被认为是最有效的遥感数据分类器之一[14]。假设每个训练示例xi与二进制标签yi∈{0,1}相关联,则SVM分类器试图在该较高维空间中找到具有最大余量的线性分离超平面。形式上,当内核函数是线性的时,SVM寻求以下约束优化问题的解决方案:

subject toyi(ωxi-ω0)≥1-ξi,ξi≥0

(9)

其中:松弛变量ξi测量数据的错误分类程度,参数C> 0控制松弛变量罚分和保证金之间的交易。

3 实验及分析

3.1 数据集

在本文的实验中,使用两个高光谱数据集,印第安纳农场数据集(Indian Pines)和意大利帕维亚大学数据集(U.Pavia)[15]。对于两个数据集,从图像的地面实况中都选择出包含9种不同土地覆盖类别进行分类实验。两个数据集中的遥感图像和分类标签实例分别如图3和图4所示。

图3 Indian Pines数据集上的实例图像

图4 U.Pavia数据集上的实例图像

随机挑选来自每个类的200个标记像素以构建训练集。其余的标记样品构成测试集。从可用训练集中提取一部分验证集以调整模型的超参数。

3.2 参数设置

对于控制自动编码器稀疏度的超参数ρ和β,我们首先以合理的值执行粗网格搜索,并且在所有情况下,根据最小Jaccard系数执行参数选择。其中,ρ∈{0.001,0.01,0.1,0.5,0.9},β∈{1,3,5,7,9}。随后在产生最佳分数的参数组合(ρ,β)附近进行更精细的搜索。最后结果表明,当ρ=0.5,β=3时效果较好。

对于神经网络的两个关键系统参数,即隐藏层神经元数量以及隐藏层深度对性能的影响。通过多次实验,最终设定神经网络中隐藏层数量为2,每层的神经元数量为120。

3.3 性能指标

根据以下指标评估分类方法的性能:

1)总体准确度(OA):是正确分类的样本总数与所有类别的样本总数之比。

2)F值:设置TP,TN,FN和FP分别表示真阳性,真阴性,假阴性和假阳性样品的数量,那么F值表示为:

(10)

3)Kappa系数:是不同评估者之间一致性程度的统计指标。假设有两个评估者将N个项分类为C个互斥类。然后,Kappa系数由下式给出:

(11)

其中:p0是相对观察到的一致概率,pe是一致改变的假设概率。k=1表示评估者之间完全一致,而k≤0表示根本没有达成一致。

3.4 实验结果

本文结合了基于SSAE深度学习的特征表示方法和SVM分类器,构建了一种遥感图像分类方法,称为SSAE+SVM。为了验证本文方法的有效性,将其与现有的几种方法进行比较。为了比较的公平性,分类器都采用SVM分类器。首先,为了证明SSAE深度学习特征表示的有效性,构建一种对比方法,即传统特征+SVM分类器。另外,还与文献[6]提出的利用卷积神经网络(CNN)进行特征提取的方法进行了比较。在两个数据集上的比较结果如表1和表2所示。

表1 Indian Pines数据集上的实验结果

表2 U.Pavia数据集上的实验结果

可以看到,本文SSAE+SVM方法与传统特征+SVM方法相比有明显改善,这说明了采用SSAE深度学习进行特征表示对提高分类性能有明显的促进作用。另外,本文方法也比文献[6]方法的性能更好,这是因为SSAE深度学习能够解决传统神经网络易陷入局部最优的问题,且无需大量含有标签的数据集,为此进一步提高了分类性能。

4 结论

本文提出一种基于SSAE深度学习特征表示和SVM的高光谱遥感图像分类方法,用以解决传统分类方法中特征需要手工设计的缺陷。通过SSAE来从训练数据中不断学习,以此获得最佳的特征表示,并将其作为SVM分类器的输入,对图像像素进行分类。在两个都包含9种物质类别的Indian Pines和U.Pavia高光谱数据集上进行了验证实验,结果证明了本文方法的有效性。

猜你喜欢
编码器分类器深度
融合CNN和Transformer编码器的变声语音鉴别与还原
四增四减 深度推进
深度思考之不等式
学贯中西(6):阐述ML分类器的工作流程
设定多圈绝对值编码器当前圈数的方法
转炉系统常用编码器选型及调试
基于朴素Bayes组合的简易集成分类器①
舞台机械技术与设备系列谈(二)
——编码器
简约教学 深度学习
一种自适应子融合集成多分类器方法