voxsrc20_ask_07-Why there are designed to have 2 layers of embeddings in x-vector?

ID = voxsrc20_ask_07

Status: closed

Question

Why there are designed to have 2 layers of embeddings in x-vector?

Answer

Ask1:

Leon老师,您好!
看了您ICASSP的论文,有一个疑问,还请解惑,谢谢!

TDNN中为何设置两层segment layer?
1. Pooling 之后经过segment layer1已经得到了x-vector,x-vector之后再接一层segment layer 2,他们之间是全连接吗?
2. Layer2的作用是什么?只是单纯地为了训练吗?
3. 这是TDNN或x-vector特有的吗?如果用ResNet(也有人叫r-vector), 不用TDNN,是否也需要设置两层segment layer?

Reply1:

你好呀
1.两层segment layer是为了稳定representation的,pooling layer是均值方差统计量拼接,这是比较直接的输入,第一层则是为了有机整合二阶统计量;输出层则是维度会远大于segment layer维度,可能是几万比几百,这个量级比较大,相邻的layer会受到一定波动,所以有第二层segment layer去保第一层layer的稳定性。也有论文把两层layer都提取出xv,对比能看到第一层效果更好。
2.两层之间是全连接的
3.layer2已经回答了
4.我觉得和resnet tdnn无关,和pooling layer output layer倒是有关

Ask2:

谢谢!
还是有几点不清楚,能否稍微展开下。

追问1: 如何理解这种波动?比如梯度变化波动大?
追问2: 增加的第二层可以保护第一层的稳定性?这又怎么理解呢?
追问3: 也有论文把两层的输出拼接起来作为组成xv,但是效果还不如仅仅用第一层的输出,是这么理解吗?

Reply2:

1.这个能从可视化上看,你可以画出tsne图或者xv的分布图,第一层会比第二层要更符合正态分布   
2.是的,稳定第一层的统计量。你可以把第二层去掉只训练第一层,你会发现第一层效果变差,上下同时受pooling layer和output layer的影响   
3.这要看情况,可能持平;但只用第一层提取xv是足够的了

Conclusion:

明白了,终于理解为什么有些论文里提到训练结束后segment2可以移除了。非常感谢!

Reference

[1] Paid zixun @Zhihu

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值