如何使用对比预测编码提升语音情感识别性能?( 二 )
· 对比式——致力于从一组对应不同音频片段的干扰物中挑选出一个阳性样本 。 在演示空间中测算损耗 。
热门的生成式自我监督方法是自回归预测编码(APC) 。 一旦原始音频转换为Fbanks , 任务就是在给定时间步长之前的特征的情况下预测未来的特征向量N个时间步长 , 其中范围1≤N≤10演示良好 。
过去的语境由递归神经网络(RNN)或变换器总结 , 并且激活最终层后将用于演示 。 损失是相对于参考值的均方误差 。 近期增加了矢量量化层 , 以进一步改善电话/说话人的识别结果 。
CPC式对比自我监督学习的一种形式 , 也是本文使用的一种 。 将原始数据编码到潜在空间 , 在此空间中对正负样本进行恰当分类 。 此处损耗名为InfoNCE 。 下一节将对产品总分类进行更详细地概述 。 其他热门方法包括动量对比(MoCo)和问题不可知的语音编码器 。 后者利用情绪识别推动演示的相关信息 。
对比预测编码
图1给出了产品总分类的概述 , 本节描述其运行方式 。 笔者提供了PyTorch代码的截图进行说明——所示代码与项目库中给出的完整代码相比有所简化 。
本文插图
图1:CPC作为音频代表性学习方法的概述 。
首先 , 原始音频样本x在16kHz时通过编码器(g_enc) , 该编码器使用多个卷积层对音频进行160倍的下采样 。 因此 , 编码器的输出频率是100Hz 。 或者 , 编码器可以替换为多层感知器 , 该多层感知器对已经处于100赫兹的Fbank特征进行操作 。 本实验涉及到第二种方式 , 因为笔者发现当将所学的功能用于下游任务时 , 性能会略有提高 。
潜在空间中编码器的输出z被传送到自回归模型g_ar(例如RNN)中 。 该阶段在每一时间步长输出c , 结合所有先前延迟的信息 。 图2中的正向方法说明了PyTorch中如何实现这一步 。
本文插图
图2:CPC模型的初始化和传递 。
现在 , 在一个特定的时间步长t , 应用c的线性变换和预测的前方距离相关的权重矩阵(如图1中的虚线和图3中第36行的代码所示) 。 接下来 , 将这些线性变换乘以实际的未来潜在z , 得到对数密度比 。 密度比由以下等式定义:
本文插图
Softmax层应用于正样本和许多负样本的对数密度比 , 以增加阳性样本的概率 , 换言之 , 能够理解阳性潜在样本历史相关性最强 , 重复k次 , 如图3中每个时间步长上的循环所示“训练目标要求在一组干扰物中识别出正确的量化潜在语音演示 。 ”
CPC中的损失就是下述等式中的InfoNCE , 它与正确分类阳性样本的分类交叉熵相同 。
本文插图
实际上 , 损失是对批次内阳性样本的对数概率求和计算得出(图3中的第57行) 。 损失最大化时 , 编码器、RNN矩阵和权重矩阵采取并行训练 。
本文插图
图3:在给定z和c的情况下 , 计算NCE损耗的图示 。
图4代码展现了初始化模型中数据传递方式 , 以及在序列中多次计算InfoNCE 。 需要理解的是 , 可以从序列中时间“t”的循环进行预测 , 也可以预测时间步长“k”的数量 。
本文插图
图4:通过模型传递数据并计算最终损失
数据集
CPC预训练是在100小时的Librispeech数据集子集上进行的 , 该数据集由16千赫英语语音组成 。
- 游戏葡萄|七年磨一剑的任天堂,如何用美术诠释游戏?
- 智能城市崛起,看智能化如何定义未来之城
- 青年|G2和GEN比赛解说席最精彩,鼓鼓视角的两位解说对比很好笑
- 王者荣耀|李小龙皮肤如何搭配才最帅气,这个回城特效绝配,搭配特效秒变传说皮肤!
- 小闲聊游戏|我的世界:玩家自制“现实”与游戏对比图,史蒂夫是最强主角?
- 剖析爱奇艺积分体系,如何做留存和转化
- ZAKER生活|在俄避难的斯诺登,结局如何?,7年前曝光美国“棱镜计划”
- 周到|复盘上海德比首回合 上港如何破申花的密集防守
- 王者荣耀|王者荣耀:不知道如何玩好射手?S21赛季全射手出装铭文合集送给你!
- 涨幅低于|各地物价如何? 19地9月CPI回 “1时代” 海南最低