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
77badbe2
Commit
77badbe2
authored
Jan 19, 2021
by
孟霞
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
撤销 "17小结"
这将还原提交
793927d0
parent
793927d0
隐藏空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
24 行增加
和
23 行删除
+24
-23
Chapter17/Figures/figure-multiencoder.tex
+21
-20
Chapter17/chapter17.tex
+3
-3
没有找到文件。
Chapter17/Figures/figure-multiencoder.tex
查看文件 @
77badbe2
\definecolor
{
color1
}{
rgb
}{
1,0.725,0.058
}
\definecolor
{
color1
}{
rgb
}{
1,0.725,0.058
}
\tikzstyle
{
coder
}
= [rectangle,thick,rounded corners,minimum width=2.8cm,minimum height=1.1cm,text centered,draw,fill=blue!30,drop shadow]
\tikzstyle
{
coder
}
= [rectangle,thick,rounded corners,minimum width=2.8cm,minimum height=1.1cm,text centered,draw
=black!
,fill=blue!30,drop shadow]
\tikzstyle
{
attention
}
= [rectangle,thick,rounded corners,minimum width=2.6cm,minimum height=0.9cm,text centered,draw=black,fill=green!30!white,drop shadow]
\tikzstyle
{
attention
}
= [rectangle,thick,rounded corners,minimum width=2.6cm,minimum height=0.9cm,text centered,draw=black,fill=green!30!white,drop shadow]
\begin{tikzpicture}
[node distance = 0,scale = 0.7]
\begin{tikzpicture}
[node distance = 0,scale = 0.7]
...
@@ -8,9 +8,9 @@
...
@@ -8,9 +8,9 @@
\node
(encoder
_
s)[coder, right of = encoder
_
c, xshift=3.5cm, fill=red!30]
{
\large
{
编码器
}}
;
\node
(encoder
_
s)[coder, right of = encoder
_
c, xshift=3.5cm, fill=red!30]
{
\large
{
编码器
}}
;
\node
(h
_
pre)[above of = encoder
_
c, yshift=1.3cm,scale=1.3]
{${
\mathbi
{
h
}}^{
\rm
pre
}$}
;
\node
(h
_
pre)[above of = encoder
_
c, yshift=1.3cm,scale=1.3]
{${
\mathbi
{
h
}}^{
\rm
pre
}$}
;
\node
(h)[above of = encoder
_
s, yshift=1.3cm,scale=1.3]
{$
\mathbi
{
h
}$}
;
\node
(h)[above of = encoder
_
s, yshift=1.3cm,scale=1.3]
{$
\mathbi
{
h
}$}
;
\node
(cir)[circle,thick, right of = h, draw=black!90,minimum width=0.5cm,xshift=1.1cm]
{}
;
\node
(cir)[circle,
very
thick, right of = h, draw=black!90,minimum width=0.5cm,xshift=1.1cm]
{}
;
\draw
[-,
thick
]
([xshift=0.04cm]cir.west)--([xshift=-0.04cm]cir.east);
\draw
[-,
very thick,draw=black!90
]
([xshift=0.04cm]cir.west)--([xshift=-0.04cm]cir.east);
\draw
[-,
thick
]
([yshift=-0.04cm]cir.north)--([yshift=0.04cm]cir.south);
\draw
[-,
very thick,draw=black!90
]
([yshift=-0.04cm]cir.north)--([yshift=0.04cm]cir.south);
\node
(last)[below of = encoder
_
c, yshift=-1.3cm]
{
\large
{
前一个句子
}}
;
\node
(last)[below of = encoder
_
c, yshift=-1.3cm]
{
\large
{
前一个句子
}}
;
\node
(current)[below of = encoder
_
s, yshift=-1.3cm]
{
\large
{
当前句子
}}
;
\node
(current)[below of = encoder
_
s, yshift=-1.3cm]
{
\large
{
当前句子
}}
;
\node
(attention
_
left)[attention, above of = encoder
_
c, xshift=2.4cm,yshift=3.1cm]
{
\large
{
注意力机制
}}
;
\node
(attention
_
left)[attention, above of = encoder
_
c, xshift=2.4cm,yshift=3.1cm]
{
\large
{
注意力机制
}}
;
...
@@ -23,20 +23,20 @@
...
@@ -23,20 +23,20 @@
\node
(point
_
above)[above of = attention
_
right, yshift=1.8cm]
{
\Huge
{
...
}}
;
\node
(point
_
above)[above of = attention
_
right, yshift=1.8cm]
{
\Huge
{
...
}}
;
\node
(target
_
above)[above of = attention
_
right, yshift=3.3cm]
{
\large
{
目标语言句子
}}
;
\node
(target
_
above)[above of = attention
_
right, yshift=3.3cm]
{
\large
{
目标语言句子
}}
;
\draw
[->, thick]
(last)to([yshift=-0.05cm]encoder
_
c.south);
\draw
[->,
very
thick]
(last)to([yshift=-0.05cm]encoder
_
c.south);
\draw
[->, thick]
(current)to([yshift=-0.05cm]encoder
_
s.south);
\draw
[->,
very
thick]
(current)to([yshift=-0.05cm]encoder
_
s.south);
\draw
[->, thick]
(target.north)to([yshift=-0.05cm]point
_
below.south);
\draw
[->,
very
thick]
(target.north)to([yshift=-0.05cm]point
_
below.south);
\draw
[->, thick]
([yshift=0.05cm]encoder
_
c.north)to([yshift=0.03cm]h
_
pre.south);
\draw
[->,
very
thick]
([yshift=0.05cm]encoder
_
c.north)to([yshift=0.03cm]h
_
pre.south);
\draw
[->, thick]
([yshift=0.05cm]encoder
_
s.north)to(h.south);
\draw
[->,
very
thick]
([yshift=0.05cm]encoder
_
s.north)to(h.south);
\draw
[->, thick]
([yshift=0cm]h.north)to([yshift=0.95cm]h.north);
\draw
[->,
very
thick]
([yshift=0cm]h.north)to([yshift=0.95cm]h.north);
\draw
[->, thick,in=270,out=90]
([yshift=-0.15cm]h
_
pre.north)to([xshift=1.25cm,yshift=0.9cm]h
_
pre.north);
\draw
[->,
very
thick,in=270,out=90]
([yshift=-0.15cm]h
_
pre.north)to([xshift=1.25cm,yshift=0.9cm]h
_
pre.north);
\draw
[->, thick,in=270,out=80]
([yshift=-0.15cm]h
_
pre.north)to([xshift=2.4cm,yshift=0.9cm]h
_
pre.north);
\draw
[->,
very
thick,in=270,out=80]
([yshift=-0.15cm]h
_
pre.north)to([xshift=2.4cm,yshift=0.9cm]h
_
pre.north);
\draw
[->, thick]
([yshift=0.03cm]attention
_
left.north)to([yshift=0.1cm]d.south);
\draw
[->,
very
thick]
([yshift=0.03cm]attention
_
left.north)to([yshift=0.1cm]d.south);
\draw
[->, thick]
([xshift=-0.03cm]h.east)to([xshift=-0.03cm]cir.west);
\draw
[->,
very
thick]
([xshift=-0.03cm]h.east)to([xshift=-0.03cm]cir.west);
\draw
[->, thick]
(point
_
below.north)to([yshift=2.03cm]point
_
below.north);
\draw
[->,
very
thick]
(point
_
below.north)to([yshift=2.03cm]point
_
below.north);
\draw
[->, thick]
(attention
_
right.north)to([yshift=-0.03cm]point
_
above.south);
\draw
[->,
very
thick]
(attention
_
right.north)to([yshift=-0.03cm]point
_
above.south);
\draw
[->, thick]
(point
_
above.north)to([yshift=0.83cm]point
_
above.north);
\draw
[->,
very
thick]
(point
_
above.north)to([yshift=0.83cm]point
_
above.north);
\draw
[->, thick, in=270,out=0]
([xshift=0.2cm]cir.east)to([xshift=3cm,yshift=0.88cm]cir.east);
\draw
[->,
very
thick, in=270,out=0]
([xshift=0.2cm]cir.east)to([xshift=3cm,yshift=0.88cm]cir.east);
\draw
[->, thick, in=270,out=0]
([xshift=0.2cm]cir.east)to([xshift=2cm,yshift=0.88cm]cir.east);
\draw
[->,
very
thick, in=270,out=0]
([xshift=0.2cm]cir.east)to([xshift=2cm,yshift=0.88cm]cir.east);
\draw
[->,thick,]
([xshift=0.1cm]d.east)to([xshift=1.92cm]d.east)to([yshift=0.03cm]cir.north);
\draw
[->,
very
thick,]
([xshift=0.1cm]d.east)to([xshift=1.92cm]d.east)to([yshift=0.03cm]cir.north);
\end{tikzpicture}
\end{tikzpicture}
\ No newline at end of file
Chapter17/chapter17.tex
查看文件 @
77badbe2
...
@@ -564,7 +564,7 @@
...
@@ -564,7 +564,7 @@
\end{figure}
\end{figure}
%----------------------------------------------
%----------------------------------------------
\parinterval
为了增强模型的表示能力,层次注意力中并未直接使用当前句子第
$
t
$
个位置的编码表示
$
\mathbi
{
h
}_{
t
}$
作为
注意力操作中的Query(查询)
,而是通过两个线性变换分别获取词级注意力和句子级注意力的查询
$
\mathbi
{
q
}_{
w
}$
和
$
\mathbi
{
q
}_{
s
}$
,定义如公式
\eqref
{
eq:17-3-6
}
\eqref
{
eq:17-3-8
}
,其中
${
\mathbi
W
}_
w
$
、
${
\mathbi
W
}_
s
$
、
${
\mathbi
b
}_
w
$
、
${
\mathbi
b
}_
s
$
分别是两个线性变换的权重和偏置。
\parinterval
为了增强模型的表示能力,层次注意力中并未直接使用当前句子第
$
t
$
个位置的编码表示
$
\mathbi
{
h
}_{
t
}$
作为
查询
,而是通过两个线性变换分别获取词级注意力和句子级注意力的查询
$
\mathbi
{
q
}_{
w
}$
和
$
\mathbi
{
q
}_{
s
}$
,定义如公式
\eqref
{
eq:17-3-6
}
\eqref
{
eq:17-3-8
}
,其中
${
\mathbi
W
}_
w
$
、
${
\mathbi
W
}_
s
$
、
${
\mathbi
b
}_
w
$
、
${
\mathbi
b
}_
s
$
分别是两个线性变换的权重和偏置。
\begin{eqnarray}
\begin{eqnarray}
\mathbi
{
q
}_{
w
}&
=
&{
\mathbi
W
}_
w
\mathbi
{
h
}_
t+
{
\mathbi
b
}_
w
\mathbi
{
q
}_{
w
}&
=
&{
\mathbi
W
}_
w
\mathbi
{
h
}_
t+
{
\mathbi
b
}_
w
...
@@ -622,7 +622,7 @@
...
@@ -622,7 +622,7 @@
\parinterval
在句子级翻译模型中引入目标语言端的篇章级语言模型是一种结合上下文信息的常用手段
\upcite
{
DBLP:conf/discomt/GarciaCE19,DBLP:journals/tacl/YuSSLKBD20,DBLP:journals/corr/abs-2010-12827
}
。 相比于篇章级双语数据,篇章级单语数据更容易获取。在双语数据稀缺的情况下,通过引入目标语言端的篇章级语言模型可以更充分的利用这些单语数据,比如,可以把这个语言模型与翻译模型做插值,也可以将其作为重排序阶段的一种特征。
\parinterval
在句子级翻译模型中引入目标语言端的篇章级语言模型是一种结合上下文信息的常用手段
\upcite
{
DBLP:conf/discomt/GarciaCE19,DBLP:journals/tacl/YuSSLKBD20,DBLP:journals/corr/abs-2010-12827
}
。 相比于篇章级双语数据,篇章级单语数据更容易获取。在双语数据稀缺的情况下,通过引入目标语言端的篇章级语言模型可以更充分的利用这些单语数据,比如,可以把这个语言模型与翻译模型做插值,也可以将其作为重排序阶段的一种特征。
\parinterval
另一种方法是两阶段翻译。这种方法不影响句子级翻译模型的推断过程,而是在完成翻译后使用额外的模块进行第二阶段的翻译
\upcite
{
DBLP:conf/aaai/XiongH0W19,DBLP:conf/acl/VoitaST19
}
。如图
\ref
{
fig:17-21
}
所示,这种两阶段翻译的做法相当于将篇章级翻译的问题进行了分离和简化:在第一阶段翻译中使用句子级翻译模型完成对篇章中某个句子的翻译,为了进一步地引入篇章上下文信息,第二阶段的翻译过程在第一阶段翻译结果的基础上,利用两次注意力操作,融合并引入源语言和目标语言的篇章上下文信息和当前句子信息。该方法适用于篇章级双语数据稀缺的场景。基于类似的思想,也可以使用后编辑的做法对翻译结果进行修正。区别于两阶段翻译的方法,后编辑的方法无需参考源语言信息,只
利用目标语言端的上下文信息
对译文结果进行修正
\upcite
{
DBLP:conf/emnlp/VoitaST19
}
。
\parinterval
另一种方法是两阶段翻译。这种方法不影响句子级翻译模型的推断过程,而是在完成翻译后使用额外的模块进行第二阶段的翻译
\upcite
{
DBLP:conf/aaai/XiongH0W19,DBLP:conf/acl/VoitaST19
}
。如图
\ref
{
fig:17-21
}
所示,这种两阶段翻译的做法相当于将篇章级翻译的问题进行了分离和简化:在第一阶段翻译中使用句子级翻译模型完成对篇章中某个句子的翻译,为了进一步地引入篇章上下文信息,第二阶段的翻译过程在第一阶段翻译结果的基础上,利用两次注意力操作,融合并引入源语言和目标语言的篇章上下文信息和当前句子信息。该方法适用于篇章级双语数据稀缺的场景。基于类似的思想,也可以使用后编辑的做法对翻译结果进行修正。区别于两阶段翻译的方法,后编辑的方法无需参考源语言信息,只
是
对译文结果进行修正
\upcite
{
DBLP:conf/emnlp/VoitaST19
}
。
%----------------------------------------------
%----------------------------------------------
\begin{figure}
[htp]
\begin{figure}
[htp]
...
@@ -650,7 +650,7 @@
...
@@ -650,7 +650,7 @@
%\vspace{0.5em}
%\vspace{0.5em}
%\item 此外,多模态机器翻译、图像描述生成、视觉问答等多模态任务受到广泛关注。如何将多个模态的信息充分融合,是研究多模态任务的重要问题。另外,数据稀缺是大多数多模态任务的瓶颈之一,可以采取数据增强的方式缓解\upcite{DBLP:conf/emnlp/GokhaleBBY20,DBLP:conf/eccv/Tang0ZWY20}。但是,这时仍需要回答在:模型没有充分训练时,图像等模态信息究竟在翻译里发挥了多少作用?类似的问题在篇章级机器翻译中也存在,上下文模型在训练数据量很小的时候对翻译的作用十分微弱\upcite{DBLP:conf/acl/LiLWJXZLL20}。此外,受到预训练模型的启发,在多模态信息处理中,图像和文本联合预训练的工作也相继开展\upcite{DBLP:conf/eccv/Li0LZHZWH0WCG20,DBLP:conf/aaai/ZhouPZHCG20,DBLP:conf/iclr/SuZCLLWD20}。
%\item 此外,多模态机器翻译、图像描述生成、视觉问答等多模态任务受到广泛关注。如何将多个模态的信息充分融合,是研究多模态任务的重要问题。另外,数据稀缺是大多数多模态任务的瓶颈之一,可以采取数据增强的方式缓解\upcite{DBLP:conf/emnlp/GokhaleBBY20,DBLP:conf/eccv/Tang0ZWY20}。但是,这时仍需要回答在:模型没有充分训练时,图像等模态信息究竟在翻译里发挥了多少作用?类似的问题在篇章级机器翻译中也存在,上下文模型在训练数据量很小的时候对翻译的作用十分微弱\upcite{DBLP:conf/acl/LiLWJXZLL20}。此外,受到预训练模型的启发,在多模态信息处理中,图像和文本联合预训练的工作也相继开展\upcite{DBLP:conf/eccv/Li0LZHZWH0WCG20,DBLP:conf/aaai/ZhouPZHCG20,DBLP:conf/iclr/SuZCLLWD20}。
%\vspace{0.5em}
%\vspace{0.5em}
\item
在多模态机器翻译任务和篇章级机器翻译任务中,数据规模往往受限,导致模型训练困难,很难取得较好的性能。比如在篇章级机器翻译中,一些研究工作对这类模型的上下文建模能力进行了探索
\upcite
{
DBLP:conf/discomt/KimTN19,DBLP:conf/acl/LiLWJXZLL20
}
,发现模型在小数据集上对上下文信息的利用并不能带来明显的性能提升。针对数据稀缺导致的训练问题,
一些研究人员通过调整训练策略使得模型更容易捕获上下文信息
\upcite
{
DBLP:journals/corr/abs-1903-04715,DBLP:conf/acl/SaundersSB20,DBLP:conf/mtsummit/StojanovskiF19
}
。除了训练策略的调整,也可以使用数据增强的方式(例如,构造伪数据)来提升整体数据量
\upcite
{
DBLP:conf/emnlp/GokhaleBBY20,DBLP:conf/eccv/Tang0ZWY20,DBLP:conf/discomt/SugiyamaY19
}
,或者使用预训练的手段来利用额外地单语或图像数据
\upcite
{
DBLP:conf/aaai/ZhouPZHCG20,DBLP:conf/iclr/SuZCLLWD20,DBLP:journals/corr/abs-1911-03110
}
。
\item
{
\red
这段有问题!周一确认。
}
在多模态机器翻译任务和篇章级机器翻译任务中,数据规模往往受限,导致模型训练困难,很难取得较好的性能。比如在篇章级机器翻译中,一些研究工作对这类模型的上下文建模能力进行了探索
\upcite
{
DBLP:conf/discomt/KimTN19,DBLP:conf/acl/LiLWJXZLL20
}
,发现模型性能在小数据集上的BLEU提升并不完全来自于对上下文信息的利用,针对这个问题
一些研究人员通过调整训练策略使得模型更容易捕获上下文信息
\upcite
{
DBLP:journals/corr/abs-1903-04715,DBLP:conf/acl/SaundersSB20,DBLP:conf/mtsummit/StojanovskiF19
}
。除了训练策略的调整,也可以使用数据增强的方式(例如,构造伪数据)来提升整体数据量
\upcite
{
DBLP:conf/emnlp/GokhaleBBY20,DBLP:conf/eccv/Tang0ZWY20,DBLP:conf/discomt/SugiyamaY19
}
,或者使用预训练的手段来利用额外地单语或图像数据
\upcite
{
DBLP:conf/aaai/ZhouPZHCG20,DBLP:conf/iclr/SuZCLLWD20,DBLP:journals/corr/abs-1911-03110
}
。
\vspace
{
0.5em
}
\vspace
{
0.5em
}
\end{itemize}
\end{itemize}
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论