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
fe17fa55
Commit
fe17fa55
authored
May 12, 2020
by
单韦乔
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改第四章,第七章textbf为matbf
parent
38c4e680
全部展开
隐藏空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
6 行增加
和
6 行删除
+6
-6
Book/Chapter4/chapter4.tex
+0
-0
Book/Chapter7/Chapter7.tex
+6
-6
没有找到文件。
Book/Chapter4/chapter4.tex
查看文件 @
fe17fa55
差异被折叠。
点击展开。
Book/Chapter7/Chapter7.tex
查看文件 @
fe17fa55
...
...
@@ -1678,23 +1678,23 @@ p_l=\frac{l}{2L}\cdot \varphi
\begin{itemize}
\vspace
{
0.5em
}
\item
{
\small\bfnew
{
基于单词的知识精炼
}}
\index
{
基于单词的知识精炼
}
(Word-level Knowledge Distillation)
\index
{
Word-level Knowledge Distillation
}
。该方法的目标是使得学生模型的预测(分布)尽可能逼近教师模型的预测(分布)。令
$
\
textbf
{
x
}
=
\{
x
_
1
,
\ldots
,x
_
m
\}
$
和
$
\text
bf
{
y
}
=
\{
y
_
1
,
\ldots
,y
_
n
\}
$
分别表示输入和输出(数据中的答案)序列,
$
V
$
表示目标语言词表,
$
n
$
表示译文序列的长度,则基于单词的知识精炼的损失函数被定义为:
\item
{
\small\bfnew
{
基于单词的知识精炼
}}
\index
{
基于单词的知识精炼
}
(Word-level Knowledge Distillation)
\index
{
Word-level Knowledge Distillation
}
。该方法的目标是使得学生模型的预测(分布)尽可能逼近教师模型的预测(分布)。令
$
\
mathbf
{
x
}
=
\{
x
_
1
,
\ldots
,x
_
m
\}
$
和
$
\math
bf
{
y
}
=
\{
y
_
1
,
\ldots
,y
_
n
\}
$
分别表示输入和输出(数据中的答案)序列,
$
V
$
表示目标语言词表,
$
n
$
表示译文序列的长度,则基于单词的知识精炼的损失函数被定义为:
\begin{eqnarray}
L
_{
\textrm
{
word
}}
= -
\sum
_{
j=1
}^
n
\sum
_{
y
_
j
\in
V
}
\textrm
{
P
}_{
\textrm
{
t
}}
(y
_{
\textrm
{
j
}}
|
\
textbf
{
x
}
)
\textrm
{
logP
}_{
\textrm
{
s
}}
(y
_
j|
\text
bf
{
x
}
)
L
_{
\textrm
{
word
}}
= -
\sum
_{
j=1
}^
n
\sum
_{
y
_
j
\in
V
}
\textrm
{
P
}_{
\textrm
{
t
}}
(y
_{
\textrm
{
j
}}
|
\
mathbf
{
x
}
)
\textrm
{
logP
}_{
\textrm
{
s
}}
(y
_
j|
\math
bf
{
x
}
)
\label
{
eq:7-28
}
\end{eqnarray}
这里,
$
\textrm
{
P
}_{
\textrm
{
s
}}
(
y
_
j|
\
textbf
{
x
}
)
$
和
$
\textrm
{
P
}_{
\textrm
{
t
}}
(
y
_
i|
\text
bf
{
x
}
)
$
分别表示学生模型和教师模型在
$
j
$
位置的输出的概率。公式
\ref
{
eq:7-28
}
实际上在最小化教师模型和学生模型输出分布之间的交叉熵。
这里,
$
\textrm
{
P
}_{
\textrm
{
s
}}
(
y
_
j|
\
mathbf
{
x
}
)
$
和
$
\textrm
{
P
}_{
\textrm
{
t
}}
(
y
_
i|
\math
bf
{
x
}
)
$
分别表示学生模型和教师模型在
$
j
$
位置的输出的概率。公式
\ref
{
eq:7-28
}
实际上在最小化教师模型和学生模型输出分布之间的交叉熵。
\vspace
{
0.5em
}
\item
{
\small\bfnew
{
基于序列的知识精炼
}}
\index
{
基于序列的知识精炼
}
(Sequence-level Knowledge Distillation)
\index
{
Sequence-level Knowledge Distillation
}
。除了单词一级的拟合,基于序列的知识精炼希望在序列整体上进行拟合。其损失函数被定义为:
\begin{eqnarray}
L
_{
\textrm
{
seq
}}
= -
\sum
_{
\textrm
{
y
}}
\textrm
{
P
}_{
\textrm
{
t
}}
(
\
textbf
{
y
}
|
\textbf
{
x
}
)
\textrm
{
logP
}_{
\textrm
{
s
}}
(
\textbf
{
y
}
|
\text
bf
{
x
}
)
L
_{
\textrm
{
seq
}}
= -
\sum
_{
\textrm
{
y
}}
\textrm
{
P
}_{
\textrm
{
t
}}
(
\
mathbf
{
y
}
|
\mathbf
{
x
}
)
\textrm
{
logP
}_{
\textrm
{
s
}}
(
\mathbf
{
y
}
|
\math
bf
{
x
}
)
\label
{
eq:7-29
}
\end{eqnarray}
公式
\ref
{
eq:7-29
}
要求遍历所有可能的译文序列,并进行求和,当词表大小为
$
V
$
,序列长度为
$
L
$
时则可能的序列的数量有
$
V
$
的
$
L
$
次幂,这么多的译文将消耗大量的计算资源。因此,会考虑用教师模型的真实输出序列
$
\hat
{
\
textbf
{
y
}}$
来代替整个空间,即假设
$
\textrm
{
P
}_{
\textrm
{
t
}}
(
\hat
{
\textbf
{
y
}}
|
\text
bf
{
x
}
)=
1
$
。于是,目标函数变为:
公式
\ref
{
eq:7-29
}
要求遍历所有可能的译文序列,并进行求和,当词表大小为
$
V
$
,序列长度为
$
L
$
时则可能的序列的数量有
$
V
$
的
$
L
$
次幂,这么多的译文将消耗大量的计算资源。因此,会考虑用教师模型的真实输出序列
$
\hat
{
\
mathbf
{
y
}}$
来代替整个空间,即假设
$
\textrm
{
P
}_{
\textrm
{
t
}}
(
\hat
{
\mathbf
{
y
}}
|
\math
bf
{
x
}
)=
1
$
。于是,目标函数变为:
\begin{eqnarray}
L
_{
\textrm
{
seq
}}
= -
\textrm
{
logP
}_{
\textrm
{
s
}}
(
\hat
{
\
textbf
{
y
}}
|
\text
bf
{
x
}
)
L
_{
\textrm
{
seq
}}
= -
\textrm
{
logP
}_{
\textrm
{
s
}}
(
\hat
{
\
mathbf
{
y
}}
|
\math
bf
{
x
}
)
\label
{
eq:7-30
}
\end{eqnarray}
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论