实现流程
每层D-TDNN layer的结构如下:
第一层为FNN-based的bottleneck layer。
g为TDNN层的output size(growth rate),bottleneck layer层的output size为2g,
最后将D-TDNN的输入与TDNN layer的输出连接起来。整个D-TDNN的结构如下:
整个网络分为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的平均值、标准差、偏移以及峰态信息
第一层FNN将channel-wise information转换为Vector。
第二层FNN用来计算attention,
aci代表第i个branch的第c个通道,ht代表最后的feature vector。
实验