Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
M
mtbookv2
概览
Overview
Details
Activity
Cycle Analytics
版本库
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
问题
0
Issues
0
列表
Board
标记
里程碑
合并请求
0
Merge Requests
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
Snippets
成员
Collapse sidebar
Close sidebar
活动
图像
聊天
创建新问题
作业
提交
Issue Boards
Open sidebar
NiuTrans
mtbookv2
Commits
c9955b2e
Commit
c9955b2e
authored
Mar 07, 2021
by
曹润柘
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
更新 chapter17.tex
parent
77b97ed1
隐藏空白字符变更
内嵌
并排
正在显示
1 个修改的文件
包含
3 行增加
和
3 行删除
+3
-3
Chapter17/chapter17.tex
+3
-3
没有找到文件。
Chapter17/chapter17.tex
查看文件 @
c9955b2e
...
@@ -76,7 +76,7 @@
...
@@ -76,7 +76,7 @@
\parinterval
经过上面的描述可以看出,音频的表示实际上是一个非常长的采样点序列,这导致了直接使用现有的深度学习技术处理音频序列较为困难。并且,原始的音频信号中可能包含着较多的噪声、环境声或冗余信息,也会对模型产生干扰。因此,一般会对音频序列进行处理来提取声学特征,具体为将长序列的采样点序列转换为短序列的特征向量序列,再用于下游系统。虽然已有一些工作不依赖特征提取,直接在原始的采样点序列上进行声学建模和模型训练
\upcite
{
DBLP:conf/interspeech/SainathWSWV15
}
,但目前的主流方法仍然是基于声学特征进行建模
\upcite
{
DBLP:conf/icassp/MohamedHP12
}
。
\parinterval
经过上面的描述可以看出,音频的表示实际上是一个非常长的采样点序列,这导致了直接使用现有的深度学习技术处理音频序列较为困难。并且,原始的音频信号中可能包含着较多的噪声、环境声或冗余信息,也会对模型产生干扰。因此,一般会对音频序列进行处理来提取声学特征,具体为将长序列的采样点序列转换为短序列的特征向量序列,再用于下游系统。虽然已有一些工作不依赖特征提取,直接在原始的采样点序列上进行声学建模和模型训练
\upcite
{
DBLP:conf/interspeech/SainathWSWV15
}
,但目前的主流方法仍然是基于声学特征进行建模
\upcite
{
DBLP:conf/icassp/MohamedHP12
}
。
\parinterval
声学特征提取的第一步是预处理。其流程主要是对音频进行
{
\small\bfnew
{
预加重
}}
(Pre-emphasis)
\index
{
预加重
}
\index
{
Pre-emphasis
}
、
{
\small\bfnew
{
分帧
}}
\index
{
分帧
}
(Framing)
\index
{
Framing
}
和
{
\small\bfnew
{
加窗
}}
\index
{
加窗
}
(Windowing)
\index
{
Windowing
}
。预加重是通过增强音频信号中的高频部分来减弱语音中对高频信号的抑制,使频谱更加顺滑。分帧(原理如图
\ref
{
fig:17-3
}
所示)是基于短时平稳假设,即根据生物学特征,语音信号是一个缓慢变化的过程,10ms
$
\thicksim
$
30ms的信号片段是相对平稳的。基于这个假设,一般将每25ms作为一帧来提取特征,这个时间称为
{
\small\bfnew
{
帧长
}}
\index
{
帧长
}
(Frame Length)
\index
{
Frame Length
}
。同时,为了保证不同帧之间的信号平滑性,使每两个相邻帧之间存在一定的重合部分。一般每隔10ms取一帧,这个时长称为
{
\small\bfnew
{
帧移
}}
\index
{
帧移
}
(Frame Shift)
\index
{
Frame Shift
}
。为了缓解分帧带来的频谱泄漏问题,需要对每帧的信号进行加窗处理使其幅度在两
段
渐变到0,一般采用的是
{
\small\bfnew
{
汉明窗
}}
\index
{
汉明窗
}
(Hamming)
\index
{
Hamming
}
\upcite
{
洪青阳2020语音识别原理与应用
}
。
\parinterval
声学特征提取的第一步是预处理。其流程主要是对音频进行
{
\small\bfnew
{
预加重
}}
(Pre-emphasis)
\index
{
预加重
}
\index
{
Pre-emphasis
}
、
{
\small\bfnew
{
分帧
}}
\index
{
分帧
}
(Framing)
\index
{
Framing
}
和
{
\small\bfnew
{
加窗
}}
\index
{
加窗
}
(Windowing)
\index
{
Windowing
}
。预加重是通过增强音频信号中的高频部分来减弱语音中对高频信号的抑制,使频谱更加顺滑。分帧(原理如图
\ref
{
fig:17-3
}
所示)是基于短时平稳假设,即根据生物学特征,语音信号是一个缓慢变化的过程,10ms
$
\thicksim
$
30ms的信号片段是相对平稳的。基于这个假设,一般将每25ms作为一帧来提取特征,这个时间称为
{
\small\bfnew
{
帧长
}}
\index
{
帧长
}
(Frame Length)
\index
{
Frame Length
}
。同时,为了保证不同帧之间的信号平滑性,使每两个相邻帧之间存在一定的重合部分。一般每隔10ms取一帧,这个时长称为
{
\small\bfnew
{
帧移
}}
\index
{
帧移
}
(Frame Shift)
\index
{
Frame Shift
}
。为了缓解分帧带来的频谱泄漏问题,需要对每帧的信号进行加窗处理使其幅度在两
端
渐变到0,一般采用的是
{
\small\bfnew
{
汉明窗
}}
\index
{
汉明窗
}
(Hamming)
\index
{
Hamming
}
\upcite
{
洪青阳2020语音识别原理与应用
}
。
%----------------------------------------------------------------------------------------------------
%----------------------------------------------------------------------------------------------------
\begin{figure}
[htp]
\begin{figure}
[htp]
\centering
\centering
...
@@ -120,7 +120,7 @@
...
@@ -120,7 +120,7 @@
%----------------------------------------------------------------------------------------------------
%----------------------------------------------------------------------------------------------------
\vspace
{
-1em
}
\vspace
{
-1em
}
\parinterval
语音识别目前广泛使用基于Transformer的模型结构(见
{
\chaptertwelve
}
),如图
\ref
{
fig:17-5
}
所示。可以看出,相比文本翻译,语音识别模型结构上唯一的区别在于编码器的输入为声学特征,以及编码器底层会使用额外的卷积层来减小输入序列的长度。这是由于语音对应的特征序列过长,在计算注意力模型的时候,会占用大量的内存
/
显存,并增加训练时间。因此,一个常用的做法是在语音特征上进行两层步长为2的卷积操作,从而将输入序列的长度缩小为之前的1/4。通过使用大量的语音-标注平行数据对模型进行训练,可以得到高质量的语音识别模型。
\parinterval
语音识别目前广泛使用基于Transformer的模型结构(见
{
\chaptertwelve
}
),如图
\ref
{
fig:17-5
}
所示。可以看出,相比文本翻译,语音识别模型结构上唯一的区别在于编码器的输入为声学特征,以及编码器底层会使用额外的卷积层来减小输入序列的长度。这是由于语音对应的特征序列过长,在计算注意力模型的时候,会占用大量的内存
和
显存,并增加训练时间。因此,一个常用的做法是在语音特征上进行两层步长为2的卷积操作,从而将输入序列的长度缩小为之前的1/4。通过使用大量的语音-标注平行数据对模型进行训练,可以得到高质量的语音识别模型。
\parinterval
为了降低语音识别的错误对下游系统的影响,通常也会用词格来取代One-best语音识别结果。除此之外,另一种思路是通过一个后处理模型修正识别结果中的错误,再送给文本翻译模型进行翻译。也可以进一步对文本做
{
\small\bfnew
{
顺滑
}}
\index
{
顺滑
}
(Disfluency Detection
\index
{
Disfluency Detection
}
)处理,使得送给翻译系统的文本更加干净、流畅,比如除去一些导致停顿的语气词。这一做法在工业界得到了广泛应用,但由于每个模型只能串行地计算,也会带来额外的计算代价以及运算时间。第三种思路是训练更加健壮的文本翻译模型,使其可以处理输入中存在的噪声或误差
\upcite
{
DBLP:conf/acl/LiuTMCZ18
}
。
\parinterval
为了降低语音识别的错误对下游系统的影响,通常也会用词格来取代One-best语音识别结果。除此之外,另一种思路是通过一个后处理模型修正识别结果中的错误,再送给文本翻译模型进行翻译。也可以进一步对文本做
{
\small\bfnew
{
顺滑
}}
\index
{
顺滑
}
(Disfluency Detection
\index
{
Disfluency Detection
}
)处理,使得送给翻译系统的文本更加干净、流畅,比如除去一些导致停顿的语气词。这一做法在工业界得到了广泛应用,但由于每个模型只能串行地计算,也会带来额外的计算代价以及运算时间。第三种思路是训练更加健壮的文本翻译模型,使其可以处理输入中存在的噪声或误差
\upcite
{
DBLP:conf/acl/LiuTMCZ18
}
。
...
@@ -223,7 +223,7 @@
...
@@ -223,7 +223,7 @@
\end{figure}
\end{figure}
%----------------------------------------------------------------------------------------------------
%----------------------------------------------------------------------------------------------------
\parinterval
另外一种多任务学习的思想是通过两个解码器,分别预测语音对应的源语言句子和目标语言句子,具体有图
\ref
{
fig:17-10
}
展示的三种方式
\upcite
{
DBLP:conf/naacl/AnastasopoulosC18,DBLP:conf/asru/BaharBN19
}
。图
\ref
{
fig:17-10
}
(a)中采用单编码器-双解码器的方式,两个解码器根据编码器的表示,分别预测源语言句子和目标语言句子,从而使编码器训练地更加充分。这种做法的好处在于源语言的文本生成任务可以辅助翻译过程,相当于为源语言语音提供了额外的“模态”信息。图
\ref
{
fig:17-10
}
(b)则通过使用两个级联的解码器,先利用第一个解码器生成源语言句子,然后再利用第一个解码器的表示,通过第二个解码器生成目标语言句子。这种方法通过增加一个中间输出,降低了模型的训练难度,但同时也会带来额外的解码耗时,因为两个解码器需要串行地进行生成。图
\ref
{
fig:17-10
}
(c) 中模型更进一步,第二个
编
码器联合编码器和第一个解码器的表示进行生成,更充分地利用了已有信息。
\parinterval
另外一种多任务学习的思想是通过两个解码器,分别预测语音对应的源语言句子和目标语言句子,具体有图
\ref
{
fig:17-10
}
展示的三种方式
\upcite
{
DBLP:conf/naacl/AnastasopoulosC18,DBLP:conf/asru/BaharBN19
}
。图
\ref
{
fig:17-10
}
(a)中采用单编码器-双解码器的方式,两个解码器根据编码器的表示,分别预测源语言句子和目标语言句子,从而使编码器训练地更加充分。这种做法的好处在于源语言的文本生成任务可以辅助翻译过程,相当于为源语言语音提供了额外的“模态”信息。图
\ref
{
fig:17-10
}
(b)则通过使用两个级联的解码器,先利用第一个解码器生成源语言句子,然后再利用第一个解码器的表示,通过第二个解码器生成目标语言句子。这种方法通过增加一个中间输出,降低了模型的训练难度,但同时也会带来额外的解码耗时,因为两个解码器需要串行地进行生成。图
\ref
{
fig:17-10
}
(c) 中模型更进一步,第二个
解
码器联合编码器和第一个解码器的表示进行生成,更充分地利用了已有信息。
%----------------------------------------------------------------------------------------------------
%----------------------------------------------------------------------------------------------------
\begin{figure}
[htp]
\begin{figure}
[htp]
\centering
\centering
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论