精华内容
下载资源
问答
  • Deep Voice 3 中文翻译

    千次阅读 2018-08-07 18:14:04
    我们现在的deepvoice3,是一个基于注意力机制的全卷积神经元TTS系统。它匹配最先进的神经元自然语音合成系统并且训练更快。我们用前所未有的TTS训练集,在超过800小时的音频2000多个人上训练deepvoice3。另外的,...

     

    渣翻见谅,先贴原文连接https://arxiv.org/abs/1710.07654

    摘要

    我们现在的deepvoice3,是一个基于注意力机制的全卷积神经元TTS系统。它匹配最先进的神经元自然语音合成系统并且训练更快。我们用前所未有的TTS训练集,在超过800小时的音频2000多个人上训练deepvoice3。另外的,我们识别了基于注意力机制的语音合成网络的常见问题,证明了怎么去减轻他们,并且比较了一些不同的语音合成方法。我们还描述了如何在一个GPU服务器上对每天一千万个查询的推理进行衡量。

     

    1. 引言

    TTS系统转换文字到人类语音,TTS系统被用于各种各样的应用,比如人类技术借口,视觉障碍认识的可及,媒体与娱乐。传统TTS基于复杂的多阶段工程流水线。通常,这些系统首先将文本转换为压缩的音频特征,然后使用称为声码器(vocoder)的音频波形合成方法将该特征转换为音频。

    最近关于神经TTS的研究已经取得了令人印象深刻的结果,产生了具有更简单的特征、更少的组件和更高质量的合成语音的流水线。关于TTS的最优神经网络结构还没有达成共识。然而,序列到序列模型已经显现出有希望的结果。

    在文本中,我们提出了一个新颖的,全卷积结构的语音合成,扩展到非常大的数据集,并且演示了部署一个基于注意力机制的TTS系统时出现的几个现实问题。具体来说,我们做了以下贡献:

    1.我们提出了一个全卷积的字符到声谱的结构,它使完全并行计算成为可能,并且比相似的循环神经元结构快几个数量级。

    2.我们展示了我们的结构可以在包含了820小时的音频和2484个人的 LibriSpeech ASR数据集上训练得很快。

    3.我们证明了可以产生单调的注意力行为,避免通常的错误模式影响到sequence-to-sequence模型。

    4.我们对比了几个声波合成方法的质量,包括WORLD,Griffin-Lim和WaveNet。

    5.我们描述了一个用于DEEP VOICE 3的推理核心的实现,它可以在一个GPU服务器上每天提供多达一千万个查询。

     

    2. 相关工作

    我们的工作建立在最先进的神经元语音合成和注意力机制的sequence-to-sequence学习之上。

    最近一些作品解决了神经元网络语音合成的问题,包括Deep Voice 1,Deep Voice 2,Tacotron,Char2Wav,VoiceLoop,SampleRNN和WaveNet。Deep Voice 1 & 2保持了传统的tts流水线结构,分离的字型和音素的转换,持续时间和频率的预测,和声波的合成。对比Deep Voice 1 & 2,Deep Voice 3使用了一个基于注意力机制的sequence-to-sequence模型,使用更紧凑的体系结构。相似与Deep Voice 3, Tacotron和Char2Wav提出了用于TTS的sequence-to-sequence神经元网络。Tacotron是一个神经元文本到声谱转化模型,使用了Griffin-Lim做声谱到声波的合成。Char2Wav预测了全局声码器的参数,并且在全局参数之上,使用了一个样本RNN做声波生成。对比Char2Wav和Tacotron, Deep Voice 3为了加快训练,没有使用循环神经网络。Deep Voice 3使基于注意力机制的TTS系统在生产环境上可行,它避免了一些通常的注意力机制带来的问题来使系统的正确率不会降低。最后,WaveNet和SampleRNN是神经声码器的声波合成系统。在文献上也有很多高质量的手工工程声码器可以被替代,像STRAIGHT和WORLD。Deep Voice 3没有添加新的声码器,但是可以在稍作修改后,与其他不同的波形合成方法集成。

    自动语音识别(ASR)数据集通常比传送的TTS文集大很多,但往往不那么干净,因为他们通常包含多重的扩音器和背景噪声,虽然先前的方法已经将TTS使用与ASR数据集,但是,Deep Voice 3是我们所知的最好的,第一个扩展到上千个说话的人的独立TTS系统。

    Sequence-to-sequence模型编码了一个可变长度的输入到隐藏状态中,然后用解码器去处理并生成一个目标序列。注意力机制使解码器可以在生成目标序列时自适应的关注编码器的隐藏状态中不同的位置。基于注意力机制的sequence-to-sequence模型非常广泛的用于机器翻译,语音识别和文本摘要。最近的有关Deep Voice 3的注意力机制上的优化包括在训练时强制单调注意力,完全注意力的非循环结构和卷积的sequence-to-sequence模型。Deep Voice 3证明了TTS训练中单调注意的效果,TTS是单调性的一个全新领域。另外,我们证明了在推理中使用一个简单的强制单调,一个标准的注意力机制可以工作的更好。Deep Voice 3建立了一个卷积sequence-to-sequence结构,引入了一个位置编码,增强速率的调整去解释输入和输出领域上的不匹配(这句不太好翻译,原文:Deep Voice 3 also builds upon the convolutional sequence-to-sequence architecture from Gehring et al. (2017) by introducing a positional encoding similar to that used in Vaswani et al. (2017), augmented with a rate adjustment to account for the mismatch between input and output domain lengths.)

     

    3. 模型结构

    在这一节中,我们介绍了我们的全卷积的sequence-to-sequence TTS结构。我们的结构有能力转换一个文本特征到各种声码器参数,比如梅尔频谱,线性标度对数幅谱,基频,谱包络和非周期性参数。这些声码器参数可以被用作声波合成模型的输入。

    图1:Deep Voice 3使用残差卷积层把text编码为每个时间点的key的value向量给基于注意力机制的解码器使用。解码器使用它们去预测对应输出音频的梅尔标度对数幅谱。(淡蓝色点状箭头描绘了推理过程中的自回归过程)将解码器的隐藏状态馈送给转换网络去预测声波合成所使用的声码器参数。更多细节详见附录A。

    Deep Voice 3的结构由三部分组成:

    编码器:一个全卷积的编码器,它将文本特征转化为内部的学习表示。

    解码器:一个全卷积的因果解码器,使用了注意力机制的带洞卷积,以一个自回归的方法将学习表示解码为低维的音频表示(梅尔标度谱)

    转换器:一个全卷积的后处理网络,从解码器的隐藏状态中预测了最终的声码器参数(取决于声码器的选择)。区别于解码器,转换求是非因果的因此可以依赖于未来的上下文信息。

    要优化的总体目标函数是来自解码器(第3.5节)和转换器(第3.7节)的损失的线性组合。我们分别的将解码器和转换器用于多任务的训练,因为它在实践中可以使注意力的训练更加容易。具体来说,对梅尔谱图预测的损失可以训练注意力机制,因为注意力机制不仅和声码器参数预测相关,还和梅尔谱图的梯度预测相关。

    在多人的回话场景中,训练的说话人的嵌入,在编码器,解码器和转换器中都会使用。然后,我们详细的描述了每一个组件和数据预处理。模型的超参数可在附录C的表4中得到。

    3.1 文本预处理

    文本预处理是良好性能的关键。直接使用原始文本(具有间隔和标点的字符)在许多话语中能产生可以接受的表现。然而,一些话中的稀有词汇会产生许多错发音,或者可能跳过和重复单词。我们通过一下方式对文本进行正则化来减轻这些问题:

    1. 我们将所有文本中的字母变成大写

    2. 我们删除了中间所有的标点符号

    3. 我们用句号或问好结束每一句话

    4. 我们用特殊的分隔符替代单词当中的空格,它代表了说话人在单词中间停顿是时长。我们使用了4中不同的分隔符:

    (i)粘在一起的词

    (ii)标准的发音和字符间隔

    (iii)在单词中间的短停顿

    (iv)单词中间的长停顿

    For example,
    the sentence “Either way, you should shoot very slowly,” with a long pause after “way”
    and a short pause after “shoot”, would be written as “Either way%you should shoot/very
    slowly%.” with % representing a long pause and / representing a short pause for encoding
    convenience.

     

    3.2 字符和音素的联合表示

    有效的TTS系统需要拥有一个修改发音来改正通常错误(通常涉及适当的名词、外来词和特定领域的术语)的方法。通常的方法是维护一个字典将卷积块转化为语音表达。

    我们的模型可以直接将字符(带有标点和间隔)转换为声学特征,学习隐含的字素到音素的模型,这种隐式转换在模型产生错误使很难改正,因此,除了字符模型,我们同样训练了一个只有音素的模型和混个字符音素模型以供选择。他们在只有字符的模型上相同,除了编码器有时候接受音素和重音嵌入而不是字符嵌入。

    一个只有音素的模型需要一个将词转化为音素表达的预处理步骤(通过使用外部音素字典或单独训练的字形到音素模型),混合音素字符模型除了在音素词典中的词之外需要相同的预处理步骤。这些在词典之外中的词以字符输入,并且被允许使用隐式学习到的字素转音素模型。当使用字符音素混合模型时,在每轮训练过程中每一个词会有固定的几率被转换为它的音素表达。我们发现这会提高发音和准确率并且减少注意力错误,尤其是当推广到比训练集更长的句子中时。更重要的是,支持音素表达的模型允许使用音素字典纠正错发音,这是一个生产系统的重要需求属性。

    3.3 用于序列处理的卷积块

    图2:一个卷积块包含了带有门控线性单元的1-D卷积和残差连接。这里的 c 指代了输入的维度。大小为 2 * c 的卷积输出被分成了大小相等的两部分:门控向量和输入向量。

     

    通过提供足够大的接收字段,堆叠的卷积层可以利用序列中长期的上下文信息并且不会在计算中引入任何的顺序依赖。我们使用了在图2中描绘的卷积块作为主要的时序处理单元去编码文本和音频的隐藏表示。这个卷积块包含了一个1-D的卷积核,一个门控线性单元作为非线性学习,一个对输入的残差连接,和一个 \sqrt{0.5} 的换算系数。这个门控的线性单元为梯度流提供了线性路径,它会减轻堆叠卷积块的梯度消失问题,并且保持非线性。为了引入说话人元素,在卷积输出上,softsign函数之后加入了一个说话人的嵌入作为偏置。我们使用softsign函数因为它限制了输出的范围,同时也避免了指数为基础的非线性有时表现出的饱和问题。(这句翻译有点渣,贴上原文:We use the softsign nonlinearity because it limits the range of the output while also avoiding the saturation problem that exponentialbased nonlinearities sometimes exhibit.)我们在整个网络中用零均值和单位激活方差初始化卷积核的权值。这个卷积在结构中可以是非因果的(例如编码器)或者因果的(例如解码器)。为了保证序列的长度,输入数据在因果卷积的左边被填充了 k - 1 个 0 的时间点,在非因果卷积的左右各填充了 ( k - 1 ) / 2 个 0 的时间点,其中 k 是奇数卷积核宽度,在卷积正则化之前会引入 Dropout 层。

     

    3.4 Encoder

    编码网络(在图1中描绘的)以一个嵌入层开始,将字符或者音素转换成可训练的向量表达 h_{e} 。嵌入的 h_{e} 首先通过全连接层来从嵌入维度转化为目标维度,然后,他们通过一系列在3.3中描述的卷积块来处理,以提取文本信息的时间依赖性。最后,他们被投影到嵌入维度,来创建注意力的 key 向量 h_{k} 。注意力的 value 向量从注意力 key 向量和文本嵌入中计算 : 

                                                                      h_{v} = \sqrt{0.5} * (h_{k} + h_{e})

    来共同考虑局部的信息 h_{e} 和长期上下文信息 h_{k} 。 key 向量 h_{k} 被每个注意力块使用来计算注意力权重,而最终的上下文向量由 value 向量 h_{v} 的加权平均计算 (见 3.6)

     

    3.5 Decoder

    解码器(在图1中描绘的)通过由过去的音频帧来预测未来的一组音频帧 r ,以这种方式来实现自回归的音频生成。因为解码器是自回归的,所以它必须使用因果卷积块。 我们选择梅尔对数幅谱作为紧凑的音频帧表示。我们根据经验观察发现,一起解码多个帧 (例如  r > 1)能产生更好的音频质量。解码器由多个带有ReLU去线性化的全连接层开始来处理输入的梅尔谱图(在图1中表示为 "PreNet")。然后,它跟随着一系列的因果卷积和attention,这些卷积块生成了用于关注编码器隐藏状态的变量 queries 。最后,一个全连接层输出了下一组音频帧 r 和一个二元"最终帧"预测(用来指示这句话的最后一帧是否被合成)。Dropout用在每一个attention之前的全连接层之前,除了第一个。对梅尔谱图计算 L1 损失,并使用最终帧预测来计算二进制交叉熵损失。

     

    3.6 Attention Block

    图3:位置编码被添加到 query 和 value 中,并且对应了各自的 w_{query} 和 w_{value} 。通过将一个较大的负值掩码添加到logit中,可以在推理中实现强迫单调性。 在训练中,注意力权重偶会被dropout。

     

    图4 :(a)为训练之前的注意力分布,(b)为训练之后但是没有强制约束,(c)在第三层和第一层使用了强制约束

    我们使用了点积注意力机制(如图3所示)。注意力机制使用了 query 向量(解码器的隐藏状态)和编码器每个时间点的 key 向量来计算注意力权重,然后输出了一个上下文向量作为计算全局权重的 value 向量。我们引入了attention在时间上的单调性作为诱导偏置,并观察他的经验收益。因此,我们向 key 和 query 向量添加了位置编码。位置编码 h_{p} 从以下公式中选择:

    h_{p}(i) = sin(w_{s}i/10000^{k/d})  在 i 为偶数时

    h_{p} (i)= cos(w_{s}i/10000^{k/d})  在 i 为奇数时

    其中 i 是时间戳的编号, k 是位置编码中的通道编号,d 是位置编码中的通道总数,w_{s} 是编码的 position rate 。position rate 决定了注意力分布线的平均斜率,大体上对应与语音的速度。对于单个说话人,w_{s} 被设置为 query 中的一个,并且固定与输入时长与输出时长的时间比率(在整个数据集上计算)。对多人会话的数据集,w_{s} 使用每一个说话人嵌入的 key 和 value 向量计算(如图3所示),在正弦余弦函数生成正交基时,该初始化产生一个对角线形式的注意力分布,我们初始化了全连接层的权重被用来计算隐藏attention向量对 key 和 value 的映射。位置编码被用在所有的attention块上,一个全连接层被用于上下文向量来生成attention块的输出。总之,位置编码提高了卷积注意力机制。

    生产质量的TTS系统对注意力错误的容忍度极低。因此,除了位置编码,我们考虑额外的策略来消除重复或者跳过单词的情况。一种方法是用经典的注意力机制代替拉菲尔等人引入的单调注意机制,利用期望的训练逼近soft-monotonic注意的hard-monotonic随机译码。尽管改进的单调性,这种策略可能会产生更分散的注意力分布。在某些情况下,同时出现了几个字符,无法获得高质量的语音。我们提出了另一种注意力权重策略,它只适用于单调推理,保持训练过程没有任何限制。替代在所有input上计算softmax,我们在间隔为8的时间窗口上采用了softmax。最初的权重设为0,然后计算当前窗口中最高权重的序号,这种策略也在图4所示的推理中实施单调的注意,并且产生优异的语音质量。

    3.7 Converter

    转换器将解码器的最后一个隐藏层作为输入,使用了多个非因果卷积块,然后预测提供给下游声码器的参数。不像解码器,转换器是非卷积并且非自回归的,所以可以使用解码器中未来的上下文去预测自己的输出。

    转换器网络的损失函数取决于使用的声码器类型。

    略过声码器和result

    5 Conclusion

    我们介绍了Deep Voice 3,一个具有位置增强注意力机制的基于全卷积sequence-to-sequence声学模型的神经元TTS系统。我们描述了sequence-to-sequence语音生成模型中常见的错误,然后表明了我们用Deep Voice 3成功的避免了这些错误。我们的模型不能直接生成声波,但可以适用于Griffin-Lim,WaveNet和WORLD做音频合成。我们还证明了我们的结构在多人会话语音合成中表现良好,通过增强讲话人的嵌入。最后,我们描述了Deep Voice 3生产系统的特点,包括文本规范化和特征表现,并通过广泛的MOS评价展示最先进的质量。未来的工作将涉及改进隐式学习的字形到音素模型,与神经声码器联合训练,以及对更干净和更大的数据集进行训练,以模拟人类声音和来自成千上万个扬声器的口音的完全可变性。

    附录A Deep Voice 3 的详细结构

     

    图6:Deep Voice 3使用了深度残差卷积网络,把文本和音素转换为每个时间点的 key 和 value向量,将它们交给注意力机制的解码器。解码器使用他们去预测对应输出音频的梅尔对数幅谱,(浅蓝色虚线箭头描绘了推断过程中的自回归合成过程)将解码器的隐藏状态馈送到转换器网络,以生成最后声码器的参数,最终生成波形。权重归一化(Salima&KimMA,2016)被应用到模型中的所有卷积滤波器和全连接层权重矩阵。

    展开全文
  • 无声语音命令海豚攻击
  • 这意味着我们致力于进行中的错误修复,本地化语言更新,社区支持数据发布,但不会在主要功能上使用。 快速链接 如何贡献 :party_popper: 首先,感谢您抽出宝贵的时间! 没有像你这样的人,这个项目是不可能的...
  • 谷歌翻译语音下载 这是一个PHP脚本,用于下载Google翻译语音mp3文件。 有关更多信息,您可以查看以下演示。 示范网站
  • Discord bot,用于文本到语音语言翻译 在这里尝试: : 码头工人 如果您在Windows10上,请安装wsl2 否则转到第二步;) 安装docker 克隆此或并解压缩它们。 将config/auth.example复制到config/auth.json并放入...
  • 5.7.4 show call application voice 157 本章总结 163 常见问题解答 164 第6章 语音、视频集成数据的体系 结构简介 165 6.1 简介 165 6.2 AVVID IP电话 165 6.3 Cisco呼叫管理器 168 6.3.1 呼叫管理器的特性 169 ...
  • 百度语音合成模型Deep Voice3

    千次阅读 2020-09-28 11:31:15
    Deep Voice3是由百度提出的一个全新的全卷积TTS架构。百度的主要工作分为如下五个方面: 提出了一个全卷积的 character-to-spectrogram 架构,它能并行计算,并且比使用循环单元的架构快 Deep Voice3训练非常快,...

    INTRODUCTION

    Deep Voice3是由百度提出的一个全新的全卷积TTS架构。百度的主要工作分为如下五个方面:

    1. 提出了一个全卷积的 character-to-spectrogram 架构,它能并行计算,并且比使用循环单元的架构快
    2. Deep Voice3训练非常快,并且可以扩展到LibriSpeech语音数据集,该数据集包含来自2484个说话人的820小时音频数据
    3. 可以产生单调的注意力行为 (monotonic attention behavior),避免了seq2seq语音合成中常见的错误
    4. 比较了几种波形合成方法的质量,包括WORLD、Griffin-Lim以及WaveNet
    5. 描述了Deep Voice3推理内核的实现,它可以在单个GPU上提供高达每天一千万次推理

    ARCHITECTURE

    Deep Voice3能够将各种文本特征(如字符、音素、重音)转换为各种声码器参数,如梅尔谱、线性对数谱、基频、频谱包络等。这些声码器参数可用作波形合成模型的输入

    Deep Voice3架构包括3个组件:

    • 编码器:完全由卷积构成,用于提取文本特征
    • 解码器:也是完全由卷积构成,利用**多跳卷积注意力机制 (multi-hop convolutional attention mechanism) **将提取的文本特征,以一种自回归的方式解码成低维的音频特征
    • 转换器:同样是完全由卷积构成,它从解码器隐藏状态预测最终声码器的参数(取决于声码器选择)。与解码器不同,转换器是非因果的,因此它可以依赖未来的上下文信息

    优化的目标是解码器转换器损失的线性组合。作者将解码器和转换器分开并应用于多任务训练,因为这样可以使得实践中注意力更好的学习。具体来说的话,梅尔谱预测的损失指导了注意力机制的训练,因为注意力的训练利用了梅尔谱预测以及声码器参数预测的梯度

    TEXT PREPROCESSING

    1. 字母全部转大写
    2. 删除所有标点符号
    3. 每句话的结尾由且仅由句号或问号组成
    4. 使用特殊的分隔符替换单词之间的空格,这些分隔符表示说话人在单词之间停顿的时长。共有四种特殊的分隔符,它们表示的含义分别是:含糊不清的单词、标准发音和空格字符、单词之间的短时停顿、单词之间的长时停顿。例如句子"Either way, you should shoot very slowly," 在way后带有长时停顿,在shoot后带有短时停顿,可以写成"Either way%you should shoot/very slowly%." 其中%表示长时停顿,/表示短时停顿。停顿时长可以通过手工标记或文本音频对齐器

    CONVOLUTION BLOCKS

    该卷积块包含一个一维卷积滤波器,一个门控可学习的非线性单元,一个残差连接,以及一个缩放因子 0.5 \sqrt{0.5} 0.5 。为了引入说话人的相关特征,在经过softsign激活函数之后,将说话人特征作为偏置添加到卷积滤波器的输出。卷积块中使用标准正态分布初始化卷积滤波器的权重

    Softsign函数:
    y = F ( x ) = x 1 + ∣ x ∣ . y=F(x)=\frac{x}{1+|x|}. y=F(x)=1+xx.

    ENCODER

    编码器网络首先从文本编码开始,将字符或音素转换为可训练的向量表示 h e h_e he。然后将 h e h_e he送入全连接层以投影到目标维度。PreNet得到的输出再送入一系列卷积块,以提取时间相关的文本信息。最后,它们被投影回Text Embedding维度以创建注意力键向量 h k h_k hk。从注意力键向量和文本嵌入计算注意力值向量 h v = 0.5 ( h k + h e ) h_v=\sqrt{0.5}(h_k+h_e) hv=0.5 (hk+he),以联合考虑 h e h_e he中的局部信息和 h k h_k hk中的长时上下文信息。键向量 h k h_k hk被各个注意力块用来计算注意力权重,而最终的上下文向量被计算为值向量 h v h_v hv的加权平均

    DECODER

    解码器以自回归的模式预测接下来的r (r>1) 帧梅尔谱。由于不能利用后面时刻的数据,所以解码器采用的是causal convolution或者也叫做masked convolution

    梅尔谱数据先经过PreNet,然后通过casual convolution层将其变为query矩阵。再与Encoder的输出的Key和Value矩阵进行attention运算。如此积累多层,最后经过全连接层预测接下来的r帧梅尔谱,并且还会预测是否该停止预测(类似于Tacotron2)。损失函数是L1 Loss及交叉熵

    ATTENTION BLOCK

    Attention模块就是大家熟知的传统点积计算方法,先用query矩阵与key矩阵计算attention权重,然后再对value矩阵加权求和,得到context向量。此外,attention block还引入了位置编码 h p ( i ) h_p(i) hp(i)帮助文本和频谱进行对齐
    h p ( i ) = s i n ( w s i / 1000 0 k / d )   , i = 0 , 2 , 4 , . . . h p ( i ) = c o s ( w s i / 1000 0 k / d )   , i = 1 , 3 , 5 , . . . h_p(i)=sin(w_si/10000^{k/d})\ ,i=0,2,4,...\\ h_p(i)=cos(w_si/10000^{k/d})\ ,i=1,3,5,... hp(i)=sin(wsi/10000k/d) ,i=0,2,4,...hp(i)=cos(wsi/10000k/d) ,i=1,3,5,...
    其中, i i i是时间步索引, k k k是位置编码中的通道索引, d d d是位置编码中所有通道的数量, w s w_s ws是编码的位置率。位置率决定了注意力分布中线的平均斜率,大致对应于语速。对于单说话人,query中的 w s w_s ws被固定为1,key中的 w s w_s ws被固定为输入时间步与输出时间步之比;对于多说话人, w s w_s ws通过每个说话人嵌入进行计算(下图左边)

    详细流程如下图所示

    在翻译场景中,源语言句子和目标语言句子中词的对应顺序并不是严格单调的,而在语音合成中,语音是按照文本顺序读出来的,所以对齐关系会更严格

    CONVERTER

    转换器网络将解码器的最后隐藏层的输出作为输入,转换器包含若干非因果卷积块,然后预测下游声码器的参数。与解码器不同,转换器是非因果和非自回归的,因此它可以使用解码器的未来信息进行预测。转换器有很多种,可以使用Griffin-fim或者wavenet等,当然,采用wavenet的效果会好一些。整个模型框架如下

    RESULTS

    Deep Voice3模型由于采用全卷积而非GRU来提取文本及频谱特征,可以大幅提高训练时GPU的利用率,相同的batch size下,速度是Tacotron的10倍。并且达到收敛所需的步数也只是Tacotron的1/4。在加入monotonic attention后,合成语音的自然语也有所提高

    REFERENCE

    展开全文
  • 目录 摘要 1、介绍 2、威胁模型 3、要求 摘要 由于语音助手输入通道的开放性,对手可以轻松记录人们使用的语音...我们使用了两个数据集来评估其性能:(1)255 173个语音样本由120个参与者生成,其中15个播放设备1

    目录
    摘要
    1、介绍
    2、威胁模型
    3、要求

    摘要

    由于语音助手输入通道的开放性,对手可以轻松记录人们使用的语音命令,然后将其重放以欺骗语音助手。为了减轻这种欺骗攻击,我们提供了一种称为“Void”的高效语音活动检测解决方案。Void利用真人语音与通过扬声器重播的语音之间频谱功率的差异来检测语音欺骗攻击。 与使用多个深度学习模型和数千个功能的现有方法相比,Void使用仅具有97个功能的单个分类模型。
    我们使用了两个数据集来评估其性能:(1)255 173个语音样本由120个参与者生成,其中15个播放设备和12个记录设备,以及(2)由42个参与者,26个播放设备和25个记录设备生成的18,030个公共语音样本。 在检测每个数据集的语音重放攻击时,Void分别达到0.3%和11.6%的相等错误率。与最新的基于深度学习的解决方案相比,该解决方案在该公共数据集中的错误率达到7.4%,与之相比,Void使用的内存减少了153倍,检测速度提高了约8倍。当与高斯混合模型结合使用梅尔频率倒谱系数(MFCC)作为分类特征时(MFCC已经被提取并用作语音识别服务的主要特征),Void在公共数据集上的错误率达到8.7%。此外,Void可以抵抗隐藏的语音命令,听不见的语音命令,语音合成,均衡操纵攻击,并将重播攻击与真人语音相结合,可实现约99.7%,100%,90.2%,86.3%和98.2%的检测率 这些攻击分别。

    1、介绍

    流行的语音助手如Siri (Apple)、Alexa (Amazon) 和 Now (Google) 等允许人们使用语音命令快速在线购物、拨打电话、发送消息、控制智能家电、访问银行服务等。然而,这种对隐私和安全至关重要的命令使语音助手成为攻击者可以利用的有利可图的目标。最近的研究 [11, 12, 23] 表明语音助手容易受到各种形式的语音呈现攻击,包括“语音重放攻击”(攻击者只是记录受害者对语音助手的使用并重放它们)和“语音合成攻击”(攻击者训练受害者的语音生物识别模型并创建新命令)。
    为了区分真人语音和重放语音,几种语音活体检测技术已经被提出。冯等人 [11] 建议使用可穿戴设备,例如眼镜或耳塞来检测语音活跃度。他们实现了大约 97% 的检测率,但依赖于用户必须购买、携带和使用的额外硬件。基于深度学习的方法也被提出 [7, 30] ,最著名的解决方法来自一个名为“2017 ASVspoof Challenge”[7] 的在线重播攻击检测竞赛中,又非常高的准确率,实现了约 6.7% 的等错误率 (EER)——但它的计算成本高昂且复杂:两个深度学习模型(LCNN 和含有 RNN 的 CNN)和一个基于 SVM 的分类模型一起使用以实现高精度。第二个最佳解决方案使用 5 个不同分类模型和多个分类特征的集合实现了 12.3% 的 EER:均使用了恒定 Q 倒谱系数 (CQCC)、感知线性预测 (PLP) 和梅尔频率倒谱系数 (MFCC) 特征。仅 CQCC 就很大,包含大约 14,000 个特征。
    为了减少计算负担并保持较高的检测精度,我们提出了“Void”(语音活体检测),这是一种高效的语音活性检测系统,它依赖于频谱图中累积功率模式的分析来检测重放的语音。 Void 使用只有 97 个频谱图特征的单一分类模型。特别是,Void 在功率模式中利用了以下两个显着特征:(1) 大多数扬声器在重放原始声音时会固有地添加失真,因此,在可听频率范围内的整体功率分布通常表现出一定的均匀性和线性。(2) 对于人声,在较低频率上观察到的功率总和相对高于在较高频率上观察到的总和[15,29]。因此,现场人声和通过扬声器重放的声音之间的累积功率分布存在显着差异。 Void 系统将这些差异提取为分类特征,以准确检测重放攻击。
    我们的主要成果总结如下:

     设计了一种快速、轻便的语音重放攻击检测系统,该系统采用单一的分类模型,且仅需97个与信号频率和累积功率分布特性相关的分类特征。与现有的依赖于多个深度学习模型的方法不同,它们无法深入解释正在提取的复杂频谱特征[7,30],而我们解释了关键频谱功率特征的特点,以及为什么这些特征在检测语音欺骗攻击时是有效的。
     使用两个大数据集评估语音重放攻击检测的准确性,两个大数据集包括从120 名参与者、15 个重放设备和 12 个录音设备收集的 255173 个语音样本,以及分别从 42 名参与者、26 个重放扬声器和 25 个录音设备收集的18030 个 ASVspoof 竞赛语音样本,分别为 0.3% 和11.6% 的等错误率 (EER)。基于后一个 EER,Void 将被列为 2017 年 ASVspoof 竞赛的第二个最佳解决方案。与那次竞争中表现最好的解决方案相比,Void 的速度快了 8 倍,在检测中使用的内存少了 153 倍。当与基于 MFCC 的模型相结合时,Void 在 ASVspoof 数据集上实现了8.7% 的 EER, MFCC 已经通过语音识别服务提供,并且不需要额外的计算。
     Void 对隐藏命令、听不到语音命令、语音合成、均衡(EQ)操作攻击和将重播攻击与真人语音结合攻击的性能评价,分别显示 99.7%、100%、90.2%、86.3% 和 98.2%的检测率。

    2 威胁模型

    2.1 语音重放攻击
    我们将现场人类音频样本定义为由人类用户发起的直接通过麦克风录制的语音(通常由语音助手处理)。 在语音重放攻击中,攻击者在受害者附近使用录音设备(例如,智能手机),并首先记录受害者对用于与语音助手交互的语音命令的话语(口语)[3, 11, 12]。 然后攻击者使用内置扬声器(例如,在她的手机上可用)或独立扬声器重放录制的样本以完成攻击(见图 1)。

    图1 语音重放攻击的步骤

    语音重放攻击可能是最容易操作的攻击,但它是最难检测的,因为与受害者的现场语音相比,录制的语音具有相似的特征。 事实上,大多数现有的基于语音生物识别的身份验证(说话人验证)系统(例如 [31, 32])都容易受到这种重放攻击。

    2.2 对抗性攻击
    我们还考虑了更复杂的攻击,例如最近文献中讨论过的“隐藏语音命令”[24, 25]、“听不见的语音命令”[18-20]和“语音合成”[6, 12]攻击。 此外,EQ 操纵攻击专门设计用于通过调整攻击语音信号的特定频带来挑战 Void 使用的分类特征。

    3 要求
    3.1 延迟和模型大小要求
    我们与一家大型 IT 公司(运行自己的语音助手服务,拥有数百万订阅用户)的几位语音识别工程师的对话表明,在部署任何类型的基于机器学习的服务时,必须考虑严格的延迟和计算能力使用要求。这是因为通过持续调用机器学习算法额外使用计算能力和内存可能会导致 (1) 企业无法接受的成本,以及 (2) 处理语音命令的不可接受的延迟(延迟)。收到语音命令后,语音助手需要立即响应,不得有任何明显延迟。因此,处理延迟应接近 0 秒——通常,工程师不会将增加 100 毫秒或更多毫秒延迟的解决方案视为便携式解决方案。预计单个 GPU 可以同时处理 100 个或更多语音会话(流命令),这表明机器学习算法必须轻量级、简单且快速。
    此外,作为未来解决方案的一部分,企业正在考虑在设备上实现语音助手(不会与远程服务器通信)以改善响应延迟,节省服务器成本,并最大限度地减少与与远程服务器共享用户私人语音数据相关的隐私问题。对于此类可用计算资源有限的设备上解决方案,模型和功能的复杂性以及大小(CPU 和内存使用)要求将更加受限。

    3.2 检测精度要求
    我们的主要目标是实现具有竞争力的高精度,同时将延迟和资源使用要求保持在可接受的水平(见上文)。同样,我们与语音识别工程师的对话表明,企业需要大约 10% 或以下的 EER 才能被视为可用的解决方案。作为参考,来自 ASVspoof 2017 竞赛的最佳解决方案实现了 6.7% 的 EER [30],第二个最佳解决方案实现了 12.3% [7]。

    4、主要分类特征值

    Void利用了人类声音与通过扬声器重播的声音之间的频率相关频谱功率特性差异。 通过大量的试验和实验,我们观察到了与语音信号功率谱有关的三个不同特征,这些特征可以区分人类声音和通过扬声器重播的声音。 本节将详细探讨这些功能。

    图1显示了重放录制的语音信号所涉及的步骤。 攻击者首先会使用自己的录音设备录制受害者的语音命令。 然后,攻击者将使用同一设备(内置扬声器)重放针对受害者设备的录制的语音命令。 然后,由受害者设备上运行的语音助手服务处理此攻击命令。 在执行此重播攻击时,由于硬件缺陷,在用攻击者的设备上的麦克风录制时,以及在通过内置扬声器重播时,可能会向受害者的原始声音添加一些失真。 以下各节探讨了重播语音的频谱功率特性,并分析了用于对语音重播攻击进行分类的关键分类功能。

    4.1、频谱功率衰减特征

    通常,低质量的扬声器旨在实现高灵敏度和高音量,但要以牺牲音频保真度和增加不必要的失真为代价[35]。 结果,导致非线性的失真在低质量的扬声器中可能更为普遍,而在高质量的扬声器中则不那么明显[36、37]。

    图2(左)显示了“蓝色泻湖是1980年的浪漫和冒险电影”这句话的声谱图,并通过笔记本电脑中的音频芯片组进行处理。 在此,音频采样率为44.1kHz,发声时间为5秒。 在此语音样本中,大多数频谱功率位于20Hz至1kHz之间的频率范围内。 图2(右)还显示了针对每个频率测得的累积频谱功率。 在1kHz左右的频率下,人声会呈指数衰减。
    在这里插入图片描述
    在这里插入图片描述

    另一方面,通过iPhone 6s Plus内置扬声器重播的短语的频谱图(请参见图3)显示出一定的一致性-频谱扩展以1至5kHz之间的功率分布显示。 与图2所示的人类语音趋势不同,累积频谱功率不会呈指数下降。 而是在1至5kHz之间存在相对较大的线性衰减。 为了定量显示图2和图3之间的差异,我们在它们上添加了二次拟合曲线,并分别计算了均方根误差(RMSE)。

    我们对11种内置智能手机扬声器进行的实验表明,它们的频谱功率分布具有相似的行为。 即,功率在整个频率上逐渐降低,并且没有呈指数衰减。 频谱功率密度的累积分布示例如图4所示。在人类语音示例中,总功率的大约70%位于1kHz以下的频率范围内。 但是,在扬声器的情况下,累积分布几乎呈线性增加,并且总功率的70%位于约4kHz的频率范围内。

    这种扩展特性的一种可能解释是在某些频率范围内的低质量硬件提升功率。 因此,可以训练频谱功率(在可听频率范围内)的这种线性衰减模式,并将其用于对通过低质量扬声器播放的声音进行分类。 附录A演示了将使用三种信号功率功能对真人语音和通过11个内置智能手机扬声器重放的语音进行分类。

    4.2、频谱功率的峰值特征

    因为高质量的独立扬声器可以在很宽的频率范围内提高功率,以减少非线性失真,所以上述线性衰减模式可能不足以应对此类扬声器。
    在这里插入图片描述
    图5比较了人类真实声音和通过两个不同的高质量扬声器重放的声音的标准化信号功率。 尽管它们总体上显示出相似的指数衰减模式,但低频模式却有所不同(请参见图5中的红色虚线矩形)。 至于扬声器(中,右),与真人声音相比(左),低频处的尖峰和长峰数量较少。

    因此,低频中由失真引起的功率模式(例如,可见功率峰值的数量,其相应频率以及功率峰值大小的标准偏差)可以有效地检测产生更高质量声音的独立扬声器。 我们还使用高阶多项式来准确地建模频谱功率形状,并使用这些模型来识别活人样本和重播样本之间频谱功率模式的更细粒度差异(请参见图5)。 我们还在附录B中提供了不同扬声器的功率模式。

    4.3、线性预测倒谱系数(LPCC)

    因为第4.1节和第4.2节中讨论的衰减和峰值模式主要着眼于特定的频率范围。 为了对更宽的频率范围进行更一般的检查,我们另外使用线性预测倒谱系数(LPCC)[4]作为补充功能。

    LPCC通常用于语音相关应用程序中的听觉建模。 LPCC背后的关键思想是语音样本可以近似为先前样本的线性组合。 通过最小化语音样本和线性预测样本之间的平方差之和,可以计算出语音样本的LPCC。 LPCC的计算复杂度低于MFCC,因为LPCC不需要离散傅里叶变换的计算[5]。 我们选择LPCC作为补充的轻量级功能,以帮助Void利用覆盖语音信号更宽频率范围的频谱功能。

    5、系统设计

    基于第4节中描述的关键分类特征,我们设计Void以满足第3节中指定的要求。为了检测重放攻击,Void分析音频范围内的信号功率分布——计算给定信号功率的线性度,并识别低功率和高功率频率中的峰值模式。
    在这里插入图片描述

    5.1、void 概述

    通过Void的攻击检测包括三个阶段,如图6所示:信号转换、特征提取和实时攻击检测。整个Void算法在算法1中描述。语音命令 V o i c e i n Voice_{in} Voicein、窗口大小W和加权因子ω作为算法1的输入。 S p o w S_{pow} Spow表示 V o i c e i n Voice_{in} Voicein的每个频率的累积频谱功率。W表示 S p o w S_{pow} Spow单个片段的大小,用少量的段完全捕捉 S p o w S_{pow} Spow的动态特性。使用0和1之间的加权因子ω来计算更高频率中的特征值的阈值。这些参数值是用大量训练样本通过实验确定的。最后, p o w ( i ) pow(i) pow(i)表示 S p o w S_{pow} Spow的第i段中的累积功率。我们只考虑15kHz以下的语音信号,因为大多数语音样本的信号功率都低于15kHz。
    在这里插入图片描述##### 5.2、信号变换
    信号变换第一步,对输入语音信号进行短时傅里叶变换(算法1的第一步)。为了计算短时傅里叶,将所给语音信号分成等长(表示为wlen = 1024)的短快,然后对每个短块进行傅里叶变换。我们使用了窗长(wlen)为1024,跳跃长度为256(这是由wlen/4计算的)的周期汉明窗。用于计算STFT的快速傅里叶变换点数(nfft)被设置为4096。获得的信号谱图包含频率和随时间变化的相应功率(见图2(左))。根据计算的STFT,计算每频率累积频谱功率( S p o w S_{pow} Spow)(算法1的步骤2)。术语“累积光谱功率”和“功率”在下文中互换使用。 S p o w S_{pow} Spow是一个向量,它包含 V o i c e i n Voice_{in} Voicein整个持续时间内每个频率的总累积功率(见图2(右))。从STFT获得的 S p o w S_{pow} Spow是大小为1500的向量(算法1的步骤2)。我们使用符号大小( S p o w S_{pow} Spow)来表示存储在 S p o w S_{pow} Spow中的值的数量。

    5.3、特征提取

    从第一阶段计算出的向量 S p o w S_{pow} Spow用作第二阶段的输入,以提取分类特征。Void 顺序计算以下四种类型的特征:
    (1)低频能量功能(FVLFP),
    (2)信号功率线性度特征(FVLDF),
    (3)高功率频率功能(FVHPF),
    (4)音频信号的LPCC功能(FVLPC)。
    FV代表特征向量。
    前三个要素类是从 S p o w S_{pow} Spow计算出来的,而FVLPC是直接从原始语音信号 V o i c e i n Voice_{in} Voicein计算出来的。

    5.3.1、低频能量特征
    在算法1的第二阶段中,我们首先根据给定的窗口大小W将信号Spow分为相等长度的k个短段(请参见步骤3)。我们经验地设置W=10。如果Spow的大小不能整除W,我们将省略最后一段。
    接下来,我们计算每段 S e g i Seg_i Segi的功率之和,对于i=1到k(参见步骤4和5)。
    然后将功率密度值的前k段矢量化为(=pow(1),…,pow(k))(参见步骤6)。
    向量直接在FVLFP中使用(请参见步骤7)。
    执行完此步骤后,我们将具有累积频谱功率所有k段的密度值。每个段的功率密度值按频率排序,从给定语音样本的最低频率开始。我们只对将功率密度值保持在5kHz的频率范围内感兴趣,因为我们的实验表明,在5kHz以下的较低频率下,人声和重放的声音之间存在明显的差异(请参见图5)。因此,我们仅保留向量的前48个值,并将它们分配给FVLFP(请参见步骤7)。

    5.3.2、信号能量线性度特性
    给定k个分段的向量,我们将计算信号的特征向量(FVLDF)以测量线性度(如第4.1节所述)。
    在这里插入图片描述
    算法2描述了计算的线性度的过程。
    最初,通过将中的每个值除以总信号功率(sum())来对进行归一化(请参阅算法2中的步骤1)。 然后,将归一化的功率信号矢量 < p o w > n o r m a l <pow> _{normal} <pow>normal用于计算频谱功率的累积分布,用 p o w c d f pow_{cdf} powcdf表示(请参见步骤2)。 在此步骤中, < p o w > n o r m a l <pow> _{normal} <pow>normal以逐步方式累积。
    对于 p o w c d f pow_{cdf} powcdf的线性度,我们计算出以下两个特征(请参见步骤3和4): p o w c d f pow_{cdf} powcdf的相关系数ρ和二次曲线拟合系数q(请参见附录C)。

    5.3.3、高能量频率特征
    给定向量 < p o w > <pow> <pow>和峰选择阈值 w w w,我们计算特征向量(FVHPF)来捕获频谱功率的动态特性(请参阅附录D)。
    在这里插入图片描述
    算法3描述了计算高能量频率特征(FVHPF)的过程。在 < p o w > <pow> <pow>中,我们首先确定峰及其位置(请参阅步骤1)。

    5.3.4、LPCC 特征
    我们使用自相关方法和Levinson-Durbin算法[26]来计算给定语音信号的LPCC,生成12个系数,这12个LPCC系数存储在特征向量FVLPC中。

    5.4、攻击检测

    6、数据采集(收集)

    6.1、Demographics and human voice collection(人声收集)
    6.2、重放攻击数据集
    6.3、ASVspoof 2017 数据集

    7、评估

    7.1、
    7.2、
    7.3、
    7.4、
    7.5、使用Void作为整体解决方案
    7.6、
    7.7、

    8、对抗攻击的鲁棒性

    9、讨论

    10、相关工作

    11、总结

    Acknowledge

    References(参考文献)

    展开全文
  • 初次接触语音攻击方面的文章,翻译不当的地方,望大家指正。 对语音说话人识别系统的实用隐藏语音攻击 摘要——目前已广泛部署的语音处理系统(VPS),通过应用机器学习方面的最新进展,已大大提高了准确度。然.....

    原文链接:https://arxiv.org/pdf/1904.05734.pdf  是NDSS-2019 accepted paper

    初次接触语音攻击方面的文章,翻译不当的地方,望大家指正。

                               对语音和说话人识别系统的实用隐藏语音攻击

    摘要——目前已广泛部署的语音处理系统(VPS),通过应用机器学习方面的最新进展,已大大提高了准确度。然而,对抗式机器学习也取得了类似的进展,并被用来证明VPS易受注入隐藏命令的影响——音频被VPS能正确识别但人却不能识别的噪音所掩盖。然而,此类攻击通常高度依赖于特定机器学习模型的白盒知识,并且仅限于特定的麦克风和扬声器,从而限制了它们在不同声学硬件平台上的使用(因此也限制了它们的实用性)。在本文中,我们利用VPS常用的信号处理算法的知识来生成输入到机器学习系统中的数据,通过模型无关攻击(黑盒)打破了这些依赖关系,使隐藏的命令攻击更加实用。具体来说,我们利用了多个源音频样本在经过声学特征提取算法(如FFTs)变换后具有相似的特征向量这一事实。我们开发了四类扰动,它们创建了难以理解的音频,并在12个机器学习模型上测试它们,其中包括7个专有模型(例如,Google Speech API,Bing Speech API,IBM Speech API,Azure Speaker API等),并证明了对所有目标的成功攻击。此外,我们成功地在多种硬件配置中使用恶意生成的音频样本,展示了跨模型和实际系统的有效性。通过这样做,我们证明了音频信号处理领域特定的知识代表了生成成功的隐藏语音命令攻击的实用方法。

    一. 介绍

    语音处理系统(VPS)正迅速成为用户与设备交互的主要手段。特别是,越来越多的约束/无头设备(例如移动电话、数字家庭助理)的使用,导致其广泛部署。这些inferfaces不仅为传统用户简化了交互,而且为残疾人和老年人群体提供了极大的包容性,受到了广泛的欢迎[47],[65]。

    实用语音驱动系统背后的驱动力是机器学习的基础性进展。包含了看似不断增加的复杂性的模型,现在可以轻松地处理大量的数据。当与用于特征提取的著名的信号处理技术相结合,这些系统现在可以提供高精度的语音和说话人识别。然而,VPS也带来了大量的安全问题。正如有意的[45]和无意的[52]证明的那样,这些接口通常能够识别和执行来自任何能够播放音频的附近设备的命令。此外,最近的研究表明,拥有机器学习模型白盒知识的攻击者可以生成由VPS正确转录但人类难以理解的音频样本[24],[72]。

    本文工作采用了不同的方法。我们没有攻击特定的机器学习模型,而是利用VPS的信号处理阶段。特别是,因为几乎所有的语音和说话人识别模型似乎都依赖于经典信号处理中的一组有限的特征(例如,FFTs的频率、MFCC),我们证明修改音频以产生相似的特征向量使我们能够以黑盒方式对机器学习系统进行强大的攻击。

    为此,我们作出以下贡献:

    在信号处理阶段产生扰动:这项工作的关键点是,许多源音频可以转换成机器学习模型使用的相同特征向量。也就是说,通过攻击信号处理阶段的特征提取而不是模型本身,我们能够生成超过20,000个音频样本,这些音频样本听起来像是难以理解的噪音,却被当成有意义的音频。因此,VPS可以快速地(即几秒钟内)、有效地以完全黑盒的方式被攻击。

    证明攻击和硬件之间的独立性:以前的研究高度依赖于所使用模型的知识,并仅限于特定的硬件。例如Yuan等人对一个白盒和两个黑盒模型进行了评估[72],Carlini等人对一个黑盒和一个白盒模型[24]进行了评估。我们评估了对12个使用各种机器学习算法的黑盒模型的攻击,包括7个专有(proprietary)模型和5个本地(local)模型;但是,在任何情况下,我们都不会使用任何有关模型或权重的信息(即,我们把所有的模型,即使是公开可用的,都当作黑盒)。我们使用多组扬声器和麦克风演示了成功的攻击。我们的攻击评估比以前的对抗性音频工作要全面得多。如此广泛的攻击效果以前从未被证明。

    使用心理声学来降低声音的理解度:之前的工作主要是添加背景噪音模糊语音命令;然而,这种噪音往往会降低成功的转录。我们利用了这样一个事实,即人类在人类听觉范围内存在某些类型的噪声时难以解释语音(与注入超声波音频的海豚攻击[73]不同,因此很容易被滤除)。

    我们相信,通过展示上述贡献,我们可以将隐藏的语音命令从可能的领域应用到实际中。此外,我们认为,通过使机器学习模型更加健壮,并不容易对这些命令进行反击,因为无论VPS是否受到攻击,模型接收到的特征向量实际上几乎相同。因此,至关重要的是,系统设计人员要考虑在其机器学习模型运行的领域中具有重要专业知识的攻击者。

    论文的其余部分组织如下:第二部分提供了信号处理、语音和说话人识别以及机器学习的背景信息;第三节介绍了我们的假设;第四部分讨论了我们的威胁模型、产生扰动的方法;第五节是实验设置;第六部分给出了针对一系列语音和说话人识别模型的实验结果;第七节讨论心理声学和潜在的防御;第八节介绍相关工作;第九部分是结论。

    二. 背景

    A. 语音处理系统(VPS)

    任何基于机器学习的语音处理工具都可以被视为VPS。在本文中,我们使用该术语来指代自动语音识别(ASR)和说话人识别模型。

    1)ASR(自动语音识别) ASR将原始人类音频转换为文本。通常,大多数ASR按照图1中所示的步骤完成这个任务:预处理、信号处理和模型推断。

    预处理涉及对音频应用过滤器,以去除背景噪声和人类音频范围之外的任何频率(图1a和1b)。然后使用信号处理算法捕捉最重要的特征和特性,从而降低音频的维度。信号处理步骤输出特征向量。大多数ASR采用Mel频率倒谱系数(MFCC)算法进行特征提取,因为它能够推断出与人耳相似的重要特征。然后将特征向量传递给模型进行训练或推理。

    2)说话人识别模型说话人识别模型通过比较模型训练的说话人的语音样本来识别录音中的说话人。说话人识别模型的内部工作原理与ASR基本相似,只是增加了一个投票方案。对于每个音频子样本,该模型为最有可能属于该子样本的说话者投一票。处理完整个音频文件后,对计票结果做统计。得票最多的说话人被指定为输入音频样本的来源。

    B. 信号处理(Signal Processing)

    信号处理是VPS系统的主要组成部分。这些算法仅捕获数据的最重要方面。信号处理算法能否正确识别数据的重要方面,直接关系到机器学习模型的训练质量。

    1)Mel频率倒谱系数(MFCC):获取音频样本的MFCC向量的方法,首先将音频分解为20ms窗口。每个窗口都要经过四个主要步骤,如图1所示。

    快速傅里叶变换(FFT)和幅值(Magnitude):对于每个窗口,取FFT及其幅值,生成音频的频域表示(图1c和图1d),称为幅度谱。幅度谱详细描述了构成信号的每个频率和对应的强度。

    梅尔滤波:梅尔标度(scale)将频率的实际差异转换为人耳对频率的感知差异。使用三角形重叠窗口(称为Mel过滤器组)将频率数据映射到Mel标度(图1e)。

    对数能量:为了模拟人类听觉感知响度的方式,将每个Mel滤波器组的能量转化到对数标度(scale)(图1f)。

    离散余弦变换(DCT):获得MFCC的最后一步是对Mel滤波器组能量列表进行离散余弦变换(图1g)。结果是一个MFCC向量。

    2)其他方法:现代VPS中还使用了许多其他的信号处理技术。这些例子包括mel -频谱系数(MFSC),线性预测编码和感知线性预测
    (PLP) [61]。就像MFCCs一样,这些代表了信号处理的确定性技术。其他VPS采用概率技术,特别是迁移学习[69]。在这种情况下,一个模型被训练来学习如何从输入中提取特征,而另一个模型被提供这些特征来进行推理。这种分层的VPS方法是最近的发展[71]。此外,一些称为“端到端”系统的VPS通过删除预处理和信号处理步骤[35][37],替换了原始输入和模型之间的所有中间模块。这些系统旨在消除引导附加模块所需的增加的工程工作量,以及增加的处理时间和复杂的系统部署[16]。

    图1:该用于音频转录的通用VPS工作流程说明了,在将音频传递到机器学习模型进行转录之前对音频执行的各种处理步骤。首先,对音频进行预处理以消除噪声。接下来,音频通过信号处理算法,该算法改变输入的格式,保留重要的特征,并丢弃其他特征。最后,这些特征被提供给用于推理的机器学习模型。

    C. 模型推断(Model Inference)

    然后将从信号处理步骤收集的特征传递到机器学习算法以进行推断。VPS广泛使用机器学习算法进行语音识别。然而,由于机器学习技术的不断发展,这类系统的定义也各有不同。通常,机器学习系统可以被描述为一组输入X\in IR^{D}(对于一些输入维度D)到一组输出Y(连续值或离散值),使X\rightarrow Y。为了学习这样的映射,将值转换为F(x)=y+\epsilon形式,期中\epsilon是要被训练集中的所有输入x\in X和已知输出y\in Y的最小化误差项。 据说系统在训练集的输入和输出之间进行插值(interpolate)以构建X\rightarrow Y映射的模型。一旦系统被训练好,它就必须将学到的知识外推到一个新的、未知的输入空间,即测试集。测试集上的错误率是机器学习系统最常见的度量方式。一般来说,机器学习系统的任何输入X都被称为特征,因为它构成了所有输入样本中可以观察到的独特的特征,理想情况下,可以用来区分不同的样本。

    早期的机器学习系统专门研究特定领域,并被设计成内插一些特定领域的知识,从而成为领域专家[17]。由于这些系统的特殊性,它们需要广泛的特征工程(feature engineering),为了产生有用的结果,常常涉及到人类领域的知识。因此,该领域早期的许多工作都围绕着特征设计。随着无所不在的数据收集方法的出现,后来的方法侧重于数据驱动的方法,选择更一般的知识,而不是领域特定的推理。现代系统现在能够自动执行以前称为特征工程的功能,而不是选择从大量非结构化数据中提取特征。因此,这些技术可以自动学习与创建映射相关的正确特性,并应用预定义的代价函数来最小化错误项。由于少了特定的特征工程,这些系统不仅更灵活,而且可以分成独立的模块以在不同的域或应用中使用(即,迁移学习),并且还提供更好的外推性能。

    D. 心理声学

    心理声学是研究人类如何感知音频的科学。 专注于这一主题的研究领域广泛而深入,不断推进我们对人类听觉的理解以及大脑解释声学信号的方式。这一领域的研究发现,人们在听和解释语言的方式上有许多微妙之处。因此,成功的隐藏命令必须考虑心理声学效应。

    心理声学的研究表明,人类对声音的听觉和感知既有健壮性又有弱点。当存在多个声源时,人类很容易专注于一个声源。这就是所谓的鸡尾酒会效应[26],在这种情况下,人类可以忽略那些无关紧要的声音。人类的听觉在添加背景噪声的情况下也能很好地解释语言[29]。这意味着,简单地在录制的语音中添加噪声并不会降低其可懂度,只会抑制语音的音量。

    另外,人类的听觉和感知能力也可能很脆弱,尤其是在频率较高的情况下。人类听到的声音是对数级的,往往认为更高的频率是更响亮的[15]。Mel标度(scale)[46],以及类似频率掩蔽的概念[32]表明,与低频相比,人们很难辨别高频的差异。人类在解释不连续或随机声音方面也很差,而他们倾向于享受平滑连续的音频信号。然而,根据定义,不连续和更不稳定的信号是噪音[42]。除了难以理解之外,这些信号往往会让大多数人感到刺耳和不舒服。

    我们可以利用心理声学来更好地干扰语音命令。我们将在第七节详细讨论心理声学的应用。

    三. 假设(HYPOTHESIS)

    人类语音为训练和测试ASR模型提供了一组有限的特征:语音的大部分方面在预处理或特征提取算法中被过滤掉。将原始输入的这个缩减子集作为特征向量传递到模型上,用于训练或测试。这提供了通过扰动将声学伪像(artifact)引入音频的机会。然后,在信号处理期间消除这种伪像。通过使用有关心理声学和音频物理特性的知识,我们可以开发出与任何特定机器学习模型无关的攻击音频。虽然这些人工制品将使人难以解释音频,但它们不会影响ASR的识别能力,使ASR暴露在隐藏的语音命令攻击之下。

    四. 方法(METHODOLOGY)

    我们开发扰动以生成用户无法解释但由VPS能正确推断的攻击音频。本节介绍攻击场景、进行成功攻击所需的功能、生成攻击音频样本的扰动方案,以及我们测试攻击的VPS。

    A. 攻击场景

    攻击者希望在VPS(如,亚马逊Alexa,谷歌家庭助理或任何语音激活设备)上执行未经授权的命令。为此,攻击者在VPS的方向上播放模糊的音频命令。目标VPS在内部使用ASR转录音频命令以执行它们。除了ASR之外,VPS还可以在执行命令之前使用说话人识别模型对说话人进行身份验证。模糊的音频可能包含如启动有线传输、解锁门,或者通常导致对合法用户可用功能的执行的命令。攻击音频通过受损的物联网设备或定向扬声器播放。虽然目标VPS的所有者可能在可听到的范围内,但他们不会将攻击音频识别为语音命令。因此,所有者将仍然不会意识到攻击正在进行中。

    针对这些系统的攻击将基于标准的漏洞开发、探测和攻击策略进行。也就是说,我们期望攻击者开发能成功激活一个或多个模型的攻击音频语料库。然后,他们将探测潜在目标,通过直接信息或探测来了解他们针对的模型。然后,攻击者将从语料库中选择攻击音频样本并执行攻击。

    B. 威胁模型

    我们假设不知道模型(即黑盒攻击)。攻击者不需要知道受害者模型的类型或内部架构(即,层数或内部权重)。但是,攻击者熟悉音频和语音处理。

    我们的攻击会产生类似噪音的攻击音频,能对VPS有效攻击:在转录任务中,被扰动的音频与原始未被扰动的音频被转录成相同的结果,而在识别任务中,系统会将被扰动的音频识别为原始扬声器的声音。扰动方法旨在利用VPS对声学特性的假设。

    在转录任务中,攻击者有一个正确转录的音频样本。同样,对于攻击说话人识别模型,攻击者拥有目标VPS将正确识别的受害说话人的语音样本。扰动方法旨在保留正常音频样本的重要声学特性,同时改变其听觉感知。如果在没有扰动的情况下,目标模型无法理解音频样本,那么在有扰动的情况下,目标模型将仍然无法理解音频样本。该威胁模型旨在模拟以前的攻击工作,特别是Carlini等人的[24]。攻击者不在房间内,但可以远程使用扬声器。受害者离攻击扬声器很近,但没有积极地倾听或期待攻击。受害者可能听到了攻击的声音,但无法解读,因此不知道攻击正在进行。

    攻击者对受害者使用的声学硬件一无所知。我们假设目标ASR离攻击扬声器很近。家庭正在配备越来越多的支持扬声器的物联网设备。这个数字预计还会上升,以便用户能够在日常生活中不断地与家庭助理进行互动。这些扬声器可以被远程利用,然后被攻击者用来播放攻击音频。此外,受害者ASR设备,如Alexa,具有一系列高质量麦克风,可以从多个位置和角度检测音频。鉴于上述因素,我们假设目标ASR距离攻击者一英尺。

    C. 扰动类型

    我们提出了四种扰动方法。每个产生的攻击样本都包含一个或多个连续应用的扰动,这些扰动可用于攻击目标VPS。我们使用图2作为示例,并在下面详述每个扰动。

    1)时域反演(TDI):大多数VPS使用FFTs(图1c)将一个信号分解成其复合频率,称为频谱。FFT是一个多对一的函数。这意味着时域中两个完全不同的信号可以具有相似的频谱。我们的TDI扰动方法利用了这一特性,在时域内修改音频,但是到了频域却保持了其频谱不变,通过反转窗口信号。如图2b所示,在整个信号上反转小窗口可以消除平滑性。由于心理声学的原理,这种受干扰的声音很难理解,因为人的耳朵把任何不连续的信号解释为有噪声的[42]。

    2)随机相位生成(RPG):对于频谱中的每个频率,FFT返回一个复数形式的值a{_{0}}+b{_{0}}i,其中a{_{0}}b{_{0}}定义了信号的相位。为了获得每个频率的强度,使用下面的等式,利用复数谱的幅度(图1d)来产生幅度谱:

    由于幅度函数是多对一的,所以a和b的多个值会有相同的幅度原始值。非正式地说,不同相位的两个信号可以具有相同的幅度谱。第二种扰动方法选取两个随机数a{_{n}}b{_{n}},使得:

    这个输出是与原始信号相位不同但幅度谱相同的新信号,如图2c所示。这将会在信号中引入类似的不连续,由于心理声学的基本原理,这使得受扰动的音频更难解释。

    3)高频附加(HFA):在预处理期间,使用低通滤波器(图1a)将音频中超出人声范围的频率去除,以提高VPS的精度。在大多数情况下,这个分界点至少为8000赫兹,原因有二:大多数口语内容低于这个水平,而语音通常采样于16000赫兹。第三种扰动方法是在预处理阶段向滤除过的音频添加高频。我们创建高频正弦波并将其添加到真实音频中(图2d)。如果正弦波有足够的强度,则它有可能在人耳中将基础音频命令掩盖。由于人类的耳朵对高频很敏感,因此产生的声音听起来可能会很痛苦。这背后的心理声学推理将在第七节进一步讨论。

    4)时间尺度(TS):说话人和语音识别模型需要考虑人类说话的速度。相对于语速较慢的单词,人类更难理解语速较快的单词。在第四种也是最后一种扰动中,我们可以将语音命令加速到仍能够正确转录的一个程度。我们通过丢弃不必要的采样(samples)并保持相同的采样速率来在时域内压缩音频。 因此,音频的时间更短,但保留了与原始音频相同的频谱。

    我们生成一组包含相同语音命令,但音频速度不同的音频文件(图2e)。然后,我们对我们观察到的所有语音识别模型运行这些文件,并记录能正确转录的最高速文件。虽然单独应用这种扰动可能不会完全阻碍人类理解原始语音命令的能力,但是将其与其他扰动结合使用会使解释音频变得困难。

    D. 攻击音频生成

    本节详细介绍了如何使用扰动引擎(PE)生成攻击音频,如图3所示。PE适用于任何给定黑盒假设的模型。

    1)一般(or通用)攻击方法:攻击音频生成包括以下步骤:参数选择、攻击音频生成、模型推断和音频选择。图3显示了该部分的概述。

    首先,攻击者选择用来扰乱音频的参数:音频速度、高频强度和窗口大小(对于TDI和RPG)。攻击者不知道哪些参数会给出VPS仍然能够接受的最失真的攻击音频。PE根据输入参数对音频进行失真。

    其次,攻击者将这些参数连同正常音频一起提供给PE。PE生成攻击音频样本,使用上一节中描述的扰动方法用每个参数集对音频的整个长度进行扰动。对于每一组参数,PE将生成一个音频样本。TDI和RPG扰动方案将窗口大小作为输入。HFA扰动方案将把想要添加到音频信号中的频率作为输入。TS扰动方案将增加速度的百分比作为输入。

    PE将使用指定的输入参数值应用这些方案,为每组参数生成唯一的攻击音频。使用我们的PE生成单独的攻击音频样本只需要几分之一秒。

    第三,通过查询将攻击音频样本传递到目标VPS。VPS不会接受所有的攻击音频样本,因为有些可能被扭曲得无法识别。在失真程度和模型转录之间存在一种平衡。如果音频失真很高,VPS可能不会接受或错误地转录音频。另一方面,失真过小会增加人类观察者的音频解译能力。

    2)改进的攻击方法:VPS比人能更好地识别一些单词。有时,这个属性被有意地内置到模型中。例如,家庭助理被专门训练,从而对激活短语敏感。因此,某些单词可能比其他单词降级(degraded)更多,仍然可以被VPS识别。

    攻击者可以通过对每个单词而不是整个句子以更细的粒度运行PE,来利用这种模型对特定单词和短语的偏见(bias)。例如,不是扰乱整个短语“pay money”,而是对“pay”和“money”这两个词单独扰动,如图4所示。接下来,将每个单词的扰动音频样本连接起来,以创建所有可能的组合,从而生成一组更大的攻击音频样本。

    E. Over-the-Line and Over-the-Air

    我们定义了两种情景来测试对模型的扰动攻击:Over-the-Line和Over-the-Air。在Over-the-Line攻击中,攻击音频以.wav文件直接传递给模型。相反,Over-the-air攻击要求攻击者通过扬声器向目标VPS播放攻击音频。通过Over-the-line攻击成功的攻击音频不一定也会在Over-the-air攻击中成功。因为声学硬件的频率响应、静态干扰和环境噪声等自然因素的影响,通过扬声器播放攻击音频会降低攻击音频的细微扰动。对于实际的攻击,攻击音频应该抵抗这些因素。

    这种限制在针对VPS的所有最先进的攻击中都很明显。虽然Carlini等人的[24]攻击音频不能在除攻击生成过程中使用的扬声器之外的任何扬声器系统上使用,但是Yuan等人[72]的攻击方法假设知道并访问攻击扬声器和受害者的声学硬件。虽然这两种情况都是现实世界中强有力的威胁模型,但我们的攻击没有这样的限制,正如我们将要证明的那样。

    F. 模型(model)

    我们提出的攻击针对的是公开可用的VPS实施中的最新技术。我们测试了对表I中列出的VPS的攻击。我们的选择囊括了各种已知的体系结构,黑盒API和特征提取技术。我们简要概述了这些VPS所处的不同类别以及选择它们的原因。请注意,尽管某些系统的体系结构是已知的,但是只使用声学特性来构造攻击音频,而不是使用有关底层模型的任何可用信息。

    1)传统模型:我们以卡尔迪的隐马尔可夫模型-高斯混合模型(HMM-GMM)组合作为传统语音转录模型的一个示例。Kaldi以其开源性、合理的性能和灵活的配置而闻名。HMM是一种多状态统计模型,可以作为语音转录环境下的时态模型。HMM中的每个状态都拥有一个惟一的GMM,它将基于MFCC的特征作为输入,并在其他音素的上下文中对音素进行建模。HMM可以描述语音和文本之间的转换,并可以解释不同的时间音素信息簇,从而产生语音和文本之间的对齐。基于HMM的方法是相关的,因为现代架构模仿它们的多状态行为。我们参考[60]作为隐马尔可夫模型的一般入门。

    2)现代模型:最近,语音识别和转录任务已经开始采用深度神经网络(DNNs)和递归神经网络(RNNs)的某些组合。这些架构因其在复杂自动化任务中的性能和灵活性而广受欢迎。神经网络由夹在输入层和输出层之间的一个或多个有状态神经元的隐藏层组成。层连接在一起,并作为后续层的输入,以便根据特定的输入激活连接。DNN是具有更多隐藏层和精心设计的深层结构的神经网络。卷积神经网络(CNNs)是一种流行的神经网络结构,它们具有良好的图像分类性能,这得益于它们能够利用卷积滤波器自动进行特征提取。RNNs与DNNs略有不同,可以被认为是一个独立的神经网络链,一个神经网络的隐层会连接到后续网络的隐层。然而,基本的RNN容易出现梯度[56]消失或爆炸的问题。因此,RNN通常用特殊的神经元激活功能实现,例如长期短期记忆(LSTM)或门控递归单位(GRU)。在这两种情况下,RNN的输入和输出都可以形成序列,这使它们成为许多序列任务的理想选择。这些包括语言建模和音频转录,它们是现代ASRs的关键组成部分。

    所选择的神经网络模型在特征提取方面存在差异。Kaldi-DNN和Intel Neon DeepSpeech使用基于MFCC的特征作为模型的输入。直到最近,基于MFCC的特征一直是VPS相关任务中最强大的特征提取技术。然而,DeepSpeech-style模型依赖于一种称为端到端学习的方法。该系统采用神经网络模型进行特征提取和推理。对于Mozilla DeepSpeech,RNN被训练成将原始的音频频谱图转换成文字。端到端音频转录模型的目标是学习一个比传统的基于MFCC的编码更高效的新特征空间。该特征空间用作模型RNN的输入,RNN根据编码数据进行推理。在解码阶段,可使用可选语言模型来提高转录性能。因此,在系统的两端使用神经网络。在实践中,该系统展示了最先进的语音转录测量结果,可与复杂的HMM-GMM方法相媲美。

    3)在线API:我们验证针对几个Internet托管模型的攻击。这些模型的架构尚不清楚,但由于它们的流行和广泛使用,我们假定它们接近最先进水平。在这些模型中,有两个专门用于对说话人进行分类:Azure Attestation API用于在一些已知组中对说话人进行分类,而Azure Verification API用于根据用户的声音执行认证。所有其他模型都是为语音转录任务而设计的。

    五. 实验装置(EXPERIMENTAL SETUP)

    A. 短语选择(Phrase Selection)

    实验所用短语的完整列表如表II所示。对于说话人识别模型的攻击,我们选择短语A、B、C和D。短语A、B和C是来自TIMIT数据集[31]的语音平衡句子(phonetically balanced sentences)。短语E、F、G和H是用于攻击ASRs的命令短语。这些都是对手可能想要使用的命令。由于这些短语无法由Intel DeepSpeech模型解释,我们将它们替换为短语I、J、K和L。这些附加的短语是从LibriSpeech数据集中收集的,该模型是在[54]上已训练的。我们没有包含任何激活短语,例如“Ok Google”,因为每个主要的VPS都经过调整以检测自己的激活短语。这意味着我们可能会比其他人能更扰乱激活短语,从而导致有偏见的(biased)结果。

    B. 语音转录(Speech Transcription)

    我们针对表I中所示的10个ASR(其余2个是说话人识别系统)测试了我们的音频扰动攻击方法。如果我们的假设是正确的,那么无论底层的模型类型或特征提取算法如何,攻击音频都应该对任何ASR有效。

    我们对包括7个专有模型(如Google Speech API,Bing Speech API,IBM Speech API,Azure API等)的[13]运行了一般(or通用)攻击方法(在IV-D1节中进行了描述)。这些模型是在线托管的,只能查询有限的次数。我们对本地托管的模型运行了改进的攻击方法(在IV-D2小节中描述),可以无限制地查询这些模型。

    1)Over-the-Line:对于每个短语,我们使用不同的扰动参数生成多个攻击音频样本。然后以.wav文件将它们传递给模型进行转录。然后,根据我们在第七节描述的标准,我们选择了一个听起来最差的音频作为最终的攻击音频。对每个模型重复这些步骤。在这个过程的最后,对于这10个模型中的每一个,对于表I中引用的每个短语,我们都有一个对应的攻击音频文件。

    2)Over-the-Air:如IV-E节所述,我们在Over-the-Air运行攻击音频样本。在10个ASR中,我们测试了7个(online的)。 将一个Audioengine A5扬声器[2]放在会议室桌子上播放攻击音频。将Behringer麦克风[5]放置在一英尺远处以模拟ASR设备。然后将录制的音频以.wav文件形式传递给ASR进行转录。对于每个模型,我们播放了四个攻击音频样本,每个短语一个。但是对Mozilla DeepSpeech模型,通过播放了15个随机采样的攻击音频文件,进行了广泛测试。这样做是为了确定具有较大窗口尺寸的PE生成的音频样本是否仍然在Over-the-Air工作。这是作为一个基线测试,以确保攻击算法不会固有地降低音频质量,使得攻击音频在空中播放后不再有效。

    为了证明攻击是独立于声学硬件的,我们对Google Client Speech API重复了Over-the-Air实验。此外,我们使用白噪声发生器在背景中播放55dB降低了声学环境。我们用iMac替换了之前的扬声器,用Motorola Nexus 6替换了之前的麦克风。实验是在一个小隔间里进行的。这个实验装置代表了攻击者在现实世界中所面临的苛刻但逼真的声学条件。

    C. 说话人验证(Speaker Verification and Attestation)

    家庭助理系统已经开始引入语音生物识别技术来验证用户,以防止VPS接收未经授权的个体发出的音频命令。根据真实用户的语音蓝图(blueprint)检查每个音频命令,以便在执行之前对其进行身份验证。这种基本的生物识别认证对最先进的音频模糊(obfuscation)攻击构成了无法克服的障碍。但是,我们的模糊技术旨在保留必要的语音信息以通过身份验证测试。为了验证这个假设,我们对两个说话人识别系统进行了音频模糊攻击。我们特别攻击了Azure Identification/Attestation (SA)模型和Azure Verification (SV)模型。

    训练SA模型以识别多个说话者的声音。例如,在训练期间,模型学习识别Alice和Bob的声音。在测试期间,模型推断出测试音频样本属于哪个说话者。此外,SA与文本无关。这意味着音频样本可以包含说话者朗读任何文本的语音记录。

    相反,SV模型被训练以识别单个说话者(即,仅Bob)。在测试期间,模型决定测试音频是否属于Bob。与SA不同,SV依赖于文本,因为测试音频必须包含说话者所读的模型要求的短语。模型首先检查音频是否转录为请求的短语。只有这样,它才会检查语音蓝图是否与Bob的匹配。

    为了攻击SA模型,我们首先使用TIMIT数据集中的短语训练Azure Identification模型。我们根据八名男性和八名女性说话者的声音训练模型。随机选择了三名男性和三名女性作为攻击对象。对于每个说话者,我们使用一般攻击方法(在IV-D1节中描述)运行扰动方案,生成10个.wav攻击音频样本。

    为了攻击SV模型,我们训练了Azure Verification模型。由于SV模型依赖于文本,而TIMIT数据集不包含Azure SV模型请求的任何短语,所以不能用该数据集。我们收集了三男和三女的音频数据。我们录制了每个人对于每个短语的四个音频样本:三个样本用于训练模型,一个样本用于测试。在训练模型后,我们检查了测试音频是否正确验证。然后使用一般攻击方法对测试音频进行扰动,并将其以.wav文件传递给身份验证模型。我们对所有六名参与者分别重复了这些步骤。

    六. 实验结果(EXPERIMENTAL RESULTS)

    扰动引擎将一组参数和音频样本作为输入。然后根据IV-C节中概述的技术生成攻击音频样本。为了证明其有效性,我们首先测试了Over-the-Line攻击,方法是将攻击音频以.wav文件传递到VPS,并通过一个普通扬声器播放音频来进行 Over-the-Air攻击。

    A. Over-the-Line

    1)ASR模型:我们测试我们对ASR模型的攻击。如前所述,扰动引入了声学 artifacts,使得原始消息难以被人类理解。然而,攻击音频在传递到ASR时仍必须正确转录

    我们对表I中所列的10个ASR进行了攻击。如果ASR正确地转录了整个短语,那么攻击就成功了。转录中的小拼写错误被忽略了。在每种情况下,花费几分钟时间找到ASR正确转录的第一个攻击音频。对于每个模型,我们都能够生成ASR正确识别的一个音频样本,如表II所示,尽管没有关于ASR的底层模型或预处理步骤的信息。我们总共生成了大约20,000个正确转录的攻击音频样本。按照设计,现代的ASRs很容易受到重放(replay)攻击。一旦攻击者生成了一个有效的攻击音频,他们就可以重复使用它来攻击多个使用相同ASR的受害者。

    几乎所有的ASR使用的技术都属于我们在表I中讨论的范畴。我们攻击各种ASR,并且所有ASR对人类语音做出类似的假设。这就是为什么我们有理由假定我们的攻击对其他先进的ASRs是有效的,无论其潜在的机制如何。

    2)说话人识别模型:表I显示了对说话人识别模型的攻击结果。 对于该实验,如果识别模型将攻击音频分类为原始说话者的攻击音频,则攻击成功。在所有情况下,模型都做出了正确的分类。说话人模型不会返回有关音频成功的任何信息,只返回分类结果。这意味着攻击者无法依靠任何信息来改进攻击。 因此,像我们提出的那样,离线扰动方案是优选的。

    B. Over-the-Air

                

     

    除了易于生成之外,攻击音频必须在通过Over-the-Air播放后被VPS正确转录。为了对10个ASR中随机抽样的七个ASR进行测试,我们使用上一节中的相同音频。图5显示了攻击的一个示例。如果模型完全转录了所需的短语,则攻击就是成功的。如果ASR错误地转录了一个或多个单词,则攻击不成功。例如,如果短语“turn on the computer”中的单词“turn”没有被转录,那么攻击就是失败的。这是一种保守的方法,因为攻击者可以通过使用上一节中创建的20,000个其他攻击音频样本来克服这个问题。

    对于Over-the-air测试,我们使用了Over-the-Line实验期间生成的攻击音频样本。对于表II中的四个短语E-H中的每一个,我们选择了一个最失真的音频样本。用于生成音频样本的攻击参数如表III所示。我们使用TDI方法,因为这种方法产生了最可听见(audible)的失真。对于Kaldi-DNN,除了TDI,我们还进行了TS。表III显示了TDI的最小窗口大小。任何大于此的窗口大小都会导致Over-the-Air攻击成功。类似地,任何小于使用表III的TS因子都会导致成功的Over-the-Air攻击。

                               

    如表III所示,几乎所有短语都成功转录。这是预期的,因为攻击的设计保留了最先进的扬声器模型认为最重要的声学特性。像Wit.aiyi这种情况,在Over-the-Air中精度微小下降,可归因于环境因素(例如背景噪音等)。

    Kaldi-DNN是唯一未成功转录任何初始Over-the-Air攻击音频样本的模型。通过进一步的研究,我们发现Kaldi-DNN模型是使用Fisher English Dataset[27]进行训练的。我们认为音频训练数据没有包含足够的噪声音频。因此,当我们引入自己的音频制品时,攻击就失败了。然而,当选择不同的扰动较小、以较大窗口作为PE输入生成的攻击音频样本时,我们可以证明模型正确地转录了它们。攻击音频转录失败并不意味着该模型不受我们提出的扰动攻击的影响。更有可能的是,该模型在嘈杂环境下的效率更低。

    C. General Insights

    我们的初步结果揭示了攻击者可以用来减少攻击生成时间的参数值的见解。 因此,我们已经证明了我们对VPS持有的假设。

    实验结果表明,扰动参数,特别是窗口大小(用于TDI和RPG),显示出三个重要的性质。首先,窗口尺寸越小,声音失真越大。其次,如果攻击音频以某个窗口大小成功转录,那么所有以更大窗口大小生成的攻击音频样本也会被成功转录。第三,没有攻击音频样本生成的窗口大小低于1.00 ms的是正确转录的。这个参数创建了最大失真的近似上界。使用更小的窗口大小参数生成的攻击音频文件未被表I中的任何VPS正确地转录。当将扰动参数传递给PE时,攻击者可以通过将窗口大小初始设置为1.00ms,然后逐渐增加窗口大小,直到他们获得成功转录的第一个攻击音频。

    另外,音频样本在失真超过VPS识别范围之前只能被扰动到某个阈值。 使用较大窗口大小生成的攻击音频样本可以加速最多。如果攻击者通过单个参数的最低界限(例如,1.00ms的窗口大小)扰乱音频,则使用诸如速度之类的附加扰动参数将降低VPS可识别音频的可能性。攻击者可以选择不同的参数设置,来调整用于受害者和特定攻击场景的攻击音频,以最大限度地提高攻击效果。在我们的初步实验中,我们观察到的TS因子为150%,RPG或TDI窗口大小接近1.00 ms,频率高于8000Hz的正弦波HFA产生了理想的攻击音频。

    正如IV-D2节所述,PE可用于为单个短语生成大量攻击音频样本。每个音频样本都有不同程度的声音失真。然而,挑选一个最差的攻击样本并不简单,因为没有任何广泛接受的度量标准来衡量感知到的音频失真程度。在我们的例子中,我们确定了扰动参数和音频失真之间的关系。对于TDI和RPG,较小的窗口大小对应于较大的失真,也就意味着较差的音频。对于HFA和TS,较大的值对应较差的声音。这些标准使我们能够将之前生成的20,000个攻击音频样本的空间缩小到不到10个。此时,攻击者可以手动侦听这十个样本,并选择听起来最差的一个。

    在生成模型能够解释的攻击样本时,一些扰动比其他扰动更成功。在我们测试的扰动中,RPG不如TDI成功。RPG要求我们采用音频的FFT,然后进行逆FFT。当我们将模型视为黑盒时,我们不知道模型采用的FFT算法的类型或参数(buckets的数量)。相反,当使用TDI时,所有的扰动都发生在时域。在此扰动期间,音频不会通过类似FFT的函数进行转换,尽管RPG确实工作过很多次。有了该模型的其他信息,我们认为RPG机制可以被精确地调整;然而,我们的方法证明了黑盒知识足以成功攻击。

    此外,TDI扰动不要求不连续点与特征提取算法的时间帧一致。扰动方案对黑盒模型成功的事实支持了这一假设。在这些模型中,我们没有关于时间帧不连续点的任何信息。

    当攻击一个在线模型时,攻击者会受到查询数量(次数)的限制。这可能是由于每个查询的相关成本,也可能是由于被检测的威胁。这就是为什么攻击者要以尽可能少的查询生成攻击音频的重要性。我们的攻击算法符合这点。对手可以使用RPG或TDI方法,从窗口大小为1.00ms开始,增量为0.50ms,生成10个攻击音频样本。我们观察到,几乎总是至少有一个生成的音频样本能被VPS正确解释。 在我们的案例中,我们能够在对模型不到10个查询中,成功找到适用于专有模型的攻击音频。

    本文从受攻击模型的数量和种类两方面对攻击进行了最大的评价。我们的模型列表超过了对抗性音频领域中任何其他已发表的作品的数量级。然而,由于ML的不断发展,新的模型将不断发布。对现有的、公开可用的最先进模型的有效性,证明了我们的攻击具有足够的泛化性。这种攻击是“通用的”,因为对于任何模型的攻击,它只针对特征提取阶段。直观地说,未来的模型将来自于公共领域中可用的相同特征提取技术。另外一个障碍是选择合理数量的短语进行测试。由于ASRs通常要训练大量的数据,对每个短语进行实验是很难的。 相反,我们构建了一个反映各种实际用例的短语列表。

    七. 讨论

               

    图6:该图显示了包含语音的音频文件的STFT、Carlini对音频文件的扰动、我们对音频文件的扰动和白噪声。较浅的颜色表示在给定的频率和时间内较高的强度。我们可以看到Carlini的扰动音频在较低频率下具有较高的强度,而我们的扰动音频在较高频率下具有较高的强度。

    A. Improvements on Previous Work

    由于心理声学原理,我们的音频扰动方法使得人类难以解释攻击音频样本。Carlini等人提出了一种与我们目标相似的方法;然而,他们的工作给音频增加背景噪音。由于相比于扰动,人类能够更好地从噪声中恢复(理解)语音,因此我们生成的语音命令相对来说更难被人类理解。我们在数量上和质量上都加强了这一主张。

    高频:图6显示了原始音频样本的短时傅里叶变换(STFT)、白噪声以及我们的和Carlin的对该原始音频样本的攻击。STFT图提供了有关每个音频样本随时间变化的频率强度的信息。强度越高,颜色越浅。通过观察这些图,我们可以看到Carlini等人制作的音频在低频段比在高频段有更强的强度。相比之下,我们的攻击音频在整个频谱中具有较高的强度。

    人类感知声音的响度是对数级的[30],并且更高的频率被认为更响亮15]。这种感知相对音量的增加将导致听者更专注于高频分量,而忽略通常与语音相关的低频分量。增加音量也可能导致导致听者的疼痛难受[43]。如果为了在舒适的水平上听到较高的频率而降低音频的音量,较低的频率就会变得更难听到。

    由于Cocktail Party Effect[26],[33],[22],我们的攻击音频中加入更高的频率也降低了可懂度。这种心理声学现象使我们能够专注于对话而忽略其他对话和背景噪音。通过类似的选择性注意概念[57],人类更有可能正确地解释他们更熟悉的语言(比如友好的声音)。这些熟悉的刺激可以使听者将注意力转移到解释其他语音上。

    虽然通常被认为是人类听觉的强大品质,但我们的攻击音频利用了这些原则。我们的攻击中占主导地位的高频是在典型的人类语音范围中[43]。当被人类听到时,我们的攻击音频很可能被认为是背景噪音,因而被忽略。此外,将音频视为不重要的背景噪声将减少语音成为熟悉的刺激并引起听者注意的机会。利用这些心理声学原理,高频将在VPS的预处理阶段被过滤掉,并且仍会正确转录。

    噪声:虽然添加噪声似乎是一种合理的增加音频不可理解度的方法,但心理声学的研究已经证明了语音在有噪声存在时的鲁棒性[29]。当在正常语音中添加噪声时,语音的听觉特性突出于增加的噪声之上,从而确保了可理解性。如果在语音中加入足够多的噪声,解释就会变得更加困难,因为原始的语音会被大量的噪声所抑制。将在语音中添加噪声作为一种干扰方法,对于使人类更难理解音频几乎没有什么好处。此外,由于攻击音频中添加了额外的噪声,反而抑制了语音,使VPS也很难准确地转录音频。

    为了评估他们的攻击音频可理解度,Carlini等人使用了Amazon Mechanical Turk[1],让参与者听取他们的攻击音频,并尝试转录它们。虽然这似乎是一种合适的评估方法,但这带来了许多可能对结果产生重大影响的不可控变量。使用Amazon Turk的问题在于,该实验不是在本地(local)进行的,导致了许多无法控制的变量,可能会影响参与者录制攻击音频的能力。这些变量包括但不限于年龄[57]、[53]、第一语言[59]、听力范围[43]、听力环境、音频设备和视觉刺激[64]。

    量化言语的可理解度是具有挑战性的[66],但这些调查结果包含太多无法控制的变量,无法做出准确的结论。目前还没有一个被广泛接受的度量标准来度量音频样本的不清晰度。在以前的工作中,L2范式被用于量化在攻击图像分类器时对抗性图像的失真,这在第8节中讨论。然而,使用L2范式来测量攻击音频失真是不正确的。这是因为我们把声音的不可理解度建立在心理声学和人类听觉生物学原理的基础上,这与与图像分类相关的因素有着本质和根本的不同。我们已经在网上向公众提供了我们的攻击音频Carlini等人也将他们的音频放到网上,我们鼓励读者将其作为对比。

    进行小规模研究,而不是使用其他科学界的既定结果,是多余的,且容易出错;实际上,我们只是在报道轶事。相反,我们通过引用心理声学中被广泛接受的已发表的作品来证实我们的结果,这些工作表明,我们的音频具有使其难以理解的特性。如图6所示,与之前的工作相比,我们的音频更好地展示了与不可理解度相关的特性。

    实际的局限性:Carlini的攻击只有在攻击者拥有受害者模型的白盒知识的假设下才有可能。该攻击只能针对HMM-GMM ASRs进行,这意味着该攻击不足以对抗目前正在日益部署的最先进的DNN和RNN模型。该攻击也没有显示出对说话人识别模型有效。Carlini的攻击音频不能与除攻击音频生成期间使用的扬声器系统之外的任何扬声器系统一起使用。最后,他们的白盒攻击需要超过32小时来生成。这些额外因素严重限制了攻击者的能力。相比之下,我们的攻击是黑盒的,模型无关的,对ASRs和说话人识别模型都有效,可以跨扬声器系统传输,生成过程只需几秒钟。我们的攻击算法为攻击者提供了更强大的能力,同时减少了对受害者模型的假设。最后,我们的工作利用人类音频感知的基本特性来生成攻击样本。我们的扰动在时域中使用简单的操作,而不使用任何复杂的算法。相比之下,Carlini的工作试图将噪声添加到存在于频域中的MFCC。这两种攻击利用的域本质上是不同的,这影响了Carlini攻击的有效性。

    B. Defenses

    语音活动检测(VAD)是一种常用的语音处理算法,用于检测音频样本中人类语音的存在。它在蜂窝通信(cellular communications)[50]、IP语音(VoIP)[38]和VPS中都有应用[62]。VAD区分人类语音区域和静音区域或噪声区域。通过识别静音和噪声,可以从音频中消除这些区域。这包括单词之间的噪声和静音区域,将传输的音频减少到构成整个录音的单词。这对于VPS尤其有用,因为在预处理中使用VAD可以只给模型提供必要的语音数据,从而潜在地降低处理成本并改善转录结果。

    基于此描述,VAD可能被认为是针对我们在本文中提出的攻击的一种潜在防御手段。如果VPS使用VAD,这将导致攻击音频被归类为噪声,不能进一步处理。我们将证明,情况并非如此。

    为了测试这种潜在的防御机制,我们对随机选择的36个攻击音频文件运行了VAD算法。我们对音频文件进行ITU-T G.729 VAD算法的MATLAB实现,观察哪些区域被划分为语音。在所有36种情况下,VAD算法都能准确定位音频中的语音。

    此外,我们还对Carlini等人生成的两个攻击音频文件运行了VAD算法。对于这两个文件,几乎所有的音频,包括由纯噪声组成的单词之间的部分,都被确定为语音。我们认为这是由于增加的噪声抑制了语音,从而“模糊”了语音和噪声之间的界限。虽然这不能阻止他们的攻击音频被提供给VPS,但这确实增加了音频不能被正确转录的可能性。被认为是语音的噪声,尤其是单词之间的噪声,会随着实际的语音一起发出。这增加了部分或全部语音被误译的可能性,从而防止了攻击。

    随着越来越多的系统开始部署VAD以减少处理时间和服务器负载,Carlini等人生成的攻击音频可能无法继续被正确转录。同时,无论系统是否使用VAD进行预处理,我们的攻击音频都将继续工作,因为我们没有引入额外的噪音

    分类器训练: 先前已经提出了训练分类器模型以检测对VPS的对抗性攻击的防御方法[24]。我们认为这项技术不切实际且脆弱的。机器学习模型是不完美的,无论他们的训练或任务。添加一个模型来预先确定音频是否是恶意的,很可能会导致可用性问题。由于模型中的缺陷,合法的语音命令可能被错误地归类为恶意命令并被忽略。这将降低用户体验的质量,并可能导致用户寻找替代的VPS系统。

    修改VPS: 另一个潜在的防御机制是修改VPS的构造以阻止我们的攻击。这可以包括改变或删除信号处理或预处理步骤。然而,裁剪VPS以不检测或丢弃攻击音频并不是一个可行的解决方案。这将导致VPS的准确性下降。此外,我们已经证明了我们的攻击音频对Mozilla DeepSpeech的有效性,Mozilla DeepSpeech不使用任何预定义的信号处理。由于我们的扰动根植于心理声学,为了阻止我们的攻击,必须在预处理步骤或其之前设置防御机制。

    最近提出了这样一种系统[21],可能会对我们的攻击成功产生影响。该系统背后的想法是由电声换能器(扬声器)产生的音频将在亚低音区域(20-60HZ)中包含低频。这低于大多数人的讲话范围,是一个很好的指标,说明讲话是由扬声器播放的。如果这是在预处理过程中实现的,这可以识别出我们的攻击是由非人类说话者造成的,并阻止其被提供给VPS。同样地,使用活性检测的ASRs[74][75]对我们的攻击也将是相当健壮的。然而,使用这种防御来识别恶意命令可能会产生误报,从而降低用户体验和产品的受欢迎程度。

    C. Limitations

    在噪声环境中使用攻击音频会降低其效率。这是因为噪声干扰了攻击音频,使VPSs难以解释。然而,合法的命令在嘈杂的环境中也不能很好地工作。试图在嘈杂环境中使用语音助手的读者可能经历过这种声音退化的感觉。

    八. 相关工作

    从个人助理系统到说话人识别和调查,机器学习(ML)正日益融入我们的日常生活。不幸的是,ML模型天生容易受到各种攻击。 早期研究的重点是加强攻击者能够中毒训练数据(例如,垃圾邮件和蠕虫检测)的场景的训练时间弹性[28],[49]。这些早期的工作展示了攻击向量,后来被形式化为三个轴:1)攻击者的影响(因果性、训练时间攻击vs探索性攻击、测试时间攻击)、2)违反安全的类型(完整性vs拒绝服务)、3)攻击的特异性(针对性vs滥杀滥伤)[20]、[19]。Huang等人提供了每个轴的详细概述[39]。尽管所有的轴都为攻击者提供了实用性,但最近的攻击集中在这些轴的一小部分。

    在这种分类之后,对抗性机器学习中的大部分工作都集中在对图像分类器的可用性和完整性进行有针对性的探索性攻击。这些攻击包括改变特定的像素[40]、[68]、[34]、[18]、[67]、[48]或像素块[23]、[63]、[55]、[25],以及创建全新的图像,以将其分类到选定的目标中[51]、[44]。虽然这些攻击对图像模型非常成功,但它们不足以攻击音频模型。现代图像模型直接对所提供的图像像素进行操作,得到相关的空间特征[55]、[51]。与此相反,音频模型并不对单个样本进行操作,而是使用人类声音的声学特性来表示原始的时间空间。这一层时间特征提取为潜在的攻击增加了一层复杂性,这意味着对单个样本的微小更改可能永远不会传播到用于推理的最终特征空间。

    目前针对音频模型的攻击可以分为三类。第一种方法是生成恶意的音频命令,这些命令对人的耳朵来说是完全听不见的,但是可以被音频模型识别出来[73]。第二种是将恶意命令嵌入到合法音频中(如歌曲)[72]。第三种方法模糊了一个音频命令,以至于偶尔听到的人类观察者会认为该音频仅仅是噪音,但受害者的音频模型[24]会正确地解释该音频命令[70]。我们的工作属于第三类,最接近我们的攻击是Carlini等人的[24]。由于以下原因,早期工作的成功受到限制:1)攻击只能针对隐马尔可夫模型-高斯混合模型体系结构;ii)攻击假设攻击者具有对模型的白盒访问权限;(三)攻击速度缓慢,执行至少32小时。我们的攻击旨在克服这些限制。

    九. 结论

    安全社区最近在支持多个VPS的特定机器学习模型中发现了许多弱点。这些弱点允许攻击者注入人类无法理解,但仍然可以通过VPS正确转录的命令。虽然先前的攻击对使用特定扬声器和麦克风的特定模型有效,但它们并不是独立于声学硬件或广泛实用的。本文不是攻击底层机器学习模型,而是基于信号处理算法生成的特征向量生成攻击音频。通过这种黑盒方法,我们通过实验证明,对于Over-the-Wire和Over-the-Air,我们的技术可以用于各种各样的语音检测和说话人识别系统。此外,由于我们把心理声学作为我们设计的一个主要元素,我们能够解释为什么我们的攻击比以前的工作更难以理解。在这样做的过程中,我们不仅认为隐藏的命令攻击是切实可行的,而且确保此类系统的安全,必须考虑到更多的音频处理领域知识。

     

     

    展开全文
  • voice box说明书

    2016-02-01 23:02:28
    自己翻译的 还有很多没有翻译出来 大师大部分能看明白了
  • Deep Voice 3 引入了全卷积序列到序列式模型来进行语音合成,这种新架构在语音训练速度上有了数量级的提升,经过800 多个小时的语音数据学习,它可以合成 2400 多钟不同的语音结果。Deep Voice 3的意义在于探索语音...
  • 在此示例中,我们构建了一个应用程序,该应用程序允许某人将他们想要翻译的文本放入该应用程序中,然后该应用程序将翻译结果转换为语音以供用户播放。 入门 React设置 克隆项目 git clone ...
  • 给定原始源y1ty2t的输出预测y 1ty 2t(或y〜1ty〜2t),我们通过最小化平方误差广义Kullback-Leibler(KL)发散标准来探索优化神经网络参数, 如下: 当Pi Ai = Pi Bi = 1时,D(·k·)减小到KL发散...
  • 论文翻译——Dangerous Skills: Understanding and Mitigating Security Risks of Voice-Controlled Third-Party Functions on Virtual Personal Assistant Systems 0-abstract 虚拟个人助理(VPA)(例如,...
  • Alexa Voice Service 概述

    千次阅读 2018-01-07 17:10:28
    Alexa语音服务允许开发者通过麦克风扬声器为连接的产品提供语音功能.一旦集成,你的产品将有权访问Alexa内置功能(如音乐播放、定时器闹钟、快递追踪、电影列表、日历管理等)以及使用Alexa技能工具包开发的第三方...
  • Voice Translator

    2009-10-23 09:42:25
    但是用了Speereo Voice Translator,你可以忘却语言地域的烦恼!这就是Speereo Voice Translator能为你做的。  当你用11种语言(英语、德语、土耳其语、俄语、意大利语、葡萄牙语、法语、西班牙语、日语、华语...
  • Voice Conversion using Convolutional Neural Networks[J]. 2016.) 摘要:除了音调外,音色是识别说话人的关键,但我们对此了解不多。在这篇论文我们利用神经网络来变换说话人声音。(不仅转换说话人音调,还包括...
  • evernote-语音-文本 尝试为 Angular-Evernote 构建 Ionic 应用程序 - 进行中 最终,这个项目将把 Angular-Evernote 项目翻译成 Ionic。
  • 本地化:选择应翻译的内容类型 随机化:添加语音应用随机选择的内容变体 Jovo插件:将CMS内容与使用Jovo Framework构建的应用程序集成 该存储库包含以下元素: api :用于处理数据库调用结构化数据的API。内置...
  • 语音翻译+Voice+Translator+v1.1+已付费完整版+支持中文翻译
  • 阅朗微软官方文档并作出简要记录: ... 个人学习记录,有错误欢迎指出。 HoloLens的六个基本概念之四 Voice : 语音 : https://developer.microsoft.com/zh-cn/windows/
  • (4)对于小数据(5-30min),使用新的数据增广方式 Backtranslation: 机器翻译中使用的,只有单语种的训练数据, 通过当前的AMT(自动机器翻译)将语言A通过机器翻译成另外一种语言B, 那么(b, a)就是将语言B反向...
  • 主要介绍了百度语音识别(Baidu Voice) Android studio版本详解的相关资料,需要的朋友可以参考下
  • 近日,Mozilla发布了当前可使用的,规模最大的公共语音数据集Common Voice,数据集涵盖18种语言,由42000多名贡献者提供的近1400小时的语音数据构成。...
  • 即使这项技术已经为人所知,离开当前页面只是为了去谷歌翻译,写文本,说话然后回到你所在的页面,需要一些时间,有时可能会带来压力。 那么为什么不把它变成一个直接的资源呢? 这个插件允许当你的屏幕被共享时...
  • 感谢多位读者的投递。 从2010年6月1日起,就不断有国外用户发现Google Voice已经停掉了...以下是在 Google Voice help forum 找到的有关 Google Voice 停掉国际短信的官方解释(点击此处看原文): All, Inter...
  • 语音业务视频业务一样,在WB宽带通信之后还有SWB(超宽带)FWB(全宽带通信),这种对语音编码技术进行进一步演进的语音编码技术我们叫EVS EVS增强语音语服务是继AMR-WB高清语音编码技术后对通话编码技术...
  • 文章目录图片文字识别翻译——Python+百度AI+百度翻译+有道翻译一、演示二、 API准备三、 图片文字识别——调用百度AI文字识别API四、 文字翻译1. 百度翻译请求解析返回数据2. 有道翻译(与百度翻译类似)请求解析返回...
  • 《An Overview of Voice Conversion and Its Challenges: From Statistical Modeling to Deep Learning》论文学习 文章目录《An Overview of Voice Conversion and Its Challenges: From Statistical Modeling to ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 7,104
精华内容 2,841
关键字:

和voice的翻译