D-TDNN

实现流程

每层D-TDNN layer的结构如下:
D-TDNN_第1张图片

第一层为FNN-based的bottleneck layer。
g为TDNN层的output size(growth rate),bottleneck layer层的output size为2g,
最后将D-TDNN的输入与TDNN layer的输出连接起来。整个D-TDNN的结构如下:
D-TDNN_第2张图片

整个网络分为5个部分:
1. 1,初始化通道数
2. 2-8,帧偏移为1,学习局部特征。
3. 9-21,帧偏移为3,学习long-term dependence
4. 22,生成utterance-level feature。
5. 输出embedding。

Multi-branch Extension

使用多个TDNN,其拥有不同的帧偏移与kernal size。

Selective kernel (SK):
组成结构为GAP-FNN-FNNs-Softmax
GAP为global average pooling,收集channel-wise的信息

statistics-and-selection (SS):
将上述的GAP换成high-order statistics pooling(HOSP)。

首先将每个branch的feature相加
在这里插入图片描述
在这里插入图片描述
B代表branch数,ht代表第i个branch的t帧的Feature,C代表channel数

接下来计算每个channel的平均值、标准差、偏移以及峰态信息
D-TDNN_第3张图片
在这里插入图片描述

第一层FNN将channel-wise information转换为Vector。
在这里插入图片描述
在这里插入图片描述

第二层FNN用来计算attention,
D-TDNN_第4张图片

aci代表第i个branch的第c个通道,ht代表最后的feature vector。

实验
D-TDNN_第5张图片

你可能感兴趣的:(声纹识别,深度学习)