解释一下为为什么使用 instance normalization可以消除说话人信息,保留说话人内容

发布时间 2023-07-20 23:14:41作者: 啊诚

在content encoder中使用instance normalization,可以起到去除说话者信息的作用。首先来看一下instance normalization的原理,一般会对输入语音做conv1d得到feature map,有几个conv1d filter就会得到几个feature map,可以将这个过程理解为每一个filter都在提取声音的一个特征,通俗一点假设,第一个filter是检测高频分量的多少,第二个filter是检测低频分量的多少,那很显然男女生说话时高频和低频的成分是不同的。有了这个假设前提现在来看下instance normalization做了什么,它对每一种feature map求均值和方差(对每个样本,假如有256个通道,就是256个样本),从而将它们变换成零均值单位方差的数值分布,从数值上消除了各个filter所提取特征的差异,可以简单的理解为消除了各个说话者之间的特征差异,进而保证了最终只输出和content相关的信息

可以通过后面加入一个Speaker Classifier来验证IN的有效性,实验结果表明,在content encoder加入IN后,Speaker Classifier的正确率从65.8%降到了37.5%

adaptive instance normalization (only influence speaker information)

将speaker encoder的输出经过某种变换得到r和b,然后通过对每一个zi与r进行elements的相乘再加上b的方法进行全局的影响,这个过程叫做AdaIN,实际上不同的paper的做法都有些不一样