【深度残差收缩网络】深度残差网络、注意力机制和软阈值化的深度集成

简介:

深度残差网络(deep residual network, ResNet)是一种非常热门的深度学习方法,到目前为止,在谷歌学术上的引用量达到了35772次。

深度残差收缩网络(deep residual shrinkage network)是ResNet的一种改进,实际上是ResNet、注意力机制和软阈值化的深度集成,在深度神经网络的内部消除不重要的(或者与噪声相关的)特征,加强深度神经网络从强噪信号中提取有用特征的能力。以下根据自己的理解,进行一些解释。

1. 动机

首先,在很多机器学习的任务中,样本中经常会包含一些噪声,比如高斯噪声、pink噪声、Laplacian噪声等。更广义地讲,样本中经常包含着与当前机器学习任务不相关的信息。

举例来说,在许多情况下,要进行分类的图片,除了含有与标签所对应的目标物体,还包含着一些与标签无关的物体。这些与标签无关的物体,就可以理解为一种噪声。这些无关物体所对应的特征,就是需要被删除的,从而避免对当前的任务造成影响。或者说,在马路边聊天的时候,聊天的声音里就可能会混杂车辆的鸣笛声、车轮声等等。当对这些含噪的声音信号进行语音识别的时候,识别效果不可避免地会受到鸣笛声、车轮声的影响。这些鸣笛声、车轮声所对应的特征,就应该在深度神经网络内部被删除掉,以避免对语音识别的效果造成影响。

然后,在同一个样本集中,每个样本所含的噪声量通常是不一样的。

例如,当训练猫狗分类器的时候,对于标签为“狗”的5张图像,第1张图像可能同时包含着狗和老鼠,第2张图像可能同时包含着狗和鹅,第3张图像可能同时包含着狗和鸡,第4张图像可能同时包含着狗和驴,第5张图像可能同时包含着狗和鸭子。我们在训练猫狗分类器的时候,就不可避免地会受到老鼠、鹅、鸡、驴和鸭子等无关物体的干扰,造成分类准确率下降。如果我们能够注意到这些无关的老鼠、鹅、鸡、驴和鸭子,将它们所对应的特征删除掉,就有可能提高猫狗分类器的准确率。

2. 软阈值化

软阈值化,从数学上来讲,就是将绝对值小于某个阈值的特征置为零,将绝对值大于这个阈值的特征朝着零的方向进行收缩。它具体的公式为
image

软阈值化的输出对于输入的导数为
image

从以上公式可知,软阈值化的导数要么是1,要么是0。这个性质是和ReLU激活函数是相同的。因此,软阈值化也能够减小深度学习算法遭遇梯度弥散和梯度爆炸的风险。

在软阈值化函数中,阈值的设置必须符合两个的条件:第一,阈值是正数;第二,阈值不能大于输入信号的最大值,否则输出会全部为零。

同时,阈值最好还能符合第三个条件:每个样本有着自己独特的阈值。

这是因为,很多样本的含噪程度经常是不同的。例如,样本A含噪较少,样本B含噪较多。那么,如果是在降噪算法里面,样本A就应该采用大一点的阈值,样本B就应该采用小一点的阈值。在深度神经网络中,虽然这些特征和阈值没有明确的物理意义、,但是道理还是相通的,也就是说每个样本应该有自己独特的阈值。

3. 注意力机制

注意力机制在图像处理领域是很容易理解的。比如说,我们人可以快速扫描视觉全局区域,发现感兴趣的目标物体,进而把大部分的注意力集中在感兴趣的物体上,以提取更多的细节,同时抑制无关物体的信息。

Squeeze-and-Excitation Network(SENet)是一种较新的注意力机制下的深度学习方法。 在不同的样本中,不同的特征通道,在分类任务中的贡献大小,往往是不同的。SENet采用一个小型的子网络,获得一组权重,进而将这组权重与各个通道的特征分别相乘,以调整各个通道特征的大小。这个过程,就可以认为是在施加不同大小的注意力在各个特征通道上。
image

在这里,每一个样本,都有着自己独立的一组权重。任意的两个样本,它们的权重,都不一样。在SENet中,获得权重的具体路径是,“全局池化→全连接层→ReLU函数→全连接层→Sigmoid函数”。
image

深度残差收缩网络就借鉴了这个子网络,来自动设置软阈值化的阈值。
image

通过红色框内的子网络,可以获得一组阈值。这组阈值可以被应用在各个特征通道上。

在这个子网络中,首先对输入特征图的所有特征,求它们的绝对值。然后经过全局均值池化和平均,获得一个特征,记为A。在另一条路径中,全局均值池化之后的特征图,被输入到一个小型的全连接网络。这个全连接网络以Sigmoid函数作为最后一层,将输出归一化到0和1之间,获得一个系数,记为α。最终的阈值可以表示为α×A。因此,阈值就是,一个0和1之间的数字×特征图的绝对值的平均。通过这种方式,保证了阈值为正,而且不会太大

值得指出的是,通过这种方式,不同的样本就有了不同的阈值。在某种程度上,可以理解成一种特殊的注意力机制:注意到与当前任务无关的特征,将它们置为零;或者说,注意到与当前任务有关的特征,将它们保留下来。

4. 通用性

深度残差收缩网络事实上是一种通用的数据分类方法。也就是说,深度残差收缩网络不仅可以用于基于振动信号的机械故障诊断,而且可以用于很多其他的分类任务,比如图像和语音。在图像分类时,如果图片中还存在着很多其他的物体,那么这些物体就可以被理解成“噪声”;深度残差收缩网络或许能够借助注意力机制注意到这些“噪声”,然后借助软阈值化将这些“噪声”所对应的特征置为零,从而提高图像分类的准确率。在语音识别时,如果是在环境比较嘈杂的环境里,比如在马路边聊天的时候,深度残差收缩网络也许可以提高语音识别效果,或者给出了一种提高语音识别效果的思路。

转载网址

【深度残差收缩网络】深度残差网络、注意力机制和软阈值化的深度集成
https://www.yanxishe.com/blogDetail/17056
深度残差收缩网络:(四)注意力机制下的阈值设置
https://www.cnblogs.com/yc-9527/p/11604082.html

原文网址

M. Zhao, S. Zhong, X. Fu, et al., Deep residual shrinkage networks for fault diagnosis, IEEE Transactions on Industrial Informatics, DOI: 10.1109/TII.2019.2943898
https://ieeexplore.ieee.org/document/8850096

相关实践学习
达摩院智能语音交互 - 声纹识别技术
声纹识别是基于每个发音人的发音器官构造不同,识别当前发音人的身份。按照任务具体分为两种: 声纹辨认:从说话人集合中判别出测试语音所属的说话人,为多选一的问题 声纹确认:判断测试语音是否由目标说话人所说,是二选一的问题(是或者不是) 按照应用具体分为两种: 文本相关:要求使用者重复指定的话语,通常包含与训练信息相同的文本(精度较高,适合当前应用模式) 文本无关:对使用者发音内容和语言没有要求,受信道环境影响比较大,精度不高 本课程主要介绍声纹识别的原型技术、系统架构及应用案例等。 讲师介绍: 郑斯奇,达摩院算法专家,毕业于美国哈佛大学,研究方向包括声纹识别、性别、年龄、语种识别等。致力于推动端侧声纹与个性化技术的研究和大规模应用。
相关文章
|
2月前
|
缓存 应用服务中间件 nginx
Web服务器的缓存机制与内容分发网络(CDN)
【8月更文第28天】随着互联网应用的发展,用户对网站响应速度的要求越来越高。为了提升用户体验,Web服务器通常会采用多种技术手段来优化页面加载速度,其中最重要的两种技术就是缓存机制和内容分发网络(CDN)。本文将深入探讨这两种技术的工作原理及其实现方法,并通过具体的代码示例加以说明。
87 1
|
2月前
|
Kubernetes Devops 持续交付
DevOps实践:使用Docker和Kubernetes实现持续集成和部署网络安全的守护盾:加密技术与安全意识的重要性
【8月更文挑战第27天】本文将引导读者理解并应用DevOps的核心理念,通过Docker和Kubernetes的实战案例,深入探讨如何在现代软件开发中实现自动化的持续集成和部署。文章不仅提供理论知识,还结合真实示例,旨在帮助开发者提升效率,优化工作流程。
|
2月前
|
JavaScript 网络协议 API
【Azure API 管理】Azure APIM服务集成在内部虚拟网络后,在内部环境中打开APIM门户使用APIs中的TEST功能失败
【Azure API 管理】Azure APIM服务集成在内部虚拟网络后,在内部环境中打开APIM门户使用APIs中的TEST功能失败
|
2月前
|
Java 网络安全 云计算
深入理解Java异常处理机制云计算与网络安全:技术挑战与应对策略
【8月更文挑战第27天】在Java编程的世界里,异常处理是维护程序健壮性的重要一环。本文将带你深入了解Java的异常处理机制,从基本的try-catch-finally结构到自定义异常类的设计,再到高级特性如try-with-resources和异常链的应用。通过具体代码示例,我们将探索如何优雅地管理错误和异常,确保你的程序即使在面对不可预见的情况时也能保持运行的稳定性。
|
2月前
【Azure App Service】列举为App Service集成虚拟网络(VNET)操作时所需要的最小权限
【Azure App Service】列举为App Service集成虚拟网络(VNET)操作时所需要的最小权限
|
2月前
|
安全 网络安全 数据安全/隐私保护
|
2月前
|
网络协议 安全
【Azure 应用服务】Azure Function集成虚拟网络,设置被同在虚拟网络中的Storage Account触发,遇见Function无法触发的问题
【Azure 应用服务】Azure Function集成虚拟网络,设置被同在虚拟网络中的Storage Account触发,遇见Function无法触发的问题
|
2月前
|
SQL 网络协议 安全
【Azure API 管理】APIM集成内网虚拟网络后,启用自定义路由管理外出流量经过防火墙(Firewall),遇见APIs加载不出来问题
【Azure API 管理】APIM集成内网虚拟网络后,启用自定义路由管理外出流量经过防火墙(Firewall),遇见APIs加载不出来问题
|
2月前
|
域名解析 网络协议 API
【Azure 应用服务】App Service与APIM同时集成到同一个虚拟网络后,如何通过内网访问内部VNET的APIM呢?
【Azure 应用服务】App Service与APIM同时集成到同一个虚拟网络后,如何通过内网访问内部VNET的APIM呢?
|
2月前
|
Kubernetes 监控 Shell
在K8S中,我们公司用户反应pod连接数非常多,希望看一下这些连接都是什么信息?什么状态?怎么排查?容器里面没有集成bash环境、网络工具,怎么处理?
在K8S中,我们公司用户反应pod连接数非常多,希望看一下这些连接都是什么信息?什么状态?怎么排查?容器里面没有集成bash环境、网络工具,怎么处理?
下一篇
无影云桌面