本讲座选自清华大学计算机系副教授徐明星于2018年4月15日在CSIG图像图形学科前沿讲习班第4期上所做的题为《语音处理技术在无监督身份认证中的应用》的演讲。
徐明星:博士、清华大学计算机系副教授,清华大学--得意音通声纹处理联合实验室副主任。从事语音语言处理和生物特征识别研发工作20多年,主要研究兴趣包括语音识别、声纹识别、情感识别和话语理解等,负责和参加了多项国家973、863、重点研发计划、自然科学基金重点项目等研究课题,参加过多个声纹识别相关的国家和行业标准的起草工作。中国人工智能学会人工心理与人工情感专委会委员、中国心理学会音乐心理学专委会委员。
演讲全文
徐明星:大家下午好,我叫徐明星。今天的主题是「语音处理技术在无监督身份认证中的应用」。这里有五个要点,一是语音及声纹的基本概念,二是身份认证的应用需求,三是应用所面临的理论挑战,四是市场发展机遇,五是目前语音处理技术尤其是声纹识别技术在理论和应用方面的进展情况。
一、基本概念
1、生物特征举例
当用生物特征代表人的身份的时候,实际上有不同类型生物特征。
第一,生理特征,如指纹、掌纹、人脸、虹膜等这些与生俱来的特征。一般来说,这些特征不会随着一时变化产生剧烈变化,比如人的脸可以笑、可以哭,会改变面部形态,但是基本骨架仍在。所以生理特征相对比较稳定。
第二,行为特征,人在社会的交往与活动中产生的信息,可以作为身份的代表。比如签字可能会有变化,但是这个人的运笔有独特的地方,可以用于身份识别。再比如步态,甚至键盘敲击都有个性特点。今天讲的是声纹,说话也是具有区别性的,声音随着交流对象、交流场合、交流内容而发生变化,所以声纹属于行为特征(区别于人脸等生理特征)。今天要讲的就是如何用语音处理技术去提取人的声纹特征,然后用来做身份认证。
2、声纹识别的类型
第一,声纹辨认,要判定测试语音属于目标说话模型集合中哪一个人。辨认是“多选一”的“选择”问题。
第二,声纹确认,确定测试语音是否来自所声明的目标说话人。确认是“一对一”的“判决”问题。
第三,说话人检出,从各种各样的语音文件中,使用计算机自动地判断测试语音中是否存在目标说话人。
第四,说话人追踪,什么时间谁说了什么话?谁在什么时间说话?判断目标说话人在测试语音中的发音位置,称之为说话人的追踪。这个声纹是在与他人的交流中产生的。
第一种是声纹识别和文本无关,说话人可以随意录制或发音一定长度的语音;第二种是文本相关,要求说话人必须发音事先指定的文本内容;第三种是文本提示,系统随机提取若干词汇组合后提示用户发音的文本内容。对于后两种,虽然不同人的说话内容有可能一样,但是因为声音本身有区别,所以还是会体现出不同的特点,计算机会辨认你到底是谁。
3、声纹识别性能的评价标准
一是确认系统里面中有哪些人的等错误率相等,误检和漏检的错误相等,随着系统的配置不同,这两个错误值会变化。那么怎么比较一个系统的好坏?把这些系统约束到这两类错误相等的情况下,比较大小。这个等错误率点越靠近原点系统性能越好,这是一个常用评价确认这类声纹识别它的性能。
有时候大家也通过曲线的走势来总体评判这个系统的优劣,这个图中的曲线叫做DET曲线。
由于不同系统对于漏检和误检的要求不一样,比如有些场合宁可误判,也不能把任何一个嫌疑人漏掉,因此更看重漏检率。DCF指标就是把误检和漏检进行加权,以此来比较系统的好坏。
在这图中,我们发现越靠近原点,系统性能越好,是一个文本相关的声纹识别,反言之,如果声纹识别是基于文本相关的,那么它的性能会比较好。如果文本无关,则效果会变差。不同情形下的性能大概是如图所示这样的区别。
对于辨认来说,是指从计算机系统(可能事先已经认识N个人)中分辨出一个未知语音的来源,所以辨认是开集/闭集测试。闭集指一定是在你认识的人里面,如果是开集,测试这个人可能是计算机以前没有听说过,系统里面没有为他建模。这个时候一方面要判断他到底是谁?同时他还得判断如果我不认识,我得拒绝。所以开集较难。
4、发展历程
声纹识别的技术发展最早可追溯到17世纪60年代英国查尔斯一世之死的案件审判中,而真正对说话人识别的研究始于20世纪30年代。1945年,正式提出“声纹”的概念,相当于指纹,那么声音也是可以认为有一个纹理的存在。纹理这个比较形象的词最初主要指语谱图的波纹,说话人讲不同内容的时候,纹理会不同,所以用到一个纹理这样一个词汇,把声音里面的纹理,称之为声纹,可以代表人的身份。1962年,对这些信息的分析和利用为声纹识别提供了理论基础和识别依据,促进了说话人识别的进步。
5、常用特征参数和模型方法
常见特征参数里面有梅尔倒谱系数、线性预测倒谱系数、感知线性预测系数、感知对数面积比系数等。
常见的模型除了早期的动态时间规整、还有矢量量化,中期也有大量使用隐马尔科夫模型,然后是高斯混合模型,把背景通用模型加进来,当然也包括支持向量机,以及最近的因子分析模型和深度神经网络。
GMM-UBM模型是基于高斯模型对语音的特征空间进行刻画,除了自己的数据训练出来的GMM,在识别的时候还会用其他各种各样来源的说话人信息训练出来的UBM,它也是GMM形式的东西,是一个参照,然后把这个说话人的模型跟它做一个比较,跟阈值做一个判别,看到底测试的这个人是不是模型代表的这个人。
在这个基础上,人们进一步研究:可以从声音中抽取出特征,用UBM做自适应,然后得到一个新的GMM,用这个GMM的均值向量,因为它是多高斯混合的,把这些个均值拼接起来,形成一个称之为超向量的东西。
比如有1024个混合,那么每个矢量的均值的维度;比如39维,就是39×1024这么一个高维的向量,把前面GMM的均值串起来,送到SVM模型里面对它进行识别。这是几年前经常用的一个算法的思路。
2007年左右,有学者提出联合因子分析这样的办法,并不是直接把超向量送分类器去识别,而是把它做进一步的分解,认为它是由若干不同的分量组成的,其中有一个叫做说话人空间,然后一个是信道空间,还有一个是刻画不了的称之为残差空间。那么这些空间上都有它的投影或者说它的分量坐标,分别称为不同的因子,因为它的因子分析是把几个方面合在一起同时进行的,所以叫联合因子分析。这样,这些坐标称为说话人因子、信道因子、残差因子。
有了这样的公式将来识别的时候,可以按照这个模型把说话人的因子抽出来,从而使得信道因子以及其他一些不明因素,从这个大M向量里面拿掉,所以JFA的识别效果比以前的方法好很多。以前的办法一般百分之6到8的等错误率,用JFA基本就是百分之一点多或者二点多,性能提升非常大。这是因为对超向量的分解,使得JFA模型能更准确把说话人的因素抓出来。不过,这个方法一来计算比较麻烦,二来研究人员也发现得到的说话人因子,它里面还是会混杂一些信道信息,反过来也一样,信道因子也会含有一定的说话人因素在里面。所以,很快有人提出来,我不分解超向量了,提出一个全变量因子,在一个空间上面,这个时候T代表的空间其实是所有的变化都含在里面的一个空间,这就又退回去了,原来想分开觉得分开好,确实变好了,后来又觉得分开不彻底,干脆别分了,换一个别的办法。
但是后面会对W(全变量因子),即i-vector,i代表个人,然后对这个i-vector做后续的处理。比如,做一个归一化补偿,或者做另外的投影变换,把说话人无关的一些信息滤掉,只留下说话人相关的信息,发现这样做的效果也很好,甚至在同样数据量的条件下比JFA还要好,所以后来i-vector方法就成为一个比较经典或者主流的办法。这个方法是在JFA的基础上所变化过来的。
这是最近用深度学习来做特征的学习所提出来的方法。前面先把声音算出语谱图(横轴是时间,纵轴是频率,亮度代表这个频率成分上它的能量的大小),可以看到声音中包含着随着时间变化的不同频率分量,这里既蕴含着声纹信息,也包括你说了什么内容信息。我们现在关注声纹信息,这块应该是常见的CNN的神经网络,对它进行抽取。然后在后面再加一些时延的网络,从而把它跟说话人建立联系,然后从当中学习它的特征。通过有监督学习算法,把输出前隐含层输出出来,作为它的特征向量,送到后面常规的识别器里去。这里的神经网络是用来进行特征学习的一个模块。
当然也有人说,别分那么清楚,干脆端对端,这也是近年来比较流行的建模方法。既然神经网络能学特征、能做分类,是同一个东西在干听上去不同的两件事儿,何必分那么清楚呢,反正大家都是神经网络嘛。这样,把它们(特征学习的网络和模式分类的网络)拼起来也能够取得不错的效果。这是声纹识别最近几年里随着深度学习的大量运用,使用这样一个端到端的学习技术去做声纹的提取和辨认。
我们用声音辨别一个人的身份或者代表它,即声音信号是代表人的一种生物特征。有一些生物特征识别领域必须关注的问题,在声纹识别里面到底会怎样呢?
6、生物特征的安全性
我们探讨一下对于生物特征的一个很重要的事情。因为用生物特征很多时候是为了保障安全,当然有些特殊情况下是为了抓罪犯,大多数时候是为了保证用户的安全。像一把钥匙、一本证件一样,是你的某种资质或者权利的代替、一种符号。
在生物特征里面有一类是生理特征,它们具有稳定性。比如指纹,虽然手指会脱皮,但是最后长出来还是这个纹理。人脸也是这样的,具有一定的稳定性,我们把过去照片拿出来,也能够辨认。除非是很重大的外力干扰才可能导致人脸发生剧烈变化,比如手术、创伤等,所以人脸相对来说是比较稳定的。
那么对于这样一类生理特征,它的识别非常好,能够很快的普及和应用。但是容易有被人模仿,攻击的缺点。比如说有人对虹膜这种识别系统开展攻击,取得了一定的成功;这是2015年报道的,从网上搜了一下,研究人员宣称他把普京的高清晰照片弄下来,然后就把虹膜识别系统绕过去了,相当于攻破了。也有人对指纹识别系统,拿一个橡皮泥把你的指纹取下来,然后就打开了手机,这是在世界移动通讯大会上做的实验。因为它们都是相对稳定的生物特征,所以别人容易获取,并且能采取有针对性的办法去克制它。
过去人脸在识别的时候,你站立不动就可以识别你,但是很快这个系统就要求用户在登记注册的时候要点头眨眼什么的。为什么要求动一下呢?这是因为很多人拿照片就骗过了计算机,所以就要求人们要眨眨眼。后来眨眼也没不行了,闯入者会根据系统的要求去做一个动作,然后黑客设备会捕捉这个动作,并按照这个动作去让照片动起来,采用计算机动画技术来做,这个没有难度。所以让布什的照片,按照你要求来动动嘴巴和眼睛,就会把计算机骗过去。
大家说深度学习很厉害,取得了传统技术完全不可比拟的很高的识别率,虽然它是个黑匣子,有研究人员仍然发现它的漏洞。CMU有一个团队发现使用深度学习的系统找人脸特征也有规律,若给闯入者戴上一个打印特殊纹理的眼镜,计算机扫描这个图像,会把这个关于图像的模式认为是有用的信息,这个信息会混到用深度学习提取的特征里去,结果导致这个人戴上一个眼镜,居然识别成了另外一个人,比如一个女演员,这个差别非常大。
最近国际图像图形大会上有组织专门用这种攻击技术的比赛,给你一个图片,要求把这个图片加一点东西,让系统识别成另外的东西,甚至是想识别成什么就能识别成什么。所以关于人脸识别,矛和盾的问题,即使是基于深度学习的系统,也是存在的。
去年下半年上海办了一个极客安全大赛,专门针对身份认证的各种技术开展攻击的比赛,拿几个系统过来,然后要求参赛者进行攻击。这个相关的报道大家可以看一下。这里掌纹、虹膜、人脸、笔迹等等都在里面有做比较。
那么,我们看到比较多的都是有相对稳定性的生理特征,那么作为行为特征的一种——语音——来识别人的身份会怎样呢?我们下面看一下语音在防范攻击方面有没有一些自身的独特点,能够被我们利用起来增强安全性,我想,这也是大家比较关心的一个问题。
7、语音的特点
第一,看不见、摸不着,只能用耳朵听。有时候你比较熟的人,说“谁啊?”,“我!”,就一个字你就知道是谁。大家说,看不见摸不着,是语音的优势还是劣势?
第二,高可变性。我们大家都会说,若是今天不高兴,说话不太有力,或者今天感冒了鼻塞,甚至内容不断变化,那么怎么根据不同声音认出来是我呢?声音包含的可能变化这么多,这对于我们用它来识别人的身份是有利还是无利呢?
实际上,语音信号体现辩证的高度统一。虽然声音里面可能有很多变化,但是实际上在这些变化中恰恰是蕴含着跟人紧密相关的不同的东西,用它来识别身份反而是最稳定的或者说是最安全的。
从人和计算机的关系来说,语音信号:
第一是唯一可双向传递信息,从而可以交互。
第二是唯一周边无死角,从而可非接触,方便使用。
第三是唯一高可变性与唯一性完美的统一。一句话说出去后,既可以认出来你说什么内容,也能够分辨出来你说的什么语种,即便都是说汉语也可以去分辨你到底是什么样的口音?有经验的人是可以做到这一点的,至于计算机能不能像有经验的人那样“听”出来,那是另外一件事情了。至少,我们想说,在声音里面有关于口音的信息,有你是哪里出生和成长的信息,其他的如性别、情感,还有声纹——谁在说话?你到底是谁?等等,这些信息都在语音的信号里面所包含着。
语音这样一个简单的形式、载体,蕴含着丰富的信息,我们称之为形式简单,含义丰富,即形简意丰。这是语音信号一个非常独特的性质。如果我们跟别的形式,比如说指纹或者虹膜做比较,声音这个特点可以说是独一无二的。至于我们人类能不能用自动计算机算法把这个特点利用好,那是另外一个话题。事物本身的丰富性能不能用得很充分,那是我们的水平和能力决定的。但是,作为一个信息载体形式,声音确实有它特别独到的地方。
第一重措施,动态密码声音。如果用建行手机的APP,它可以用声纹认证,能够防范攻击的原因是:这里的密码跟常见的验证码类似,在你用它进行认证之前,闯入者是无从知道系统要你说什么的。这样的话,使得播放事先录制的语音是没用的,因为这个密码老变。这个可以作为某一级或者某一重防范攻击措施,即使用动态密码。这对人来说没有任何负担,不用记密码是什么,系统提示的是什么就说什么,没有任何负担,也不需要做额外准备。
第二重措施,录音重放检测。声音从外界采集到计算机中进行处理,都需要进行模数转换等信号处理操作,这是任何一个人或设备都没法绕过的处理流程,我们可以根据这个原理来做录音重放的检测。因为声音作为一个模拟的信号,在空气中传播到计算机里去,要先由传感器捕捉到,最后变成数字信号进来。如果是重放语音,那意味着什么呢?意味着在重放之前,该声音其实是已经经过了一遍这样一个从模拟到数字的处理过程,经过重放录制又经过一次数字到模拟的变换过程,计算机会再把它变一次,根据信号处理知识,声音信号的频谱结构就会产生变化,这种变化其实是有一定的规律在里面。计算机可以检测这个声音是一次性的从空气中传过来的,即发声源是人的嘴巴,还是说声源一个音箱。所以,录音重放的攻击可以防范的。
至于有人说,录音的时候我把声音数据直接接入到认证系统里面去,这个就不是我们搞声纹识别技术的人要解决的了,那是做手机系统的人要去防范的黑客行为。如果不是通过破解手机的操作系统,那么录音重放的语音数据一定是至少经过二次录音处理过程。这样的话,信号就会产生很明显的改变,我们可以把它检测出来。
第三重措施,用户自定义密码。这个跟动态密码的不同点在于,前面是计算机提示给你的,你没有任何权利去改变或者定制它,但是在第三重的措施这个地方,其实是等同于对你自己对密码的定义,只有你自己个人知道的这样一个私密性给予了保证。也就是,你的密码是什么只有你知道,当然你要告诉别人那是你的事儿。这样就把传统的你自己知道密码的事儿跟声纹结合起来了,而且你也完全不必只用数字作为你的密码。比如这是一个0,我叫圈可以吗?也可以。这是1,我读个竖,甚至干脆读成电视,只有你知道,你看到1你就说电视,这谁知道!所以,这样只有你自己知道的密码本,无形中又增加了攻击的难度,基本上是没法破解的,而且你还可以随时更换。你录音了也没用,今天我读成竖,明天就读成棍子,你没有办法知道的。这是第三重,目前专利已经在公示了,可能很快就会授权。这是我们提出来的另外一种办法去防范攻击的措施,利用声音可以随便说话的特点,把这个作为你的密码记下来。
第四重措施,多特征活体检测。最后保证你既是活体,而且确实按照要求说话,这样闯入的可能性大大减少。人在说话的时候我们可以看到他的嘴唇相应的变化,这样就可以把图像视频的识别技术结合起来。
最后要说的是,声音其实是可以用来实现一句话把所有需求都解决掉的。比如我们现在举个例子。在这里我们说要给张三转一千块钱,因为是转账,钱拿出去还是要慎重一些的,所以要确认身份对还是不对。
在确认身份的同时,因为声音本身能够蕴含你的各种需求或者说一些意图在里面,所以可以用语音识别把这个意图识别出来,从而让计算机让后台服务器上的银行程序去执行你的业务要求。这样的话,你其实只用说一句话,身份认证和意图理解能够一次性完成,最终安全地给对方转账。
比如说,用人脸识别,要求你眨眨眼,验证通过后,再问你干什么业务 ……. ,在这个处理流程中,认证与业务完全是分离的。当用语音时,认证和业务(命令)是不用分离的,你直接说就可以,因为声音既是身份的代表也是意思的表达,信息都在里面。所以我们之前说,语音信号包含的信息很丰富,所以它表现出来的变化很大。反过来,也正是因为有这样丰富的信息,我们完全可以充分发挥它的特长,把身份认证和其他工作紧密无缝地绑在一起来实现。这是我们讲的一些基本概念。
二、应用需求
目前的声纹应用主要有以下几个部分:
比如公共安全还有移动支付,由此大家也容易想到门禁考勤也可以,经过这个地方我来了,说一句话就进去了。特别是大批量的人经过一个考勤系统,一个一个地使用指纹是很不方便的,因为设备比较专有,当然用人脸识别也是可以的,它可以同时捕捉很多人,所以考勤也会很快。
1、移动支付
2、社保生存认证
社保生存认证是最近比较重要的一个方面。因为真正拿社保的人,很多时候是年迈的老头老太太,他们行动不方便,但是确实有人冒领,所以人家发社保的人也没有办法,只能要求拿当天的报纸,读一下报纸的标题,发个视频过来。要不就要求你专门到发放社保的点去,很麻烦。现在可以打一个电话,只要用户一说话,这边就能够知道你到底是不是那个合格的人。
3、电子政务领域
比如,国外在1998年的时候有一个运用,2004年做身份核实,国内是得意公司和公安部、建行还有厦门公安局等有实际上线的系统,建行现在已经在电话银行、手机银行上面运行了三年多。
这就是建行的界面,要不要声纹登录?如果一点就会出现这个,这个动态码是随机变化的。可以设置的安全中心里自己配置一下,在安全验证这个地方加上声纹就可以了。据建行的反馈信息,目前已经完成1.5亿次声纹识别的交易,没有人投诉,而且过去在没有用这个声纹技术之前,日交易额度是5万,现在因为有身份认证,银行胆子更大了,可以是50万的交易额度,原来不敢放开啊,因为密码很容易被别人偷,现在另了声音,银行觉得被偷的可能性小,所以把额度放宽了。这是龙支付里面,可以用来做身份的鉴别。
4、移动支付
我们也跟其他的银行进行合作,另外还有中国银联。有的银行已经安装类似的系统。这是在移动支付方面,我们用声纹识别做的事情。
我们也可以用于网络身份认证。我们和国家信息中心合作推动统一身份的认证,就是把声纹识别作为认证手段。
5、门禁+网证
万科设想在自己经营的酒店里面用声纹做认证。好处是什么?你到网上订房间之后,用声音先注册一下,那么到了酒店的时候不用拿身份证,直接说一下我是谁,订了什么,这个声音进到系统,当场做判断,如果验证你确实是预订房间的人,那你可以直接去房间。房间的门锁也是用声纹的,你一说话房间就开了,完全不用卡。
客人只说话,现场通过认证,客户信息都可以显示出来。将来身份证也不用带,到哪儿别人都知道你是谁,非常方便。
6、社保生存认证
我们已经跟贵州、河北、江苏三个地方社保局和民政局建立了合作关系,做社保的深层认证。
另外一个是跟北汽合作在汽车领域应用声纹识别技术,用来对车辆用声纹进行认证。
这个系统第一眼看上去觉得这就是声控,“开灯”,”关窗”,但是,只有我说才会关,你说没用,这个演示没展示出来。实际上,产品不仅识别内容,也在判断声音是否是车主本人,所以其他人去说是打不开的。有部电影——2012——里面有个情节,就是抢一辆车,最后开的时候引擎发动不起来,就是加了声纹控制,如果不是这个车主的话,你的引擎发动不起来,其实想达到的目的就是这个。所以不仅要求是一个真实的人在发命令,内容和身份两个信息必须结合起来。
三、面临挑战
刚才我们重点是探讨了声纹的安全性,然后讲了三四种这样的办法对付闯入攻击,接下来给各位谈谈声纹技术在应用中面对的挑战。其中有一些问题可能比较棘手,我们称之为是它的鲁棒性要求。
1、鲁棒性要求
有一个日本专家指出有很多重要的关于系统的鲁棒性的方面,必须要解决。那么归纳起来比较重要的是三个方面:
一是环境相关的声纹鲁棒性;
二是说话人相关的声纹鲁棒性,比如感冒了鼻塞了,那么声音可能会有变化,你听我几十分钟,我现在捏着鼻子说话很别扭。那么计算机能不能在我感冒的时候,也能够听出来是我呢?还有,年龄变化,说话方式变化,比如我现在属于讨论交流讲课性质的说话形式,但是我在家里说话不是这个腔调,比如对小孩子不能这么说,说话方式要有变化。
三是应用相关的声纹鲁棒性。还有语音编码其实也对声纹有影响。关于这些方面,去年郑方老师和博士生李蓝天出版了一个小册子,网上可以订购到的,专门就这些重要的鲁棒识别方面做了阐述。
下面我们简要介绍一下书上的一些内容:
比如环境相关的鲁棒性,主要是噪音、信道适配问题、多说话人,对于环境噪声,因为语音识别也会说这个,所以这些问题研究得比较多,也提到各种各样好的办法,比如滤波、还有变换。
我们也开展了这方面的研究,比如信道匹配,我注册的时候可能用手机,我用的时候可能拿座机,这就是信道失配。我们可以通过一些候选集合——参照集的说话人去合成信道的变化,这也是一个很有效的变换方法。另外,也可以加进去一些区分性训练,包括把深度学习的东西放进去,从而改善信道变化对性能的影响。
比如说多说话人的这样一个情况,你首先把人的语音分割开,所以我们既可以同步分割,一边分割一边识别,也可以异步分割,先分然后再聚类,然后识别,这些措施都可以用来做多说话人的声纹认证。
对于身体状态的变化,目前没有看到很有效的办法。一方面固然是因为技术很难,一方面也是因为数据比较难搞,你真的找一个人,我约上号哪天感冒到我这儿录音,这很麻烦。目前来说还没有太多突破。
但是时变上,虽然采集很困难,但是我们也早留意这个事儿,2007年就开始采集随时间变化的语音数据了,过一段时间录音,还是这批人继续录音,从而形成一个很重要很特殊的语音数据库——时变语音数据库。
一是情感,大家知道情感是一个非常热或者时髦的研究课题。不仅是能从声音里面辨别出用户的情感是什么,你的表情、你的姿态等等都是能够反映情绪状态的。情感对于声纹的影响也很明显:生气时说的话和你在喜悦时说的话,其实听起来是不一样的,计算机声纹识别对这些情感变化的语音也会产生很多错误。这方面我们做过一些工作。
二是语速,最近郑老师有一个马上要毕业的博士生就是做语速的,我的语速是中等偏快一点的,不是很明显的快,但是至少不算慢吧。那么,每个人说话的时候可能因为交流的场合变化,情绪波动等等,语速会有变化的。这个时候计算机对他的声纹抽取会受到影响,需要专门针对语速变化来提出解决的办法。
三是跨语言,预留声音的时候可能是汉语,最后声纹测试时可能是说维语,系统能不能认出来?
这是针对时变问题我们做的一个工作。录音的时候第一年,比如隔一周录一次,录四次是一个月录一次,然后半年一次,还是这批人录了差不多快十年。我们发现,随着时间的变化,如果系统不做任何改动的话,没有针对性的处理,那么声纹识别的性能会有很明显的变化。所以人的声音,说声纹不变,其实也是变化的。这个问题很多系统是解决不了的,因为它们没有实际时变数据来分析这里到底什么原因导致声纹的变化。因为我们录有这样的语音数据库,所以能够找出变化规律,对时变进行处理。
在这里,他把信号的频带按照不同组织方式进行相互关系的比较和分析,这是一种办法。通过对声音频带作不同处理,那么传统方法在提取特征的时候,是直接按照频谱要求做了一个映射变化。但是因为Mel不是专门用来进行声纹识别的,所以我们根据随时间变化的要求,重新设计了一个变换尺度。映射到这里,再去匹特征。这里画了一个示意图:如果是传统的按照Mel刻度进行分割,然后做变换,那么最后得到的就是MFCC。如果是用另外一个尺度来分割和变换的话,那么就得到一个新的特征,这样它对时变的效果就会提上去。所以,我们可以看到,在做了这样的处理之后,比起传统的MFCC,这是随着时间的变化它的EER的波动,可以看到做这样的处理,明显比不做这个处理好很多。
这个文章当年投到期刊上面之后,评阅人说:很多人都在琢磨着对深度学习这个黑匣子,去调它的参数,感谢你们这个团队研究的时变问题是很关键基础的课题。所以评阅人专门就此做了评论回复。我觉得这样的工作从前期的准备到它的设计,一个是你下一个决心,另外一个是坚持,因为这样的时变数据库你得好几年才能准备起来。
刚才已经谈到防假冒,还有真实意图,还有短语音问题。短语音为什么重要是很容理解的,因为声音越短用起来很方便。那么真实意图为什么很重要呢?我们知道在法律上,要求人的行为不能违背当事人的本意,他不能是被强迫的。所以,我们希望在身份认证里面,要考察当事人或者目标人他的意图是不是真实的?必须是合法的,是法律认可的,是他的本心所愿做的事儿,所以真实意图检测,是身份认证到底可信不可信或可靠不可靠的一个重要的要求。
在假冒闯入的时候,其实大家都容易想到是重放,但是重放不太靠谱,你录完音都变化了,甚至密码是你不知道的东西。所以大家提出矛和盾其实是同时存在的,比如,我可以用语音合成的语音。我们经常会听到语音合成产品的效果,这些语音人听上去还行,那只是在听内容的时候还行,这个字是什么计算机给读出来,人的耳朵只是为了听出音是什么,所以合成语音哪怕有些不自然也是可以接受的。
但是要把你的声纹特征蕴含在声音里面和内容一起合成出来,这个事情目前还没有人搞定。将来会不会搞定我们现在不好说,多长时间能搞定我们不知道,但是至少从目前来看,语音合成不算是假冒攻击的一个大问题。但是前提条件是你的识别系统真正做到了我们前面讲的那样几个防范措施,那它防范的语音合成攻击才是可以的。如果你采用的是一个固定密码让人去说,就很容易攻破掉。
另外,还有用声音转换技术从某个声音变成你的声音这样的办法。现在网上老放奥巴马的合成声音(视频),我们人觉得这听起来是奥巴马的声音,其实要是放给奥巴马身边的人去听的话,实际上是差很多的。所以,这种办法糊弄计算机,目前无论是合成技术还是声音转换技术还不靠谱。当然,矛和盾总是发展的,只是目前来讲还没有办法用这个去攻破。
至于一些有特殊能力的人可能会模仿你说话的声音,如果说把你说话的那个意味表现出来,让你觉得说得很像,这完全是可能的,但是真正到一个小的语音片段上面,要做到对某个具体音的模仿,目前没有找到这样的人,所以大家尽可放心。这也是为什么建行会放心地把限额从5万提到50万的缘故。
在真实意图识别方面,我们做了一些工作,比如情感识别,看用户是不是处在恐惧状态之下。我们在一个情感语音数据集合上进行了验证,判断你是恐惧还是不是恐惧,有百分之90多的准确率。下面是用深度学习的办法做类似的事情,效果还是不错的。
短语音上面比较麻烦一些,因为声音越短信息量越少,我们可以看到随着说话声音的变化,错误率非常大,这个问题其实也是很难的。这是短语音的处理办法,我们看到如果声音比较长,涵盖着跟你的模型重叠的部分比较多一些,你测试语音跟模型就会多一些,这样识别效果比较好。
但是如果是短的语音,那么极有可能这个声音在测的时候跟注册时候语音的分布不重叠,所以这是一个很难的问题。
我们也做了一些具体的研究。主要思路是把语音识别的技术结合起来。因为声音虽然短,但是有几个音符在里面,这几个音符跟你注册的音如果有重叠,我们可以看一下它们是不是一样的,如果不重叠,就可以根据近邻关系来判断这个音是不是靠谱。所以可以先聚类,然后做语音识别,然后分割出来,后面再做声纹确认,用这么一个思路。
以上就是我们关于声纹识别面对的挑战这一节大概的情况。
四、发展机遇
1、声纹时代的来临
随着我们互联网的发展,我们声纹面临一个很大的机遇,现在很多人使用手机设备来做移动支付。
这里用手机的移动设备完成支付占96%,经过调研发现那些不使用手机银行到底是什么原因?主要是因为用户担心不安全,有30%人是这个想法,当然还有用别的办法替代,但是30%认为不安全。
这就提出一个非常现实的问题。在移动互联网上面,个人信息泄露会导致很严重的后果,这是因为物理空间有警察看着,但是网络空间里面其实是一个黑的,对方可能根本不知道你是谁,谁知道互联网对面那个人是人还是狗?
在这样的条件之下,身份认证就成为一个很重要的问题,所以我们认为:在移动互联网里面,最后一厘米这样一个安全问题需要解决好。
2、传统认证VS.生物特征认证
我们可以看一下过去传统的认证方法是用一个口令,即你知道什么,但是很容易被泄露。后来说那就带一个U盾吧,但是它容易丢,再进一步,干脆你证明你是你自己算了,于是大家就用生物特征来做这个事儿,这是因为过去传统的方法都有它的不太方便的地方。
3、解决方案
比如美国2011年提出网络环境中,可信身份上升为国家战略。
欧盟也是一样,06年在电子身份认证做了顶层设计。
还有国际企业弄的快速在线身份识别的联盟,也提出相应技术方案。
4、无监督身份认证的技术要求
在无监督的身份认证中在技术上面有五个要求:
第一,必须是人证合一,如果这个凭证是你自己,这样安全性就得到了很大的保障,带钥匙搞密码都存在隐患。还有,要求不容易被人伪造,还有意图的真实性、证据可溯性,还有认证便(pian2)宜,当然也可以读成便(bian4)宜,这条要求是落实无监督身份认证和大面积认证,很方便的使用它的一个要求。
第二、不易伪造性。声纹是满足要求的,那么在防止伪造上面,刚才提到了防止攻击的办法,所以确实不易伪造。当然如果不做防范,就容易伪造。如果做了防范就变得不那么容易。
第三、意图真实性,这是声音独一无二的,因为声音本身就有语义和情感信息包含在里面,而其他的生物特征本身是不具备人和人交流的功能,当然有时候设计一个手势,但是毕竟是有限的,而且还得约定不那么复杂。但是声音不一样,所以这个地方是一个特殊的长处,在意图的真实性上面,我觉得声音也是能够满足这个特性。
第四、证据可溯性,经过软件设计可以记录用户说的话,一查那几个字那几个提示符,这是2018年4月15日下午15:17分的时候说的。
第五、认证便宜性,很容易想到它的采集各方面都是容易的。因此生物特征中,声纹是具有比较高的符合性,特别是成本比较低,可以去做。
所以我们觉得声纹+什么东西,以声纹为很重要的基础,然后把别的生物特征结合起来,实实在在是大自然作出的选择,它给我们创造了一个很好的一种表示身份的属性或者人的功能,即用声音来代表人。
五、声纹识别技术在理论和应用方面的进展
最后,简要介绍一下我们的联合实验室、课题组、相关公司还有清华大学之间的关系。清华大学以知识产权入股得意公司,然后公司再投钱过来跟清华大学建立声纹处理联合实验室,以核心技术为支撑做了一些工作。
去年7月份,成立了得意音通信息技术研究院,这里有一些学术很知名的专家、学者。
得意公司开发的声密保的产品获得“创新产品”称号,这个产品具有成本低、无需记忆等特点。这个产品应用的第一家单位就是建行,2015年已经开始用白名单运行,2016年5月份对正式用户开放。
几次的银行评测中声密保是唯一提供录音假冒的产品,也是能够把市面上所有的手机重放出来,能够百分百检出来。我们都是搞学术的,都知道建行要做测试,肯定只是他自己构建的测试集合,那么,不在这个集合中的某个测试会不会成为漏网之鱼?理论上肯定是要打个问号的,但是确实是建行在评测的时候,声密保产品的性能都是没有问题的。
还有,谈到声密保对时变语音的性能,我们有一个全球唯一的同一个人在相同的文本内容跨了好几年的这样一个语音数据库,所以在这个库上面我们做的一些工作对于我们解决时变问题提供了一个很好的基础。
这个产品建行使用之后,原来用户的额度只用五万,现在可以提到五十万了,这是建行对声密保性能放心的一个很好的证明。
另外,围绕这个产品也申请了相关的核心专利。我们希望基于这些工作能够在将来不远的将来,通过一些无线的手段,比如麦克风或者手机,声音作为你的身份一个表示和载体,能够在它的认证下做住宿、认证、交易等等各种社会活动,这就是我们的声纹梦。
希望在不久的将来,经过努力以及和其他生物特征的结合,能够共同推动这个梦想的实现,谢谢大家!