点击上方卡片,关注“AI学术工坊”公众号
点击上方卡片,关注“AI学术工坊”公众号
各种重磅干货,第一时间送达
各种重磅干货,第一时间送达
摘要
视觉语音识别 (VSR) 旨在仅根据唇部运动将语音推断为文本。由于它专注于视觉信息来对语音进行建模,因此其性能本质上对个人唇部外观和运动很敏感,这使得 VSR 模型在应用于看不见的说话人时性能会下降。在本文中,为了弥补 VSR 模型在看不见的说话人身上的性能下降,我们提出了用于说话人自适应 VSR 的深度神经网络 (DNN) 的提示调整方法。具体而言,受自然语言处理 (NLP) 最新进展的启发,我们根据目标说话人的适应数据对提示进行微调,而不是修改预先训练的模型参数。与以前主要局限于 Transformer 变体架构的提示调整方法不同,我们探索了不同类型的提示、添加、填充和连接形式提示,这些提示可以应用于由 CNN 和 Transformer 组成的 VSR 模型。通过提出的提示调整,我们表明,即使预训练模型已经使用大量说话人变化开发,也可以通过使用少量的自适应数据(例如,少于 5 分钟)大大提高预训练 VSR 模型对未见过说话人的性能。此外,通过分析不同类型提示的性能和参数,我们调查了提示调整何时优于微调方法。在单词和句子级 VSR 数据库 LRW-ID 和 GRID 上评估了所提出方法的有效性。
论文链接:https://arxiv.org/abs/2302.08102
论文标题:Prompt Tuning of Deep Neural Networks for Speaker-adaptive Visual Speech Recognition
作者:Minsu Kim, Hyung-Il Kim, Yong Man Ro
1.关键字
提示调节、视觉语音识别、唇读、说话人自适应、可学习填充、CNN提示。
2.引言
视觉语音识别 (VSR) 技术 [1]、[2]、[3] 是专为仅依靠输入说话面部视频中的视觉信息(例如嘴唇动作)将语音识别为文本而开发的。它可以被视为利用语音作为输入的基于音频的自动语音识别 (ASR) 的对应物,也称为唇读。尽管该技术以其吸引人的应用 [12]、[13] 引起了广泛关注 [4]、[5]、[6]、[7]、[8]、[9]、[10]、[11],例如无需声音输入即可识别语音,因此对听觉噪声具有鲁棒性,并且可以在需要安静的环境中使用,但仍然很难发现 VSR 技术正在现实世界的应用中使用。这是因为 VSR 系统本质上对个人唇部外观和动作很敏感 [14],即使使用具有大量说话人变化的大规模数据库开发,当应用于看不见的说话人时,它的性能也会下降 [15]、[16]、[17]、[18]。
为了缓解这个问题,可以开发一个说话人自适应 VSR 系统,类似于为 ASR 系统开发的说话人自适应技术 [19]、[20]、[21]、[22]、[23]。说话人自适应方法通过将训练好的模型拟合到看不见的测试说话人来缩小训练和测试数据分布之间的差距,以提高测试期间的性能。该方法尝试通过使用少量的自适应数据,将预训练模型转换为对一个特定说话人很好地运行,或修改目标说话人的编码特征以匹配预训练模型,从而优化语音识别性能。最直观的方式是根据目标说话人的自适应数据对预训练模型进行微调。然而,存储和处理每个用户特定的模型是不可行的,因为它产生的参数总数与一个模型乘以说话人的数量相同。此外,由于该方法需要调整大量参数,因此需要相对较多的自适应数据才能使目标说话者获得最佳性能。因此,需要一种有效的方法,使用少量的参数和自适应数据,使预训练的 VSR 模型适应不同的说话者。
最近,输入转换 [24]、[25]、[26]、[27]、[28]、[29] 和提示 [30]、[31]、[32]、[33]、[34]、[35]、[36]、 [37]、[38] 证明了输入级修改预训练模型的有效性,可以在不修改预训练模型学习到的权重参数的情况下,使模型适应不同的任务或数据分布。通过将可学习的外部参数引入深度神经网络 (DNN) 的输入,预训练模型可以执行与训练不同的任务 [24]、[39] 或适应移位的数据分布 [40]。受输入转换和提示方面的最新进展的启发,我们提出了一种利用提示调整的新型说话人自适应 VSR 框架。具体来说,我们提出了三种不同类型的提示,即添加形式、填充形式和连接形式,它们可以联合用于 VSR 模型。与以前主要使用 Transformer 变体架构 [32]、[33]、[34]、[35]、[39] 开发的提示调整方法不同,所提出的方法也可以用于从输入级到中间层级的 CNN。
此外,与以前的说话人自适应方法(通过引入附加层来修改提取的特征 [41]、[42]、[43]、[44])不同,所提出的提示调整不会引入额外的自适应网络,也不需要对预训练模型进行微调。它的优点是简化了自适应步骤,因此可以直接从预训练模型进行自适应,而以前的工作需要在将自适应网络附加到预训练模型后对其进行训练。最后,与预训练模型相比,提示的参数数量要少得多,因此可以为每个用户(即说话人)存储和轻松处理它。
具体来说,我们提出了三种不同的提示,i)加法形式提示,ii)填充形式提示,和iii)连接形式提示。加法形式提示是CNN的输入级提示,具有与输入视频帧相同的形状。它被一致地添加到所有输入视频帧中,以转换编码的视觉特征,使其能够很好地作用于目标说话者。填充形式提示是CNN的中间特征级提示。它通过替换通常具有零、常数和反射值的预训练CNN的填充来运行。由于CNN的填充也与卷积核卷积,因此填充提示可以使每个中间CNN层的编码视觉特征适应目标说话者。最后,连接形式提示类似于NLP中的提示[32],[33],[34],它在时间维度上与Transformer的输入连接起来。我们研究了三种不同提示的组合效果,并表明只需调整提示,我们就可以提高预训练 VSR 模型对未见过的说话者的性能。此外,通过分析每个说话者的性能和所需的参数数量,我们表明,当只有少量的自适应数据可用时,所提出的方法比微调方法更受欢迎。我们在单词和句子级 VSR 数据库 LRW [45] 和 GRID [46] 中广泛验证了所提出方法的有效性。特别是,由于没有在野外获得说话者注释的 VSR 数据集,我们注释了 LRW [45] 数据集的说话者信息,并利用它来确认所提出方法在真实世界环境中的有效性。
本文的主要贡献如下。
据我们所知,这是第一项探索 VSR 中提示调整有效性的工作。我们表明,仅微调提示就可以大大提高 VSR 模型对未见过的说话人的性能。 我们提出并分析了不同类型的提示,即附加提示、填充提示和连接提示,这些提示可以联合用于由 CNN 和 Transformer 组成的一般 VSR 模型。 我们通过对不同自适应数据大小和不同提示类型的全面实验来评估所提方法的有效性,并且我们表明,与完整模型相比,仅通过引入约 0.5% 的额外参数,所提方法甚至可以胜过微调方法。
3.方法
如图 1(a) 所示,VSR 模型通常由具有基于 CNN 架构的视觉前端 、具有基于 RNN 或 Transformer 架构的后端 和预测转录的预测器 组成。我们将 VSR 模型的所有可学习权重参数(包括视觉前端、后端和预测器)表示为 。利用由 对输入视频 和真实文本 组成的大规模训练数据集 ,我们可以开发一个具有优化参数 的 VSR 模型,如下所示,
其中 是 VSR 的目标函数,例如联结时间分类 (CTC) [61] 和交叉熵, 表示函数组合。
我们的目标是最大限度地提高预训练的 VSR 模型 在训练数据集 中未出现的未见过的说话者上的性能。为此,我们利用少量的自适应数据 来使预训练的 VSR 模型适应目标说话者 。在这里,我们假设自适应数据量比训练期间使用的数据 小得多(即 1∼5 分钟),这是在现实世界场景中为每个说话者获取的可行数据量。具体来说,我们引入提示 ,并且仅对其进行优化以使预训练模型适应未见过的说话者,而不是更新模型的学习权重参数。所提出的提示有三种不同的形式,即添加、填充和连接,如图 1(b) 所示。在以下小节中,我们将详细描述如何结合每个提示来开发说话人自适应 VSR 系统。
3.1 添加提示:CNN 输入的补充
通过对 CNN 的输入添加一些扰动,我们可以重新编程一个预先训练的模型来执行与最初训练的任务不同的任务。受到这些先前研究 [24]、[25]、[26]、[27]、[28]、[29] 的启发,我们尝试通过在输入视频中添加提示来调整预训练的 VSR 模型,使其在看不见的说话者身上表现良好。因此,仅使用目标说话者的少量自适应数据来优化要添加到输入视频中的提示。为此,提示具有与输入视频帧相同的大小,可以写成 ,其中具有 T 帧的输入视频可以写成 。提示 被一致地添加到整个 帧并进行优化,以将目标说话者的输入视频转换为在预训练的 VSR 模型上很好地运行。针对目标说话人加法公式提示的优化可以写成如下形式,
其中,预训练的 VSR 模型的输入参数为 ,现在是添加了提示 的视频,并对提示进行优化,同时保持模型参数 不变。请注意,与对抗性示例 [89] 不同,加法形式提示的值没有任何限制,因此它可以具有类似于 [87] 的图像范围之外的值。加法形式提示如图 2(a) 所示。由于保留了学习到的权重参数,我们可以自然地获得正则化效果 [74]、[90],并且模型过度拟合的风险很低。
3.2 替换提示:CNN 的填充
由于加法形式的提示应用于输入级别,因此它可能没有足够的表示能力来转换整个预训练模型,特别是当模型具有较大的架构时。这个问题也出现在NLP中的提示中,之前的工作[34]将提示插入到Transformer的所有层中,以增强提示的表示能力。从NLP [34]中的提示中获得灵感,我们尝试使提示能够影响CNN的中间层。为此,我们建议利用卷积层的填充区域。通常,在CNN中使用填充来控制输出特征图的大小,并使用零,常数和反射值来填充填充区域。由于填充也与学习到的卷积核卷积,我们用提示替换这些填充区域以影响编码的视觉特征,并使预训练的VSR模型适应看不见的目标说话人。具体来说,提示的大小与每个卷积层的预定义填充大小相同。例如,第 个卷积层的目标说话人 的提示可以写为 ,其中 是填充区域的大小, 表示左、右、下、上的填充大小, 和 是第 层特征图的高度、宽度和通道大小。然后,填充形式的提示调整可以写成如下形式,
其中 是 个卷积层的提示集, 是用提示替换视觉前端 的填充的操作。应用提示形式的填充如图 2(b) 所示。即使将填充应用于特征图的外部区域,当 CNN 层足够深时,由于其感受野扩大,它也会影响特征图的内部区域,甚至整个特征图。
3.3 连接提示:连接到变压器输入
最近,基于 Transformer 的网络 [64]、[65] 被证明比基于 RNN 的网络 [91]、[92]、[93] 更有效地对时间数据进行建模。因此,最近开发的 VSR 模型和最先进的模型 [6]、[11]、[52]、[94] 也正在使用基于 Transformer 的后端模块,这使得利用 NLP [33]、[39] 中开发的提示方法成为可能,这些方法主要针对基于 Transformer 的架构。具体来说,我们在时间维度上将提示连接到后端 的输入,即从视觉前端 编码的特征。提示具有与编码特征相同的维度,可以表示为 ,其中 是提示的长度, 是编码特征的维度。然后,通过后端的自注意力层,提示可以影响后端编码的特征。连接形式提示的优化可以写成如下形式:
其中 表示时间维度上的串联。串联形式提示如图 所示。
三种类型的提示,即添加形式、填充形式和连接形式,可以联合用于预训练的 VSR 模型,以使模型适应未见过的目标说话者。我们将在以下部分通过大量实验来评估每种提示方法及其组合的有效性。
4.实验设置
在实验中,我们使用了单词和句子级别的视听数据集 LRW [45] 和 GRID [46]。我们通过使用不同数量的适应数据,对未见过的说话者调整预训练模型来评估所提出的方法。以下小节描述了每个数据集的数据设置和实现细节。
4.1 数据集
4.1.1 GRID
GRID [46] 是一个遵循固定语法的句子级视听语料库数据集。它由 33 位说话者发出的视频组成。每位说话者大约有 1,000 个视频,每个视频时长 3 秒。我们遵循 [14] 中看不见的说话者划分,因此说话者 1、2、20 和 22 用于测试,其余部分用于训练。测试说话者的数据被分成两半,以构建自适应集和测试集。由于每个视频时长 3 秒,因此自适应集中的每 20 个视频组成 1 分钟的自适应数据。对于预处理和数据增强,唇部 ROI 被裁剪并调整为类似于 [14] 的 64×128 大小,并且采用类似于 [9] 的随机水平翻转、时间掩蔽和随机空间区域擦除。对于性能指标,使用词错误率 (WER, %) 来衡量数据集中预测误差与真实值之间的差异。因此,WER 值越低,VSR 性能越好。
4.1.2 LRW-ID
LRW [45] 是一个从电视节目中捕获的词级视听语料数据集,因此数据集具有接近真实世界设置的大量姿势和光照变化。它由 500 个词类组成,每个词类包含 1,000 个训练视频。由于数据集不包含说话人信息,我们使用人脸识别 [95]、[96] 技术和预训练模型 [97] 来注释说话人。注释的说话人有 17,580 个,与 GRID 数据集相比非常大。为了构建说话人自适应设置,我们设置了 20 个说话人进行测试,其余的用于训练,并将修改后的分割命名为 LRW-ID。LRW-ID 的 20 个测试说话人的数据信息如表 1 所示。S# 表示说话人索引,毯子中的数字表示说话人 ID。与 GRID 数据集相比,每个说话者都有不同数量的适应数据,并且适应集可能无法覆盖测试集中的整个词类,这更接近真实世界的情况。由于每个视频的时长为 1.16 秒,因此 52、155 和 259 个视频分别组成 1、3 和 5 分钟的适应数据。唇部 ROI 被裁剪并调整为 112×112,裁剪后的帧被转换为灰度。应用与 GRID 数据集相同的数据增强。对于性能指标,采用词准确率 (ACC, %),因此 ACC 值越大,VSR 性能越好。
4.2 实施细节
VSR 模型的基本架构与图 1(a) 所示类似。对于 GRID 数据集,我们修改了 [14] 的架构。视觉前端由三个 3D 卷积和两个 2D 卷积组成,后端由一个 4 层 Transformer [64] 组成,隐藏维度大小为 256,预测器由一个线性层组成(表 2)。对于训练,我们使用字级 CTC [61] 损失函数。GRID 数据集的添加提示的大小为 64×124×3,与输入帧相同,并且一致地添加到所有输入帧中。为了插入填充提示,5 个卷积层中的所有填充都从零填充更改为填充提示。卷积层和提示的详细大小如表 2 所示。填充提示大小表示为 [左右填充大小、上下填充大小] × 通道大小。连接提示在时间维度上传递后端模块之前与编码的视觉特征连接在一起。我们使用 5 作为连接提示的长度(即 )。
对于 LRW-ID 数据集,我们使用 ResNet-18 架构 [98],其第一个卷积层按照 [5]、[8] 改为 3D 卷积。对于后端模块,我们使用一个隐藏大小为 512 的 6 层 Transformer,并使用线性层作为预测器(表 3)。对于损失函数,对 500 个词类应用交叉熵损失。对于 LRW-ID,加法提示的大小为 112×112×1,在视觉前端为所有卷积层(即 17 层)插入填充提示,如表 3 所述,并在后端之前插入连接提示,长度为 5。
为了评估所提出的提示调整方法在说话人适应性方面的效果,我们在训练集上对 VSR 模型进行了预训练,训练集的主体与测试集不重叠。对于 GRID 上的预训练,使用批量大小为 112、最大学习率为 0.008 和 5,000 个预热 [64] 步骤。训练数据包含约 29,000 个视频。对于 LRW-ID,使用批量大小为 400、最大学习率为 0.004 和 10,000 个预热步骤,训练数据包含 480,378 个视频。使用预训练模型 θ∗,我们仅优化提示以使模型适应未见过的说话人,同时模型参数保持冻结。在适应过程中,我们对添加和填充提示使用 0.01 的学习率,对连接提示使用 0.1 的学习率,GRID 和 LRW-ID 的批量大小分别为 112 和 55。对于优化,我们使用 AdamW [99]、[100] 和 TITAN RTX GPU 进行预训练和适应。表 4 显示了适应一个目标说话人的每种提示方法的参数数量。百分比是指与完整模型参数相比的相对参数数量。它表明与完整模型相比,提示的参数数量非常少。
4.3 比较基线
为了验证所提出的说话人自适应 VSR 中的即时调整方法的有效性,我们设置了比较方法,包括以前的说话人自适应方法和微调方法。
基线是一个预先训练的 VSR 模型,没有对看不见的说话人进行适应,因此它显示了下限性能。说话人不变 [101] 和说话人代码 [42] 是为 ASR 模型开发的说话人不变和自适应方法。我们将这些方法直接应用于 VSR 模型,以比较所提出方法与以前的说话人不变和自适应方法的有效性。具体来说,对于说话人不变模型,我们在视觉前端之后额外附加了一个说话人身份分类器。在训练过程中,引导说话人身份分类器从编码的视觉特征中对主体身份进行分类,而引导视觉前端模块欺骗说话人身份分类器。因此,通过对抗训练 [102],视觉前端最终通过不将说话人身份信息编码到视觉特征中而成为说话人不变模型。对于说话人自适应模型 Speaker code,我们另外将 [42] 中的自适应网络和说话人代码附加到预训练的 VSR 模型上,在训练数据集 T 上进行训练。训练后,通过在目标说话人 s 的自适应数据集 As 上仅训练说话人代码来执行自适应。对于 GRID 数据集,我们对自适应网络中的每个 MLP 层使用 128、64 和 32 维说话人代码,对于 LRW-ID 数据集使用 256、128 和 64 维说话人代码。
此外,为了与微调方法 [73] 进行比较,我们通过区分预训练模型的可训练部分设置了三种类型的微调方法。首先,FineTune-C 是仅在自适应数据上调整最后一个线性层(即预测器)的方法,因此与其他微调方法相比,它的参数数量最少。FineTune-B 是用于微调后端和预测器的方法。最后,FineTune-F 是在自适应数据集上对整个预训练的 VSR 模型进行微调的方法,因此它需要最多的参数。为了微调预训练模型,使用 1e-5 的学习率。
5.实验结果
我们使用不同数量的自适应数据来评估所提出的快速调谐在说话人自适应 VSR 中的有效性。首先,我们在仅有少量自适应数据可用的情况下探索所提出方法的有效性。为此,我们为每个未见过的说话人使用 1、3 和 5 分钟的自适应数据,以使预训练模型适应目标说话人。然后,我们使用不同比例的自适应数据检查说话人自适应性能,以验证快速调谐与微调方法相比何时具有优势。
5.1 小数据说话人自适应结果
在本实验中,我们使用少量的 1、3 和 5 分钟的自适应数据来评估不同类型的提示、加法、填充、连接及其组合的有效性。因此,总共评估了 7 种方法,包括仅加法提示 (Add)、仅填充提示 (Pad)、仅连接提示 (Cat) 及其组合 (Add Pad)、(Add Cat)、(Pad Cat) 和 (Add Pad Cat)。表 5 显示了使用建议的提示调整对 4 个未见过的测试说话者 (即 S1、S2、S20 和 S22) 在 GRID 上的说话者自适应结果。与 Baseline 的性能(即直接在未见过的目标说话者上使用预训练的 VSR 模型获得的结果)相比,所有提示方法都大大提高了目标未见过说话者的性能。结果表明,VSR 模型本质上对个人唇形敏感,而预先训练的 VSR 模型在直接应用于未见过的说话者时,性能会下降。相比之下,通过应用所提出的说话者自适应方法,我们可以用少量的自适应数据来提高 VSR 性能,从而实现在见过的说话者设置中获得的几乎相同的性能 [14],[62]。请注意,与 Baseline 相比,仅使用 1 分钟的自适应数据,通过添加和连接提示 (Add Cat) 就可以将相对平均性能提高 56%。
通过比较不同的提示方法,在 GRID 数据集的单一提示方法中,加法提示取得了最佳性能。这与表 2 中所示的 GRID 使用的网络架构有关,该网络具有较浅的视觉前端,因此输入级提示可以对视觉特征产生很大影响,而填充提示由于层数较浅且接受场较小,对内部特征图的影响较小。此外,通过将连接提示与 CNN 提示(即加法和填充提示)一起使用,可以整体改善目标未见说话者的 VSR 性能。分析每个提示的效果,加法和填充提示主要用于改进编码的视觉特征,以便可以自适应地建模目标说话者的个人唇形,而连接提示提高了后端模块的时间编码可用性,从而可以计算个人唇部运动。我们发现,加法和填充提示的组合(Add Pad)并没有比仅加法的提示(Add)进一步提高性能。从(Add Cat)和(Add Pad Cat)具有相似的性能中可以看出类似的趋势。
表 7 显示了 LRW-ID 上 20 位未见过的测试说话者的说话者自适应结果。即使预训练的 VSR 模型使用 17,560 位说话者进行大量说话者变化训练,我们仍然可以通过在目标未见过的说话者上调整预训练模型来提高 VSR 性能。特别是,当模型对测试说话者的能力较低时,自适应的有效性更大。例如,预训练的 VSR 模型对说话者 11 (S11) 的 ACC 为 75.95%,低于所有说话者的平均 ACC 87.54%。在这种情况下,通过使用建议的快速调整 (Pad Cat) 和 3 分钟的自适应数据,我们可以将性能提高到 84.45% ACC,这是一个大约 8.5% ACC 的大幅改进。另一方面,我们发现当预训练模型具有足够的能力时,自适应的有效性很小。从说话者 9 (S9) 的结果可以看出,与其他说话者相比,其性能增益较小。由于说话者自适应的目的是转换无法捕捉目标未见说话者的唇部外观和动作的预训练模型,因此获得的趋势是自然的,并且对于已经很好地捕捉到的唇部外观和动作,自适应的效果可能很小。
表 6 列出了 20 位说话者(即表 7 中列出的说话者)根据不同类型的提示获得的平均单词准确率。这可以更清楚地了解不同提示的有效性。Baseline 模型的平均单词准确率为 87.54%,仅使用 1 分钟的自适应数据和(Pad Cat、P+C)提示,性能就提高到了 88.53%。使用更多 3 分钟和 5 分钟长度的自适应数据,我们可以分别实现 89.45% 和 89.99% 的最佳单词准确率。通过比较不同的提示方法,填充提示在 LRW-ID 数据集的单一提示方法中实现了最佳性能。这与添加提示在 GRID 数据集上表现出最佳性能的趋势不同。这与 LRW-ID 的视觉前端更深且具有较大的参数有关,因此加法提示不能对最终编码的视觉特征产生很大的影响。另一方面,由于深度 CNN 的感受野很大,填充提示可以极大地影响所有中间 CNN 层的视觉特征。此外,我们观察到与 GRID 类似的结果,提示 (Add Pad, A+P) 并没有比仅填充的提示 (Pad) 提高性能,提示 (Add Pad Cat, A+P+C) 表现出与 (Pad Cat, P+C) 类似的性能。结果表明,加法和填充提示具有类似的作用,可以改善视觉特征表示,因此它们的组合不会进一步提高性能。但是,将 CNN 的提示与用于改进时间特征表示的连接提示相结合可以提高性能。
从 GRID 和 LRWID 上的实验结果可以看出,无论提示类型如何,我们都可以仅通过使用少量自适应数据(即少于 5 分钟)对提示进行微调来提高预训练 VSR 模型在未见过的目标说话人上的性能。此外,当预训练的 CNN 模型具有深度架构时,填充提示比添加提示更有效,而添加提示可以为浅层 CNN 实现更好的性能。最后,CNN 和 Transformer 的提示组合可以进一步提高性能。
5.2 与以前方法的比较
在本实验中,我们将所提出的提示调整方法与以前的说话人不变和自适应方法(包括不同的微调方法)的有效性进行了比较。特别是,我们还比较了所有目标说话人推理所需的参数总数。例如,整个预训练模型(即 FineTune-F)的方法微调需要将预训练模型的参数乘以目标说话人的数量。GRID 数据集上的比较结果如表 8 所示。我们仅在表中表示所有组合中最好的两种提示类型(Add Cat,A+C)和(Add Pad Cat,A+P+C)。最佳性能以粗体表示,第二好的性能用下划线表示。与预训练模型、Speaker-invariant、Speaker code、FineTuneC 和所提方法 (A+C) 相比,在需要不到 3% 额外参数的方法中,所提出的提示调整在所有适应数据范围上均取得了最佳性能。这表明,所提出的提示调整在说话人适应方面使用少量额外参数的有效性。此外,值得注意的是,与 Speaker code [42] 方法相比,所提出的方法通过将提示附加到预训练模型直接对其进行微调,具有更简单的适应阶段。另一方面,Speaker code 方法具有更多的适应阶段,其中应首先将适应网络附加到训练数据集上的预训练模型后对其进行训练,然后在适应数据集上对说话人代码进行微调。与其他微调方法 FineTune-B 和 FineTune-F 相比,它们消耗了超过 250% 的额外参数,所提出的快速微调方法 (A+C) 和 (A+P+C) 表现出相当的性能,但附加参数少得多(即附加参数少于 5%)。结果表明,所提出的方法是实用的,适用于现实世界中数万名用户的说话人适应,而微调方法需要天文数字般的内存来构建特定于说话人的模型。
LRW-ID 数据集上的比较结果如表 9 所示。我们在表中仅表示了两种最佳提示类型 (Pad Cat, P+C) 和 (Add Pad Cat, A+P+C) 以及最小的提示类型 (Cat, C)。令人惊讶的是,在使用不到 5 分钟的适应数据的适应设置中,所提出的方法甚至优于 LRW-ID 上的微调方法。该结果也与先前的研究 [35]、[39] 有关,即当预训练模型尺寸变大时,提示的有效性变得更大,甚至优于微调方法。请注意,用于 LRW-ID 的模型大约是 GRID 的 10 倍。此外,与针对 20 个目标说话人需要不到 15% 额外参数的方法、Speaker-invariant、Speaker code、FineTune-C 和所提出的方法相比,所提出的方法实现了最佳性能。值得注意的是,使用仅增加 0.15% 模型参数的串联提示优于之前的说话人自适应方法 Speaker code。
5.3 根据数据大小的适配结果
在本实验中,我们在不限制自适应数据大小的情况下探索了所提出方法的性能。因此,我们分析了何时所提出的即时调整优于微调方法。为此,我们按比例使用不同数量的自适应数据,占整个自适应集的比例为 10%、30%、50%、70% 和 100%。图 3 显示了所提出的即时调整和三种不同的微调方法在 GRID 上的自适应结果。总体而言,FineTune-B (FT-B) 和 FineTune-F (FT-F) 优于其他方法。特别是,当使用超过 50% 的自适应数据时,FT-B(和 FT-F)与所提出的即时调整之间的性能差距会变得更大。所提出的即时调整(Add Pad Cat,A+P+C)在 100% 自适应数据下的性能为 3.13% WER,而完全微调 FineTune-F 的性能为 2.34% WER。因此,当预训练模型规模较小时,可以根据微调方法性能更好而所提出的即时调整方法的参数少得多(即 14.32M vs. 3.75M)的事实,通过考虑模型参数和性能权衡来选择更好的方法。
图 4 显示了 LRW-ID 数据集上的自适应结果。与微调方法相比,所提出的即时调整方法 (Add Pad Cat, A+P+C)、(Pad Cat, P+C)、(Pad, P)、(Cat, C) 在自适应数据较少(低于 30%)时表现出更好的效果。然而,当自适应数据规模变大时,微调方法 FineTune-B 和 FineTune-F 的表现优于即时调整方法,并且性能差距会随着数据规模的增加而变大。因此,当预训练模型很大并且存在少量自适应数据时,即时调整方法在性能和参数大小方面都优于微调方法。当目标说话人有大规模自适应数据时,将考虑性能和附加参数之间的权衡,以选择合适的说话人自适应方法。请注意,与完整模型相比,(A+P+C) 提示对于每个说话者都有 0.487% 的参数。
5.4 与参数有效方法的比较
最近,其他参数高效的迁移学习方法 [103],如适配器 [105] 和低秩自适应 (LoRA) [104],已显示出它们在微调大型语言模型 (LLM) [106]、[107]、[108] 以及即时调整方法方面的有效性。在本实验中,我们将所提出的方法与说话人自适应 VSR 中的不同类型的这些参数高效的迁移学习方法进行了比较。为此,1) 我们在每个 Transformer 的注意层、前馈层或两层插入可训练的并行适配器 [103],每个适配器由两个线性层组成,缩减因子为 64;2) 我们通过将 LoRA 应用于 Transformer 中每个注意层的查询和关键权重来微调训练后的模型。我们将 LoRA 的等级和比例因子都设置为 8 或 16。因此,适配器和 LoRA 模块都在每个说话人的自适应集上进行训练,而预训练的 VSR 模型保持不变。表 10 显示了 LRW-ID 上的说话人自适应结果。通过比较适配器、LoRA 和所提出的即时调整方法,我们可以确认所提出的方法在 3 分钟和 5 分钟设置中优于其他方法,而注意层的适配器(即适配器 (Att))在 1 分钟自适应设置中取得了最佳效果。值得注意的是,所提出的即时调整方法可以与其他参数高效的迁移学习方法联合应用。为了验证这一点,我们通过采用所提出的即时调整和适配器或 LoRA 来执行说话人自适应。表 10 中的最后两行证实,当将适配器或 LoRA 与所提出的即时调整方法联合应用时,我们可以显着提高性能。考虑到参数数量和性能,与使用 LoRA 相比,使用注意层的适配器结合所提出的及时调整方法可实现最佳性能。
5.5 消融研究
有两个超参数可以控制,即插入填充提示的 CNN 层数和连接提示的长度。为了确认超参数的影响,我们通过改变填充提示插入的层数(即 )和改变连接提示的长度(即 )来评估适应性能。对于填充提示消融研究,我们仅使用填充提示而不与其他提示结合,以关注填充层数的影响。同样,我们仅使用连接提示来检查其长度的影响。根据不同的填充提示层进行的消融结果如表 11 所示。当所有填充层都使用填充提示进行更改时,我们可以在三种自适应数据设置(即 1、3 和 5 分钟)下获得最佳性能。此外,我们可以发现,当使用更多自适应数据时,使用更多层所带来的性能增益会变得更大。因此,如果可用的自适应数据少于 3 分钟,我们可以通过仅将填充提示插入部分 CNN 层来进一步减少填充提示的参数。从实验结果来看,我们利用 CNN 的所有层在其他实验中插入填充提示,因为它显示出最佳结果。根据不同的连接提示长度进行的消融结果如表 12 所示。对于连接提示,我们发现提示的长度对性能影响不大。我们将其他实验的连接提示长度设置为 5,因为它总体上显示出更好的性能。
6.结论
在本文中,我们提出了 DNN 的提示调整方法,用于开发说话人自适应 VSR 模型。通过不同类型的提示、添加形式、填充形式和连接形式,我们可以将由 CNN 和 Transformer 变体架构组成的预训练模型适应目标未见说话人。与完整模型相比,所提出的提示具有更少的参数,因此在存储和处理许多用户的数据方面更为实用。通过全面的实验评估,我们表明,当 CNN 较深时,填充提示可以改善 CNN 的视觉表示,而添加提示对于浅层 CNN 有效。此外,通过将添加提示和填充提示与连接提示结合使用,我们可以进一步提高 VSR 对未见说话人的性能。最后,我们从性能和参数数量两个方面将所提出的方法与几种微调方法进行了比较,并表明所提出的快速微调可以用更少的附加参数实现相当的 VSR 性能。