Commit 5ce198e3 by 单韦乔

合并分支 'shanweiqiao' 到 'caorunzhe'

Shanweiqiao

查看合并请求 !1022
parents ff80b1bc bb5794aa
...@@ -153,7 +153,7 @@ ...@@ -153,7 +153,7 @@
\vspace{0.5em} \vspace{0.5em}
\item {\small\bfnew{BPE-Dropout}}\upcite{provilkov2020bpe}。在训练时,按照一定概率$p$随机丢弃一些可行的合并操作,从而产生不同的子词切分结果。而在推断阶段,将$p$设置为0,等同于标准的BPE。总的来说,上述方法相当于在子词的粒度上对输入的序列进行扰动,进而达到增加训练健壮性的目的。 \item {\small\bfnew{BPE-Dropout}}\upcite{provilkov2020bpe}。在训练时,按照一定概率$p$随机丢弃一些可行的合并操作,从而产生不同的子词切分结果。而在推断阶段,将$p$设置为0,等同于标准的BPE。总的来说,上述方法相当于在子词的粒度上对输入的序列进行扰动,进而达到增加训练健壮性的目的。
\vspace{0.5em} \vspace{0.5em}
\item {\small\bfnew{动态规划编码}}\index{动态规划编码}(Dynamic Programming Encoding,DPE\index{Dynamic Programming Encoding,DPE}\upcite{he2020dynamic}。引入了混合字符-子词的切分方式,将句子的子词切分看作一种隐含变量。机器翻译解码端的输入是基于字符表示的目标语言序列,推断时将每个时间步的输出映射到预先设定好的子词词表之上,得到当前最可能的子词结果。 \item {\small\bfnew{动态规划编码}}\index{动态规划编码}(Dynamic Programming Encoding,DPE\index{Dynamic Programming Encoding}\upcite{he2020dynamic}。引入了混合字符-子词的切分方式,将句子的子词切分看作一种隐含变量。机器翻译解码端的输入是基于字符表示的目标语言序列,推断时将每个时间步的输出映射到预先设定好的子词词表之上,得到当前最可能的子词结果。
\vspace{0.5em} \vspace{0.5em}
\end{itemize} \end{itemize}
...@@ -164,7 +164,7 @@ ...@@ -164,7 +164,7 @@
\sectionnewpage \sectionnewpage
\section{正则化}\label{subsection-13.2} \section{正则化}\label{subsection-13.2}
\parinterval 正则化是机器学习中的经典技术,通常用于缓解过拟合问题。正则化的概念源自线性代数和代数几何。在实践中,它更多的是指对{\small\bfnew{反问题}}\index{反问题}(The Inverse Problem)\index{Inverse Problem}的一种求解方式。假设输入$x$和输出$y$之间存在一种映射$f$ \parinterval 正则化是机器学习中的经典技术,通常用于缓解过拟合问题。正则化的概念源自线性代数和代数几何。在实践中,它更多的是指对{\small\bfnew{反问题}}\index{反问题}(The Inverse Problem)\index{The Inverse Problem}的一种求解方式。假设输入$x$和输出$y$之间存在一种映射$f$
\begin{eqnarray} \begin{eqnarray}
y &=& f(x) y &=& f(x)
\label{eq:13-1} \label{eq:13-1}
...@@ -235,7 +235,7 @@ R(\mathbi{w}) & = & ({\Vert{\mathbi{w}}\Vert}_2)^2 \\ ...@@ -235,7 +235,7 @@ R(\mathbi{w}) & = & ({\Vert{\mathbi{w}}\Vert}_2)^2 \\
\subsection{标签平滑} \subsection{标签平滑}
\parinterval 神经机器翻译在每个目标语言位置$j$会输出一个分布$\hat{\mathbi{y}}_j$,这个分布描述了每个目标语言单词出现的可能性。在训练时,每个目标语言位置上的答案是一个单词,也就对应了One-hot 分布${\mathbi{y}}_j$,它仅仅在正确答案那一维为1,其它维均为0。模型训练可以被看作是一个调整模型参数让$\hat{\mathbi{y}}_j$逼近${\mathbi{y}}_j$的过程。但是,${\mathbi{y}}_j$的每一个维度是一个非0即1的目标,这样也就无法考虑类别之间的相关性。具体来说,除非模型在答案那一维输出1,否则都会得到惩罚。即使模型把一部分概率分配给与答案相近的单词(比如同义词),这个相近的单词仍被视为完全错误的预测。 \parinterval 神经机器翻译在每个目标语言位置$j$会输出一个分布$\hat{\mathbi{y}}_j$,这个分布描述了每个目标语言单词出现的可能性。在训练时,每个目标语言位置上的答案是一个单词,也就对应了One-hot分布${\mathbi{y}}_j$,它仅仅在正确答案那一维为1,其它维均为0。模型训练可以被看作是一个调整模型参数让$\hat{\mathbi{y}}_j$逼近${\mathbi{y}}_j$的过程。但是,${\mathbi{y}}_j$的每一个维度是一个非0即1的目标,这样也就无法考虑类别之间的相关性。具体来说,除非模型在答案那一维输出1,否则都会得到惩罚。即使模型把一部分概率分配给与答案相近的单词(比如同义词),这个相近的单词仍被视为完全错误的预测。
\parinterval 标签平滑的思想很简单\upcite{Szegedy_2016_CVPR}:答案所对应的单词不应该“独享”所有的概率,其它单词应该有机会作为答案。这个观点与{\chaptertwo}中语言模型的平滑非常类似。在复杂模型的参数估计中,往往需要给未见或者低频事件分配一些概率,以保证模型具有更好的泛化能力。具体实现时,标签平滑使用了一个额外的分布$\mathbi{q}$,它是在词汇表$V$ 上的一个均匀分布,即$\mathbi{q}_k=\frac{1}{|V|}$,其中$\mathbi{q}_k$表示分布的第$k$维。然后,标准答案的分布被重新定义为${\mathbi{y}}_j$$\mathbi{q}$的线性插值: \parinterval 标签平滑的思想很简单\upcite{Szegedy_2016_CVPR}:答案所对应的单词不应该“独享”所有的概率,其它单词应该有机会作为答案。这个观点与{\chaptertwo}中语言模型的平滑非常类似。在复杂模型的参数估计中,往往需要给未见或者低频事件分配一些概率,以保证模型具有更好的泛化能力。具体实现时,标签平滑使用了一个额外的分布$\mathbi{q}$,它是在词汇表$V$ 上的一个均匀分布,即$\mathbi{q}_k=\frac{1}{|V|}$,其中$\mathbi{q}_k$表示分布的第$k$维。然后,标准答案的分布被重新定义为${\mathbi{y}}_j$$\mathbi{q}$的线性插值:
\begin{eqnarray} \begin{eqnarray}
...@@ -477,7 +477,7 @@ R(\mathbi{w}) & = & ({\Vert{\mathbi{w}}\Vert}_2)^2 \\ ...@@ -477,7 +477,7 @@ R(\mathbi{w}) & = & ({\Vert{\mathbi{w}}\Vert}_2)^2 \\
\end{figure} \end{figure}
%---------------------------------------------- %----------------------------------------------
\parinterval$\epsilon_i=1$时,模型的训练与原始的训练策略完全相同,而当$\epsilon_i=0$时,模型的训练则与推断时使用的策略完全一样。在这里使用到了一种{\small\bfnew{课程学习}}\index{课程学习}(Curriculum Learning\index{curriculum learning}策略\upcite{DBLP:conf/coling/XuHJFWHJXZ20},该策略认为学习应该循序渐进,从一种状态逐渐过渡到另一种状态。在训练开始时,由于模型训练不充分,因此如果使用模型预测结果作为输入,会导致收敛速度非常慢。因此,在模型训练的前期,通常会选择使用标准答案$\{{y}_{1},...,{y}_{j-1}\}$。在模型训练的后期,应该更倾向于使用自模型本身的预测$\{\hat{{y}}_{1},...,\hat{{y}}_{j-1}\}$。关于课程学习的内容在\ref{sec:curriculum-learning}节还会有详细介绍。 \parinterval$\epsilon_i=1$时,模型的训练与原始的训练策略完全相同,而当$\epsilon_i=0$时,模型的训练则与推断时使用的策略完全一样。在这里使用到了一种{\small\bfnew{课程学习}}\index{课程学习}(Curriculum Learning\index{Curriculum learning}策略\upcite{DBLP:conf/coling/XuHJFWHJXZ20},该策略认为学习应该循序渐进,从一种状态逐渐过渡到另一种状态。在训练开始时,由于模型训练不充分,因此如果使用模型预测结果作为输入,会导致收敛速度非常慢。因此,在模型训练的前期,通常会选择使用标准答案$\{{y}_{1},...,{y}_{j-1}\}$。在模型训练的后期,应该更倾向于使用自模型本身的预测$\{\hat{{y}}_{1},...,\hat{{y}}_{j-1}\}$。关于课程学习的内容在\ref{sec:curriculum-learning}节还会有详细介绍。
\parinterval 在使用调度策略时,需要调整关于训练批次$i$的函数来降低$\epsilon_i$,与梯度下降方法中降低学习率的方式相似。调度策略可以采用如下几种方式: \parinterval 在使用调度策略时,需要调整关于训练批次$i$的函数来降低$\epsilon_i$,与梯度下降方法中降低学习率的方式相似。调度策略可以采用如下几种方式:
...@@ -499,7 +499,7 @@ R(\mathbi{w}) & = & ({\Vert{\mathbi{w}}\Vert}_2)^2 \\ ...@@ -499,7 +499,7 @@ R(\mathbi{w}) & = & ({\Vert{\mathbi{w}}\Vert}_2)^2 \\
\parinterval 调度采样解决曝光偏置的方法是,把模型前$j-1$步的预测结果作为输入,来预测第$j$步的输出。但是,如果模型预测的结果中有错误,再使用错误的结果预测未来的序列也会产生问题。解决这个问题就需要知道模型预测的好与坏,并在训练中有效的使用它们。如果生成好的结果,那么可以使用它进行模型训练,否则就不使用。生成对抗网络就是这样一种技术,它引入了一个额外的模型(判别器)来对原有模型(生成器)的生成结果进行评价,并根据评价结果同时训练两个模型。 \parinterval 调度采样解决曝光偏置的方法是,把模型前$j-1$步的预测结果作为输入,来预测第$j$步的输出。但是,如果模型预测的结果中有错误,再使用错误的结果预测未来的序列也会产生问题。解决这个问题就需要知道模型预测的好与坏,并在训练中有效的使用它们。如果生成好的结果,那么可以使用它进行模型训练,否则就不使用。生成对抗网络就是这样一种技术,它引入了一个额外的模型(判别器)来对原有模型(生成器)的生成结果进行评价,并根据评价结果同时训练两个模型。
\parinterval\ref{sec:adversarial-examples}小节已经提到了生成对抗网络,这里稍微进行一些展开。 在机器翻译中,基于对抗神经网络的架构被命名为{\small\bfnew{对抗神经机器翻译}}\index{对抗神经机器翻译}(Adversarial-NMT\index{Adversarial-NMT}\upcite{DBLP:conf/acml/WuXTZQLL18}。这里,令$(\seq{x},\seq{y})$表示一个训练样本,令$\hat{\seq{y}}$ 表示神经机器翻译系统对源语言句子$\seq{x}$ 的翻译结果。此时,对抗神经机器翻译的总体框架可以表示为图\ref{fig:13-10},其中。绿色部分表示神经机器翻译模型$G$,该模型将源语言句子$\seq{x}$翻译为目标语言句子$\hat{\seq{y}}$。红色部分是对抗网络$D$,它的作用是判断目标语言句子是否是源语言句子$\seq{x}$ 的真实翻译。$G$$D$相互对抗,用$G$生成的翻译结果$\hat{\seq{y}}$来训练$D$,并生成奖励信号,再使用奖励信号通过策略梯度训练$G$ \parinterval\ref{sec:adversarial-examples}小节已经提到了生成对抗网络,这里稍微进行一些展开。 在机器翻译中,基于对抗神经网络的架构被命名为{\small\bfnew{对抗神经机器翻译}}\index{对抗神经机器翻译}(Adversarial-NMT\index{Adversarial-NMT}\upcite{DBLP:conf/acml/WuXTZQLL18}。这里,令$(\seq{x},\seq{y})$表示一个训练样本,令$\hat{\seq{y}}$ 表示神经机器翻译系统对源语言句子$\seq{x}$ 的翻译结果。此时,对抗神经机器翻译的总体框架可以表示为图\ref{fig:13-10},其中。绿色部分表示神经机器翻译模型$G$,该模型将源语言句子$\seq{x}$翻译为目标语言句子$\hat{\seq{y}}$。红色部分是对抗网络$D$,它的作用是判断目标语言句子是否是源语言句子$\seq{x}$ 的真实翻译。$G$$D$相互对抗,用$G$生成的翻译结果$\hat{\seq{y}}$来训练$D$,并生成奖励信号,再使用奖励信号通过策略梯度训练$G$
%---------------------------------------------- %----------------------------------------------
\begin{figure}[htp] \begin{figure}[htp]
...@@ -785,7 +785,7 @@ L_{\textrm{seq}} = - \textrm{logP}_{\textrm{s}}(\hat{\seq{y}} | \seq{x}) ...@@ -785,7 +785,7 @@ L_{\textrm{seq}} = - \textrm{logP}_{\textrm{s}}(\hat{\seq{y}} | \seq{x})
\parinterval 当机器翻译系统应用于不同领域时,训练语料与所应用领域的相关性就显得非常重要\upcite{DBLP:journals/mt/EetemadiLTR15,britz2017effective}。不同领域往往具有自己独特的属性,比如语言风格、句子结构、专业术语等,例如,“bank”这个英语单词,在金融领域通常被翻译为“银行”,而在计算机领域,一般被解释为“库”、“存储体”等。这也会导致,使用通用领域数据训练出来的模型在特定领域上的翻译效果往往不理想,这本质上是训练数据和测试数据的领域属性不匹配造成的。 \parinterval 当机器翻译系统应用于不同领域时,训练语料与所应用领域的相关性就显得非常重要\upcite{DBLP:journals/mt/EetemadiLTR15,britz2017effective}。不同领域往往具有自己独特的属性,比如语言风格、句子结构、专业术语等,例如,“bank”这个英语单词,在金融领域通常被翻译为“银行”,而在计算机领域,一般被解释为“库”、“存储体”等。这也会导致,使用通用领域数据训练出来的模型在特定领域上的翻译效果往往不理想,这本质上是训练数据和测试数据的领域属性不匹配造成的。
\parinterval 一种解决办法是只使用特定领域的数据进行模型训练,然而这种数据往往比较稀缺。那能不能利用通用领域数据来帮助数据稀少的领域呢?这个研究方向被称为机器翻译的{\small\bfnew{领域适应}}\index{领域适应}(Domain Adaptation\index{Domain Adaptation}),即把数据从资源丰富的领域(称为{\small\bfnew{源领域}}\index{源领域} Source Domain\index{Source Domain})向资源稀缺的领域(称为{\small\bfnew{目标领域}}\index{目标领域},Target Domain\index{Target Domain})迁移。这本身也对应着资源稀缺场景下的机器翻译问题,这类问题会在{\chaptersixteen}进行详细讨论。本章更加关注如何有效地利用训练样本以更好地适应目标领域。具体来说,可以使用{\small\bfnew{数据选择}}\index{数据选择}(Data Selection\index{Selection})从源领域训练数据中选择与目标领域更加相关的样本进行模型训练。这样做的一个好处是,源领域中混有大量与目标领域不相关的样本,数据选择可以有效降低这部分数据的比例,这样可以更加突出与领域相关样本的作用。 \parinterval 一种解决办法是只使用特定领域的数据进行模型训练,然而这种数据往往比较稀缺。那能不能利用通用领域数据来帮助数据稀少的领域呢?这个研究方向被称为机器翻译的{\small\bfnew{领域适应}}\index{领域适应}(Domain Adaptation\index{Domain Adaptation}),即把数据从资源丰富的领域(称为{\small\bfnew{源领域}}\index{源领域},Source Domain\index{Source Domain})向资源稀缺的领域(称为{\small\bfnew{目标领域}}\index{目标领域},Target Domain\index{Target Domain})迁移。这本身也对应着资源稀缺场景下的机器翻译问题,这类问题会在{\chaptersixteen}进行详细讨论。本章更加关注如何有效地利用训练样本以更好地适应目标领域。具体来说,可以使用{\small\bfnew{数据选择}}\index{数据选择}(Data Selection\index{Selection})从源领域训练数据中选择与目标领域更加相关的样本进行模型训练。这样做的一个好处是,源领域中混有大量与目标领域不相关的样本,数据选择可以有效降低这部分数据的比例,这样可以更加突出与领域相关样本的作用。
\parinterval 数据选择所要解决的核心问题是:给定一个目标领域/任务数据集(如,目标任务的开发集),如何衡量原始训练样本与目标领域/任务的相关性?主要方法可以分为以下几类: \parinterval 数据选择所要解决的核心问题是:给定一个目标领域/任务数据集(如,目标任务的开发集),如何衡量原始训练样本与目标领域/任务的相关性?主要方法可以分为以下几类:
...@@ -896,9 +896,9 @@ L_{\textrm{seq}} = - \textrm{logP}_{\textrm{s}}(\hat{\seq{y}} | \seq{x}) ...@@ -896,9 +896,9 @@ L_{\textrm{seq}} = - \textrm{logP}_{\textrm{s}}(\hat{\seq{y}} | \seq{x})
\subsection{持续学习} \subsection{持续学习}
\parinterval 人类具有不断学习、调整和转移知识的能力,这种能力被称为{\small\bfnew{持续学习}}\index{持续学习}(Continual Learning\index{Continual Learning}),也叫{\small\bfnew{终生学习}}(Lifelong Learning\index{Lifelong Learning})或{\small\bfnew{增量式学习}}\index{增量式学习}(Incremental Learning\index{Incremental Learning})。人类学习的新任务时,会很自然的利用以前的知识并将新学习的知识整合到以前的知识中。然而对于机器学习系统来说,尤其在连接主义的范式下(如深度神经网络模型),这是一个很大的挑战,这是由神经网络的特性所决定的。当前的神经网络模型依赖于标注的训练样本,通过反向传播算法对模型参数进行训练更新,最终达到拟合数据分布的目的。当把模型切换到新的任务时,本质上是数据的分布发生了变化,从这种分布差异过大的数据中不断增量获取可用信息很容易导致{\small\bfnew{灾难性遗忘}}\index{灾难性遗忘}(Catastrophic Forgetting\index{Catastrophic Forgetting})问题,即用新数据训练模型的时候会干扰先前学习的知识。甚至,这在最坏的情况下会导致旧知识被新知识完全重写。在机器翻译领域,类似的问题经常发生在不断增加数据的场景中,因为当用户使用少量数据对模型进行更新之后,发现在旧数据上的性能下降了(见{\chaptereighteen})。 \parinterval 人类具有不断学习、调整和转移知识的能力,这种能力被称为{\small\bfnew{持续学习}}\index{持续学习}(Continual Learning\index{Continual Learning}),也叫{\small\bfnew{终生学习}}\index{终生学习}(Lifelong Learning\index{Lifelong Learning})或{\small\bfnew{增量式学习}}\index{增量式学习}(Incremental Learning\index{Incremental Learning})。人类学习的新任务时,会很自然的利用以前的知识并将新学习的知识整合到以前的知识中。然而对于机器学习系统来说,尤其在连接主义的范式下(如深度神经网络模型),这是一个很大的挑战,这是由神经网络的特性所决定的。当前的神经网络模型依赖于标注的训练样本,通过反向传播算法对模型参数进行训练更新,最终达到拟合数据分布的目的。当把模型切换到新的任务时,本质上是数据的分布发生了变化,从这种分布差异过大的数据中不断增量获取可用信息很容易导致{\small\bfnew{灾难性遗忘}}\index{灾难性遗忘}(Catastrophic Forgetting\index{Catastrophic Forgetting})问题,即用新数据训练模型的时候会干扰先前学习的知识。甚至,这在最坏的情况下会导致旧知识被新知识完全重写。在机器翻译领域,类似的问题经常发生在不断增加数据的场景中,因为当用户使用少量数据对模型进行更新之后,发现在旧数据上的性能下降了(见{\chaptereighteen})。
\parinterval 为克服灾难性遗忘问题,学习系统一方面必须能连续获取新知识和完善现有知识,另一方面,还应防止新数据输入明显干扰现有的知识,这个问题称作{\small\bfnew{稳定性-可塑性}}\index{稳定性- 可塑性}(Stability-Plasticity\index{Stability-Plasticity})问题。可塑性指整合新知识的能力,稳定性指保留先前的知识不至于遗忘。要解决这些问题,就需要模型在保留先前任务的知识与学习当前任务的新知识之间取得平衡。目前的解决方法可以分为以下几类: \parinterval 为克服灾难性遗忘问题,学习系统一方面必须能连续获取新知识和完善现有知识,另一方面,还应防止新数据输入明显干扰现有的知识,这个问题称作{\small\bfnew{稳定性-可塑性}}\index{稳定性-可塑性}(Stability-Plasticity\index{Stability-Plasticity})问题。可塑性指整合新知识的能力,稳定性指保留先前的知识不至于遗忘。要解决这些问题,就需要模型在保留先前任务的知识与学习当前任务的新知识之间取得平衡。目前的解决方法可以分为以下几类:
\begin{itemize} \begin{itemize}
\vspace{0.5em} \vspace{0.5em}
......
...@@ -95,7 +95,7 @@ ...@@ -95,7 +95,7 @@
\begin{itemize} \begin{itemize}
\vspace{0.5em} \vspace{0.5em}
\item {\small\bfnew{相对位置编码}}\index{相对位置编码}(Relative Positional Representation)\index{Relative Positional Representation}\upcite{Shaw2018SelfAttentionWR}。核心思想是在能够捕获全局依赖的自注意力机制中引入相对位置信息。该方法可以有效补充绝对位置编码的不足,甚至完全取代绝对位置编码。对于Transformer模型中的任意一层,假设$\mathbi{x}_i$$\mathbi{x}_j$是位置$i$$j$的输入向量(也就是来自上一层位置$i$$j$的输出向量),二者的位置关系可以通过向量$\mathbi{a}_{ij}^V$$\mathbi{a}_{ij}^K$来表示,定义如下: \item {\small\bfnew{相对位置编码}}\index{相对位置编码或相对位置表示}(Relative Positional Representation)\index{Relative Positional Representation}\upcite{Shaw2018SelfAttentionWR}。核心思想是在能够捕获全局依赖的自注意力机制中引入相对位置信息。该方法可以有效补充绝对位置编码的不足,甚至完全取代绝对位置编码。对于Transformer模型中的任意一层,假设$\mathbi{x}_i$$\mathbi{x}_j$是位置$i$$j$的输入向量(也就是来自上一层位置$i$$j$的输出向量),二者的位置关系可以通过向量$\mathbi{a}_{ij}^V$$\mathbi{a}_{ij}^K$来表示,定义如下:
\begin{eqnarray} \begin{eqnarray}
\mathbi{a}_{ij}^K &=& \mathbi{w}^K_{\textrm{clip}(j-i,k)} \label{eq:15-7} \\ \mathbi{a}_{ij}^K &=& \mathbi{w}^K_{\textrm{clip}(j-i,k)} \label{eq:15-7} \\
\mathbi{a}_{ij}^V &=& \mathbi{w}^V_{\textrm{clip}(j-i,k)} \label{eq:15-8} \\ \mathbi{a}_{ij}^V &=& \mathbi{w}^V_{\textrm{clip}(j-i,k)} \label{eq:15-8} \\
...@@ -153,7 +153,7 @@ A_{ij}^{\rm rel} &=& \underbrace{\mathbi{E}_{x_i}\mathbi{W}_Q\mathbi{W}_{K}^{\te ...@@ -153,7 +153,7 @@ A_{ij}^{\rm rel} &=& \underbrace{\mathbi{E}_{x_i}\mathbi{W}_Q\mathbi{W}_{K}^{\te
\noindent 其中,$A_{ij}^{\rm rel}$为使用相对位置编码后位置$i$$j$关系的表示结果,$\mathbi{R}$是一个固定的正弦矩阵。不同于公式\eqref{eq:15-13},公式\eqref{eq:15-14}对(c)中的$\mathbi{E}_{x_j}^{\textrm{T}}$与(d)中的$\mathbi{R}_{i-j}^{\textrm{T}}$采用了不同的映射矩阵,分别为$\mathbi{W}_{K,E}^{\textrm{T}}$$\mathbi{W}_{K,R}^{\textrm{T}}$,这两项分别代表了键$\mathbi{K}$中的词嵌入表示和相对位置编码表示,并且由于此时只采用了相对位置编码,因此公式\eqref{eq:15-14}在(c)与(d)部分使用了$\mathbi{u}$$\mathbi{v}$两个可学习的矩阵代替$\mathbi{U}_i\mathbi{W}_Q$$\mathbi{U}_i\mathbi{W}_Q$,即查询$\mathbi{Q}$中的绝对位置编码部分。此时公式中各项的含义为:(a)表示位置$i$与位置$j$之间词嵌入的相关性,可以看作是基于内容的表示,(b)表示基于内容的位置偏置,(c)表示全局内容的偏置,(d)表示全局位置的偏置。公式\eqref{eq:15-13}中的(a)、(b)两项与前面介绍的绝对位置编码一致\upcite{Shaw2018SelfAttentionWR},并针对相对位置编码引入了额外的线性变换矩阵。同时,这种方法兼顾了全局内容偏置和全局位置偏置,可以更好地利用正余弦函数的归纳偏置特性。 \noindent 其中,$A_{ij}^{\rm rel}$为使用相对位置编码后位置$i$$j$关系的表示结果,$\mathbi{R}$是一个固定的正弦矩阵。不同于公式\eqref{eq:15-13},公式\eqref{eq:15-14}对(c)中的$\mathbi{E}_{x_j}^{\textrm{T}}$与(d)中的$\mathbi{R}_{i-j}^{\textrm{T}}$采用了不同的映射矩阵,分别为$\mathbi{W}_{K,E}^{\textrm{T}}$$\mathbi{W}_{K,R}^{\textrm{T}}$,这两项分别代表了键$\mathbi{K}$中的词嵌入表示和相对位置编码表示,并且由于此时只采用了相对位置编码,因此公式\eqref{eq:15-14}在(c)与(d)部分使用了$\mathbi{u}$$\mathbi{v}$两个可学习的矩阵代替$\mathbi{U}_i\mathbi{W}_Q$$\mathbi{U}_i\mathbi{W}_Q$,即查询$\mathbi{Q}$中的绝对位置编码部分。此时公式中各项的含义为:(a)表示位置$i$与位置$j$之间词嵌入的相关性,可以看作是基于内容的表示,(b)表示基于内容的位置偏置,(c)表示全局内容的偏置,(d)表示全局位置的偏置。公式\eqref{eq:15-13}中的(a)、(b)两项与前面介绍的绝对位置编码一致\upcite{Shaw2018SelfAttentionWR},并针对相对位置编码引入了额外的线性变换矩阵。同时,这种方法兼顾了全局内容偏置和全局位置偏置,可以更好地利用正余弦函数的归纳偏置特性。
\vspace{0.5em} \vspace{0.5em}
\item {\small\bfnew{结构化位置编码}}\index{基于结构化位置编码}(Structural Position Representations)\index{Structural Position Representations}\upcite{DBLP:conf/emnlp/WangTWS19a}。 通过对输入句子进行依存句法分析得到句法树,根据叶子结点在句法树中的深度来表示其绝对位置,并在此基础上利用相对位置编码的思想计算节点之间的相对位置信息。 \item {\small\bfnew{结构化位置编码}}\index{结构化位置编码或结构化位置表示}(Structural Position Representations)\index{Structural Position Representations}\upcite{DBLP:conf/emnlp/WangTWS19a}。 通过对输入句子进行依存句法分析得到句法树,根据叶子结点在句法树中的深度来表示其绝对位置,并在此基础上利用相对位置编码的思想计算节点之间的相对位置信息。
\vspace{0.5em} \vspace{0.5em}
\item {\small\bfnew{基于连续动态系统}}\index{基于连续动态系统}(Continuous Dynamic Model)\index{Continuous Dynamic Model}{\small\bfnew{的位置编码}}\upcite{Liu2020LearningTE}。使用神经常微分方程{\small\bfnew{求解器}}\index{求解器}(Solver)\index{Solver}来建模位置信息\upcite{DBLP:conf/nips/ChenRBD18},模型具有更好的归纳偏置能力,可以处理变长的输入序列,同时能够从不同的数据中进行自适应学习。 \item {\small\bfnew{基于连续动态系统}}\index{基于连续动态系统}(Continuous Dynamic Model)\index{Continuous Dynamic Model}{\small\bfnew{的位置编码}}\upcite{Liu2020LearningTE}。使用神经常微分方程{\small\bfnew{求解器}}\index{求解器}(Solver)\index{Solver}来建模位置信息\upcite{DBLP:conf/nips/ChenRBD18},模型具有更好的归纳偏置能力,可以处理变长的输入序列,同时能够从不同的数据中进行自适应学习。
...@@ -355,7 +355,7 @@ v_i &=& \mathbi{I}_d^{\textrm{T}}\textrm{Tanh}(\mathbi{W}_d\mathbi{Q}_i) ...@@ -355,7 +355,7 @@ v_i &=& \mathbi{I}_d^{\textrm{T}}\textrm{Tanh}(\mathbi{W}_d\mathbi{Q}_i)
\begin{itemize} \begin{itemize}
\vspace{0.5em} \vspace{0.5em}
\item Reformer模型在计算Key和Value时使用相同的线性映射,共享Key和Value的值\upcite{Kitaev2020ReformerTE},降低了自注意力机制的复杂度。进一步,Reformer引入了一种{\small\bfnew{局部哈希敏感注意力机制}}\index{局部哈希敏感注意力机制}(LSH Attention)\index{LSH Attention},其提高效率的方式和固定模式中的局部建模一致,减少注意力机制的计算范围。对于每一个Query,通过局部哈希敏感机制找出和其较为相关的Key,并进行注意力的计算。其基本思路就是距离相近的向量以较大的概率被哈希分配到一个桶内,距离较远的向量被分配到一个桶内的概率则较低。此外,Reformer中还采用了一种{\small\bfnew{可逆残差网络结构}}\index{可逆残差网络结构}(The Reversible Residual Network)\index{The Reversible Residual Network}和分块计算前馈神经网络层的机制,即将前馈层的隐层维度拆分为多个块并独立的进行计算,最后进行拼接操作,得到前馈层的输出,这种方式大幅度减少了内存(显存)占用。 \item Reformer模型在计算Key和Value时使用相同的线性映射,共享Key和Value的值\upcite{Kitaev2020ReformerTE},降低了自注意力机制的复杂度。进一步,Reformer引入了一种{\small\bfnew{局部敏感哈希注意力机制}}\index{局部敏感哈希注意力机制}(Locality Sensitive Hashing Attention\index{Locality Sensitive Hashing Attention},LSH Attention),其提高效率的方式和固定模式中的局部建模一致,减少注意力机制的计算范围。对于每一个Query,通过局部哈希敏感机制找出和其较为相关的Key,并进行注意力的计算。其基本思路就是距离相近的向量以较大的概率被哈希分配到一个桶内,距离较远的向量被分配到一个桶内的概率则较低。此外,Reformer中还采用了一种{\small\bfnew{可逆残差网络结构}}\index{可逆残差网络结构}(The Reversible Residual Network)\index{The Reversible Residual Network}和分块计算前馈神经网络层的机制,即将前馈层的隐层维度拆分为多个块并独立的进行计算,最后进行拼接操作,得到前馈层的输出,这种方式大幅度减少了内存(显存)占用。
\vspace{0.5em} \vspace{0.5em}
\item Routing Transformer通过聚类算法对序列中的不同单元进行分组,分别在组内进行自注意力机制的计算\upcite{DBLP:journals/corr/abs-2003-05997}。该方法是将Query和Key映射到聚类矩阵$\mathbi{S}$ \item Routing Transformer通过聚类算法对序列中的不同单元进行分组,分别在组内进行自注意力机制的计算\upcite{DBLP:journals/corr/abs-2003-05997}。该方法是将Query和Key映射到聚类矩阵$\mathbi{S}$
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论