声纹识别的对抗与防御
随着机器学习理论和方法的发展, 出现了用于模仿特定说话人语音的深度伪造、针对语音识别和声纹识别的对抗样本, 它们都为破坏语音载体的可信性和安全性提供了具体手段, 进而对各自应用场景的信息安全构成了挑战。
深度伪造是利用生成式对抗网络等方法, 通过构建特定的模型, 产生听起来像目标说话人的语音样本。之所以称之为伪造, 是因为目标说话人根本没有说过这些话。深度伪造的欺骗对象主要是人耳听觉, 也可以用于导致声纹识别系统出错。与深度伪造不同, 语音对抗样本旨在通过对载体信号引入微小的扰动, 使语音识别或声纹识别系统出现。特定的差错, 但并不影响人耳对该语音样本的听觉感知。相对于深度伪造, 利用声纹识别系统自身的脆弱性,声纹系统对抗样本的攻击具有很强的隐蔽性。
1、声纹识别的对抗样本攻击
1.1 研究现状
白盒攻击中, 攻击者完全了解被攻击模型的结构、参数、损失函数和梯度等信息, 利用被攻击白盒模型的结构和参数信息构建对抗样本生成算法,从而有指导性地修改原始样本, 以生成对抗样本。在黑盒攻击中, 攻击者不掌握被攻击模型的结构、参数等内部信息, 只能通过利用白盒模型对抗样本的迁移性, 或利用黑盒模型的输出结果训练替代模型等方式来生成对抗样本。在现实场景中, 攻击者难以获取被攻击模型的内部信息, 因此黑盒攻击相对于白盒攻击难度更高, 但也更符合实际。
|   方法  |   对抗知识  |   优点  |   缺点  | 
|   基于梯度/迭代优化  |   白盒  |   攻击成功率高、信噪比高  |   需要访问模型结构,迭代计算对抗扰动,生成 对抗样本的时间长,容易被检测  | 
|   基于生成网络  |   白盒  |   生成对抗样本的时间短  |   攻击成功率和信噪比难以平衡  | 
|   基于查询  |   黑盒  |   不需访问梯度,仅靠置信度或决策就可以实现攻击  |   攻击成功率较低;查询过多时容易被检测到  | 
|   基于迁移性  |   黑盒  |   不需要访问目标模型结构  |   对抗样本迁移性弱,黑盒攻击成功率低  | 
1.2 关键技术路线

1.3 白盒攻击
下图展示Symmetric Saliency-based Adversarial Attack to Speaker Identification 是一种针对说话人识别系统的对抗性攻击方法:

- 模型逆向工程:攻击者首先需要了解目标说话人识别系统的内部结构和参数。由于是对抗性攻击,攻击者可能需要访问模型的权重和架构,以便更好地设计攻击。
 - 确定攻击目标:攻击者确定他们想要系统误解的具体说话人,例如,他们可能希望系统将说话人A误认为说话人B。
 - 构建对称显著性模块:在SSED中,显著性模块用于突出显示语音信号中对说话人识别最重要的部分。在对抗性攻击中,这个模块可以被用来识别那些对模型预测影响最大的特征,从而在这些特征上引入扰动。
 - 优化过程:通过梯度下降或其他优化算法,攻击者在保持语音变化不可察觉的同时,寻找能够最小化损失函数的对抗性扰动。损失函数通常包括两部分:一部分是针对说话人识别任务的错误分类损失,另一部分是针对语音变化的感知损失,以确保扰动对人类听众来说是不可察觉的。
 - 生成对抗性样本:一旦找到最佳扰动,攻击者将其添加到原始语音中,生成对抗性样本。
 - 攻击评估:最后,攻击者评估生成的对抗性样本是否能够成功地欺骗说话人识别系统,使其做出错误的预测。
 
-  
1.4 黑盒攻击
 
下图展示Interpretable Spectrum Transformation Attacks to Speaker Recognition 是一种针对说话人识别系统的对抗性攻击方法。说话人识别系统通常基于语音信号中的频谱特征来识别不同的说话人。
- 选择目标说话人:攻击者首先确定他们想要系统误解的具体说话人,例如,他们可能希望系统将说话人A误认为说话人B。
 - 构建频谱转换模型:攻击者构建一个频谱转换模型,该模型能够将目标说话人的语音频谱转换为攻击目标说话人的频谱。这个模型可以是基于深度学习的,如神经网络或卷积神经网络。
 - 优化过程:通过梯度下降或其他优化算法,攻击者在保持语音内容不变的同时,寻找能够最小化损失函数的频谱转换。损失函数通常包括两部分:一部分是针对说话人识别任务的错误分类损失,另一部分是针对语音内容的损失,以确保语音内容的不变性。
 - 生成对抗性样本:一旦找到最佳频谱转换,攻击者将其应用于原始语音,生成对抗性样本。
 - 攻击评估:攻击者评估生成的对抗性样本是否能够成功地欺骗说话人识别系统,使其做出错误的预测。
 
2、声纹识别的对抗样本防御
2.1 研究现状
声纹识别的对抗样本防御是指采取一系列措施来增强声纹识别系统对对抗性攻击的鲁棒性。防御策略可以单独使用,也可以组合使用,以提高声纹识别系统对对抗性攻击的鲁棒性。
|   方法  |   研究方向  |   优点  |   缺点  | 
|   纯化  |   提高语音纯化质量  |   对任何样本都 可以进行有效声纹判定  |   对任意样本都进行语音纯化,可能造成声纹识别系统性能下降,  | 
|   检测  |   改进检测模型  |   不改变样本  |   被误判的纯净样本会被丢弃  | 
|   混合训练  |   改进训练数据的合成方法  |   声纹识别模型,自带防御功能  |   模型训练规模大,对抗样本造成声纹识别模型精度下降  | 
2.2 纯化防御
声纹识别的对抗样本防御中,扩散(Diffusion)模型纯化利用了扩散模型在生成高质量语音方面的能力,以净化对抗性扰动,从而提高声纹识别系统的鲁棒性。
扩散模型是一种深度学习模型,它通过迭代去噪的过程来生成数据。在声纹识别的背景下,扩散模型首先将干净的声纹信号逐渐添加噪声,直到信号变成随机噪声,然后将这些噪声逐渐去噪,恢复出原始的声纹信号。这个过程可以看作是对声纹信号的纯化,因为它可以去除声纹信号中的噪声和扰动。
Diffusion模型纯化

两阶段 diffusion模型纯化
大语言模型驱动的diffusion模型纯化
- 对抗样本生成:首先,使用特定的对抗攻击方法生成对抗性声纹样本。这些样本在人类听起来与原始语音几乎相同,但能够导致声纹识别模型错误地识别说话人。
 - 扩散过程:将生成的对抗性声纹样本输入到扩散模型中,通过迭代添加噪声,将样本逐渐转换为随机噪声。
 - 去噪过程:在去噪过程中,扩散模型将噪声逐渐去除,尝试恢复出原始的声纹信号。由于扩散模型在生成声纹信号时已经学习了声纹信号的本质特征,因此它可以在去噪过程中识别并去除对抗性扰动。
 - 声纹识别:将去噪后的声纹样本输入到声纹识别模型中,进行说话人识别。
 
2.3 检测防御
基于可学习Mask的对抗样本检测方法的核心思想是利用可学习的Mask来识别和去除声纹信号中的对抗性扰动,从而保护声纹识别系统不受攻击。

- 训练可学习Mask:首先,需要训练一个可学习的Mask。这个Mask是一个神经网络,它能够学习如何识别声纹信号中的对抗性扰动。训练数据包括正常的声纹信号和被对抗性攻击污染的声纹信号。通过训练,Mask学会了识别和去除对抗性扰动。
 - 声纹信号输入:当一个新的声纹信号输入到系统时,首先通过可学习Mask进行处理。Mask会识别并去除信号中的对抗性扰动,从而净化声纹信号。
 - 声纹识别:将净化后的声纹信号输入到声纹识别模型中,进行说话人识别。
 
基于规则Mask的对抗样本检测方法的核心思想是利用预先定义的规则来生成Mask,这个Mask用于识别和去除声纹信号中的对抗性扰动,从而保护声纹识别系统不受攻击。

- 定义规则:首先,需要定义一组规则,这些规则用于确定哪些部分的声纹信号可能是对抗性扰动。这些规则可以是基于声学特征的,例如音高、能量、频谱特性等,或者是基于信号处理的技术,例如滤波、傅里叶变换等。
 - 生成规则Mask:根据定义的规则,生成一个规则Mask。这个Mask是一个矩阵,它将声纹信号中的每个部分标记为正常或异常。规则Mask可以通过编程实现,也可以通过机器学习算法学习得到。
 - 声纹信号输入:当一个新的声纹信号输入到系统时,首先通过规则Mask进行处理。规则Mask会识别并去除信号中可能是对抗性扰动的部分,从而净化声纹信号。
 - 声纹识别:将净化后的声纹信号输入到声纹识别模型中,进行说话人识别。
 
相关文章:
声纹识别的对抗与防御
随着机器学习理论和方法的发展, 出现了用于模仿特定说话人语音的深度伪造、针对语音识别和声纹识别的对抗样本, 它们都为破坏语音载体的可信性和安全性提供了具体手段, 进而对各自应用场景的信息安全构成了挑战。 深度伪造是利用生成式对抗网络等方法, 通过构建特定的模型, 产生…...
C++ QT设计模式总结
Ciallo~(∠・ω< )⌒★,这里是 Eureka,欢迎来看我的设计模式总结,有问题随时可以告诉我~ 面向对象的设计模式: 以下总结了面向对象的设计模式, QT 的源码在哪里体现了这些模式,以及如何在 …...
洛谷 P3203:弹飞绵羊 ← 分块算法(单点更新、单点查询)
【题目来源】https://www.acwing.com/problem/content/2168/https://www.luogu.com.cn/problem/P3203【题目描述】 某天,Lostmonkey 发明了一种超级弹力装置,为了在他的绵羊朋友面前显摆,他邀请小绵羊一起玩个游戏。 游戏一开始,L…...
程序验证之Dafny--证明霍尔逻辑的半自动化利器
一、What is Dafny?【来自官网介绍 Dafny 】 1)介绍 Dafny 是一种支持验证的编程语言,配备了一个静态程序验证器。 通过将复杂的自动推理与熟悉的编程习语和工具相结合,使开发者能够编写可证明正确的代码(相对于 {P}S{Q} 这种…...
Flutter 中的 SafeArea 小部件:全面指南
Flutter 中的 SafeArea 小部件:全面指南 在移动应用开发中,处理设备屏幕的边缘是一个常见的挑战,尤其是考虑到现代设备通常具有不同的屏幕形状,如刘海屏、曲面屏等。为了确保应用内容不会覆盖这些屏幕区域,Flutter 提…...
webpack生成模块关系依赖图示例:查看构建产物的组成部分 依赖关系图
npm i -D webpack-bundle-analyzer core-js babel-loaderwebpack.config.js const BundleAnalyzerPlugin require(webpack-bundle-analyzer).BundleAnalyzerPlugin; module.exports {entry: ./src/index.js,output: {filename: main.js,},// mode: production, // 或者 produ…...
Spacy的安装与使用教程
官网安装指导教程 https://spacy.io/usage 安装指令 需要根据自己系统的cuda版本选择 nvcc -V pip install -U pip setuptools wheel pip install -U spacy[cuda12x] python -m spacy download zh_core_web_sm python -m spacy download en_core_web_sm...
Pathlib,一个不怕迷路的 Python 向导
大家好!我是爱摸鱼的小鸿,关注我,收看每期的编程干货。 一个简单的库,也许能够开启我们的智慧之门, 一个普通的方法,也许能在危急时刻挽救我们于水深火热, 一个新颖的思维方式,也许能…...
详解绝对路径和相对路径的区别
绝对路径和相对路径是用于描述文件或目录在文件系统中位置的两种不同方式。 绝对路径(Absolute Path)是从文件系统的根目录开始的完整路径,可以唯一地确定一个文件或目录的位置。在不同的操作系统中,根目录的表示方式可能略有不同…...
C++二叉搜索树搜索二叉树二叉排序树
C二叉搜索树 1. 二叉搜索树的概念 二叉搜索树(BST,Binary Search Tree),也称为二叉排序树或二叉查找树。它与一般二叉树的区别在于:每个结点必须满足“左孩子大于自己,右孩子小于自己”的规则。在这种规则的约束下,二…...
Java 自然排序和比较器排序区别?Comparable接口和Comparator比较器区别?
注:如果你对排序不理解,请您耐心看完,你一定会明白的。文章通俗易懂。建议用idea运行一下案例。 1)自然排序和比较器排序的区别? 自然排序是对象本身定义的排序规则,由对象实现 Comparable 接口ÿ…...
【CV】opencv调用DIS/LK等计算光流,前一帧和当前帧写反了有什么影响?
当在计算光流时,将前一帧和当前帧输入反了,会导致一系列问题。 在计算光流时,通常是将前一帧作为模板,根据当前帧计算光流。因为光流是描述相邻帧之间像素移动的一种方法,它通过比较两帧之间的像素强度或特征点的移动…...
C语言学习细节|C语言面向对象编程!函数指针如何正确使用
文章目录 1.函数指针定义2.格式3.应用回调函数动态函数调用函数的间接调用 4.结构体与函数指针结合 1.函数指针定义 函数指针就是一个指向函数的指针变量,与指向数据的指针不同,函数指针保存的是函数的地址,这使得程序可以动态地调用不同的函…...
C语言简要(一)
总得让她开心吧 helloworld #include <stdio.h>int main() {printf("hello world!\n");return 0; } 程序框架 #include <stdio.h> int main {return 0; }输出 printf("hello world!\n"); "里面的内容叫做“字符串”,prin…...
那些年我与c++的叫板(一)--string类自实现
引子:我们学习了c中的string类,那我们能不能像以前数据结构一样自己实现string类呢?以下是cplusplus下的string类,我们参考参考! 废话不多说,直接代码实现:(注意函数之间的复用&…...
二刷算法训练营Day08 | 字符串(1/2)
今日任务: 344.反转字符串 541. 反转字符串II卡码网:54.替换数字 151.翻转字符串里的单词卡码网:55.右旋转字符串 详细布置: 1. 344. 反转字符串 编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 …...
使用高防IP是应对网络安全的重要措施
使用高防IP(High Defense IP)在现代网络环境中显得尤为重要,这主要源于以下几个方面的原因: 一、网络安全形势严峻 随着互联网的快速发展,网络安全问题日益突出。各种网络攻击手段层出不穷,如分布式拒绝服…...
代码随想录-算法训练营day40【动态规划03:整数拆分、不同的二叉搜索树】
代码随想录-035期-算法训练营【博客笔记汇总表】-CSDN博客 第九章 动态规划part03● 343.整数拆分 ● 096.不同的二叉搜索树 详细布置 今天两题都挺有难度,建议大家思考一下没思路,直接看题解,第一次做,硬想很难想出来。343. 整数…...
MySQL数据库中基本数据管理操作
使用SQL语句实现基本数据管理操作——即DML语句 1.添加数据 insert into 表名(字段名称,字段名称,字段名称)values(数据,数据,数据) 在MySQL数据库中,除了数字&#x…...
记录一下Hql遇到的零碎问题
建表相关 -- 地区维度表 drop table dim_province_full; create table dim_province_full( id string comment 编号, name string comment 省份名称, region_id string comment 大区id, area_code string comment 行政区位码, iso_code string comment 国际编码, iso_3166_2 s…...
基于算法竞赛的c++编程(28)结构体的进阶应用
结构体的嵌套与复杂数据组织 在C中,结构体可以嵌套使用,形成更复杂的数据结构。例如,可以通过嵌套结构体描述多层级数据关系: struct Address {string city;string street;int zipCode; };struct Employee {string name;int id;…...
CVPR 2025 MIMO: 支持视觉指代和像素grounding 的医学视觉语言模型
CVPR 2025 | MIMO:支持视觉指代和像素对齐的医学视觉语言模型 论文信息 标题:MIMO: A medical vision language model with visual referring multimodal input and pixel grounding multimodal output作者:Yanyuan Chen, Dexuan Xu, Yu Hu…...
脑机新手指南(八):OpenBCI_GUI:从环境搭建到数据可视化(下)
一、数据处理与分析实战 (一)实时滤波与参数调整 基础滤波操作 60Hz 工频滤波:勾选界面右侧 “60Hz” 复选框,可有效抑制电网干扰(适用于北美地区,欧洲用户可调整为 50Hz)。 平滑处理&…...
模型参数、模型存储精度、参数与显存
模型参数量衡量单位 M:百万(Million) B:十亿(Billion) 1 B 1000 M 1B 1000M 1B1000M 参数存储精度 模型参数是固定的,但是一个参数所表示多少字节不一定,需要看这个参数以什么…...
shell脚本--常见案例
1、自动备份文件或目录 2、批量重命名文件 3、查找并删除指定名称的文件: 4、批量删除文件 5、查找并替换文件内容 6、批量创建文件 7、创建文件夹并移动文件 8、在文件夹中查找文件...
微信小程序 - 手机震动
一、界面 <button type"primary" bindtap"shortVibrate">短震动</button> <button type"primary" bindtap"longVibrate">长震动</button> 二、js逻辑代码 注:文档 https://developers.weixin.qq…...
深入浅出深度学习基础:从感知机到全连接神经网络的核心原理与应用
文章目录 前言一、感知机 (Perceptron)1.1 基础介绍1.1.1 感知机是什么?1.1.2 感知机的工作原理 1.2 感知机的简单应用:基本逻辑门1.2.1 逻辑与 (Logic AND)1.2.2 逻辑或 (Logic OR)1.2.3 逻辑与非 (Logic NAND) 1.3 感知机的实现1.3.1 简单实现 (基于阈…...
2025年渗透测试面试题总结-腾讯[实习]科恩实验室-安全工程师(题目+回答)
安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。 目录 腾讯[实习]科恩实验室-安全工程师 一、网络与协议 1. TCP三次握手 2. SYN扫描原理 3. HTTPS证书机制 二…...
[ACTF2020 新生赛]Include 1(php://filter伪协议)
题目 做法 启动靶机,点进去 点进去 查看URL,有 ?fileflag.php说明存在文件包含,原理是php://filter 协议 当它与包含函数结合时,php://filter流会被当作php文件执行。 用php://filter加编码,能让PHP把文件内容…...
解决:Android studio 编译后报错\app\src\main\cpp\CMakeLists.txt‘ to exist
现象: android studio报错: [CXX1409] D:\GitLab\xxxxx\app.cxx\Debug\3f3w4y1i\arm64-v8a\android_gradle_build.json : expected buildFiles file ‘D:\GitLab\xxxxx\app\src\main\cpp\CMakeLists.txt’ to exist 解决: 不要动CMakeLists.…...
