Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
T
Toy-MT-Introduction
概览
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
Toy-MT-Introduction
Commits
ccc9dbb8
Commit
ccc9dbb8
authored
May 04, 2020
by
xiaotong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
updates of section 7
parent
b3263c4b
隐藏空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
21 行增加
和
34 行删除
+21
-34
Book/Chapter7/Chapter7.tex
+15
-28
Book/mt-book-xelatex.idx
+6
-6
没有找到文件。
Book/Chapter7/Chapter7.tex
查看文件 @
ccc9dbb8
...
@@ -1155,14 +1155,14 @@ b &=& \omega_{\textrm{high}}\cdot |\mathbf{x}|
...
@@ -1155,14 +1155,14 @@ b &=& \omega_{\textrm{high}}\cdot |\mathbf{x}|
\subsection
{
深层模型
}
\subsection
{
深层模型
}
\label
{
subsection-7.5.1
}
\label
{
subsection-7.5.1
}
\parinterval
\ref
{
subsection-7.3.2
}
节已经指出
增加神经网络的深度有助于对句子进行更充分的表示、同时增加模型的容量。但是,简单地堆叠很多层Transformer网络并不能带来性能上的提升,反而会面临更加严重的梯度消失/梯度爆炸的问题。这是由于伴随神经网络变深,梯度无法有效地从输出层回传到底层网络,造成网络浅层部分地参数无法充分训练
\cite
{
WangLearning
}
\cite
{
DBLP:conf/cvpr/YuYR18
}
。针对这些问题,已经有研究者开始尝试进行求解,并取得了很好的效果。比如,设计更有利于深层信息传递的网络连接
\cite
{
DBLP:conf/emnlp/BapnaCFCW18
}
\cite
{
WangLearning
}
和恰当的参数初始化方法
\cite
{
DBLP:conf/emnlp/ZhangTS19
}
。
\parinterval
\ref
{
subsection-7.3.2
}
节已经指出
:增加神经网络的深度有助于对句子进行更充分的表示、同时增加模型的容量。但是,简单地堆叠很多层Transformer网络并不能带来性能上的提升,反而会面临更加严重的梯度消失/梯度爆炸的问题。这是由于伴随神经网络变深,梯度无法有效地从输出层回传到底层网络,造成网络浅层部分的参数无法得到充分训练
\cite
{
WangLearning
}
\cite
{
DBLP:conf/cvpr/YuYR18
}
。针对这些问题,已经有研究者开始尝试进行求解,并取得了很好的效果。比如,设计更有利于深层信息传递的网络连接和恰当的参数初始化方法等
\cite
{
DBLP:conf/emnlp/BapnaCFCW18,WangLearning,
DBLP:conf/emnlp/ZhangTS19
}
。
\parinterval
但是,如何设计一个足够``深''的机器翻译模型仍然是业界关注的热点问题之一。此外,伴随着网络的继续变深,将会面临一些新的问题,例如,如何加速深层网络的训练,如何解决深层网络的过拟合问题等。下面将会对以上问题展开讨论。
\parinterval
但是,如何设计一个足够``深''的机器翻译模型仍然是业界关注的热点问题之一。此外,伴随着网络的继续变深,将会面临一些新的问题,例如,如何加速深层网络的训练,如何解决深层网络的过拟合问题等。下面将会对以上问题展开讨论。
%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%
\subsubsection
{
Post-Norm vs Pre-Norm
}
\subsubsection
{
Post-Norm vs Pre-Norm
}
\parinterval
为了探究为何深层的Transformer模型很难直接训练,首先对Transformer的模型结构进行简单的回顾。以Transformer的编码端为例,在多头自注意力网络和前馈神经网络中间
利用残差连接和层正则化操作来提高信息的传递效率。根据信息流的计算顺序可以将
Transformer模型大致分为图
\ref
{
fig:7.5-1
}
中两种结构
\ \dash
\
后作方式的残差单元(Post-Norm)和前作方式的残差单元(Pre-Norm)。
\parinterval
为了探究为何深层的Transformer模型很难直接训练,首先对Transformer的模型结构进行简单的回顾。以Transformer的编码端为例,在多头自注意力网络和前馈神经网络中间
,Transformer模型利用残差连接和层正则化操作来提高信息的传递效率。
Transformer模型大致分为图
\ref
{
fig:7.5-1
}
中两种结构
\ \dash
\
后作方式的残差单元(Post-Norm)和前作方式的残差单元(Pre-Norm)。
%----------------------------------------------
%----------------------------------------------
% 图7.5.1
% 图7.5.1
...
@@ -1174,15 +1174,15 @@ b &=& \omega_{\textrm{high}}\cdot |\mathbf{x}|
...
@@ -1174,15 +1174,15 @@ b &=& \omega_{\textrm{high}}\cdot |\mathbf{x}|
\end{figure}
\end{figure}
%-------------------------------------------
%-------------------------------------------
\parinterval
这里
令
$
x
_
l
$
和
$
x
_{
l
+
1
}$
表示第
$
l
$
子层的输入和输出
\footnote
[13]
{
这里沿用Transformer中的定义,每一层(Layer)包含多个子层(Sub-layer)。比如,对于Transformer编码器,每一层包含一个自注意力子层和一个前馈神经网络子层。所有子层都需要进行层归一化和残差连接。
}
,
$
y
_
l
$
表示中间的临时输出;
$
\textrm
{
LN
}
(
\cdot
)
$
表示层归一化操作
\cite
{
ba2016layer
}
,帮助减少子层输出分布的方差。从而让训练变得更稳定;
$
\mathcal
{
F
}
(
\cdot
)
$
表示子层所对应的函数,比如前馈神经网络、自注意力网络等。下面分别对Post-Norm和Pre-Norm进行简单的描述。
\parinterval
令
$
x
_
l
$
和
$
x
_{
l
+
1
}$
表示第
$
l
$
子层的输入和输出
\footnote
[13]
{
这里沿用Transformer中的定义,每一层(Layer)包含多个子层(Sub-layer)。比如,对于Transformer编码器,每一层包含一个自注意力子层和一个前馈神经网络子层。所有子层都需要进行层归一化和残差连接。
}
,
$
y
_
l
$
表示中间的临时输出;
$
\textrm
{
LN
}
(
\cdot
)
$
表示层归一化操作
\cite
{
ba2016layer
}
,帮助减少子层输出分布的方差。从而让训练变得更稳定;
$
\mathcal
{
F
}
(
\cdot
)
$
表示子层所对应的函数,比如前馈神经网络、自注意力网络等。下面分别对Post-Norm和Pre-Norm进行简单的描述。
\begin{itemize}
\begin{itemize}
\vspace
{
0.5em
}
\vspace
{
0.5em
}
\item
Post-Norm:
Vaswani等人早期提出
的Transformer遵循的是Post-Norm结构
\cite
{
vaswani2017attention
}
。也就是,层正则化作用于 每一子层的输入和输出的残差结果上,如图
\ref
{
fig:7.5-1
}
(a)所示。可以表示如下:
\item
Post-Norm:
早期
的Transformer遵循的是Post-Norm结构
\cite
{
vaswani2017attention
}
。也就是,层正则化作用于 每一子层的输入和输出的残差结果上,如图
\ref
{
fig:7.5-1
}
(a)所示。可以表示如下:
\begin{eqnarray}
\begin{eqnarray}
x
_{
l+1
}
=
\textrm
{
LN
}
(x
_
l+
\mathcal
{
F
}
(x
_
l;
\theta
_
l))
x
_{
l+1
}
=
\textrm
{
LN
}
(x
_
l+
\mathcal
{
F
}
(x
_
l;
\theta
_
l))
\label
{
eq:7.5-1
}
\label
{
eq:7.5-1
}
\end{eqnarray}
\end{eqnarray}
其中,
$
\theta
_
l
$
是子层
l
的参数。
其中,
$
\theta
_
l
$
是子层
$
l
$
的参数。
\vspace
{
0.5em
}
\vspace
{
0.5em
}
\item
Pre-Norm:通过调整层正则化的位置,将其放置于每一子层的输入之前,得到了Pre-Norm结构,如图
\ref
{
fig:7.5-1
}
(b)所示。其思想与He等人的思想一致
\cite
{
DBLP:conf/eccv/HeZRS16
}
,也被广泛应用于最新的Transformer开源系统中
\cite
{
VaswaniTensor2Tensor
}
\cite
{
Ottfairseq
}
\cite
{
KleinOpenNMT
}
,公式如下:
\item
Pre-Norm:通过调整层正则化的位置,将其放置于每一子层的输入之前,得到了Pre-Norm结构,如图
\ref
{
fig:7.5-1
}
(b)所示。其思想与He等人的思想一致
\cite
{
DBLP:conf/eccv/HeZRS16
}
,也被广泛应用于最新的Transformer开源系统中
\cite
{
VaswaniTensor2Tensor
}
\cite
{
Ottfairseq
}
\cite
{
KleinOpenNMT
}
,公式如下:
\begin{eqnarray}
\begin{eqnarray}
...
@@ -1191,20 +1191,20 @@ x_{l+1}=x_l+\mathcal{F}(\textrm{LN}(x_l);\theta_l)
...
@@ -1191,20 +1191,20 @@ x_{l+1}=x_l+\mathcal{F}(\textrm{LN}(x_l);\theta_l)
\end{eqnarray}
\end{eqnarray}
\end{itemize}
\end{itemize}
\parinterval
从上述公式可以看到Pre-Norm结构
下的Transformer可以通过残差路径将底层的信息直接暴露给上层网络;另一方面从反向传播的角度看,使用Pre-Norm结构,顶层的梯度可以更容易地反馈到底层网络。这里以一个含有
$
L
$
个子层的结构为例。令
\textrm
{
E
}
表示整个神经网络输出上的损失,
$
x
_
L
$
为顶层的输出。对于Post-Norm结构,根据链式法则,损失
\textrm
{
E
}
相对于
$
x
_
l
$
的梯度可以表示为:
\parinterval
从上述公式可以看到Pre-Norm结构
可以通过残差路径将底层网络的输出直接暴露给上层网络;另一方面从反向传播的角度看,使用Pre-Norm结构,顶层的梯度可以更容易地反馈到底层网络。这里以一个含有
$
L
$
个子层的结构为例。令
$
Loss
$
表示整个神经网络输出上的损失,
$
x
_
L
$
为顶层的输出。对于Post-Norm结构,根据链式法则,损失
$
Loss
$
相对于
$
x
_
l
$
的梯度可以表示为:
\begin{eqnarray}
\begin{eqnarray}
\frac
{
\partial
\textrm
{
E
}}{
\partial
x
_
l
}
=
\frac
{
\partial
\textrm
{
E
}
}{
\partial
x
_
L
}
\times
\prod
_{
k=l
}^{
L-1
}
\frac
{
\partial
\textrm
{
LN
}
(y
_
k)
}{
\partial
y
_
k
}
\times
\prod
_{
k=l
}^{
L-1
}
(1+
\frac
{
\partial
\mathcal
{
F
}
(x
_
k;
\theta
_
k)
}{
\partial
x
_
k
}
)
\frac
{
\partial
Loss
}{
\partial
x
_
l
}
=
\frac
{
\partial
Loss
}{
\partial
x
_
L
}
\times
\prod
_{
k=l
}^{
L-1
}
\frac
{
\partial
\textrm
{
LN
}
(y
_
k)
}{
\partial
y
_
k
}
\times
\prod
_{
k=l
}^{
L-1
}
(1+
\frac
{
\partial
\mathcal
{
F
}
(x
_
k;
\theta
_
k)
}{
\partial
x
_
k
}
)
\label
{
eq:7.5-3
}
\label
{
eq:7.5-3
}
\end{eqnarray}
\end{eqnarray}
其中
$
\prod
_{
k
=
l
}^{
L
-
1
}
\frac
{
\partial
\textrm
{
LN
}
(
y
_
k
)
}{
\partial
y
_
k
}$
表示在反向传播过程中经过层正则化得到的复合函数导数,
$
\prod
_{
k
=
l
}^{
L
-
1
}
(
1
+
\frac
{
\partial
\mathcal
{
F
}
(
x
_
k;
\theta
_
k
)
}{
\partial
x
_
k
}
)
$
代表每个子层间
的残差连接
导数。
其中
$
\prod
_{
k
=
l
}^{
L
-
1
}
\frac
{
\partial
\textrm
{
LN
}
(
y
_
k
)
}{
\partial
y
_
k
}$
表示在反向传播过程中经过层正则化得到的复合函数导数,
$
\prod
_{
k
=
l
}^{
L
-
1
}
(
1
+
\frac
{
\partial
\mathcal
{
F
}
(
x
_
k;
\theta
_
k
)
}{
\partial
x
_
k
}
)
$
代表每个子层间
残差连接的
导数。
\parinterval
类似的,也能得到Pre-Norm结构的梯度计算结果,如下式所示:
\parinterval
类似的,也能得到Pre-Norm结构的梯度计算结果,如下式所示:
\begin{eqnarray}
\begin{eqnarray}
\frac
{
\partial
\textrm
{
E
}}{
\partial
x
_
l
}
=
\frac
{
\partial
\textrm
{
E
}
}{
\partial
x
_
L
}
\times
(1+
\sum
_{
k=l
}^{
L-1
}
\frac
{
\partial
\mathcal
{
F
}
(
\textrm
{
LN
}
(x
_
k);
\theta
_
k)
}{
\partial
x
_
l
}
)
\frac
{
\partial
Loss
}{
\partial
x
_
l
}
=
\frac
{
\partial
Loss
}{
\partial
x
_
L
}
\times
(1+
\sum
_{
k=l
}^{
L-1
}
\frac
{
\partial
\mathcal
{
F
}
(
\textrm
{
LN
}
(x
_
k);
\theta
_
k)
}{
\partial
x
_
l
}
)
\label
{
eq:7.5-4
}
\label
{
eq:7.5-4
}
\end{eqnarray}
\end{eqnarray}
\parinterval
对比公式
\ref
{
eq:7.5-3
}
和公式
\ref
{
eq:7.5-4
}
可以明显发现Pre-Norm结构直接把顶层的梯度
$
\frac
{
\partial
\textrm
{
E
}}{
\partial
x
_
L
}$
传递给下层,也就是
$
\frac
{
\partial
\textrm
{
E
}}{
\partial
x
_
l
}$
中直接含有
$
\frac
{
\partial
\textrm
{
E
}}{
\partial
x
_
L
}$
的部分。这个性质弱化了梯度计算对模型深度
$
L
$
的依赖;而Post-Norm结构会导致一个与
$
L
$
相关的多项导数的积(见公式
\ref
{
eq:7.5-3
}
右侧),伴随着
$
L
$
的增大更容易发生梯度消失和梯度爆炸问题。因此基于Pre-Norm结构的模型
更适于堆叠多层神经网络的情况。比如,使用Pre-Norm结构可以很轻松的训练一个30层(60个子层)的Transformer编码器网络,并带来可观的BLEU提升。这个结果相当于标准Transformer编码器深度的6倍
\cite
{
WangLearning
}
。相对的,用Pre-Norm结构训练深网络的时候,训练结果很不稳定,甚至有时候无法完成有效训练。这里把使用Pre-Norm的深层Transformer称为Transformer-Deep。
\parinterval
对比公式
\ref
{
eq:7.5-3
}
和公式
\ref
{
eq:7.5-4
}
可以明显发现Pre-Norm结构直接把顶层的梯度
$
\frac
{
\partial
Loss
}{
\partial
x
_
L
}$
传递给下层,也就是
$
\frac
{
\partial
Loss
}{
\partial
x
_
l
}$
中直接含有
$
\frac
{
\partial
Loss
}{
\partial
x
_
L
}$
的部分。这个性质弱化了梯度计算对模型深度
$
L
$
的依赖;而Post-Norm结构会导致一个与
$
L
$
相关的多项导数的积(见公式
\ref
{
eq:7.5-3
}
右侧),伴随着
$
L
$
的增大更容易发生梯度消失和梯度爆炸问题。因此,Pre-Norm结构
更适于堆叠多层神经网络的情况。比如,使用Pre-Norm结构可以很轻松的训练一个30层(60个子层)的Transformer编码器网络,并带来可观的BLEU提升。这个结果相当于标准Transformer编码器深度的6倍
\cite
{
WangLearning
}
。相对的,用Pre-Norm结构训练深网络的时候,训练结果很不稳定,甚至有时候无法完成有效训练。这里把使用Pre-Norm的深层Transformer称为Transformer-Deep。
\parinterval
另一个有趣的发现是,使用深层网络后,训练模型收敛的时间大大缩短。相比于Transformer-Big等宽网络,Transformer-Deep并不需要太大的隐藏层大小就可以取得相当甚至更优的翻译品质。也就是说,Transformer-Deep是一个更``窄''更``深''的网络。这种结构的参数量比Transformer-Big少,系统运行效率更高。表
\ref
{
tab:7.5-1
}
对比了不同模型的参数量和训练/推断时间。
\parinterval
另一个有趣的发现是,使用深层网络后,训练模型收敛的时间大大缩短。相比于Transformer-Big等宽网络,Transformer-Deep并不需要太大的隐藏层大小就可以取得相当甚至更优的翻译品质。也就是说,Transformer-Deep是一个更``窄''更``深''的网络。这种结构的参数量比Transformer-Big少,系统运行效率更高。表
\ref
{
tab:7.5-1
}
对比了不同模型的参数量和训练/推断时间。
...
@@ -1213,17 +1213,17 @@ x_{l+1}=x_l+\mathcal{F}(\textrm{LN}(x_l);\theta_l)
...
@@ -1213,17 +1213,17 @@ x_{l+1}=x_l+\mathcal{F}(\textrm{LN}(x_l);\theta_l)
\centering
\centering
\caption
{
不同Transformer结构的训练/推断时间对比(WMT14英德任务)
}
\caption
{
不同Transformer结构的训练/推断时间对比(WMT14英德任务)
}
\label
{
tab:7.5-1
}
\label
{
tab:7.5-1
}
\begin{tabular}
{
l |
l l l
}
\begin{tabular}
{
l |
r r r
}
\rule
{
0pt
}{
15pt
}
系统
&
参数量
&
训练时间
&
推断时间
\\
\rule
{
0pt
}{
15pt
}
系统
&
参数量
&
训练时间
&
推断时间
\\
\hline
\hline
\rule
{
0pt
}{
15pt
}
Base
&
63M
&
4.6h
&
19.4s
\\
\rule
{
0pt
}{
15pt
}
Base
&
63M
&
4.6h
&
19.4s
\\
\rule
{
0pt
}{
15pt
}
Big
&
210M
&
36.1h
&
29.3s
\\
\rule
{
0pt
}{
15pt
}
Big
&
210M
&
36.1h
&
29.3s
\\
\rule
{
0pt
}{
15pt
}
DLCL-30
&
137M
&
9.8h
&
24.6
\\
\rule
{
0pt
}{
15pt
}
DLCL-30
&
137M
&
9.8h
&
24.6
s
\\
\end{tabular}
\end{tabular}
\end{table}
\end{table}
%表1--------------------------------------------------------------------
%表1--------------------------------------------------------------------
\parinterval
还有一个有趣的发现是,当编码器端使用深层网络之后,解码器端使用更浅的网络依然能够维持相当的翻译品质。这是由于解码器端的计算仍然会有对源语言端信息的加工和抽象,当编码器变深之后,解码器对源语言端的加工不那么重要了,因此可以减少解码网络的深度。这样做的一个直接好处是
,
可以通过减少解码器的深度加速翻译系统。对于一些延时敏感的场景,这种架构是极具潜力的。
\parinterval
还有一个有趣的发现是,当编码器端使用深层网络之后,解码器端使用更浅的网络依然能够维持相当的翻译品质。这是由于解码器端的计算仍然会有对源语言端信息的加工和抽象,当编码器变深之后,解码器对源语言端的加工不那么重要了,因此可以减少解码网络的深度。这样做的一个直接好处是
:
可以通过减少解码器的深度加速翻译系统。对于一些延时敏感的场景,这种架构是极具潜力的。
%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%
\subsubsection
{
层聚合
}
\subsubsection
{
层聚合
}
...
@@ -1238,7 +1238,7 @@ z_{l}=\textrm{LN}(x_{l+1})
...
@@ -1238,7 +1238,7 @@ z_{l}=\textrm{LN}(x_{l+1})
\end{eqnarray}
\end{eqnarray}
注意,
$
z
_
0
$
表示词嵌入层的输出,
$
z
_
l
(
l>
0
)
$
表示Transformer网络中的各个子层。
注意,
$
z
_
0
$
表示词嵌入层的输出,
$
z
_
l
(
l>
0
)
$
表示Transformer网络中的各个子层。
\vspace
{
0.5em
}
\vspace
{
0.5em
}
\item
定义一个维度为
$
(
N
+
1
)
\times
(
N
+
1
)
$
的权值矩阵
$
\mathbf
{
W
}$
,矩阵中每一行表示之前各子层对当前子层计算的贡献度,其中
$
N
$
的大小
是编码端(或解码端)的层数。令
$
\mathbf
{
W
}_{
l,i
}$
代表权值矩阵
$
\mathbf
{
W
}$
第
$
l
$
行第
$
i
$
列的权重,则层聚合的输出为
$
z
_
i
$
的线性加权和:
\item
定义一个维度为
$
(
L
+
1
)
\times
(
L
+
1
)
$
的权值矩阵
$
\mathbf
{
W
}$
,矩阵中每一行表示之前各子层对当前子层计算的贡献度,其中
$
L
$
是编码端(或解码端)的层数。令
$
\mathbf
{
W
}_{
l,i
}$
代表权值矩阵
$
\mathbf
{
W
}$
第
$
l
$
行第
$
i
$
列的权重,则层聚合的输出为
$
z
_
i
$
的线性加权和:
\begin{eqnarray}
\begin{eqnarray}
g
_
l=
\sum
_{
i=0
}^{
l
}
z
_
i
\times
\mathbf
{
W
}_{
l,i
}
g
_
l=
\sum
_{
i=0
}^{
l
}
z
_
i
\times
\mathbf
{
W
}_{
l,i
}
\label
{
eq:7.5-6
}
\label
{
eq:7.5-6
}
...
@@ -1256,7 +1256,7 @@ $g_l$会作为输入的一部分送入第$l+1$个子层。其网络的结构图\
...
@@ -1256,7 +1256,7 @@ $g_l$会作为输入的一部分送入第$l+1$个子层。其网络的结构图\
\end{figure}
\end{figure}
%-------------------------------------------
%-------------------------------------------
\parinterval
可以看到,权值矩阵
$
\mathbf
{
W
}$
是一个下三角矩阵。开始时,对矩阵参数的每行进行平均初始化,即初始化矩阵
$
\mathbf
{
W
}_
0
$
的每一行各个位置的值为
$
1
/
M,M
\in
(
1
,
2
,
3
\cdots
N
+
1
)
$
。 伴随着神经网络的训练,网络通过反向传播算法来不断更新
$
\mathbf
{
W
}$
中每一行不同位置权重的大小。
\parinterval
可以看到,权值矩阵
$
\mathbf
{
W
}$
是一个下三角矩阵。开始时,对矩阵参数的每行进行平均初始化,即初始化矩阵
$
\mathbf
{
W
}_
0
$
的每一行各个位置的值为
$
1
/
M,M
\in
(
1
,
2
,
3
\cdots
L
+
1
)
$
。 伴随着神经网络的训练,网络通过反向传播算法来不断更新
$
\mathbf
{
W
}$
中每一行不同位置权重的大小。
\parinterval
动态线性层聚合的一个好处是,系统可以自动学习不同子层对当前子层的贡献度。在实验中也发现,离当前子层更近的部分贡献度(权重)会更大,这也是符合直觉的。
\parinterval
动态线性层聚合的一个好处是,系统可以自动学习不同子层对当前子层的贡献度。在实验中也发现,离当前子层更近的部分贡献度(权重)会更大,这也是符合直觉的。
...
@@ -1395,19 +1395,6 @@ p_l=\frac{l}{2L}\cdot \varphi
...
@@ -1395,19 +1395,6 @@ p_l=\frac{l}{2L}\cdot \varphi
\end{figure}
\end{figure}
%-------------------------------------------
%-------------------------------------------
% !Mode:: "TeX:UTF-8"
% !TEX encoding = UTF-8 Unicode
%----------------------------------------------------------------------------------------
% CHAPTER 7
%----------------------------------------------------------------------------------------
\renewcommand\figurename
{
图
}
%将figure改为图
\renewcommand\tablename
{
表
}
%将figure改为图
\definecolor
{
ublue
}{
rgb
}{
0.152,0.250,0.545
}
\definecolor
{
ugreen
}{
rgb
}{
0,0.5,0
}
\chapterimage
{
chapter
_
head
_
1
}
% Chapter heading image
%------------------------------------------------
%--7.5.2 单语数据的使用---------------------
%--7.5.2 单语数据的使用---------------------
\subsection
{
单语数据的使用
}
\label
{
subsection-4.2.6
}
\subsection
{
单语数据的使用
}
\label
{
subsection-4.2.6
}
...
...
Book/mt-book-xelatex.idx
查看文件 @
ccc9dbb8
...
@@ -131,12 +131,12 @@
...
@@ -131,12 +131,12 @@
\indexentry{Student Model|hyperpage}{63}
\indexentry{Student Model|hyperpage}{63}
\indexentry{基于单词的知识精炼|hyperpage}{63}
\indexentry{基于单词的知识精炼|hyperpage}{63}
\indexentry{Word-level Knowledge Distillation|hyperpage}{63}
\indexentry{Word-level Knowledge Distillation|hyperpage}{63}
\indexentry{基于序列的知识精炼|hyperpage}{6
3
}
\indexentry{基于序列的知识精炼|hyperpage}{6
4
}
\indexentry{Sequence-level Knowledge Distillation|hyperpage}{6
3
}
\indexentry{Sequence-level Knowledge Distillation|hyperpage}{6
4
}
\indexentry{中间层输出|hyperpage}{6
4
}
\indexentry{中间层输出|hyperpage}{6
5
}
\indexentry{Hint-based Knowledge Transfer|hyperpage}{6
4
}
\indexentry{Hint-based Knowledge Transfer|hyperpage}{6
5
}
\indexentry{注意力分布|hyperpage}{6
4
}
\indexentry{注意力分布|hyperpage}{6
5
}
\indexentry{Attention To Attention Transfer|hyperpage}{6
4
}
\indexentry{Attention To Attention Transfer|hyperpage}{6
5
}
\indexentry{循环一致性|hyperpage}{67}
\indexentry{循环一致性|hyperpage}{67}
\indexentry{Circle Consistency|hyperpage}{67}
\indexentry{Circle Consistency|hyperpage}{67}
\indexentry{翻译中回译|hyperpage}{68}
\indexentry{翻译中回译|hyperpage}{68}
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论