可解释的卷积滤波器 SincNet
Ravanelli, M. 在 NIPS 2018 进一步讨论了 SincNet 可解释意义,令人感觉该模型已经能够胜任在说话人识别的基础上胜任更多的语音处理任务。因此,在先前的 SincNet 讲解基础上,笔者进一步分析 SincNet 的可解释性、相关的无监督方法和潜在的安全威胁。
Notes from Speaker Recognition from Raw Waveform with SincNet:
In particular, we propose SincNet, a novel Convolutional Neural Network (CNN) that encourages the first layer to discover more meaningful filters by exploiting parametrized sinc functions.
This inductive bias offers a very compact way to derive a customized filter-bank front-end, that only depends on some parameters with a clear physical meaning.
The proposed architecture converges faster, performs better, and is more interpretable than standard CNNs.
文章目录
摘要
2018 年以后,SincNet 具有更快的收敛速度、更佳的表示能力和更好的可解释性,但也暴露出其对抗攻击的脆弱性。笔者详细分析 SincNet 四部分:设计原理、可解释性、无监督学习应用和对抗攻击。考虑到 SincNet 在频域方面的物理意义,它将为语音处理应用的研发提供极大的便利,例如说话人识别与语音识别。
SincNet 设计
在先前的 SincNet 讲解基础上,该部分着重分析参数化滤波器的设计,及其相关物理含义。值得重视的是:信号处理技术中的带通滤波器是启发 SincNet 设计的主要来源,因此,笔者从带通滤波器的角度来描述参数化滤波器的设计原理。

为了更好的理解参数化滤波器的设计原理,可以通过传统卷积函数中的一维卷积来看待该滤波器,例如 PyTorch 的 nn.Conv1d
。在此基础上,可以任务该滤波器就是一个长度为 L L L 的一维向量,这些向量的权重,可以通过参数更新的方法学习获得。
根据上图给出第一行图片,可以理解为三个不同的一维卷积 c = { c i } i = 0 250 \mathbb{c}=\{c_i\}_{i=0}^{250} c={ ci}i=0250,它们的长度都为 L = 251 L=251 L=251。通过这样的数学符号,可以将其与二维卷积直接联系起来。简单来说,SincNet 带通滤波器就是一种特定的一维卷积。
那么如何设计这样一个特定的一维卷积函数呢?**直觉地,让滤波器去学习特定频域范围内的信息。**为设计这样的滤波器,需要了解一下内容:
-
为什么希望 SincNet 参数化滤波器来学习特定频率范围的内容?
- 问题:音调和基频是帮助识别说话人身份的重要线索,也是非常重要且具有物理含义的声学特性。Mel-Scale 滤波器组提供了提取这类信息类似的功能。然而,传统的频谱提取方法,例如 MFCC、PLP、FBANK 等,是依据以往经验提取的信号信息,无法直接证明这些信息的所有组成成分都是有利于特定语音处理任务的。
- SincNet 参数化滤波器:为了适应特定的语音处理任务,设计可学习的滤波器,来替换人工提取的滤波器组或者频谱相关系数。因此,该学习滤波器满足一下设计要求:
- 处理原始信号:在深度学习框架中,它位于与原始波形直接关联的位置,即网络第一层,替代 MFCC、FBANK 或者 PLP 的功能。
- 提取频率相关的信息:频谱分析提供了非常重要的信息,例如音调和基频,或者特定频带的信息。
- 要具有物理含义:“数字信号处理”从物理的角度提供了大量的数字信号滤波器设计相关的知识,例如高通滤波器、低通滤波器、带通滤波器等。
-
为什么带通滤波器可以学习特定频率范围内的内容?
-
带通滤波器:在“数字信号处理”领域,带通滤波器的属性是让特定频带(连续频率范围)的数字信号通过。上图的第二行描述了三种带通滤波器的频域特性——通带。它往往可以用于噪声过滤,例如高频噪声过滤。
-
数字信号:在“数字信号处理”领域,有一个关于傅里叶的观点:**任何周期函数,都可以看作是不同振幅,不同相位正弦波的叠加。**就像在“高等数学”的范畴下,把一个周期函数展开成傅里叶级数。
根据经验,把说话人的语音看作一个周期信号是可行的,
或者说,忽略语音信号的非周期成分不会显著影响语音处理效果。
-
通过与衰减:根据傅里叶理论,带通滤波器将通带以外的频率都衰减掉了,而留下的通带内的频率。
-
-
如何设计这样的滤波器?
-
c = { c i } i = 0 250 \mathbb{c}=\{c_i\}_{i=0}^{250} c={ ci}i=0250:为了使一维卷积满足带通滤波器的特性,需要构建与两个截至频(低、高)相关的参数化模型。这里已知滤波器频域特性,可以通过逆向傅里叶变换来获得滤波器 g ( n , f 1 , f 2 ) g(n,f_1,f_2) g(n,f1,f2) 在频域上的参数 ( f 1 f_1 f1 与 f 2 f_2 f2),相应的数学公式为:
g ( n , f 1 , f 2 ) = 2 f 2 sinc ( 2 π f 2 n ) − 2 f 1 sinc ( 2 π f 1 n ) g(n,f_1,f_2)=2f_2\text{sinc}(2\pi f_2 n)-2f_1\text{sinc}(2\pi f_1 n) g(n,f1,f2)=
-