CommanderSong: A Systematic Approach for Practical Adversarial Voice Recognition
作者:Xuejing Yuan等。
输入:
训练:
将这两个输入分别放入到语音识别模型中去跑。
训练输出:
原始歌曲音频
这里我们假设特征提取过程中提取了n个帧,现有k个pdf-id,
那个我们得到的DNN输出的矩阵A中的某个元素Ai,j,表示第i个帧是第j个pdf-id 的概率。
令
则mi表示第i个帧概率最大的pdf-id,
m就是原始歌曲音频代表的pdf-id序列。为了方便起见,用g(.)代表给定原始音频输入,给出其对应的最有可能的pdf-id序列的函数,那么上述就可以表示为,
目标命令音频
相应的,目标命令最有可能的pdf-id序列也可以由如下表示
优化:
我们要做的工作就是通过对原始歌曲音频添加一定的扰动,使其模型的训练输出m和目标命令的训练输出b之间的距离最小化。
那么问题来了,我们用什么来衡量m和b之间的距离呢?
本文中,作者用L1距离来进行衡量。
目标函数:
约束条件:
接下来,我们就用梯度下降算法循环得减少目标函数的值,直到趋向于一个稳定的状态,这样得到的x'(t),就可以被解码为想要的命令。
改进:
减少了b中的重复帧,不过没看懂
该部分就是在上述的情况下添加了一个噪声模型,
这里用随机噪声进行模型物理世界中的噪声,生成方式如下:
其中,rand()函数会返回一个WAV格式的文件,可以直接作为原始音频的输入。
那么目标函数也就表示如下:
接下来,用上面的梯度下降算法处理就行。