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

简介: 对于基于深度学习的分类算法,其关键不仅在于提取与标签相关的目标信息,剔除无关的信息也是非常重要的,所以要在深度神经网络中引入软阈值化。阈值的自动设置,是深度残差收缩网络的核心贡献。需要注意的是,软阈值化中的阈值,需要满足一定的条件。

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

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

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

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

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

(2)注意力机制

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

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

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

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

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

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

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

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

值得指出的是,通过这种方式,不同的样本就有了不同的阈值。在一定程度上,也可以理解为一种注意力机制:注意到不重要的特征,将它们剔除掉;或者说,注意到重要的特征,将它们保留下来。另外,虽然跨层的恒等路径(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
深度残差收缩网络:(四)注意力机制下的阈值设置 https://www.cnblogs.com/yc-9527/p/11604082.html
深度残差收缩网络:(五)实验验证 https://www.cnblogs.com/yc-9527/p/11610073.html
深度残差收缩网络:(六)代码实现 https://www.cnblogs.com/yc-9527/p/12091581.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

相关文章
|
16天前
|
缓存 应用服务中间件 nginx
Web服务器的缓存机制与内容分发网络(CDN)
【8月更文第28天】随着互联网应用的发展,用户对网站响应速度的要求越来越高。为了提升用户体验,Web服务器通常会采用多种技术手段来优化页面加载速度,其中最重要的两种技术就是缓存机制和内容分发网络(CDN)。本文将深入探讨这两种技术的工作原理及其实现方法,并通过具体的代码示例加以说明。
48 1
|
2月前
|
缓存 数据安全/隐私保护 Kotlin
Kotlin 中的网络请求代理设置最佳实践
Kotlin 中的网络请求代理设置最佳实践
|
9天前
|
网络协议 算法 网络性能优化
C语言 网络编程(十五)套接字选项设置
`setsockopt()`函数用于设置套接字选项,如重复使用地址(`SO_REUSEADDR`)、端口(`SO_REUSEPORT`)及超时时间(`SO_RCVTIMEO`)。其参数包括套接字描述符、协议级别、选项名称、选项值及其长度。成功返回0,失败返回-1并设置`errno`。示例展示了如何创建TCP服务器并设置相关选项。配套的`getsockopt()`函数用于获取这些选项的值。
|
21天前
|
缓存 负载均衡 应用服务中间件
Nginx 代理管理器强势登场!轻松设置反向代理,为你的网络安全与高效护航,快来探索!
【8月更文挑战第23天】Nginx 代理管理器(NPM)是一款强大的工具,用于简化反向代理的设置流程。反向代理能隐藏后端服务器的真实IP,提升安全性,实现负载均衡与缓存等功能。用户需先安装Nginx 代理管理器,然后通过其Web界面添加代理主机,指定代理名称、协议类型、服务器地址及端口等信息。对于HTTPS协议,还需上传SSL证书/密钥。完成设置后,可通过浏览器测试反向代理是否正常工作。Nginx 代理管理器还支持高级特性,如负载均衡、缓存及访问控制等。
38 1
|
22天前
|
网络协议 Linux 网络架构
在Linux中,如何设置网络路由?
在Linux中,如何设置网络路由?
|
17天前
|
Java 网络安全 云计算
深入理解Java异常处理机制云计算与网络安全:技术挑战与应对策略
【8月更文挑战第27天】在Java编程的世界里,异常处理是维护程序健壮性的重要一环。本文将带你深入了解Java的异常处理机制,从基本的try-catch-finally结构到自定义异常类的设计,再到高级特性如try-with-resources和异常链的应用。通过具体代码示例,我们将探索如何优雅地管理错误和异常,确保你的程序即使在面对不可预见的情况时也能保持运行的稳定性。
|
19天前
|
安全 网络安全 数据安全/隐私保护
|
19天前
|
网络协议 安全
【Azure 应用服务】Azure Function集成虚拟网络,设置被同在虚拟网络中的Storage Account触发,遇见Function无法触发的问题
【Azure 应用服务】Azure Function集成虚拟网络,设置被同在虚拟网络中的Storage Account触发,遇见Function无法触发的问题
|
19天前
|
存储 编解码 监控
云端加密代码库问题之企业设置网络隔离如何解决
云端加密代码库问题之企业设置网络隔离如何解决
|
21天前
|
安全 网络安全 数据处理
防火墙设置难倒你?这两种组网模式轻松解决网络安全难题!
【8月更文挑战第23天】在网络安全日益重要的今天,防火墙作为关键防护设备扮演着重要角色。本文重点分析两种核心组网模式:三层路由网关模式与二层透明网桥模式。前者通过IP层处理实现内外网隔离及丰富的策略配置,增强安全性;后者以MAC地址转发,部署简便,不影响现有网络结构,适合服务不可中断的情况。通过企业升级安全防护的实际案例,展示了不同模式的应用场景及优势,并提供了三层路由网关模式的配置示例。正确选择和配置防火墙组网模式对于提高网络安全性和保证业务连续性至关重要。
38 0