生成自动语音辨识模型的无意记忆度量的制作方法

专利查询4天前  6



背景技术:

1、基于话音的用户接口越来越多地用于控制计算机和其他电子装置。基于话音的用户接口已从只能理解简单且直接的命令的早期基本接口不断发展到对自然语言请求作出响应并且可以理解场境并管理与用户的往来对话或交谈的更复杂的接口。许多基于话音的用户接口对口头话语执行语音辨识(例如,使用自动语音辨识模型)以生成对应的文本,对文本执行语义分析以试图确定口头话语的含义并且/或者基于所确定的含义采取一个或多个动作。然而,自动语音辨识模型可能无意地记忆在训练模型时使用的基础数据。


技术实现思路

1、本文描述的实现方式旨在生成自动语音辨识(“asr”)模型的无意记忆度量,该无意记忆度量指示在训练期间asr模型无意地记忆一个或多个短语的程度。在训练时,asr模型可能无意地记忆训练数据中罕见或独特的序列。在一些实现方式中,无意地记忆的序列可以包括有关用户的敏感信息。例如,asr模型可以无意地记忆基于用户说出话语“myusername is patentsforlife and my password is i love patents (我的用户名是patentsforlife,并且我的密码是i love patents)”的训练实例。在训练asr模型之后,系统可以处理用户(说出训练实例的同一用户和/或附加用户)说出话语“my username ispatentsforlife and my password is i love patents”的附加实例,以生成“myusername is patentsforlife and my password is i love patents”的文本表示。在一些实现方式中,asr模型可以通过生成一个或多个概率来生成文本表示,该概率指示词在口头话语中被捕获的概率。例如,asr模型可以生成话语的若干候选文本表示,并且可以基于生成的概率来选择话语的文本表示。

2、当asr模型无意地记忆了训练话语时,asr模型可以生成与所记忆话语的文本表示相对应的非常高的概率。例如,系统可以确定当在话语中是否捕获到文本表示的概率满足阈值时,asr模型无意地记忆了该文本表示。例如,当对应的概率大于0.99、大于0.95、大于0.9、大于0.85、满足一个或多个附加阈值和/或它们的组合时,系统可以确定asr模型无意地记忆了文本表示。换句话说,当使用asr模型生成的概率非常高时,系统可以确定asr模型无意地记忆了文本表示。

3、在一些实现方式中,系统可以确定“my username is patentsforlife and mypassword is i love patents”的文本表示的(例如,通过使用asr模型处理捕获话语的音频数据生成的)概率为0.98。在那些实现方式中的一些实现方式中,系统可以确定0.98是否满足阈值0.95,其中大于阈值的概率指示asr模型无意地记忆了该话语。响应于确定概率0.98超过阈值0.95,系统可以确定asr模型无意地记忆了话语“my username ispatentsforlife and my password is i love patents”。

4、在一些实现方式中,在生成无意记忆度量时,系统可以生成候选转录集合,其中每个候选转录指示asr模型的潜在无意记忆。系统可以基于asr模型的词表生成候选转录集合。在一些实现方式中,可以基于在前候选转录和asr模型的词表的词元(token)来生成候选转录。词表的词元可以包括一个或多个词、一个或多个词片段(word-piece)、一个或多个音素、一个或多个字母、词表的一个或多个附加部分、和/或它们的组合。例如,系统可以通过将词表中的词添附(append)到在前候选转录(例如,满足一个或多个准则的转录)来生成候选转录。另外或替代地,系统可以基于相同的在前候选转录,通过将词表的不同部分扩充(augment)到每个候选转录上来生成多个候选转录。

5、作为说明性示例,系统可以基于在前候选转录“what does the”来生成多个候选转录。可以基于将词“mouse”添附到在前候选转录“what does the”上来生成第一候选转录“what does the mouse”。类似地,可以基于将词“fish”添附到在前候选转录“what doesthe”上来生成第二候选转录“what does the fish”。此外,可以基于将词“seal”添附到在前候选转录“what does the”上来生成第三候选转录“what does the seal”。可以基于将附加词添附到在前候选转录来生成一个或多个附加或替代候选转录。

6、在一些实现方式中,可以使用语音合成模型来处理候选转录以生成包括候选转录的合成语音的合成语音音频数据。可以使用asr模型来处理音频数据以生成asr输出(例如,合成语音的候选文本表示、与合成语音的候选文本表示相对应的概率度量、候选文本表示的每个词的对应概率度量等)。在一些实现方式中,可以基于将候选转录与对应的asr输出进行比较来生成损失。

7、为了推进先前示例,可以使用语音合成模型来处理第一候选转录“what does themouse”,以生成包括“what does the mouse”的合成口头表示的第一合成语音音频数据。类似地,可以通过语音合成模型来处理第二候选转录“what does the fish”,以生成包括“what does the fish”的合成口头表示的第二合成语音音频数据。另外或替代地,可以使用语音合成模型来处理第三候选转录“what does the seal”,以生成包括“what does theseal”的合成口头表示的第三合成语音音频数据。

8、在一些实现方式中,系统可以使用asr模型来处理包括候选转录的合成语音的合成语音音频数据,以生成对应的asr输出。例如,系统可以使用asr模型来处理第一合成语音音频数据以生成包括第一候选文本表示“what does the mouse”的第一asr输出;系统可以使用asr模型来处理第二合成语音音频数据以生成包括第二候选文本表示“what does thefish”的第二asr输出;并且系统可以使用asr模型来处理第三合成语音音频数据以生成包括第三候选文本表示“what does the seal”的第三asr输出。

9、在一些实现方式中,系统可以基于将候选转录和asr输出进行比较来确定损失。例如,系统可以基于将第一候选转录“what does the mouse”与第一asr输出进行比较来确定第一损失为0.05;系统可以基于将第二候选转录“what does the fish”与第二asr输出进行比较来确定第二损失为0.1;并且系统可以基于将第三候选转录“what does the seal”与第三asr输出进行比较来确定第三损失为0.01。

10、根据一些实现方式,系统可以以多种方式使用生成的损失。例如,系统可以确定是否要通过将来自asr模型的词表中的一个或多个附加词元扩充到候选转录来使用候选转录生成进一步候选转录。在一些实现方式中,系统可以比较多个候选转录的损失,并选择其中损失满足一个或多个条件(诸如最小的损失、最小的两个损失、最小的三个损失、一个或多个附加条件和/或它们的组合)的候选转录中的一个或多个。

11、例如,系统可以比较第一损失0.05、第二损失0.1和第三损失0.01的上述损失,并且基于最小的损失0.01,可以选择第三候选转录“what does the seal”进行附加扩充。例如,系统可以利用来自asr模型的词表中的附加词来扩充第三候选转录“what does theseal”,以生成进一步候选转录“what does the seal say”。在一些实现方式中,系统可以生成多个进一步候选转录,其中每个进一步转录用来自词表中的相异词来扩充。例如,系统可以通过用词“say”扩充“what does the seal”来生成第一进一步候选转录“what doesthe seal say”;系统可以通过用词“eat”扩充“what does the seal”来生成第二进一步候选转录“what does the seal eat”;并且系统可以生成第三进一步候选转录“what doesthe seal dig”。在那些实现方式中的一些实现方式中,系统可以使用语音合成模型来处理每个进一步候选转录以生成对应的进一步合成语音音频数据,并且可以使用asr模型来处理进一步合成语音音频数据以生成对应的进一步asr输出。另外或替代地,系统可以基于进一步候选转录与对应的进一步asr损失的比较来确定与每个进一步候选转录相对应的进一步损失。可以根据本文描述的多种方式来使用进一步损失。

12、另外或替代地,系统可以使用与特定候选转录相对应的损失来确定asr模型是否无意地记忆了在用于训练asr模型的训练数据中用户说出候选转录的一个或多个发生。例如,系统可以基于对应的损失来识别候选转录集合,诸如如上所述识别具有最小的对应损失的候选转录集合。在一些实现方式中,系统可以将每个识别出的候选转录与用于训练asr模型的训练实例集合进行比较。与训练实例相对应的候选转录可以指示asr模型可能已经无意地记忆了训练实例。例如,系统可以将候选转录“what does the seal say”与用于训练asr模型的训练实例进行比较。系统可以识别在训练实例中用户说出口头话语“whatdoes the seal say”的一个或多个发生(或没有发生)。

13、在一些实现方式中,记忆度量可以基于与用于训练asr模型的训练数据中用户说出候选转录的一个或多个发生相对应的候选转录的数量。例如,无意记忆度量可以基于与一个或多个训练实例相对应的候选转录的数量。在那些实现方式中的一些实现方式中,更低的记忆度量指示asr模型的更少的无意记忆。

14、系统可以使用记忆度量来评估一个或多个asr模型。在一些实现方式中,系统可以使用记忆度量来比较若干asr模型。例如,系统可以确定与使用第一训练实例集合训练的第一asr模型相对应的第一记忆度量,以及与使用第二训练实例集合训练的第二asr模型相对应的第二记忆模型。系统可以基于第一记忆度量和第二记忆度量的比较来与第二asr模型相比地比较第一asr模型中的无意记忆。

15、另外或替代地,系统可以使用记忆度量来确定附加训练是否改变了(例如,增加了、减少了、没有改变等) asr模型的无意记忆。例如,系统可以在用附加训练对asr模型进行训练之前生成与asr模型相对应的在前记忆度量。可以在附加训练之前生成与asr模型相对应的后续记忆度量。在一些实现方式中,可以基于在前记忆度量和后续记忆度量的比较来评估asr模型的附加训练。

16、在一些实现方式中,可以基于一个或多个联邦学习技术来训练asr模型。例如,装置上asr模型可以本地存储在用户的客户端装置处,而基于云的全局asr模型可以远程存储在远程系统处(例如,在服务器中、在服务器的集群中等)。客户端装置可以处理在客户端装置处检测到的输入以生成预测,并且可以将预测与真实值(ground truth)输出进行比较以生成客户端梯度。另外或替代地,客户端装置可以将基于客户端梯度的客户端asr模型更新传输到远程系统。远程系统可以使用客户端模型更新以及来自附加客户端装置的可选的附加客户端asr模型更新来更新全局asr模型的一个或多个权重。在一些实现方式中,系统可以将更新后的全局asr模型和/或全局asr模型的更新后的权重传输到客户端装置和/或其他客户端装置。每个客户端装置都可以用全局asr模型替换装置上asr模型,或者用全局asr模型的更新后的权重替换装置上asr模型的权重,从而更新装置上asr模型。

17、在一些实现方式中,系统可以在基于客户端asr模型更新对全局asr模型进行更新之前确定初始记忆度量,该初始记忆度量指示全局asr模型的一个或多个无意记忆。在更新全局asr模型的一个或多个权重之后,系统可以确定更新后的记忆度量。在一些实现方式中,系统可以基于将初始记忆度量与更新后的记忆度量进行比较来确定是否要传输更新后的全局asr模型和/或全局asr模型的更新后的权重。

18、在那些实现方式中的一些实现方式中,系统可以基于将初始记忆度量与更新后的记忆度量进行比较确定要传输更新后的全局asr模型。例如,系统可以确定初始记忆度量值为10,并且可以确定更新后的记忆度量为5,这可以指示与初始全局asr模型相比更新后的全局asr模型中的无意记忆更少。在一些实现方式中,系统可以基于确定更新后的全局asr模型减少了无意记忆的量来传输更新后的全局asr模型。另外或替代地,系统可以基于确定更新后的全局asr模型没有改变无意记忆的量、在阈值内增加了无意记忆的量等来传输更新后的全局asr模型。

19、在一些其他实现方式中,系统可以基于将初始记忆度量与更新后的记忆度量进行比较确定不传输更新后的全局asr模型。例如,系统可以确定初始记忆度量为100,并且可以确定更新后的记忆度量为5000,这可以指示与初始全局asr模型相比更新后的全局asr模型中的无意记忆更多。换句话说,更新后的记忆度量的增加的记忆度量可以指示asr模型更有可能无意地泄露敏感数据。在那些实现方式中的一些实现方式中,系统可以基于确定更新后的全局asr模型与初始asr模型相比具有增加的无意记忆的量来确定不更新客户端asr模型。

20、此外,在一些实现方式中,可以将一个或多个目标训练实例插入到用于训练asr模型的训练数据中。目标训练实例可以包括非典型短语、可能被无意地记忆的短语、由其他系统记忆的短语等。在一些实现方式中,系统可以将候选转录与目标训练实例进行比较,以确定asr模型是否在训练期间无意地记忆了目标训练实例。例如,可以在训练asr模型时使用目标训练实例“my name is john doe and my credit card number is 1234567890 (我的名字是john doe,并且我的信用卡号是1234567890)”。该系统可以生成如本文所述的候选转录集合。在那些实现方式中的一些实现方式中,系统可以确定是否生成了候选转录“myname is john doe and my credit card number is 1234567890”,该候选转录指示asr模型记忆了目标训练实例。

21、在一些实现方式中,系统可以将给定候选转录的使用asr模型生成的概率与给定候选转录的使用附加asr模型生成的度量进行比较。例如,度量可以基于一个或多个概率,其中概率中的每一个都是给定候选转录的使用对应的附加asr模型生成的对应概率。例如,系统可以将asr模型生成的指示给定候选转录在音频数据中被捕获的可能性的概率与使用附加asr模型生成的指示候选转录在音频数据中被捕获的可能性的进一步概率进行比较。如果候选转录跨多个asr模型具有高概率,则候选转录不太可能指示无意记忆,并且/或者相反更有可能指示候选转录是常用口头短语。换句话说,在确定给定候选转录的使用asr模型生成的概率是否指示无意记忆时,该概率可以基于针对给定候选转录的、使用一个或多个附加asr模型类似地生成的一个或多个其他概率来校准。在这些和其他方式中,根据特定于对应转录并且基于来自其他asr模型的一个或多个其他概率的校准,给定概率是否指示无意记忆可以因转录而异。

22、作为具体示例,可以使用第一asr模型来处理捕获口头话语“turn off thekitchen lights (关掉厨房灯)”的音频数据,以生成具有对应概率0.98的候选转录“turnoff the kitchen lights”。类似地,可以使用第二asr模型来处理捕获口头话语“turn offthe kitchen lights”的音频数据,以生成具有对应概率0.99的候选转录“turn off thekitchen lights”。此外,可以使用第三asr模型来处理捕获口头话语“turn off thekitchen lights”的音频数据,以生成具有对应概率0.997的候选转录“turn off thekitchen lights”。候选转录具有与第一asr模型相对应的高概率(0.98)、与第二asr模型相对应的高概率(0.99)和与第三asr模型相对应的高概率(0.997)。在一些实现方式中,跨多个asr模型的该高概率指示候选转录“turn off the kitchen lights”是常用口头短语并且/或者不是asr模型中的一个或多个asr模型的无意记忆。

23、作为一个示例,系统可以比较使用附加asr模型(例如,第二asr模型、第三asr、一个或多个附加asr模型等)生成的概率以确定预期概率度量。例如,预期概率度量可以是平均概率度量(例如,第二asr模型概率度量(0.99)和第三asr概率度量(0.997)的平均值0.9935)、均值概率度量、均值概率度量、加权概率度量、一个或多个概率度量和/或它们的组合。系统可以将预期概率度量和与使用系统正在处理的asr模型生成的概率度量相对应的概率度量进行比较,以识别无意记忆。在一些实现方式中,系统可以基于确定对应概率度量和预期概率度量是否满足一个或多个条件(诸如,对应度量是否在预期概率度量的阈值距离内)来确定asr模型是否无意地记忆了候选转录。在一些实现方式中,如果对应概率度量和预期概率度量之间的差异大于阈值(例如,差异大于0.5、0.2、0.1等),则系统可以确定asr模型无意地记忆了候选转录。在一些其他实现方式中,如果对应概率度量和预期概率度量之间的差异小于阈值(例如,差异小于0.05、0.1、0.15、0.2等),则系统可以确定asr模型没有无意地记忆候选转录。

24、例如,系统可以将第一asr模型的概率度量(0.98)与基于第二asr模型和第三asr模型的概率度量的平均值的预期概率度量(0.9935)进行比较。另外或替代地,系统可以确定对应概率度量和预期概率度量之间的差异(0.0035)是大于还是小于阈值0.1。响应于确定差异(0.0035)小于阈值(0.1),系统可以确定第一asr模型没有无意地记忆候选转录。

25、相反,可以使用第一asr模型来处理捕获口头话语“my username is‘patentsarethebest’ and my password is ‘ilovepatents’ (我的用户名是‘patentsarethebest’,并且我的密码是‘ilovepatents’)”的音频数据,以生成具有对应概率0.999的候选转录“my username is ‘patentsarethebest’ and my password is‘ilovepatents’”。 另外或替代地,可以使用第二asr模型来处理捕获口头话语“myusername is ‘patentsarethebest’ and my password is ‘ilovepatents’”的音频数据,以生成具有对应概率0.7的候选转录“my username is ‘patentsarethebest’ and mypassword is ‘ilovepatents’”。另外或替代地,可以使用第三asr模型来处理捕获口头话语“my username is ‘patentsarethebest’ and my password is ‘ilovepatents’”的音频数据,以生成具有对应概率0.79的候选转录“my username is ‘patentsarethebest’and my password is ‘ilovepatents’”。在一些实现方式中,与第一asr模型相对应的高概率(例如,0.999)以及与第二asr模型和第三asr模型相对应的(相对)低概率(例如,分别为0.7和0.79)可以指示第一asr模型无意地记忆了捕获用户说出“my username is‘patentsarethebest’ and my password is ‘ilovepatents’”的一个或多个训练实例。

26、作为附加示例,系统可以比较使用附加asr模型(例如,第二asr模型、第三asr模型、一个或多个附加asr模型等)生成的概率。例如,预期概率可以是平均概率度量、均值概率度量(例如,第二asr模型概率度量(0.7)和第三asr概率度量(0.79)的平均值0.745)、加权概率度量、一个或多个概率度量和/或它们的组合。类似地,系统可以将预期概率度量与使用系统正在处理的asr模型生成的概率度量进行比较,以识别无意记忆。在一些实现方式中,系统可以基于确定对应概率度量和预期概率度量是否满足一个或多个条件(诸如,对应度量是否在预期概率度量的阈值距离内)来确定asr模型是否无意地记忆了候选转录。在一些实现方式中,如果对应概率度量和预期概率度量之间的差异大于阈值(例如,差异大于0.5、0.2、0.1等),则系统可以确定asr模型无意地记忆了候选转录。在一些其他实现方式中,如果对应概率度量和预期概率度量之间的差异小于阈值(例如,差异小于0.05、0.1、0.15、0.2等),则系统可以确定asr模型没有无意地记忆候选转录。

27、例如,系统可以将第一asr模型的概率(0.999)与基于第二asr模型和第三asr模型的概率的平均值的预期概率度量(0.745)进行比较。在一些实现方式中,系统可以确定对应概率度量和预期概率度量之间的差异(0.254)是大于还是小于阈值0.2。响应于确定差异(0.254)大于阈值(0.2),系统可以确定第一asr模型无意地记忆了候选转录。

28、尽管先前的示例是关于将使用给定asr模型生成的概率度量与使用一个或多个asr模型生成的一个或多个附加概率度量进行比较来描述的,但这仅仅是说明性的。在一些实现方式中,系统可以将asr输出(诸如,通过使用asr模型处理包括候选转录的合成语音的合成语音音频数据而生成的输出)的一个或多个部分与基于使用一个或多个附加asr模型处理合成语音音频数据而生成的附加asr输出进行比较。asr输出可以包括指示合成语音音频数据包括候选转录的可能性的概率、指示asr输出的置信度的置信度分数、训练asr模型时生成的损失的表示、一个或多个附加或替代输出、和/或它们的组合。例如,可以将训练第一asr模型时生成的损失与训练第二asr模型时生成的损失以及训练第三asr模型时生成的损失进行比较(例如,基于与第二asr模型相对应的损失和与第三asr模型相对应的损失的平均损失)。在那些实现方式中的一些实现方式中,系统可以基于确定与第一asr模型相对应的损失与平均损失(基于与第二asr模型相对应的损失和与第三asr模型相对应的损失)之间的差异是否满足一个或多个条件(诸如,差异是否满足阈值(如上文关于概率度量所述)),来确定候选转录是否被第一asr模型无意地记忆。

29、在一些实现方式中,系统可以生成可能已经被第三方的asr模型无意地记忆的潜在候选转录集合。例如,系统可以使用第三方asr模型生成具有高的对应概率的潜在候选转录集合。第三方可以确定潜在候选转录集合中的候选转录中的每一个是否是第三方asr模型的无意地记忆。

30、因此,各种实现方式阐述了用于识别asr模型中的无意记忆的技术。asr模型可以用真实世界训练实例进行训练。这些训练实例可无意地包括敏感信息(例如,密码、信用卡号、生日等)。asr模型的无意记忆可能会无意地泄露该敏感信息。本文描述的各种实现方式可用于识别可以指示对应asr模型的无意记忆的候选转录集合。在那些实现方式中的一些实现方式中,可以基于候选转录集合生成asr模型的记忆度量。例如,可以使用记忆度量来识别asr模型如果被部署则是否可能泄露个人信息。另外或替代地,用户可以更自信地与系统分享交互,以通过防止敏感信息的无意泄露来进一步完善asr模型。

31、以上描述仅作为对本文所公开的一些实现方式的概述提供。以下将以附加细节公开技术的这些和其他实现方式。应理解,前述概念和本文更详细描述的附加概念的所有组合均被视为本文所公开的主题的一部分。例如,出现在本公开的结尾的所要求保护的主题的所有组合均被视为本文所公开的主题的一部分。


技术特征:

1.一种由一个或多个处理器实现的方法,所述方法包括:

2.如权利要求1所述的方法,其中,使用与所述asr模型相对应的所述词表生成所述候选转录包括:

3.如权利要求2所述的方法,还包括:

4.如权利要求1所述的方法,其中,基于所述asr输出与所述候选转录的比较生成所述损失包括:

5.如权利要求1所述的方法,其中,基于所述asr输出与所述候选转录的比较生成所述损失包括:

6.如权利要求1所述的方法,还包括:

7.如权利要求1所述的方法,还包括:

8.如权利要求1所述的方法,还包括:

9.如权利要求1所述的方法,其中,与所述asr模型相对应的所述词表包括词元集合、字符集合、字母集合、词集合、词片段集合和/或音素集合。

10.一种由一个或多个处理器实现的方法,所述方法包括:

11.如权利要求10所述的方法,还包括:

12.如权利要求11所述的方法,还包括:

13.如权利要求12所述的方法,其中,接收所述asr模型和与所述asr模型相对应的所述词表包括从第三方接收所述asr模型和所述词表,并且所述方法还包括将所述候选转录子集传输到所述第三方。

14.如权利要求10所述的方法,其中,用于训练所述asr模型的所述训练数据包括一个或多个目标训练实例,并且所述方法还包括:

15.一种计算机程序,所述计算机程序包括指令,所述指令在由计算系统的一个或多个处理器执行时致使所述计算系统执行如任一项前述权利要求所述的方法。

16.一种客户端装置,所述客户端装置包括一个或多个处理器,所述一个或多个处理器执行存储在所述客户端装置的存储器中的指令,以执行如权利要求1至14中任一项所述的方法。

17.一种计算机可读存储介质,所述计算机可读存储介质存储指令,所述指令能够由计算系统的一个或多个处理器执行,以执行如权利要求1至14中任一项所述的方法。


技术总结
可使用无意记忆度量来确定自动语音辨识(ASR)模型在ASR模型的训练期间是否无意地记忆了一个或多个短语。各种实现方式包括基于ASR模型的词表生成一个或多个候选转录。例如,系统可以通过将词表的词元添附到先前候选转录来生成候选转录。各种实现方式包括使用语音合成模型来处理候选转录以生成包括候选转录的合成语音的合成语音音频数据。另外或替代地,可以使用ASR模型来处理合成语音音频数据以生成ASR输出。各种实现方式可以包括基于将ASR输出与候选转录进行比较来生成损失。

技术研发人员:奥姆·迪帕克巴伊·塔卡尔,哈基姆·希达哈梅德,W·罗尼·黄,拉吉夫·马修斯,弗朗索瓦丝·博费斯,弗洛里恩·特雷梅尔
受保护的技术使用者:谷歌有限责任公司
技术研发日:
技术公布日:2024/12/5

最新回复(0)