前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【哈工大】深度残差收缩网络:从删除冗余特征时的灵活程度进行讨论

【哈工大】深度残差收缩网络:从删除冗余特征时的灵活程度进行讨论

作者头像
用户6831054
修改2020-05-29 10:10:19
1.2K0
修改2020-05-29 10:10:19
举报

本文解读了哈工大团队提出的一种新的深度学习方法——深度残差收缩网络(Deep Residual Shrinkage Network),原本是应用在基于含噪振动信号的机械故障诊断,加入了笔者自己的理解。

1.深度残差收缩网络的基础知识

从名字可以看出,深度残差收缩网络是深度残差网络的一种改进方法。其特色是“收缩”,在这里指的是软阈值化,而软阈值化几乎是现在信号降噪算法的必备步骤。

因此,深度残差收缩网络是一种面向含噪数据的深度学习方法,是信号处理里的经典内容和深度学习、注意力机制的又一次完美结合。

深度残差收缩网络的基本模块如下图(a)所示,通过一个小型子网络,学习得到一组阈值,然后进行特征的软阈值化。同时,该模块还加入了恒等路径,以降低模型训练难度。深度残差收缩网络的整体结构如下图(b)所示,与一般的深度残差网络是一样的。

深度残差收缩网络的基本结构
深度残差收缩网络的基本结构

那么为什么要进行收缩呢?收缩有什么好处呢?本文尝试从删除冗余特征的灵活度的角度,进行了解释。

2.收缩(这里指软阈值化)

不了解软阈值化的同学可以去搜一下Soft Threshlding,在谷歌学术会搜到这一篇:DL Donoho. De-noising by soft-thresholding[J]. IEEE transactions on information theory, 1995.

De-noising by soft-thresholding这篇论文,现在的引用次数是12893次。可以看出来,软阈值化是一种经典的方法,尤其在信号降噪领域是非常常用的。

软阈值函数的表达式如下:

其中t是阈值,是一个正数。从公式可以看出,软阈值化将[-t,t]区间内的特征置为0,将大于t的特征减t,将小于-t的特征加t。

如果用图片表示软阈值函数,就如下图所示:

3.收缩(这里指软阈值化)与ReLU激活函数的对比

软阈值化在深度残差收缩网络中是作为非线性映射,而现在深度学习最常用的非线性映射是ReLU激活函数。所以下面进行了两者的对比。

3.1 共同优点

我们首先分析一下,收缩(这里指软阈值化)和ReLU激活函数的共同优点。

首先,软阈值化和ReLU都可以将部分区间的特征置为0,相当于删除部分特征/信息。(可理解为,前面的层将冗余特征转换到某个取值区间,然后用软阈值化或ReLU进行删除)

其次,软阈值化和ReLU的梯度都要么为0,要么为1,都有利于梯度的反向传播。

3.2 收缩(这里指软阈值化)与ReLU的初步对比

相较于ReLU,软阈值化能够更加灵活地设置“待删除(置为0)”的特征取值区间。

我们首先独立地看ReLU,以下图为例。ReLU将低于0的特征,全部删除(置为0);大于0的特征,全部保留(保持不变)。

软阈值函数呢?它将某个区间,也就是[-阈值,阈值]这一区间内的特征删除(置为零);将这个区间之外的部分,包括大于阈值和小于-阈值的部分,保留下来(虽然朝向0进行了收缩)。下图展示了阈值t=10的情况: 

在深度残差收缩网络中,阈值是可以通过注意力机制自动设置的。也就是说,[-阈值,阈值]的区间,是可以根据样本自身情况、自动调整的。 

3.3 收缩(这里指软阈值化)与ReLU的深层对比

如果我们把ReLU和之前(卷积层或者批标准化里面的)偏置b,放在一起看呢?那么ReLU能够删除的特征取值空间,是可以变化的。比如说,将偏置b和ReLU作为一个整体的话,函数形式就变成了max(x+b,0)或者ReLU(x+b)。当偏置b为正数的时候,特征x会沿y轴向上平移,然后再将负特征置为0。例如,当b=20的时候,如下图所示:

或者当偏置b为负数的时候,特征x会沿y轴向下平移,然后再将负特征置为0。例如,当b=-20的时候,如下图所示:

接下来,我们来讨论软阈值函数。将偏置b和软阈值化作为一个整体的话,函数形式就变成了sign(x+b)•max(abs(x+b)-t,0)。当偏置b为正数的时候,首先特征x会沿y轴向上平移,然后再将零附近的特征置为0。例如,当偏置b=20、阈值t=10的时候,如下图所示:

当偏置b为负数的时候,特征x会沿y轴向下平移,然后再将零附近的特征置为0。例如,当偏置b=-20、阈值t=10的时候,如下图所示:

在深度残差收缩网络中,由于偏置b和阈值t都是可以训练得到的参数,所以当偏置b和阈值t取值合适的时候,软阈值化是可以实现与ReLU相同的功能的。也就是,在现有的这些特征的[最小值,最大值]的范围内(不考虑无穷的情况,一般我们采集的数据不会有无穷),将低于某个值的特征全置为0,或者将高于某个值的特征全置为0。例如,在下图的数据中,如果我们将偏置b设置为20,将阈值t也设置为20,就将所有小于0的特征全部置为0了。因为没有小于-40的特征,所以“偏置+软阈值化”就相当于实现了ReLU的功能(将低于0的特征置为0)。

当然,由于[-阈值,阈值]区间和偏置b都是可调的,也可以是这样(b=40,t=20)(是不是和“偏置+ReLU”很相似):

然而,反过来的话,不管“偏置+ReLU”怎么组合,都无法实现下图中软阈值函数可以实现的功能。也就是,“偏置+ReLU”无法将某个区间内特征的置为0,并且同时保留大于上界和小于下界的特征。

从这个角度看的话,当和前一层的偏置放在一起看的时候,软阈值化比ReLU能够更加灵活地设置“待删除特征的取值区间”。

4.注意力机制的加持

更重要地,深度残差收缩网络采用了注意力机制(类似于Squeeze-and-Excitation Network)自动设置阈值,避免了人工设置阈值的麻烦。(人工设置阈值一直是一个大麻烦,而深度残差收缩网络用注意力机制解决了这个大麻烦)。 

在注意力机制中,深度残差收缩网络采用了特殊的网络结构,保障了阈值不仅为正数,而且不会太大。因为如果阈值过大的话,就可能出现下图的情况,也就是所有特征都被置为0了。深度残差收缩网络的阈值,其实是(特征图的绝对值的平均值)×(0到1之间的系数),很好地避免了阈值太大的情况。

同时,深度残差收缩网络的阈值,是在注意力机制下,根据每个样本的情况,单独设置的。也就是,每个样本,都有自己的一组独特的阈值。因此,深度残差收缩网络适用于各个样本中噪声含量不同的情况。 

5.深度残差收缩网络只适用于强噪声的数据吗?

我们在使用深度残差收缩网络的时候,似乎不需要考虑数据中是否真的含有很多噪声。换言之,深度残差收缩网络应该可以用于弱噪声的数据。

这是因为,深度残差收缩网络中的阈值,是根据样本自身的情况,通过一个小型子网络自动获得的。如果样本所含噪声很少,那么阈值可以被自动设置得很低(接近于0),从而“软阈值化”就退化成了“直接相等”。在这种情况下,软阈值化,就相当于不存在了。

6.恒等连接缓解了训练难度

相较于普通的残差网络,深度残差收缩网络的结构较为复杂,所以恒等路径是有必要存在的。

7. 论文网址

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

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

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
作者已关闭评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.深度残差收缩网络的基础知识
  • 2.收缩(这里指软阈值化)
  • 3.收缩(这里指软阈值化)与ReLU激活函数的对比
    • 3.1 共同优点
      • 3.2 收缩(这里指软阈值化)与ReLU的初步对比
        • 3.3 收缩(这里指软阈值化)与ReLU的深层对比
        • 4.注意力机制的加持
        • 5.深度残差收缩网络只适用于强噪声的数据吗?
        • 6.恒等连接缓解了训练难度
        • 7. 论文网址
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档