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
61ae2cad
Commit
61ae2cad
authored
Mar 10, 2021
by
曹润柘
Browse files
Options
Browse Files
Download
Plain Diff
合并分支 'caorunzhe' 到 'master'
Caorunzhe 查看合并请求
!1061
parents
d6accf60
f3e60cbb
隐藏空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
7 行增加
和
6 行删除
+7
-6
Chapter17/Figures/figure-three-ways-of-dual-decoder-speech-translation.tex
+3
-2
Chapter17/chapter17.tex
+4
-4
没有找到文件。
Chapter17/Figures/figure-three-ways-of-dual-decoder-speech-translation.tex
查看文件 @
61ae2cad
...
...
@@ -30,7 +30,7 @@
\draw
[->,thick]
(encoder-2.north)to(decoder
_
1-2.south);
\draw
[->,thick]
(decoder
_
1-2.north)to(decoder
_
2-2.south);
\draw
[->,thick]
(decoder
_
2-2.north)to(y-2.south);
\node
[anchor=north,scale = 1.2](pos2) at (s-2.south)
{
(b) 级联
编
码器
}
;
\node
[anchor=north,scale = 1.2](pos2) at (s-2.south)
{
(b) 级联
解
码器
}
;
%%%%%%%%%%%%%%%%%%%%%%%%联合
\node
(encoder-3)[coder]at([xshift=10.0em]encoder-2.east)
{
\large
{
编码器
}}
;
\node
(decoder
_
1-3)[coder,above of =encoder-3,xshift=-1.6cm,yshift=2.8cm,fill=blue!20]
{
\large
{
解码器
}}
;
...
...
@@ -43,5 +43,5 @@
\draw
[->,thick]
(decoder
_
2-3.north)to(y-3.south);
\draw
[->,thick]
(encoder-3.north)--([yshift=0.7cm]encoder-3.north)--([xshift=-4.16em,yshift=0.7cm]encoder-3.north)--(decoder
_
1-3.south);
\draw
[->,thick]
(encoder-3.north)--([yshift=0.7cm]encoder-3.north)--([xshift=4.16em,yshift=0.7cm]encoder-3.north)--(decoder
_
2-3.south);
\node
[anchor=north,scale = 1.2](pos3) at (s-3.south)
{
(c) 联合编码器
}
;
\node
[anchor=north,scale = 1.2](pos3) at (s-3.south)
{
(c) 联合编
解
码器
}
;
\end{tikzpicture}
\ No newline at end of file
Chapter17/chapter17.tex
查看文件 @
61ae2cad
...
...
@@ -175,7 +175,7 @@
\vspace
{
0.5em
}
\item
{
\small\bfnew
{
训练数据稀缺
}}
。虽然语音识别和文本翻译的训练数据都很多,但是直接由源语言语音到目标语言文本的平行数据十分有限,因此端到端语音翻译天然地就是一种低资源翻译任务。
\vspace
{
0.5em
}
\item
{
\small\bfnew
{
建模复杂度更高
}}
。在语音识别中,模型
是学习如何生成语音对应的文字序列,输入和输出的对齐比较简单,不涉及到
调序的问题。在文本翻译中,模型要学习如何生成源语言序列对应的目标语言序列,仅需要学习不同语言之间的映射,不涉及到模态的转换。而语音翻译模型需要学习从语音到目标语言文本的生成,任务更加复杂。
\item
{
\small\bfnew
{
建模复杂度更高
}}
。在语音识别中,模型
需要学习如何生成语音对应的文字序列,而输入和输出的对齐比较简单,并不涉及
调序的问题。在文本翻译中,模型要学习如何生成源语言序列对应的目标语言序列,仅需要学习不同语言之间的映射,不涉及到模态的转换。而语音翻译模型需要学习从语音到目标语言文本的生成,任务更加复杂。
\vspace
{
0.5em
}
\end{itemize}
%----------------------------------------------------------------------------------------------------
...
...
@@ -223,7 +223,7 @@
\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]
\centering
...
...
@@ -238,14 +238,14 @@
%----------------------------------------------------------------------------------------
\subsubsection
{
2. 迁移学习
}
\parinterval
相比语音识别和文本翻译,端到端语音翻译的训练数据量要小很多,因此,如何利用其它数据来增加可用的数据量是语音翻译的一个重要方向。和文本翻译中的方法相似,一种思路是利用迁移学习或预训练,利用其他语言的双语数据预训练模型参数,然后迁移到生成目标语言的任务上
\upcite
{
DBLP:conf/naacl/BansalKLLG19
}
,或者是利用语音识别数据或文本翻译数据,分别预训练编码器和解码器的参数,用于初始化语音翻译模型的参数
\upcite
{
DBLP:conf/icassp/BerardBKP18
}
。预训练的编码器对语音翻译模型的学习尤为重要
\upcite
{
DBLP:conf/naacl/BansalKLLG19
}
,相比文本数据,语音数据的复杂性更高,仅使用小规模语音翻译数据很难学习充分。此外,模型对声学特征的学习与语言并不是强相关的,
其他语种预训练
的编码器对模型学习也是有帮助的。
\parinterval
相比语音识别和文本翻译,端到端语音翻译的训练数据量要小很多,因此,如何利用其它数据来增加可用的数据量是语音翻译的一个重要方向。和文本翻译中的方法相似,一种思路是利用迁移学习或预训练,利用其他语言的双语数据预训练模型参数,然后迁移到生成目标语言的任务上
\upcite
{
DBLP:conf/naacl/BansalKLLG19
}
,或者是利用语音识别数据或文本翻译数据,分别预训练编码器和解码器的参数,用于初始化语音翻译模型的参数
\upcite
{
DBLP:conf/icassp/BerardBKP18
}
。预训练的编码器对语音翻译模型的学习尤为重要
\upcite
{
DBLP:conf/naacl/BansalKLLG19
}
,相比文本数据,语音数据的复杂性更高,仅使用小规模语音翻译数据很难学习充分。此外,模型对声学特征的学习与语言并不是强相关的,
使用其他语种预训练得到
的编码器对模型学习也是有帮助的。
%----------------------------------------------------------------------------------------
% NEW SUBSUB-SECTION
%----------------------------------------------------------------------------------------
\subsubsection
{
3. 数据增强
}
\parinterval
数据增强是增加训练数据最直接的一种方法。不同于文本翻译的回译等方法(见
{
\chaptersixteen
}
),语音翻译并不具有
简单的“可逆性”。如果要利用回译的思想,需要通过一个模型,将目标语言文本转化为源语言语音,但实际上这种模型是不能简单得到的。因此,一个简单
的思路是通过一个反向翻译模型和语音合成模型级联来生成伪数据
\upcite
{
DBLP:conf/icassp/JiaJMWCCALW19
}
。 另外,正向翻译模型生成的伪数据在文本翻译中也被验证了对模型训练有一定的帮助,因此同样可以利用语音识别和文本翻译模型,将源语言语音翻译成目标语言文本,得到伪平行语料。
\parinterval
数据增强是增加训练数据最直接的一种方法。不同于文本翻译的回译等方法(见
{
\chaptersixteen
}
),语音翻译并不具有
直接的“可逆性”。如果要利用回译的思想,需要通过一个模型,将目标语言文本转化为源语言语音,但实际上这种模型是不能直接得到的。因此,一个直接
的思路是通过一个反向翻译模型和语音合成模型级联来生成伪数据
\upcite
{
DBLP:conf/icassp/JiaJMWCCALW19
}
。 另外,正向翻译模型生成的伪数据在文本翻译中也被验证了对模型训练有一定的帮助,因此同样可以利用语音识别和文本翻译模型,将源语言语音翻译成目标语言文本,得到伪平行语料。
%----------------------------------------------------------------------------------------------------
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论