start	end	text
0	29980	大家好,今天给大家介绍一篇比较新的paper,也是基于Visper作语音识别的。这篇论文的题目叫Visper CD,专门解决长音频的语音识别问题。如果用一句话来总结的话,这篇paper它的核心亮点就在于不改变Visper模型的参数,也无需训练。只在Visper解码时给它加一个反向的揪片器,这样专门来压制长音频的语音识别。
30000	31740	音频转写里面的幻觉
31740	34580	重复循环和漏字等问题
34580	36500	这就是这篇论文
36500	37920	它核心要解决的问题
37920	39360	这里面CD代表什么意思
39360	40420	就是一个对比解码
40420	41540	那我们下面来看一下
41540	43360	这篇PayPal它主要解决什么问题
43360	45040	它核心要解决的
45040	47320	就是可能比较长的一些语音
47320	48060	然后呢
48060	50680	以Visper为代表的一些语音识别模型
50680	52280	它面临的幻觉
52280	55220	重复循环和内容遗漏
55220	56500	等错误累积的问题
56500	58080	因为上海文太长了嘛
58080	59340	而且这种Visper
59340	62300	它是自回归的一个模型结构
62300	64540	所以上文的错误会累积到下文
64540	68780	这三种错误基本上可以看成分成以下三类
68780	71100	第一种就是静音区的幻觉
71100	74320	例如在非语音的间隔期间
74320	75400	但是模型呢
75400	77200	它还是错误的生成了文本
77200	80800	第二个就是跨段的重复的循环
80800	83260	就是模型陷入自我强化的重复模式
83260	86320	它会错误的不停的输出相同的字
86320	87760	然后一直循环一直循环
87760	89100	然后永远不停
89100	90740	第三个就是跳过
90740	93960	那就是遗漏了实际的语音内容
93960	95300	导致转路不完整
95300	98360	实际上就是我们语音识别里常见的三类错误
98360	101000	插入删除替换这三类错误
101000	102920	此外这个论文也指出
102920	106380	当前因为是自回归的语音识别模型
106380	110380	它会利用前一段转路的结果作为解码的上下文
110380	112780	那么这样就会带来一个问题
112780	114660	就是上面的错误会被累积
114660	117140	引起后面解码带来更多的错误
117140	119180	这就要形成了新的累积错误
119180	121680	这也是自卫规模型它常见的问题
121680	124760	那这篇paper它是如何解决这个问题的呢
124760	126660	它就提出了叫Visper CD
126660	129000	这种方式啊
129000	130960	不需要训练这个Visper模型的
130960	136460	在推理时对比干净的音频和声学扰动后的音频的一个输出
136460	137420	一个logis
137420	138560	然后从而呢
138560	143260	抑制长形式语音转换中的一些插入删除和替换错误
143260	146000	那我们就来看一下它具体是怎么做的
146000	148380	我们先看右面这张图吧
148380	149820	我把这张图看懂了
149820	153080	那这篇论文最精华最核心的部分也就懂了
153080	156440	首先白色这一部分就是输入的语音
156440	157860	然后这一部分呢
157860	159980	就是粉色的这部分就是Whisper
159980	161560	Whisper我们知道
161560	164140	它就整体过程中就不需要动
164140	165860	那过程是怎么样的呢
165860	167360	我们先看虚线这部分啊
167360	170340	就是上一个30秒已经识别完
170340	172500	识别之后的一个语音片段
172500	173520	那现在呢
173520	174860	我们要识别最新的
174860	176900	这个新的这30秒的语音片段
176900	180820	需要把它给到我们Whisper的encoder
180820	182740	那你看这就是黑色这部分
182740	184280	就是原始的这段
184280	185560	此外呢
185560	187620	我们会对原始的音频
187620	189240	做一些相关的扰动
189240	190580	把它当做复理
190580	192420	原来这段就当做正理
192420	194260	复理第一个种复理呢
194260	196180	就是我们加一些高斯噪声
196180	198280	就是在原始的这段干净音频上
198280	199440	加一些高斯噪声
199440	201020	把它变成第一种复理
201020	202600	也就是这个蓝色这部分
202600	204000	第二种复利呢
204000	206140	就是我们把原始的音频啊
206140	208180	向右稍微偏移一小段
208180	210200	这个就变成shift
210200	213100	就是偏移的这段扰动的音频
213100	214500	第三种音频啊
214500	215760	就是silence
215760	217520	就是完全静音的这段音频
217520	218460	然后呢
218460	219960	我们把这四种音频
219960	221320	同时送给Whisper
221320	223760	它的encoder和decoder去解码
223760	225620	解码之后呢
225620	228860	我们就得到了对应的四个输出
228860	231260	那黑色这部分就是原始的输出
231260	235600	蓝色绿色和红色分别也对应了三个输出
235600	236420	然后呢
236420	239960	我们就把正力的得分输出和负力的得分输出
239960	241140	进行一个整合
241140	243340	以叫我们叫对比的一个解码
243340	247420	解码之后就可以帮助我们得到
247420	249980	更准确的语音识别的结果
249980	253120	那具体它是怎么去做这个对比解码的呢
253120	256060	我们就来看一下论文中的原始
256060	257040	它是怎么说的
257040	258820	其实方式也很简单
258820	262480	正力得到的这个X就是干净的
262480	264020	原始干净的语音
264020	266380	那自回归之后
266380	268360	得到我们正力的一个结果
268360	269320	复利的呢
269320	271520	这个X上面加一个波浪
271520	273780	就是我们经过三种变换
273780	274920	加高斯啊
274920	276340	加偏移啊
276340	279240	和静音的变换之后的这种音频
279240	281060	也经过我们F
281060	283480	也就是Whisper之后
283480	285040	得到我们复利的输出
285040	286080	然后呢
286080	288860	我就通过一个α的一个超三
288860	291260	把这两种得分输出
291260	292720	把它整合在一起
292720	296620	然后就变成我们最终的一个CD的一个输出
296620	298620	那具体是怎么整合的呢
298620	301080	实际上就是1加上α
301080	303120	然后乘以我们正力的输出
303120	305400	减去α乘以我们负力的输出
305400	308020	实际上你如果把这个式子变换一下
308020	310760	其实就是把这个括号拆开啊
310760	312140	就变成正力的输出
312140	314260	加上正力的输出
314260	315480	减去负力的输出
315480	317160	然后再乘一个alpha的参数
317160	317600	对吧
317600	321000	所以这它代表的是什么含义呢
321000	324800	实际上就是我在保持正力输出不变的前提下
324800	327100	我把负力的那些扰动
327100	328440	希望都把它剪掉
328440	330400	然后把这些干扰项去掉
330400	332020	然后让它有一个对比的结果
332020	333980	从而帮助我更好的识别
333980	336060	最终的语音识别结果
336060	339480	这就是这篇paper最重要的
339480	341200	也最核心的一个机制
341200	342020	叫对比解码
342020	343800	那下面我们就来看一下
343800	346220	它声学扰动具体是怎么做的
346220	347340	基本上就是三种
347340	349000	一个是高斯造声的注入
349000	350440	就是我们随机生成
350440	352440	符合正态分布的高斯造声
352440	353740	加到原始信号上
353740	355480	第二个呢就是静音
355480	356820	我就把输入图谱
356820	358180	全都变成零
358180	359180	全零的波形
359180	360160	就是静音
360160	362560	第三个呢就是音频的时序偏移
362560	364680	我就把原始的30秒
364680	367180	向左偏移一些
367180	369080	然后左侧的丢弃
369080	370760	右侧的用零来填充
370760	371620	这就好了
371620	374260	这就是三种升学扰动的策略
374260	375540	然后呢
375540	377760	如果我们有了升学扰动的策略
377760	378980	那这三种策略
378980	381260	它是怎么结合在一起的呢
381260	382680	结合其实也非常简单
382680	384720	大家还记得我原始的诗子吧
384720	387000	就是1加上α乘以正力
387000	388480	减去α乘以负力
388480	390360	这里只不过负力有很多啊
390360	392740	就是有三种扰动策略嘛
392740	396360	所以负力产生的输出结果就有三种
396360	398520	那这三种我怎么整合到一起呢
398520	400940	我就把它在e的指数上
400940	401960	进行一个整合
401960	403760	先求和再求个平均
403760	406280	无非是这里加了一个超次参数
406280	407280	来控制一下
407280	407700	对吧
407700	409200	所以这个超次参数呢
409200	410200	一般也就设为1
410200	413000	那这个1其实就等于没有吗
413000	414100	你除它就等于没有了
414100	416080	那其实在原始的例子上
416080	419600	无非就是把三个负利的输出
419600	421560	进行求和再取平均
421560	422700	就非常简单吧
423927	438207	然后呢,我们再看在推理的时候。推理的时候,我们知道,呃,其实是可以并行推理的嘛,对吧?就是尽管输入的是K条额外的解码路径,但是我们可以通过P处理来计算控制的开销,也就是一次处理把它
438207	438927	都做完
438927	439947	然后整体的
439947	440887	它最大的优势
440887	441867	就是无需训练
441867	444047	然后我只需要在后面
444047	446467	只需要在解码的时候
446467	447487	稍加一些
447487	450427	所谓的工程化的处理就够了
450427	452687	那我们可以在这里
452687	453867	做一个形象的比喻
453867	454927	就是如果你上面
454927	456827	听的还不是特别懂的话
456827	459307	如果我们把原始的Whisper
459307	460647	它正常转型的时候
460647	461567	它就是像一个
461567	463007	边听边写的速记员
463007	464867	那这篇paper
464867	465987	它这个Whisper CD
465987	467667	它实际上做的就是
467667	470727	在旁边放了三个捣乱版的监听器
470727	471767	那一个呢
471767	472787	让它听起来很吵
472787	474307	也就是加噪音的
474307	475607	加高斯噪声的
475607	477647	一个让它几乎什么都听不到
477647	480147	然后就是静音的
480147	481027	还有一个呢
481027	482847	是让它错位的
482847	484107	就是这个偏移的
484107	485467	然后如果某个词
485467	487247	在这三种不利的条件下
487247	489107	它仍然特别想写出来
489107	492927	那这个词多半就不是真的想听到的
492927	494467	而是它习惯性脑补的
494467	497007	于是系统就把这些词的分数扣掉
497007	498707	然后这个解释啊
498707	499987	基本上或者这个比喻啊
499987	502127	就是整篇论文方法的本质
502127	502867	嗯
502867	505287	最后我们来看一下它的效果啊
505287	505947	整个论文呢
505947	509707	是在这五个长音频的英文测试机上来做的
509707	510647	然后我们看一下
510647	513407	它这个效果还是很不错的
513407	516347	就是加CD是这次改编之后的吧
516347	518667	然后它在两个VSPR的版本上做
518667	520787	我们看到原始的VSPR
520787	522507	像V3那种
522507	523887	它在这些测试机上
523887	525707	这个凑率都非常高
525707	527427	这都超过100%了
527427	528907	有200多500多
528907	533847	但是呢我们在Visper V3上加了解码上的改进之后
533847	534947	下降非常多
534947	537027	就都从200多变成45
537027	538647	从44变成19
538647	539827	从500多变成57
539827	540267	对吧
540267	541607	第二种方式呢
541607	542927	就是我用更强的版本
542927	544007	用Turbo这个版本
544007	545827	虽然原始的版本
545827	547647	直接用Visper
547647	551587	识别这个长文效果比V3会好一些啊
551587	554067	但是也不尽如人意吧
554067	554967	但是呢
554967	556467	我们加了这种CD之后
556467	559027	你会看到它效果像样的也是非常明显
559027	561747	所以这就是我觉得这篇paper非常
561747	564507	值得分享的吧
564507	566167	就是它用非常小的改动
566167	569607	然后实现了对常文的一个效果非常大的提升
569607	572047	我们最后来总结一下这篇paper
572047	574007	就是长音频的识别
574007	576527	Whisper的话会有很多严重的错误
576527	579987	但这些错误它大概率不是模型不会识别
579987	581647	而是解码的过程中
581647	584847	被之前的识别结果和一些上下文绑架了
584847	587127	导致它越识别越错
587127	587947	越识别越错
587947	591127	所以作者他不是去强化原始模型的能力
591127	592627	也就是没有训练原始的模型
592627	596827	而是直接在token选择的阶段做干预
596827	599267	这个角度就是在工程测作
599267	600387	然后也很聪明
600387	603007	好这期视频就给大家介绍到这
