深度残差收缩网络:(四)注意力机制下的阈值设置

  对于基于深度学习的分类算法,其关键不仅在于提取与标签相关的目标信息,剔除无关的信息也是非常重要的,所以要在深度神经网络中引入软阈值化。阈值的自动设置,是深度残差收缩网络的核心贡献。需要注意的是,软阈值化中的阈值,需要满足一定的条件。这篇文章中的阈值设置,事实上,是在注意力机制下进行的。下面分别介绍阈值需要满足的条件、注意力机制以及具体的阈值设置方法。

(1)阈值需要满足的条件

  在软阈值化中,阈值的取值有一定的要求:首先,阈值必须是正数;其次,阈值不能太大,否则输出会全部为零

  更重要的是,每个样本,应该有不同的阈值。这是因为,许多样本所含的噪声量经常是不同的。

  例如,样本A所含噪声较少,样本B所含噪声较多。那么,在降噪算法里面,样本A的阈值就应该大一点,样本B的阈值就应该小一些。在深度学习算法里,由于这些特征没有明确的物理意义,阈值的大小也无法得到解释。但是道理是相通的,即每个样本应该有不同的阈值。

(2)注意力机制

  注意力机制可以从视觉的角度进行解释。人类能够通过快速扫描图像,发现目标物体,进而将更多的注意力集中在目标物体上,以捕获更多细节,同时抑制其他区域的无关信息。

  Squeeze-and-Excitation Network(SENet)是一种典型的带有注意力机制的深度学习方法。对于不同的样本,不同通道上的特征,在分类任务中的重要程度,经常是不同的。SENet可以学习一组权重,自动地调整不同通道的特征的大小。这个过程,就相当于施加不同的注意力在各个通道的特征上(见下图)。

  需要注意的是,每个样本,都有自己独特的一组权重。任意两个样本,它们的这些权重,都是不同的。在SENet中,具体的网络结构如下图所示。学习权重的路径就是,全局池化→全连接层→ReLU→全连接层→Sigmoid。

(3)具体的阈值设置方法

  深度残差收缩网络采用了一个子网络来自动地设置阈值。这个子网络的结构,就借鉴了上述的SENet。

  首先来看“通道之间共享阈值的深度残差收缩网络(Deep Residual Shrinkage Networks with Channel-shared Thresholds,简称DRSN-CS)”。我们可以看到,在红色虚线框里的子网络,学习得到了一个阈值,应用在特征图的所有通道上。

  在这个子网络中,首先对输入特征图内的所有元素,取绝对值。然后经过全局均值池化(Global Average Pooling, GAP)和求平均(Average),就得到了一个特征。为了方便描述,将这个特征记为A。在另一条路径中,全局均值池化之后的特征,输入到一个小型的全连接网络之中。这个全连接网络以一个Sigmoid激活函数作为最后一步,其目的在于将输出调整到0和1之间,记为α。最终的阈值就是α×A。这样的话,阈值就是,一个0和1之间的数字×特征图的绝对值的平均值。通过这种方式,保证了阈值不仅为正数,而且不会太大。

  然后再看“逐通道不同阈值的深度残差收缩网络(Deep Residual Shrinkage Networks with Channel-wise Thresholds,简称DRSN-CW)”。与上述的DRSN-CS相似,在红色虚线框里的子网络,学习得到了一组阈值。以相同的方式,确保了阈值有着合适的取值范围。

  值得指出的是,通过这种方式,不同的样本就有了不同的阈值。在一定程度上,也可以理解为一种注意力机制:注意到不重要的特征,将它们剔除掉;或者说,注意到重要的特征,将它们保留下来。另外,虽然跨层的恒等路径(Identity shortcut)将不重要的特征也传递到了高层特征中,但是通过很多残差模块的堆叠,这些不重要的特征所占的比重越来越低,最终实现不重要特征的消除。

  前三篇的内容:

  深度残差收缩网络:(一)背景知识 https://www.cnblogs.com/yc-9527/p/11598844.html

  深度残差收缩网络:(二)整体思路 https://www.cnblogs.com/yc-9527/p/11601322.html

  深度残差收缩网络:(三)网络结构 https://www.cnblogs.com/yc-9527/p/11603320.html

  原文的链接:

  M. Zhao, S. Zhong, X. Fu, B. Tang, and M. Pecht, “Deep Residual Shrinkage Networks for Fault Diagnosis,” IEEE Transactions on Industrial Informatics, 2019, DOI: 10.1109/TII.2019.2943898

  https://ieeexplore.ieee.org/document/8850096

原文地址:https://www.cnblogs.com/yc-9527/p/11604082.html

时间: 2024-11-07 03:16:58

深度残差收缩网络:(四)注意力机制下的阈值设置的相关文章

深度残差收缩网络:(五)实验验证

实验部分将所提出的两种深度残差收缩网络,即“通道之间共享阈值的深度残差收缩网络(Deep Residual Shrinkage Networks with Channel-shared Thresholds,简称DRSN-CS)”,和“逐通道不同阈值的深度残差收缩网络(Deep Residual Shrinkage Networks with Channel-wise Thresholds,简称DRSN-CW)”,与传统的卷积神经网络(Convolutional Neural Networks,

基于深度残差收缩网络的故障诊断

论文题目:Deep residual shrinkage networks for fault diagnosis 题目翻译:基于深度残差收缩网络的故障诊断 期刊:IEEE Transactions on Industrial Informatics 面向问题:强噪声(或冗余信息繁多) 创新:①在深度残差网络中引入软阈值化,②并且自动设置阈值 本质:在注意力机制下实现特征的软阈值化 M. Zhao, S, Zhong, X. Fu, et al. Deep residual shrinkage

深度残差收缩网络:(一)背景知识

深度残差收缩网络(Deep Residual Shrinkage Network)是深度残差学习(Deep Residual Network, ResNet)的一种改进,发表在IEEE Transactions on Industrial Informatics上,面向的是数据包含噪声的情况. 简单地讲,深度残差收缩网络就是,将软阈值化作为可训练的模块,嵌入到ResNet之中.接下来结合自己的理解,解读一下相关的背景知识. (1)噪声的含义 如上所述,深度残差收缩网络面向的是数据包含噪声的情况.

深度残差收缩网络:(三)网络结构

(1)回顾一下深度残差网络的结构 在下图中,(a)-(c)分别是三种残差模块,(d)是深度残差网络的整体示意图.BN指的是批标准化(Batch Normalization),ReLU指的是整流线性单元激活函数(Rectifier Linear Unit),Conv指的是卷积层(Convolutional layer),Identity shortcut指的是跨层的恒等映射,RBU指的是残差模块(Residual Building Unit),GAP是全局均值池化(Global Average P

TFLearn实现深度残差收缩网络(MNIST数据集)

深度残差收缩网络是一种新颖的深度学习算法,实际上是深度残差网络的升级版本,能够在一定程度上提高深度学习方法在含噪数据上的特征学习效果. 首先,简单回顾一下深度残差网络,深度残差网络的基本模块如下图所示.相较于普通的卷积神经网络,深度残差网络引入了跨层的恒等映射,来减小模型训练的难度,提高准确率. 然后,在深度残差网络的基础上,深度残差收缩网络引入了一个小型的子网络,用这个子网络学习得到一组阈值,对特征图的各个通道进行软阈值化.这个过程其实可以看成一个可训练的特征选择的过程.具体而言,就是通过前面

Keras快速搭建深度残差收缩网络(及深度残差网络)

从本质上讲,深度残差收缩网络属于卷积神经网络,是深度残差网络(deep residual network, ResNet)的一个变种.它的核心思想在于,在深度学习进行特征学习的过程中,剔除冗余信息是非常重要的:软阈值化是一种非常灵活的.删除冗余信息的方式. 1.深度残差网络 首先,在介绍深度残差收缩网络的时候,经常需要从深度残差网络开始讲起.下图展示了深度残差网络的基本模块,包括一些非线性层(残差路径)和一个跨层的恒等连接.恒等连接是深度残差网络的核心,是其优异性能的一个保障. 2.深度残差收缩

注意力机制下的激活函数:自适应参数化ReLU

本文在综述传统激活函数和注意力机制的基础上,解读了一种注意力机制下的激活函数,即自适应参数化修正线性单元(Adaptively Parametric Rectifier Linear Unit,APReLU),希望对大家有所帮助. 1. 激活函数 激活函数是现代人工神经网络的重要组成部分,其作用是实现人工神经网络的非线性化.我们首先来介绍几种最常见的激活函数,即Sigmoid激活函数.Tanh激活函数和ReLU激活函数,分别如下图所示. Sigmoid激活函数和Tanh激活函数的梯度取值范围分别

Pytorch系列教程-使用Seq2Seq网络和注意力机制进行机器翻译

前言 本系列教程为pytorch官网文档翻译.本文对应官网地址:https://pytorch.org/tutorials/intermediate/seq2seq_translation_tutorial.html 系列教程总目录传送门:我是一个传送门 本系列教程对应的 jupyter notebook 可以在我的Github仓库下载: 下载地址:https://github.com/Holy-Shine/Pytorch-notebook 本教程我们将会搭建一个网络来将法语翻译成英语. [KE

深度学习之注意力机制(Attention Mechanism)

这篇文章整理有关注意力机制(Attention Mechanism )的知识,主要涉及以下几点内容: 1.注意力机制是为了解决什么问题而提出来的? 2.软性注意力机制的数学原理: 3.软性注意力机制与Encoder-Decoder框架: 4.自注意力模型的原理. 一.注意力机制可以解决什么问题? 神经网络中的注意力机制(Attention Mechanism)是在计算能力有限的情况下,将计算资源分配给更重要的任务,同时解决信息超载问题的一种资源分配方案.在神经网络学习中,一般而言模型的参数越多则