引用格式:H. Abdullah, K. Warren, V. Bindschaedler, N. Papernot, and P. Traynor, “SoK: The Faults in our ASRs: An Overview of Attacks against Automatic Speech Recognition and Speaker Identification Systems,” in 42nd IEEE Symposium on Security and Privacy, SP 2021, San Francisco, CA, USA, 24-27 May 2021, 2021, pp. 730–747. doi: 10.1109/SP40001.2021.00014.
论文题目:SoK: The Faults in our ASRs: An Overview of Attacks against Automatic Speech Recognition and Speaker Identification Systems
论文题目太长了,超过 CSDN 最大限制了都。发表在 S&P21 上的一篇关于 ASR 上的攻击与防御的综述。
这一篇文章对之前的 ASR 与 SI(分别是语音转文字和说话人识别)两个任务的攻击与防御的综述,主要是对基于神经网络方法的方案进行调研。作者表示,语音领域的攻击和防御和图像领域的区别还是很大的(后面的笔记会稍微详细说明),然后对之前的工作在不同维度做了分类。最后,在附录的小实验说明,作者自己train了几个模型,除了seed,模型超参数等等都一样,最后生成的对抗样本都无法transfer,没有一个成功的。
作者自己总结的贡献点:
对 VPS(Voice Processing Systems)相关的威胁模型做了分类,(标明自己是第一个)
对已有的工作根据上一个贡献提出的框架进行分类,(作者表示,我们分类以后发现,虽然paper挺多的,但是还有很多工作要做
测试了 Transferability,结果基本上就是说同样的训练集测试集分割,同样的超参数,甚至同样的seed和模型架构,最后还是没有一个成功转移。
首先对心理声学简单说了一下,说 ASR 这些都是模仿人类大脑处理语音,讲了一下人类听觉感知的非线性性,以及人类听觉频率的阈值。
接下来讲 VPS,就是语音处理系统,说VPS分两类,ASR和SI(Speaker Identification),然后这两个很像,下面以 ASR 为例介绍一下流程 pipeline。
上面的流程图用 Mermaid 绘制,语法可以点击链接。富文本编辑器没找到怎么搞,又来 Markdown 编辑器搞。
这个流程基本上老生常谈,首先是预处理。有意思的是论文提到检测有人类语音的片段可以用相关的检测算法 G.729, 我看了一下参考文献, 99 年的技术。预处理另一个事情就是滤波,一般低通滤波,超过阈值的频率分量就不要了。
特征提取一般就是MFCC,论文原文也是拿MFCC说,之后有机会也应该好好看看MFCC的设计思路,看不懂公式搞懂逻辑还是有必要的。MFCC的逻辑是DFT离散傅里叶变换变到频域,(当然是一帧),然后MEL滤波,就是根据人类听觉敏感程度对不同频率进行增强或衰减,然后取对数,因为人类对响度的感知是对数级,最后是DCT离散余弦变换,就这一步比较有意思,看了一些解释是说在取包络,关于离散余弦变换也是很久以前信息隐藏上学的东西了,有机会应该把这一部分展开看看。
总之提出来的就是每一帧一个特征向量的矩阵,然后送入网络做Inference,要是SI这里就结束了,分类。然后因为模型输出的是概率,还要用Beam search找出这么多帧输出的总的概率最大的转文本。此外,这时得出的结果,用作者的话说,就是人类难以理解,因为可能好几个帧表示的是一个字母,输出的是LLOOOCK,其实是LOCK。然后做一些处理原文叫Decoding得到最终结果。具体的ASR流程之后应该看李宏毅老师的 DLHLP 2020。
说了一大堆,作者说,这些每个模块其实都能换,然后模型主要目前用的是基于神经网络的。
然后接下来讲了讲ML模型相关的攻击,Integrity和Confidentiality两个角度。一个是训练投毒和逃逸攻击(对抗样本),另一个就是数据隐私和模型提取。文中主要是调研对抗样本。后面简单介绍了对抗样本。
之后作者介绍了图片领域和音频领域的区别。首先是预处理,之后语音一般用序列模型(RNN之类),其次是Beam Search 之类不可导操作的使用,最后是一些统计模型的使用(而非神经网络)。这一切让对于语音的攻击和防御同图像领域不同。
这部分是作者对于攻击的分类,作者设计了很多分类的角度。这一部分感觉没必要记在笔记上了,现用现看。记一些有意思的点。比如作者对于 Attack Medium 的分类,不像传统的 Physical,Logical(ASV Spoof 的分类法),作者列了4类,分别是 Over-Line , Over-Air , Over-Telephony-Network , and Over-Others。前面两种就是之前常用的分类,第三类是电话网络的场景,要考虑编码损失,丢包,还有各种噪声的场景,最后一类作者举例就是mp3压缩相对于wav这类。
主要就是根据上一章中对于分类的一些角度,把现有的工作做了分类。具体也没有太多可以说的,作者把分类结果公布在了一个网站如下。
https://sites.google.com/view/adv-asr-sok/
这里也是只记录一些有意思的点。作者表示很多工作都没有给出一个合理有效的 Metric 评估他们的工作相比前人工作的优势。其二,大部分工作都无法 work Over-air。
这一章与上上章类似,是防御方案的分类框架,介绍了分类的角度。
这一章是现有的部分防御方案的分类,主要就是对抗训练(会降低模型精度,其次可能还因为预处理的原因失效)和活体检测。最后在未来方向,作者举了一个方向是重新设计预处理与特征提取。(当然很难了,几十年语音处理领域的发展筛选出来的技术)
最后的黄金部分。