论文题目:《Generative Adversarial Networks for Hyperspectral Image Classification》

论文作者:Lin Zhu, Yushi Chen, Member, IEEE, Pedram Ghamisi, Member, IEEE, and Jó n Atli Benediktsson, Fellow, IEEE

论文发表时间:2018

网络简称:3D-GAN

发表期刊:IEEE Transactions on Geoscience and Remote Sensing

Contributions

  1)本文首次探索了GAN在高光谱数据处理中的应用。通过精心设计的GAN生成了包含1D spectra 和 3D spectral-spatial patches的对抗样本。

  2)提出了光谱分类器和光谱-空间分类器两种GANs框架用于HSIs分类。该框架使用精心设计的cnn对人机交互进行分类,并采用正则化技术进行对抗性训练。

  3)首次采用对抗性样本进行HSIs分类,对上述GANs进行微调以提高分类性能。

  4)在训练样本有限的情况下,在三个知名的高光谱数据集上对所提出的方法进行了测试。

  Note:这种对抗性训练提高了判别CNN的泛化能力,这在训练样本有限的情况下非常重要。

GAN

  GAN是一种新的模型,通常包含生成模型G和判别模型D。模型G和D以对抗性的方式进行训练,其中G试图生成尽可能真实的假输入,D试图对真实输入和假输入进行分类。在这个对抗性博弈中,双方都希望得到最优的结果(即D可以得到最好的分类结果,G可以生成与真实数据分布最相似的伪数据)。通过两个网络的对抗和竞争,在使用有限的训练样本时,鉴别器的训练过程将持续而有效地进行,而不会立即陷入过拟合的困境。此外,GAN生成的样本可以用作虚拟样本。合理使用虚拟样本可以提高分类性能。本文利用生成的样本来提高分类精度,实验结果证明了使用这些样本的有效性。下图为GAN的总体结构。

  在训练过程中,给训练样本标号,来自真实数据的样本为1,来自生成数据的样本为0。鉴别器D被训练为最大化log(D(x)),这是将正确标签分配给正确源的概率。而生成器G被训练为最小化log(1-D(G(z)))。因此,优化的最终目的是解决极大极小问题:

  但是通过计算和评估发现,当鉴别器D具有真实样本的高概率分布时,D中的梯度可能会消失,导致训练过程停止。因此,修改后的损失函数可以写成如下优化形式:

Related Work

  为了解决GAN的稳定性问题,在G和D中使用深度卷积网络的深度卷积生成对抗网络(DCGAN)架构被提出。由于原始GAN不适合用于多类图像的分类,Semi-GAN被提出,将真实训练数据的标签导入判别器D。GAN的概念被扩展为一种带有半监督方法的条件模型。此外,Odena提出了可用于图像分类的辅助分类器GAN (AC-GAN),将其鉴别器D修改为可输出多类标签概率的softmax分类器。我们的网络是基于AC-GAN理论而形成的,而目标函数是经过修改的。根据多分类损失对参数进行优化,使其比传统的GANs更合适地优化损失函数。

Proposed Method  

  提出该方法的总体结构:

  为了可以做多分类任务,给输入噪声z和真实数据x加入真实数据分类标签。加入标签或其他条件,通过与原始GAN的输入进行共同作用,可以指导生成自己期望的数据。目标函数包含两个部分:正确输入数据SL的对数似然和CL的正确类标签的对数似然:

  因此D被优化以最大化Ls + Lc,而G被优化以最大化Lc - Ls。 当G能够生成与真实数据最相似的假数据,而D无法区分假数据和真实数据时,理论上G和D都会获得最优化的结果。这样,我们可以证明整个网络达到了纳什均衡条件。

  我们设计了光谱矢量和光谱空间信息结合的两种框架,前者称为1D-GAN,后者称为3D-GAN。上述两个框架中的G和D都是卷积网络的形式。G采用分步卷积神经网络(转置卷积)的形式(因为是生成模型->需要上采样),D采用卷积神经网络。在鉴别器D之后,并行应用sigmoid分类器和softmax分类器,分别对真实/虚假样本和hsi进行分类。

1D-GAN:

  由于原始HSI可获得数百个波段,这意味着输入具有高维,很难训练生成器G(即训练阶段不稳定)。也就是说,由于冗余度高,生成器无法有效地模拟真实数据。主成分分析(PCA)可以通过将光谱维数降至合适的尺度来压缩整个图像,因此,我们基于PCA提取HSIs的光谱特征,保留了10个主成分。在卷积网络中,任何池化层都被stride convolutions(鉴别器)和fractional-strided convolutions(生成器)取代。

  噪音z发送到生成器中的大小是(1*1*1),通过生成器的卷积转换后,大小为(10*1*1)。在网络训练期间,假设原始数据集有N个类。首先,每个生成的样本通过网络向前传递,并通过取概率预测向量的最大值为其分配一个标签。因此,这些假样本可以用这些标签在网络中训练。此外,生成的样本不属于任何类别的真实样本。由于真实样本和生成样本的差异,因此创建一个新的类标签(即N+1),每个假样本都被赋予这个新标签。1D-GAN中的生成器和判别器结构如下:

3D-GAN:

  用PCA把数据将为3个主成分,并保留空间信息。对生成器和鉴别器都进行了批处理归一化处理,去除了全连通的隐含层。其余步骤与1D-GAN类似。输入噪声的大小为100*1*1,生成器将输入转换为大小为64*64*3的假样本。3D-GAN中的生成器和判别器结构如下:

  实验结果(KSC):

Conclusion

  本文首次探讨了GAN在HSIs分类中的有效性和实用性。在GANs的帮助下,深度CNN在分类精度方面比传统CNN有更好的表现。

  该算法缓解了CNN引起的过拟合问题。具体设计了两个框架:(1)基于光谱向量的一维GAN框架和(2)结合光谱和空间特征的三维GAN框架。与其他最先进的方法相比,这两种体系结构在特征提取和图像分类方面表现出了出色的能力。在提出的GANs中,使用PCA来降低输入的高维数,这对稳定训练过程非常重要。由于深度模型中存在大量的可学习参数(如权值),深度CNN存在过拟合的问题,而GAN可以看作是一种正则化技术,可以缓解训练过程中的过拟合现象。此外,本文首次展示了GAN生成的HSI样本,这可能为高光谱数据生成打开了一个新的窗口。更重要的是,本文首次将生成的对抗样本作为HSIs分类的训练样本。这些样本显著提高了分类性能。上述技术显示了GANs在HSI分类方面的巨大潜力。

 
 

《Generative Adversarial Networks for Hyperspectral Image Classification 》论文笔记的更多相关文章

  1. 《Vision Permutator: A Permutable MLP-Like ArchItecture For Visual Recognition》论文笔记

    论文题目:<Vision Permutator: A Permutable MLP-Like ArchItecture For Visual Recognition> 论文作者:Qibin ...

  2. [place recognition]NetVLAD: CNN architecture for weakly supervised place recognition 论文翻译及解析(转)

    https://blog.csdn.net/qq_32417287/article/details/80102466 abstract introduction method overview Dee ...

  3. 论文笔记系列-Auto-DeepLab:Hierarchical Neural Architecture Search for Semantic Image Segmentation

    Pytorch实现代码:https://github.com/MenghaoGuo/AutoDeeplab 创新点 cell-level and network-level search 以往的NAS ...

  4. 论文笔记——Rethinking the Inception Architecture for Computer Vision

    1. 论文思想 factorized convolutions and aggressive regularization. 本文给出了一些网络设计的技巧. 2. 结果 用5G的计算量和25M的参数. ...

  5. 论文笔记:Fast Neural Architecture Search of Compact Semantic Segmentation Models via Auxiliary Cells

    Fast Neural Architecture Search of Compact Semantic Segmentation Models via Auxiliary Cells 2019-04- ...

  6. 论文笔记:ProxylessNAS: Direct Neural Architecture Search on Target Task and Hardware

    ProxylessNAS: Direct Neural Architecture Search on Target Task and Hardware 2019-03-19 16:13:18 Pape ...

  7. 论文笔记:DARTS: Differentiable Architecture Search

    DARTS: Differentiable Architecture Search 2019-03-19 10:04:26accepted by ICLR 2019 Paper:https://arx ...

  8. 论文笔记:Progressive Neural Architecture Search

    Progressive Neural Architecture Search 2019-03-18 20:28:13 Paper:http://openaccess.thecvf.com/conten ...

  9. 论文笔记:Auto-DeepLab: Hierarchical Neural Architecture Search for Semantic Image Segmentation

    Auto-DeepLab: Hierarchical Neural Architecture Search for Semantic Image Segmentation2019-03-18 14:4 ...

  10. 论文笔记系列-DARTS: Differentiable Architecture Search

    Summary 我的理解就是原本节点和节点之间操作是离散的,因为就是从若干个操作中选择某一个,而作者试图使用softmax和relaxation(松弛化)将操作连续化,所以模型结构搜索的任务就转变成了 ...

随机推荐

  1. day01 File类_Lambda

    File类 File类的每一个实例可以表示硬盘(文件系统)中的一个文件或目录(实际上表示的是一个抽象路径) 使用File可以做到: 1:访问其表示的文件或目录的属性信息,例如:名字,大小,修改时间等等 ...

  2. CSS(十四):盒子模型

    页面布局的本质 网页布局过程: 先准备好相关的网页元素,网页元素基本都是盒子. 利用CSS设置好盒子样式,然后放到相应的位置 往盒子里面装内容 网页布局的本质:就是利用CSS摆盒子 盒子模型 组成 所 ...

  3. Nginx 集群部署(Keepalived)

    # Nginx集群部署 # 当我们的用户同时访问量达到一定量的时候,一台服务器是不够用的 # 这个时候我们需要解决这个问题肯定是要添加新的服务器去处理用户访问 # 多台服务器处理用户访问就需要我们集群 ...

  4. 【原创】Auto.js get和post 案例

    本文所有教程及源码.软件仅为技术研究.不涉及计算机信息系统功能的删除.修改.增加.干扰,更不会影响计算机信息系统的正常运行.不得将代码用于非法用途,如侵立删! Auto.js get和post 案例 ...

  5. 【FAQ】【Push Kit】 华为怎么设置角标

    ​[问题描述] HMS Core Push 怎么设置角标?角标设置不成功如何去排查问题? [问题解答] 华为推送怎么设置角标? 1.消息体设置 我们可以参考桌面角标这一篇文档进行设置角标 ​ 2.端测 ...

  6. LuoguP4782 【模板】2-SAT 问题 (2-SAT)

    Not difficult, the only problem is how to deal with give 0/1 to the var. Tarjan offers the reverse t ...

  7. Docker 09 可视化

    参考源 https://www.bilibili.com/video/BV1og4y1q7M4?spm_id_from=333.999.0.0 https://www.bilibili.com/vid ...

  8. JavaSciprt 笔记目录

    JavaScript 基础知识(一):对象以及原型 JavaScript 基础知识(二):闭包 JavaScript 异步编程(一):认识异步编程 JavaScript 异步编程(二):Promise

  9. 【HTML】学习路径2-设置文档类型、网页编码、文件注释

    第一章:设置文档类型 我们通常在html文件最前面写一行: <!DOCTYPE html> 这玩意有啥用? https://developer.mozilla.org/zh-CN/docs ...

  10. pod资源的健康检查-liveness探针的httpGet使用

    使用liveness探针httpget方式检测pod健康,httpGet方式使用的最多 [root@k8s-master1 tanzhen]# cat nginx_pod_httpGet.yaml a ...