原文

名词

  1. Attention机制
  2. BBs building blocks
  3. DL deep learning
  4. HSI Hyperspectral image
  5. 1D one dimensional
  6. FMs feature maps
  7. EE Elliptical Envelope

概述

它将新的基于注意的卷积神经网络结合起来,根据波段的重要性对波段进行加权,并利用异常检测技术选择最重要的波段。
所提出的基于注意的方法是数据驱动的,在深度体系结构的不同深度重新使用卷积激活,识别光谱中信息最丰富的区域。
模块化,易于实现,无缝适用于任何卷积网络,并可以使用梯度下降训练端到端。

introduction

波段选择技术分为滤波器(无监督)和包装器(监督)算法。 在分类之前应用,过滤方法不需要地面真相数据来选择特定的波段。然而,它们有几个缺点:

  • 很难选择缩小的特征空间的最优维数
  • 波段相关性往往被忽略,导致数据冗余
  • 与其他波段结合时可能具有信息性的波段被删除
  • 由于与其他波段的相关性较低,噪声波段通常被标记为信息性波段。

包装方法使用分类器性能作为目标函数来优化HSI带的子集。 虽然这些方法降低了进一步HSI分析的内存需求,但这些算法引起了严重的计算开销。 在这项工作中,我们减轻了这个问题,并将选择过程纳入了深度网络培训。 到目前为止,尚未探讨这种办法

贡献点

  1. 一个新的波段选择算法
  2. 一种新的基于Attention的CNN结构,用于提取注意热图,显示频谱的哪些部分在CNN训练过程中对CNN很重要
  3. 验证
    • 与HSI波段选择中的最新技术进行比较
    • 验证波段选择对各种受监督学习者(常规和深度学习)的影响
    • 了解将注意力模块附加到CNNs对其分类能力和训练特性的影响;
    • 验证所获得结果的统计重要性

CNN概述

卷积层

在CNN中有两种类型的层:卷积层和池层(它们叠加在一起构成CNN的特征提取部分)。 然后在特征提取器之后是深度网络的分类部分,通常是用全连接层来构建的
本文中 HSI中的每个像素作为1D输入,卷积核也是1维。输出O(i)中的第i项为
O ( i ) = ( I ∗ K ) ( i ) = ∑ j I ( j ) ⋅ K ( i − j ) O(i) = (I*K)(i) = \sum_j I(j)·K(i-j) O(i)=(I∗K)(i)=j∑​I(j)⋅K(i−j)

例子如下

池化层

就是平常一样的

基于Attention 的CNN

输入是HSI中每个像素的光谱维信息。本文的Attention-CNN不修改训练过程中的网络损失。 引入了一个额外的正则化损失,使多个注意热图彼此不同。避免用标准损失函数推断,使注意模块直接适用于CNN-修改损失需要进行灵敏度分析,以适当调整正则化项的权重,从而量化其对损失函数的影响

总体概述

为了减轻注意机制的计算负担,最大值池化层后加入注意模块。该模块由两部分组成

  • 估计器 :提取特征图中最重要的区域
  • 置信门 :为预测产生置信度分数
    还可以修改整个CNN的结构,比如BBs的数量,一个BBs包括一个卷积层和一个最大池化层。本文中的这两个层都是1D的,结构如图

    不同层次的特征 Z l Z^l Zl进行处理,生成注意力热图,并用于输出(i)基于局部信息的类假设,(ii)置信度 c l c^l cl。最后的输出是注意估计量的Softmax加权和,以及网络分类器的输出(ANN,包含两个隐藏层,包含512个神经元和128个神经元,加个激活函数ReLU),超参数:卷积核大小和池窗口大小(图中表示为K),所有卷积层的核固定为(K=5,单步,填充数为2),所有层的池化窗(K=2,步长2),卷积核数越来越少,降低了计算复杂度。下表给出了输出输出张量的维数:

    b是HSI的波段数,AB如上上图。

估计器

注意估计器包含单核的1D卷积。核大小为BB提取的特征映射的数量,目的是降维,然后接一个ReLU激活函数和一个softmax 阐述最终关注热点图
F : R b ∗ n → R b ∗ 1 F : R^{b*n} \rightarrow R^{b*1} F:Rb∗n→Rb∗1
b和n分别为HSI波段的数目和特征映射的数目,注意估计器将深度为l处的所有特征映射合并为1个特征映射,并构建一个注意热图 Z ^ l \hat{Z}^l Z^l,突出每个activation map中每个条目的重要性。最终产生局部信息输出空间的假设 H l H^l Hl
H l = A v g P o o l ( Z ^ l ⨀ Z l ) H^l = AvgPool(\hat{Z}^l \bigodot Z^l) Hl=AvgPool(Z^l⨀Zl)
其中, ⨀ \bigodot ⨀是哈达玛积。注意在给定深度l处activation maps的数量可变,从96到54到36.再将 H l H^l Hl通过线性分类器来预测输入的标签
o l = H l W l o^l = H^lW^l ol=HlWl

置信门???

局部特征往往不足以输出高质量的类假设。因此我们将每个注意模块与网络的输出耦合起来,通过gate weight matrix W C W_C WC​的内积来预测置信度得分c(在l层)
c l = t a n h ( H l W c l ) c^l = tanh(H^lW_c^l) cl=tanh(HlWcl​)
网络最终输出是注意估计量和分类器 o n e t o^{net} onet乘置信分 c n e t c^{net} cnet的加权和
o u t p u t = s o f t m a x ( o n e t × c n e t + ∑ l = 1 ∣ ∣ B B ∣ ∣ c l ⋅ o l ) output = softmax(o^{net}×c^{net} + \sum_{l=1}^{||BB||}c^l·o^l) output=softmax(onet×cnet+l=1∑∣∣BB∣∣​cl⋅ol)
Softmax回归将神经网络输出转成概率分布,
p i = e x i ∑ k = 0 C − 1 e x k p_i = e^{x_i}\over{\sum_{k=0}^{C-1}e^{x_k}} ∑k=0C−1​exk​pi​=exi​​
p可用于预测每个传入的HSI像素的最终类标签。

选择HSI波段作为异常检测

利用椭圆包络(EE)算法在最终注意热图的基础上,从输入(全)HSI中提取最重要的,重要波段是少数,所以可以当作是异常值,在EE中,数据建模为具有特征维数之间协方差的高维高斯分布(EE算法的输入张量为B×1).并且椭圆包括大部分数据。椭圆外的样本就是异常,然后EE用快速估计算法3将数据划分为不重叠子样本,计算各特征维数C的均值 μ \mu μ和协方差矩阵,最后提取个样本 x x x的Mahalanobis距离D:
D = ( x − μ ) T C − 1 ( x − μ ) D = \sqrt{(x-\mu)^TC^{-1}(x-\mu)} D=(x−μ)TC−1(x−μ) ​
然后保存D的最小样本,在EE中,the fractional contamination rate λ \lambda λ 定义了数据集中应该选择多少异常,也就是要选择的波段比例。

基于注意力的卷积神经网络高光谱波段选择相关推荐

  1. 基于tensorflow和卷积神经网络的电影推荐系统的实现

    基于tensorflow和卷积神经网络的电影推荐系统的实现 一. 数据处理 1. MovieLens数据集 2. 处理后的数据 二. 建模&训练 1. 嵌入层 2. 文本卷积层 3. 全连接层 ...

  2. (论文阅读)基于融合深度卷积神经网络的人脸识别方法研究-褚玉晓

    一.基于融合深度卷积神经网络人脸识别方法设计 1.PCA算法提取人脸特征 主要成分分析法(Principal Component Analysis,PCA) 第一步,计算人脸图像的平均值并执行归一化的 ...

  3. 基于遗传算法的卷积神经网络架构搜索

    论文推荐:基于遗传算法的卷积神经网络架构搜索 来自文章 <Evolving Deep Convolutional Neural Networks for Image Classification ...

  4. 毕业设计 - 题目:基于深度学习卷积神经网络的花卉识别 - 深度学习 机器视觉

    文章目录 0 前言 1 项目背景 2 花卉识别的基本原理 3 算法实现 3.1 预处理 3.2 特征提取和选择 3.3 分类器设计和决策 3.4 卷积神经网络基本原理 4 算法实现 4.1 花卉图像数 ...

  5. 【基于zynq的卷积神经网络加速器设计】(一)熟悉vivado和fpga开发流程:使用Vivado硬件调试烧写hello-world led闪烁程序实现及vivado软件仿真

    HIGHLIGHT: vivado设计流程: note: 分析与综合 和 约束输入 可以调换顺序 [基于zynq的卷积神经网络加速器设计](一)熟悉vivado和fpga开发流程:使用Vivado硬件 ...

  6. 【深度学习】基于Pytorch的卷积神经网络概念解析和API妙用(一)

    [深度学习]基于Pytorch的卷积神经网络API妙用(一) 文章目录 1 不变性 2 卷积的数学分析 3 通道 4 互相关运算 5 图像中目标的边缘检测 6 基于Pytorch的卷积核 7 特征映射 ...

  7. 【深度学习】基于Pytorch的卷积神经网络概念解析和API妙用(二)

    [深度学习]基于Pytorch的卷积神经网络API妙用(二) 文章目录1 Padding和Stride 2 多输入多输出Channel 3 1*1 Conv(笔者在看教程时,理解为降维和升维) 4 池 ...

  8. 基于Python的卷积神经网络和特征提取

     基于Python的卷积神经网络和特征提取 发表于2015-08-27 21:39| 4577次阅读| 来源blog.christianperone.com/| 13 条评论| 作者Christi ...

  9. 基于Keras的卷积神经网络(CNN)可视化

    基于Keras的卷积神经网络(CNN)可视化 标签(空格分隔): 深度学习 卷积神经网络可视化 本文整理自Deep Learning with Python,书本上完整的代码在 这里的5.4节,并陪有 ...

最新文章

  1. 清华大学《大数据系统基础A/B》课程实践项目宣讲会来了
  2. 在线HTML编辑器使用入门(Kindeditor)
  3. 1.2 偏差/方差-深度学习第二课《改善深层神经网络》-Stanford吴恩达教授
  4. CSS选择器分类与优先级
  5. 信息系统项目管理知识--项目沟通管理
  6. 基于Java+jsp+servlet的养老院管理系统设计和实现《收藏版》
  7. 使用java实现rfc3161,openssl验证用自签名证书签名的RFC3161时间戳
  8. c++中vector用法(涵盖算法题中知识点)
  9. 如何解决CAN FD与CAN网络共存问题
  10. 西瓜播放器xgplayer的简单使用demo
  11. VB text控件如何实现换行
  12. 微信小程序ios无法播放视频
  13. Spider爬虫笔记[更新中...]
  14. 详细通用phpstudy本地搭建网站以及cms搭建教程
  15. Ubuntu安装NVDIA显卡驱动,CUDA及cuDNN
  16. 乐理基础-十二平均律,三分损益法,五度相生法
  17. Eclipse中各种查找快捷键
  18. cdn缓存及缓存的清理
  19. 提高转化率的 3 个客户引导最佳实践
  20. python特征提取方法_大师兄的Python机器学习笔记:特征提取

热门文章

  1. oracle数字函数
  2. 怎样下载python(官网)?
  3. PHP虹软人脸识别,虹软人脸识别demo使用教程
  4. JavaScript 常见的数组求和
  5. 一个公式告诉你为什么程序员要转算法工程师
  6. DocumentHelper.parseText()报:前言中不允许有内容
  7. 【软件工程】开源软件
  8. 编程练习:非质数分解成质数相乘
  9. Python【算法设计与分析】穷举法
  10. 步进电机失步(丢步)怎么解决?