发布时间:2018-12-14
由中国人工智能学会主办,广州易间网络科技有限公司承办的2018第八届中国智能产业高峰论坛11 月17-18日在成都完美收官,论坛在两天的会议里带来了多场精彩报告。
此次小编为大家整理的是来自电子科技大学教授佘堃主题为《音频敏感词定位研究》的精彩演讲。
佘堃
电子科技大学教授
以下是佘堃教授的演讲实录:
深度学习(DNN)的发展太快,它所推动的人工智能技术和产业到底对人类产生多大的威胁?现在,业界将人工智能(AI)分了6个级别。零级,就是理论应该有,但还没有发现其存在的智能,如多重宇宙,到底,可能存在,可能不存在。因为我们和它没交互,没有输入输出,判断不出它的智力程度。如果有输出没输入,或者有输入没输出的,就是第一级,比如石头、黑洞就属于第一级。第二级,如家电的温度控制,包括房间灯的控制,这时就有输入输出,简单的输入输出,但是不能升级。能够升级的,现在的有Android系统的智能家电等都能升级,这是第三级。每高一级包含前面低一级的能力。再进一步,能够学习人类的传统知识,并沉淀下来,就是第四级AI。AI+,就是升级人类周边的各类系统成为第四级AI系统。而第五级AI,学会了人类的创新、创造能力。我认为,目前AI已处于第五级的初始阶段,有些AI已经可以创造自己的东西,甚至人都不能理解的机器人语言。
我们的音频敏感词定位使用深度学习和深度神经网络技术,所以从神经网络开始介绍。神经网络最早也是模拟生物学对大脑的研究。有一个诺贝尔生物学奖成果:一个神经元的细胞只能处理、理解大图片的一角,而不是完整的大图片,很多神经元分层连接组成了现在叫做特征的神经网络。比如在人脸识别中,第一层多个神经元对点、叉叉、直线、勾勾等低级小图片特征进行理解和沉淀;经过轴突连接汇聚到第二层的很多神经元,形成耳朵、鼻子等五官的中级特征沉淀;然后再如此汇聚到第三层的很多神经元,完成人的正脸、侧脸、笑脸等高级特征。这样的网络三层,用我们的图画就是标准的BP三层神经网络,理论上可以逼进任何的非线性、连续曲线。
深度神经网络实际上早就出现了,超过三层(2个以上隐层)的BP网络就是深度网络,但遇到了梯度爆炸、梯度退化、过拟合、容易陷入局部极小值而得不到全局最优值等诸多“深度问题”,第二次AI高潮就冷了下来。虽然前期BP在指纹、人脸识别方面取得了巨大的进步,光线比较好时可以达到60%的准确率,但还是不能产业化,现在深度学习使之达到95%以上准确率,应用才普及起来,大家在机场、宾馆等场合都看到了。
几十年来,深层次学习一直是我们的梦想,层次越多,连接越多,它比3层BP表达的特征就越多,越能逼近人类的大脑。BP虽然理论上很好,但真正解决实际问题还是很难的一件事情,遇到了前面描述的“深度问题”。一直到2006年也是在BP的发明者之一Hinton教授,在BP基础上提出了新的解决方案,并于同年在Science上发表深度学习论文,继而6年之后在2012年指导其学生参加ImageNet大赛获得巨大成功,才推动了AI的第三次浪潮。一直到现在这个时代也正处于第三次AI浪潮的震撼期中,而且许多问题,如传统的人脸识别、指纹识别、语音识别,新的如风格转换、超分辨率、翻译机和Alphago系列人机大战等在深度学习的巨大进步下都获得了巨大成功(虽然理论上并没有证明其有效性),形成了AI第三次浪潮,这一次的AI革命实际上就是深度学习带来的革命,配合上丰富的大数据和计算能力的进步,造成现在深度学习的成功实例越来越多,AI+时代来临。
Hinton在2006年提出,通过逐层预训练,把提炼过的“好”特征交给下一层,可以有效减少梯度消失问题。除此之外,后来人们又提出了很多新技术,如裁剪神经元,有些连接甚至神经元直接砍掉、扔掉。还有批量正则化,每一层计算后进行正则化,可有效减轻梯度爆炸、过拟合等问题。针对不同问题,需要多少层,每次多少神经元,每层之后是否正则化、预训练等,这些按需微调,就是高技术。很多人工智能博士毕业去Google、BAT等大公司,不是做模型创新,提新算法,而是做这种微调,就是微创新的工作。梯度消失这类问题,从非线性激活函数,如sigmoid入手,改了一个ReLu函数,它在-1~0这个范畴梯度是平的,从0~1是一条斜线,也是从生物学大脑研究的进展中学习来的思想,Relu保持了梯度的持久性和稳定性。还有残差网络,是微软在2016年参加ImageNet语音识别大赛获得第一名使用的,将AI的语音识别提高到人类水平,导致2017年AI语音识别、图像分类等这个领域效果上全面超越人类,ImageNet大赛宣布完成使命,成功谢幕。最近市面上出现了另一个AI产业化的标志---翻译机,它利用了卷积深度学习CNN对长短期记忆网络的改进和注意力模型进步等。其实长短期记忆网络很久就提出来了,直到其核心采用了深度学习的技术才突飞猛进。实际上很多技术在深度学习成功之前就有,但在当时遇到了瓶颈做不下去,包括循环网络、长短期记忆和生成对抗GAN模型等。深度学习使得它们都获得了巨大成功。
深度学习的巨大成功,使用中用的最多是卷积深度神经网络CNN。传统BP主要采用全连接,效率慢,很难在多个隐层上继续成功。人类在找不到问题答案时,常常借助于生活中自身、周边的事物,对其进行观察,看能否学习到什么。现在,我们就在想能不能像眼睛、耳朵的神经元(回到前面谈到的诺贝尔奖成果)只计算部分图像碎片,从小特征做起,仅仅就是点、叉查、直线、斜线、角线等小特征。最常见就是来自信号处理的、从傅里叶变换发展过来的卷积计算,这些卷积计算在当今的3G、4G、5G通信中都是基础技术;也就是过滤出信号特征,然后下采样需要的特征进行下一步特征预算,有时还需要上采样还原。
Hinton提出了逐层预训练。预训练、预处理这些词,很耳熟啊!不就是当初小波、傅里叶变换和余弦变换等遇到传统神经网络的情形?只不过以前是各做各的研究。研究神经网络的只是拿小波预处理试试,研究小波的对比一下神经网络的效果,虽然也提出了小波神经网络的模型,怎么看都觉得不对劲。能不能直接把眼睛、耳朵等功能看成一套神经网络,逐层预训练就每个神经元采用卷积计算,实施金字塔分解,信号处理中常常要做2~3层金字塔分解,对应2~3层神经网络层,这不就是多层了!卷积的每一次金字塔分解,都是信号的自相似特征的一次过滤。2次金字塔分解,在图像分析、压缩中经常使用,而且能够上采样重构。即使最后一次的金字塔分解到一个像素,这个像素与原始信号都是自相似的,而且这些特征相互独立,做的好,可看到金字塔分解的图像特征碎片就是点、叉叉、直线等这些相互独立又自相似的特征!这就是卷积基的厉害之处。这些预处理后的特征作为三层BP全连接的输入,会得到意想不到的效果,形成了经典的Hinton学生2012年参赛的卷积神经网络CNN,卷积运算不是全连接运算,比BP多层全连接快了许多。好的卷积基具有位置不变性、去燥、稀疏等良好特性,使得CNN直接成功模拟了单只眼睛(单只耳朵一样)系统(含大脑的视觉神经架构),常称单目神经网络系统。
经典CNN的第一次金字塔分解,六次不同卷积基的不同分解,之后各自下采样只留一块自相似代表全局特征,这里的图中没有批量正则化,有些应用需要微调,加入批量正则化,防止以后的梯度消失和过拟合问题,现在这个图没有。这里的六个不同卷积基金字塔分解,下采样后的特征,训练好的网络,这些特征应该是线性不相关、独立的特性。这些下采样特征图片每个再做一次金字塔分解,形成新的隐层,比如每个做成16个神经元的卷积计算,6个就是96个金字塔分解,再下采样就形成96个更小的相互独立的图片特征。这个图因为比较小,32×32,最后做了3次金字塔分解之后最后像素正好是1×1这个特征点,全部与中间金字塔分解的图片和最原始的图片相互独立、自相识的。第三次的金字塔分解形成16×96=1536个点,输入下面的三层BP,就这么进行迭代,得到了非常好的结果,得到了2012年ImageNet大赛第一名。
这个经典框架里可以加很多东西,比如批量正则化、Relu替代等。甚至可以增加上采样,形成自编码器。我们音频处理上要用上上采样的。在这个图上可以改一改,每层都是相当于一个人类的知识结晶,可以用卷积,这边又可以用其他的神经网络,包括BP可以用SVM替换等,随意搭配,只要效果好,注意力网络就这么做的。因为这没有理论证明。大家都知道,因为深度学习成功,人工智能分成了两派,一种是纯实验派(我们就是实验派),做的结果好就行,数学上目前不能严格证明为什么这样;第二个包括BP本身都有严格的数据证明,但跟不上实验结果,我们现在的革命都是实验试出来的,层次、参数、初始化都告诉了,你还出不了同样的结果?我把模型直接打包迁移给你。
经典CNN,这是它的应用之一---手写识别,也比以前的结果提高了一大截。看看人脸识别、语音识别的历史,2011年的成果还在25.6%的错误率,CNN一下子使之下降到15%,相当于一个量级,减少了一半的错误率,获得重大的产业震动,因为它可以拿出来直接产业化,深度学习就此开始爆发式发展。从2012年一直到2017年的成果全是基于深度学习的,包括图像识别、图像分类、语音识别等。这个框架里加了批量正则化,刚刚那个经典CNN就没有,形成DNN的工程化研究。正如前面提到的CNN是一个单目神经网络系统,就已经开始了DNN的工程化、系统化之路,包括目标识别、目标的行为识别等。
再看一下语音识别,今天主要介绍音频。语音识别已经成为专用术语——把语音变成文字。但是很多少数民族只有语言,没有文字。我们的工作就是直接处理说话的语言,不变成文字。声纹处理,也差不多成为专用术语——说话人识别之类。所以后来把我们的研究归属叫做音频处理。
语音识别。2016年微软把语音识别错误率降到了5.9%,这个效果太好了(叫做人类的水平),人类语音识别的水平。导致2017年ImageNet宣布停止大赛,为什么?2017年错误率降到了3%,超过了人类。ImageNet停赛标志着AI+时代的来临。但第三个高峰才刚刚开始,AI+成功应用将越来越多,包括今天要介绍的这张胶片就是音频敏感词方面的,都是最近的工作。我们身边的天网早就监视视频了,监视音频技术上不会存在瓶颈,后面少数民族语言也不在话下。
我们的工作使用了基于DNN的生成对抗网络(GNN)。其实,生成式模型也是DNN流行之前就发明了。利用2个机器人进行对抗、博弈,在相互学习、对抗中提高,最后理论上会达到纳什均衡,也就是同时训练出大家都可接受的2个机器人,一个模型生成器,一个判决器,判决生成器是否成功生成了真的,或假的样本。实际上就是一个以假乱真的生成器,如何成功欺骗判决器的故事。在电脑环境,这2个机器人可以不停对抗式迭代达到最后成功。开始时,生成式模型遇到了很多困难,直到DNN成功。DNN是2006年提出来的,在20世纪80年代BP之后20年,Hinton提出来的,开始没有引起产业界的注意,一直到2011年各大公司开始试用、2012年Hinton学生参加ImageNet竞赛获得第一名之后,谷歌、微软等全部跟上才逐渐普及。因为得到的效果实在太好,现在顺而知之地成为人工智能2.0、AI+,也成为了国家竞争的大战略。为什么效果好?有一个原因就是计算能力极大提升。2012年Hinton学生参加竞赛时是人类第一次用上GPU,极大提升了矩阵运算能力。
生成式模型与DNN的结合产生了伟大的GAN,可以说是DNN的第二次革命。基于DNN的CNN之后,生成器如果我们平时做梦,实际上就是大脑的创造性过程,晚上睡觉不停地梦到很多深层次的东西,但对不对?这个梦境是不是现实?我要一个判断。这个过程模拟了人的成长,从0~2岁的无监督喊爸爸、妈妈等,到2岁之后的爸爸、妈妈等的有监督交迭代、小学、中学、大学的迭代,最后梦想超越现实的成功。这个过程后来被证明就是博弈的纳什均衡解。
具体怎么做?敏感词识别事实上有很多困难,很多人做过,直接在声纹、音频上做,不是在文字上做,有多困难一会儿介绍。所以我们现在试着用GAN做,没想到效果那么好。我认为,GAN实际上就是第五级人工智能的雏形,生成器的工作就是做梦、创新;做梦就是一种创新,没有的东西生成出来。在图像识别或者图像处理领域,我们都是尽量在这个原图、原信上处理,实际上是处理之后效果都有减弱的,就算图像增强,最后结果都对原始图像某些参数的减弱,以突出要展示的指标。但GAN不一样,包括现在的风格转换。你是冬天的图片,我把它转化成夏天的风格,这是生成出来的,生成的质量也许超过了你的想象。而且这个过程附带解决了DNN上一个很大的难题——样本太少,大部分研究者实际上没有太多样本,虽然现在是大数据时代。GAN自己就可以生成样本。
大数据时代,大数据实际上弥补了神经网络上特征不足的缺陷。但是很多情况,数据样本不多,如敏感词识别,敏感词本身就很少,面对海量的语言,敏感词连微粒都排不上。GAN给了我们思路,这是它很有意思的地方。
GAN的目标函数就这么一个简单的公式,这两个机器人G和D最后怎么达到均衡?首先迭代这个判决器D,判决式CNN机器人,判别生成器CNN机器人生成的样本对不对。第一次迭代,随机数进入G,产生的肯定是假样本,要求判决器判决“假”,这是目标函数的第二部分;而准备好的“真”样本判别为“真”,是目标函数的第一本分。这样的训练,真样本判别为真,G生成的假样本为假,使之最大可能,使得D达到一次局部最优,但不一定能达到全局最优,而且大部分场合达不到全局最优。
然后,D固定,训练G,使得G生成的假样本可能性最小。完整的一次迭代训练出D0、G0,然后进入第二次训练D1、G1。我们音频敏感词识别,迭代了200次。
当然我们的项目,也不是采用标准的GAN模型。标准GAN的改进也多,比如前面最大、最小的似然目标函数,我们换成了基于Wasserstein距离的WGAN,而不是传统KL散度。2018年Google的一篇关于GAN进展的论文,对各种GAN进行了比较,WGAN效果在各类指标上的表现都很好,大家参考这篇论文。
另外,我们的生产器增加了上采样,相当于一个自编码器,自己要生成自己。在模型中,我们不采用传统的大海捞针式的敏感词提取方法,而使用敏感词自己生成自己的方式。
最近几乎大学生都想干这个事情,如风格转换,拍一张照你就变成各种妖精,包括刚刚说的夏天的图变成冬天风格,冬天的图变成夏天风格;包括照的模糊的图片还原成更清晰,比想象还真实的图片,因为它生成出来的。现在称这类研究为超分辨率技术。包括从高空在密密麻麻的建筑群中找到跑道,就是真实道路突出,无关紧要的背景化、模糊化;包括利用骨架素描就能恢复人的原始面貌等。这些有点类似于大脑中构想的东西,实际上我们已经达到了人工智能第五级的初期,去构造一个虚拟世界,而且这个可能还非常真实。所以,我担心人脸识别在未来没有用,因为我们可以造出一个“真实”的你欺骗判决器。
那么GAN的缺点是什么?缺点就是G、D之间,也就是生成器和判别器之间达到同时最优是比较难的,所以在这方面有很多研究;还有它对于信号处理领域,如图像、音频等,效果较好,文本这类太离散的不好处理。
现在对GAN的研究都是最近,也就是2016、2017年的事情,我们说的深度卷积,D就是深度,C就是卷积,就是用深度卷积GAN(CDGAN)来做的。最大似然目标函数,实际上是一个KL散度最大,KL散度是对2条曲线相似度的刻画函数。它与传统神经网络的做法不同,我们一般要求距离最小或者熵最大来求解,距离本身也含了点的距离信息,这种KL散度没有距离信息,所以有些时候GAN不稳定。我们的项目用了WGAN。模型中还加了一个位置惩罚函数,因为我们不仅要识别,还要定位出敏感词的位置,所以加上这个梯度惩罚,位置的惩罚信息。不应该叫做位置应该是顺序,因为说话是有顺序的。生成器生成出来时拟合的是一个概率分布函数,它没有时间顺序,XN与X20的位置互换,它的分布还是一样的,所以要加上这个顺序惩罚函数。
音频敏感词定位采用了WGAN,训练出我们需要的自动生成敏感词的G机器人。最近几年在语音关键词研究方面,主要有两种方案,一种是把它翻译成文本,因为语音识别很成熟了,直接在文本上过滤关键词或者敏感词。但这对没有文字的语言没法操作。另一种是采集一节一节的时间窗口语音,如3秒1节,然后直接与敏感词这节匹配,但太耗时间,这就是大海捞针。而且方言它没法判断,很多方言没有文字,少数民族语言怎么做?
有了GAN,换个思路,直接创建能自动吐出敏感词的G机器人,多好!我们没有查到直接用深度DNN的敏感词算法,我们顺便也做了,效果只能达到70%准确度,但现在DNN的很多成果都是90%多,属于产业级的,这个效果算差的。利用WGAN,加上我们的顺序惩罚函数,输入任何一个词、一句话进来,最后相当于学习之后的G机器人能够把里面有敏感词的波形生成出来。这是我们设的参数,比如G是19个卷积层、D是13层的卷积。比较其他的几个算法,平均准确率达到的92.4%。运行时间学习大概用3个小时,200次迭代。15秒的语音,1.17秒就自动生成出2段有敏感词的输出,召回率、准确率、查找率基本上都达到90%多,比以前高了很多;过去是一点点的窗口移动,实在太慢。国内很多音频关键词匹配要求5秒的关键词音频长度,我们减少到2秒。
(本报告根据速记整理)
CAAI原创 丨 作者佘堃教授
未经授权严禁转载及翻译
如需转载合作请向学会或本人申请
转发请注明转自中国人工智能学会