6

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

 3 years ago
source link: https://bbs.cvmart.net/articles/1385
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

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

11个月前 ⋅ 662 ⋅ 1 ⋅ 0

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

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

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

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

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

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

2. 软阈值化

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

软阈值化的导数为
file

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

同时,在软阈值化函数中,阈值的设置必须符合两个的条件:

第一,阈值是正数;

第二,阈值不能大于输入信号的最大值,否则输出会全部为零。

同时,阈值最好还能符合第三个条件:

第三,每个样本有着自己独特的阈值。

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

3. 注意力机制

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

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

file

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

file

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

file

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

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

值得指出的是,在这种网络结构下,不同的样本就会有不同的阈值。在某种程度上,这也理解成一种特殊形式的注意力机制:注意到不重要的特征,将它们转化为接近于零的值,进而置为零;或者说,注意到重要的特征,将它们转化为远离零的值,并且将它们保留下来。

4. 通用性

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

5. 原文网址

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/

版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK