AN ATTENTION-BASED NEURAL NETWORK APPROACH FOR SINGLE CHANNEL SPEECH ENHANCEMENT
本论文将Global Attention机制应用到语音增强问题中。
模型结构
这篇论文的整体结构如下:
这里的Attention就是使用的最基本的Global Attention,其中Encoder分为两种,Stacked和Expanded,实验证明Stacked结构效果更优。具体结构见下图,区别在于计算 h t Q h_t^Q htQ时是使用原始数据(经过tanh放缩)还是使用 h K h^K hK作为LSTM的输入。后者之所以在大部分实验中效果更佳可能是使得 h K , h Q h_K,h_Q hK,hQ具有更大的相关性,而计算Attention时使用了相似度作为衡量标准。
关于Generator,从图中看出使用了Global Attention后的特征和 x t , h Q x_t,h^Q xt,hQ作为输入,从论文中看是先将 c t , h Q c^t,h^Q ct,hQ拼接后经过 全 连 接 → t a n h → 全 连 接 → s i g m o i d ⇒ m a s k 全连接\rightarrow tanh\rightarrow 全连接\rightarrow sigmoid\Rightarrow mask 全连接→tanh→全连接→sigmoid⇒mask后和 x t x_t xt做点积,使用的是语音增强的常用思路生成hidden-mask屏蔽噪声。
实验结果
这篇论文的作者自己使用Musan数据集中的噪声和自己的24.5h数据集合成了新的带噪声数据集,使用没经过Attention的LSTM作为baseline。
整体感觉很平淡,没什么创新。实际上我还查到了有一篇使用Transformer的文章投给了ICASSP2020,不知道能不能中。难道这个领域真的刚刚引入Attention?不过显然self-Attention的结构更复杂,参数也多得多,如果效果不好才说不过去。
DENSELY CONNECTED NETWORK WITH TIME-FREQUENCY DILATED CONVOLUTION FOR SPEECH ENHANCEMENT
本论文将DenseNet网络结构应用到了语音增强问题中。
模型结构
DenseNet即将在一个block中,每个Layer的输出都发送给后续Layer作为输入,这样可以有效保证原始特征不会随着网络层数加深逐渐消失。DenseNet一般由多个block构成,且每层网络主体都是卷积神经网络。本论文使用的网络结构如下图:
作者使用了两个Dense Block,Block中没有用DenseNet中的卷积+BN+ReLU的结构,而是创造了T-F dilated convolutional block结构直译就是(在)时间和频率(上)扩张(的)卷积块。作者认为直接使用卷积会由于CNN“limited respective fields”的原因无法获取语音的长期时间依赖,如果想要提升效果需要叠加许多层网络,效率太低,而且会导致梯度消失。
论文中每个Dense Block中有六个"T-F dilated convolution block",结构如下图:
网络的输入为T帧时间邻域的频谱,每个T-F block的输入经过ExtensionBlock(一层特殊T-F block)升到256channel。和名称一致,首先在频率维度上卷积,第一层降维,第二层提取频域特征,之后经过转置后在时域进行卷积,最后一层1*1升维使得Block间传递数据格式一致。
经过两个DenseBlock后,数据还需要经过一层TransitionBlock(时域卷积降维),最后一层频域卷积降维+全连接层输出一帧数据。
实验结果
本论文使用TIMIT数据集验证效果,从PESQ和STOI分数来看和C-RNN在噪声匹配条件下效果相当,而在噪声不匹配时表现更优越,具有更好的泛化能力。