作者 | 哈尔滨工业大学(威海)讲师 赵明航

本文解读了一种新的深度注意力算法,即深度残差收缩网络(Deep Residual Shrinkage Network)。

从功能上讲,深度残差收缩网络是一种面向强噪声或者高度冗余数据的特征学习方法。本文首先回顾了相关基础知识,然后介绍了深度残差收缩网络的动机和具体实现,希望对大家有所帮助

相关基础

深度残差收缩网络主要建立在三个部分的基础之上:深度残差网络、软阈值函数和注意力机制。

1.1 深度残差网络

深度残差网络无疑是近年来最成功的深度学习算法之一,在谷歌学术上的引用已经突破四万次。相较于普通的卷积神经网络,深度残差网络采用跨层恒等路径的方式,缓解了深层网络的训练难度。

深度残差网络的主干部分是由很多残差模块堆叠而成的,其中一种常见的残差模块如下图所示。

1.2 软阈值函数

软阈值函数是大部分降噪方法的核心步骤。首先,我们需要设置一个正数阈值。该阈值不能太大,即不能大于输入数据绝对值的最大值,否则输出会全部为零。

然后,软阈值函数会将绝对值低于这个阈值的输入数据设置为零,并且将绝对值大于这个阈值的输入数据也朝着零收缩,其输入与输出的关系如下图 (a) 所示。

软阈值函数的输出 y 对输入 x 的导数如上图 (b) 所示。我们可以发现,其导数要么取值为 0,要么取值为 1。从这个角度看的话,软阈值函数和 ReLU 激活函数有一定的相似之处,也有利于深度学习算法训练时梯度的反向传播。

值得注意的是,阈值的选取对软阈值函数的结果有着直接的影响,至今仍是一个难题。

1.3注意力机制

注意力机制是近年来深度学习领域的超级研究热点,而 Squeeze-and-Excitation Network (SENet)则是最为经典的注意力算法之一。

如下图所示,SENet 通过一个小型网络学习得到一组权值系数,用于各个特征通道的加权。这其实是一种注意力机制:首先评估各个特征通道的重要程度,然后根据其重要程度赋予各个特征通道合适的权重。

如下图所示,SENet 可以与残差模块集成在一起。在这种模式下,由于跨层恒等路径的存在,SENet 可以更容易得到训练。另外,值得指出的是,每个样本的权值系数都是根据其自身设置的;也就是说,每个样本都可以有自己独特的一组权值系数。

深度残差收缩网络

接下来,本部分针对深度残差收缩网络的动机、实现、优势和验证,分别展开了介绍。

2.1 动机

首先,大部分现实世界中的数据,包括图片、语音或者振动,都或多或少地含有噪声或者冗余信息。

从广义上讲,在一个样本里面,任何与当前模式识别任务无关的信息,都可以被认为是噪声或者冗余信息。这些噪声或者冗余信息很可能会对当前的模式识别任务造成不利的影响。

其次,对于任意的两个样本,它们的噪声或冗余含量经常是不同的。换言之,有些样本所含的噪声或冗余要多一些,有些要少一些。这就要求我们在设计算法的时候,应该使算法具备根据每个样本的特点、单独设置相关参数的能力。

在上述两点的驱动下,我们能不能将传统信号降噪算法中的软阈值函数引入深度残差网络之中呢?软阈值函数中的阈值应该怎样选取呢?深度残差收缩网络就给出了一种答案。

2.2 实现

深度残差收缩网络融合了深度残差网络、SENet 和软阈值函数。如下图所示,深度残差收缩网络就是将残差模式下的 SENet 中的“重新加权”替换成了“软阈值化”。

在 SENet 中,所嵌入的小型网络是用于获取一组权值系数;在深度残差收缩网络中,该小型网络则是用于获取一组阈值。

为了获得合适的阈值,相较于原始的 SENet,深度残差收缩网络里面的小型网络的结构也进行了调整。具体而言,该小型网络所输出的阈值,是(各个特征通道的绝对值的平均值)×(一组 0 和 1 之间的系数)。

通过这种方式,深度残差收缩网络不仅确保了所有阈值都为正数,而且阈值不会太大(不会使所有输出都为 0)。

如下图所示,深度残差收缩网络的整体结构与普通的深度残差网络是一致的,包含了输入层、刚开始的卷积层、一系列的基本模块以及最后的全局均值池化和全连接输出层等。

2.3 优势

首先,软阈值函数所需要的阈值,是通过一个小型网络自动设置的,避免了人工设置阈值所需要的专业知识。

然后,深度残差收缩网络确保了软阈值函数的阈值为正数,而且在合适的取值范围之内,避免了输出全部为零的情况。

同时,每个样本都有自己独特的一组阈值,使得深度残差收缩网络适用于各个样本的噪声含量不同的情况。

结论

由于噪声或者冗余信息是无处不在的,深度残差收缩网络,或者说这种“注意力机制”+“软阈值函数”的思路,或许有着广阔的拓展空间和应用范围。

论文链接:

https://www.paperweekly.site/papers/3397

代码链接:

https://github.com/zhao62/Deep-Residual-Shrinkage-Networks

【end】◆精彩推荐◆对存在潜伏期的新冠肺炎,快速分析其传染关系及接触关系,积极采取隔离、观察和治疗措施是非常有利的防控疫情的科学防控依据。周四(明晚)20点,我们一起来看Sophon KG如何追寻新冠病毒轨迹,运用AI技术、工具建立相关知识图谱,通过确诊案例的亲属、同事和朋友的关系网找出密切接触者进行及时隔离,同时刻画出确诊案例的活动轨迹,找到其关系网之外的密切接触者及病毒可能的“行凶环境”。推荐阅读百万人学AI:CSDN重磅共建人工智能技术新生态154万AI开发者用数据告诉你,中国AI如何才能弯道超车?技术大佬的肺腑之言:“不要为了AI而AI”!| 刷新 CTO悼念前端大牛司徒正美业内最大的“空气币”——以太坊?Spark3.0发布了,代码拉过来,打个包,跑起来!你点的每个“在看”,我都认真当成了AI

深度残差收缩网络:借助注意力机制实现特征的软阈值化相关推荐

  1. 注意力机制+软阈值化 = 深度残差收缩网络(Deep Residual Shrinkage Network)

    目录 1. 相关基础 1.1 残差网络 1.2 软阈值化 1.3 注意力机制 2. 深度残差收缩网络理论 2.1 动机 2.2 算法实现 2.3 优势 结论 顾名思义,深度残差收缩网络是由" ...

  2. 论文翻译-基于深度残差收缩网络的故障诊断 Deep Residual Shrinkage Networks for Fault Diagnosis

    深度残差收缩网络是深度残差网络的一种改进,针对的是数据中含有噪声或冗余信息的情况,将软阈值化引入深度残差网络的内部,通过消除冗余特征,增强高层特征的判别性.以下对部分论文原文进行了翻译,仅以学习为目的 ...

  3. 基于深度残差收缩网络的故障诊断 Deep Residual Shrinkage Networks for Fault Diagnosis

    深度残差收缩网络针对的是数据中含有噪声或冗余信息的情况,是深度残差网络的一种改进,将软阈值化引入深度残差网络的内部,通过消除冗余特征,增强高层特征的判别性.以下对部分论文原文进行了翻译,仅以学习为目的 ...

  4. 【Deep Learning】Deep Residual Shrinkage Networks for Fault Diagnosis(深度残差收缩网络)

    [题目]Deep Residual Shrinkage Networks for Fault Diagnosis [翻译]基于深度残差收缩网络的故障诊断 Abstract (摘要) [翻译]本文提出了 ...

  5. (全文翻译)基于深度残差收缩网络的故障诊断Deep Residual Shrinkage Networks for Fault Diagnosis

    M. Zhao, S. Zhong, X. Fu, B. Tang, M. Pecht, Deep residual shrinkage networks for fault diagnosis, I ...

  6. 《Deep residual shrinkage networks for fault diagnosis》 基于深度残差收缩网络的故障诊断(翻译与python代码)

    基于深度残差收缩网络的故障诊断(翻译) 赵明航,钟诗胜,付旭云,汤宝平,Michael Pecht 论文连接:https://ieeexplore.ieee.org/document/8850096 ...

  7. 深度残差网络_注意力机制+软阈值化=深度残差收缩网络

    顾名思义,深度残差收缩网络是由"残差网络"和"收缩"两部分所组成的,是在"残差网络"基础上的一种改进算法. 其中,残差网络在2016年斩获了 ...

  8. 注意力机制+软阈值函数=深度残差收缩网络(附代码)

    深度残差收缩网络是一种面向强噪声数据的深度神经网络,是由"深度残差网络"和"收缩"组成的.一方面,"深度残差网络"已经成为了深度学习领域的基 ...

  9. 注意力机制、深度残差网络和软阈值化的集成:深度残差收缩网络(附代码)

    深度残差收缩网络是一种针对强噪声数据的深度学习方法,是由"深度残差网络"和"收缩"组成的.一方面,"深度残差网络"已经成为了深度学习领域的基 ...

最新文章

  1. Android在xml中定义Shape
  2. CH451 点阵LED显示模块
  3. 后台给前台服务器控件添加样式
  4. 十一、Linux时间
  5. BA(free scale) network 小结
  6. 判断泛型的值是否为default(T)
  7. 模板:线段树优化建图
  8. 单台web服务器性能,单台web服务器如何尽可能的提高网站性能
  9. 文本框仅可接收decimal
  10. 使用Webpack的代码分离实现Vue懒加载(译文)
  11. akka actor java_现代化的Java(三)——从Hello Akka说起
  12. Angular2之路由学习笔记
  13. php调java_php调java接口
  14. 基于matlab的信号频谱分析 开题报告,基于MATLAB的数字信号处理开题报告
  15. 谭永霞电路分析第三版课后答案_《电路分析》谭永霞西南交通大学课后习题和其答案.pdf...
  16. 多节点部署执行定时任务选举单一节点解决方案---redis
  17. android下划线链接,android7.0 TextView去除超链接下划线就这么难吗?
  18. 「MBR」- 主引导记录(Master Boot Record) @20210315
  19. SQL Server 2008 复制 遇到: 进程无法执行 'sp_replcmds' 命令
  20. linux打印函数名,linux kernel 打印函数指针对应的函数名方法

热门文章

  1. JAVA 实现 快速排序算法
  2. centos7 install 安装mysql
  3. 如何让ie 7 支持box-shadow
  4. Appro DM8127 IPNC 挂载NFS遇到的问题及解决
  5. mysql 5.5半同步复制功能部署
  6. 脚本化 tmux — LinuxTOY
  7. [转]C# 2.0新特性与C# 3.5新特性
  8. Intellij IDEA 没办法创建java文件
  9. 反转链表JAVA算法_链表反转算法
  10. 实现ASP.NET MVC3 HtmlHelper 的 RadioButtonList 与CheckBoxList 扩展