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
95896115
Commit
95896115
authored
Aug 24, 2021
by
孟霞
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
更新 chapter17.tex
parent
a2705ec6
隐藏空白字符变更
内嵌
并排
正在显示
1 个修改的文件
包含
1 行增加
和
1 行删除
+1
-1
Chapter17/chapter17.tex
+1
-1
没有找到文件。
Chapter17/chapter17.tex
查看文件 @
95896115
...
@@ -594,7 +594,7 @@
...
@@ -594,7 +594,7 @@
\subsubsection
{
4. 基于缓存的方法
}
\subsubsection
{
4. 基于缓存的方法
}
\parinterval
除了以上提到的建模方法,还有一类基于缓存的方法
\upcite
{
DBLP:journals/tacl/TuLSZ18,DBLP:conf/coling/KuangXLZ18
}
。这类方法最大的特点在于将篇章翻译看作一个连续的过程,即依次翻译篇章中的每一个句子,该过程中通过一个额外的缓存来记录一些相关信息,且在每个句子的推断过程中都使用这个缓存来提供上下文信息。图
\ref
{
fig:17-20
}
描述了一种基于缓存的篇章级翻译模型结构
\upcite
{
DBLP:journals/tacl/TuLSZ18
}
。 在这里,翻译模型基于循环神经网络(见
{
\chapterten
}
),但是这种方法同样适用于包括Transformer在内的其他神经机器翻译模型。
\parinterval
除了以上提到的建模方法,还有一类基于缓存的方法
\upcite
{
DBLP:journals/tacl/TuLSZ18,DBLP:conf/coling/KuangXLZ18
}
。这类方法最大的特点在于将篇章翻译看作一个连续的过程,即依次翻译篇章中的每一个句子,该过程中通过一个额外的缓存来记录一些相关信息,且在每个句子的推断过程中都使用这个缓存来提供上下文信息。图
\ref
{
fig:17-20
}
描述了一种基于缓存的篇章级翻译模型
的解码器
结构
\upcite
{
DBLP:journals/tacl/TuLSZ18
}
。 在这里,翻译模型基于循环神经网络(见
{
\chapterten
}
),但是这种方法同样适用于包括Transformer在内的其他神经机器翻译模型。
\parinterval
模型中篇章上下文的建模依赖于缓存的读和写操作。缓存的写操作指的是:按照一定规则,将翻译历史中一些译文单词对应的上下文向量作为键,将其解码器端的隐藏状态作为值,共同写入到缓存中。而缓存的读操作是指将待翻译句子中第
$
t
$
个单词的上下文向量
$
\mathbi
{
C
}_
t
$
作为Query(查询),与缓存中的所有键分别进行匹配,并根据其匹配程度进行带权相加,最后得到当前待翻译句子的篇章上下文信息
$
\mathbi
{
d
}$
。 该方法中,解码器端隐藏状态
$
\mathbi
{
s
}_
t
$
与对应位置的上下文信息
$
\mathbi
{
d
}_
t
$
的融合也是基于门控机制。事实上,由于该方法中缓存空间是有限的,其内容的更新也存在一定的规则:在当前句子的翻译结束后,如果单词
$
y
_
t
$
的对应信息未曾写入缓存,则写入其中的空槽或者替换最久未使用的键值对;如果
$
y
_
t
$
已作为翻译历史存在于缓存中,则将对应的键值对按照以下规则进行更新:
\parinterval
模型中篇章上下文的建模依赖于缓存的读和写操作。缓存的写操作指的是:按照一定规则,将翻译历史中一些译文单词对应的上下文向量作为键,将其解码器端的隐藏状态作为值,共同写入到缓存中。而缓存的读操作是指将待翻译句子中第
$
t
$
个单词的上下文向量
$
\mathbi
{
C
}_
t
$
作为Query(查询),与缓存中的所有键分别进行匹配,并根据其匹配程度进行带权相加,最后得到当前待翻译句子的篇章上下文信息
$
\mathbi
{
d
}$
。 该方法中,解码器端隐藏状态
$
\mathbi
{
s
}_
t
$
与对应位置的上下文信息
$
\mathbi
{
d
}_
t
$
的融合也是基于门控机制。事实上,由于该方法中缓存空间是有限的,其内容的更新也存在一定的规则:在当前句子的翻译结束后,如果单词
$
y
_
t
$
的对应信息未曾写入缓存,则写入其中的空槽或者替换最久未使用的键值对;如果
$
y
_
t
$
已作为翻译历史存在于缓存中,则将对应的键值对按照以下规则进行更新:
\begin{eqnarray}
\begin{eqnarray}
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论