Commit de69d535 by xiaotong

wording (sec 15)

parent e0392d26
...@@ -962,7 +962,7 @@ lr &=& d_{model}^{-0.5}\cdot step\_num^{-0.5} ...@@ -962,7 +962,7 @@ lr &=& d_{model}^{-0.5}\cdot step\_num^{-0.5}
\noindent 其中,$\mathbi{W}$是转换矩阵,$\mathbi{U}$是权重矩阵,$F$代表了特征的数量({\color{red} 特征的数量为啥还要加绝对值});而$\mathbi{E}$是一个特征矩阵,它包含了不同种类特征的数量,$x_{ik}$ 代表了第$i$ 个词在第$k$ 种特征中所表达的值,$\|$操作为拼接操作。公式\eqref{eq:15-52}将从共$F$个特征向量连接成固定大小的向量,作为编码端的输入。这种方法可以很容易地融合如词根、子词、形态、词性以及依存标签等特征。 \noindent 其中,$\mathbi{W}$是转换矩阵,$\mathbi{U}$是权重矩阵,$F$代表了特征的数量({\color{red} 特征的数量为啥还要加绝对值});而$\mathbi{E}$是一个特征矩阵,它包含了不同种类特征的数量,$x_{ik}$ 代表了第$i$ 个词在第$k$ 种特征中所表达的值,$\|$操作为拼接操作。公式\eqref{eq:15-52}将从共$F$个特征向量连接成固定大小的向量,作为编码端的输入。这种方法可以很容易地融合如词根、子词、形态、词性以及依存标签等特征。
\parinterval 此外是否有更有效的方法,将句法信息融入到编码器呢?如图\ref{fig:15-22}(a)所示,对于英语句子“I love dogs”,可以得到如图\ref{fig:15-22}(a)所示的句法树。这里,使用$w_i$表示第$i$个单词,如图\ref{fig:15-22}(b)所示。使用$l_j$表示句法解析树中第$j$个语法标签({\color{red}$l$是不是在前面也用到过?而且怎么定义$j$?怎么遍历的树?}),如图\ref{fig:15-22}(c)所示。通过观察句法树的结构可以看出,对一个单词来说,句法树中该单词的父节点({\color{red} 祖先节点及路径?})代表了描述该单词最准确的句法信息。因此可以单词祖先节点及路径信息与原始的词信息构造出新的融合表示${\mathbi{h}'}_i$,并使用这种新的表示计算上下文向量$\mathbi{C}$,即: \parinterval 另一种方式是将句法信息的表示转化为基于序列的编码,之后与原始的词串融合。这样做的好处在于,并不需要使用基于树结构的编码器,句法信息仍然可以使用基于序列的编码器。而句法信息可以在对句法树的序列化表示中学习得到。如图\ref{fig:15-22}(a) 所示,对于英语句子“I love dogs”,可以得到如图\ref{fig:15-22}(a) 所示的句法树。这里,使用$w_i$ 表示第$i$ 个单词,如图\ref{fig:15-22}(b) 所示。通过对句法树进行遍历,可以得到句法树节点的序列$\{l_1,l_2,...,l_T\}$,其中$T$表示句法树中节点的个数,$l_j$ 表示第$j$ 个节点({\color{red}$l$ 是不是在前面也用到过?而且怎么定义$j$?怎么遍历的树?}),如图\ref{fig:15-22}(c) 所示。通过观察句法树的结构可以看出({\color{red} 怎么看出来的?},对一个单词来说,句法树中该单词的父节点({\color{red} 祖先节点及路径?})代表了描述该单词最准确的句法信息。因此可以单词祖先节点及路径信息与原始的词信息构造出新的融合表示${\mathbi{h}'}_i$,并使用这种新的表示计算上下文向量$\mathbi{C}$,即:
\begin{eqnarray} \begin{eqnarray}
\mathbi{C}_j &=& \sum_{i=1}^m \alpha_{i,j} {\mathbi{h}'}_i \mathbi{C}_j &=& \sum_{i=1}^m \alpha_{i,j} {\mathbi{h}'}_i
...@@ -984,7 +984,7 @@ lr &=& d_{model}^{-0.5}\cdot step\_num^{-0.5} ...@@ -984,7 +984,7 @@ lr &=& d_{model}^{-0.5}\cdot step\_num^{-0.5}
\vspace{0.5em} \vspace{0.5em}
\item 平行结构。利用两个编码端构成平行结构,分别对源语言单词和线性化的句法树进行建模,之后在句法树节点序列中寻找每个单词的父节点(或者祖先),将这个单词和它的父节点的状态相融合,得到新的表示。如图\ref{fig:15-23}(a)所示,图中$\mathbi{h}_{w_i}$为词$w_i$在单词序列中的状态,$\mathbi{h}_{l_j}$为树节点$l_j$在句法表示(序列)中的隐藏状态。如果单词$w_i$是节点$l_j$ 在句法树中的子节点,则将$\mathbi{h}_{w_i}$$\mathbi{h}_{l_j}$向量拼接到一起作为这个词的新表示${\mathbi{h}'}_i$ \item 平行结构。利用两个编码端构成平行结构,分别对源语言单词和线性化的句法树进行建模,之后在句法树节点序列中寻找每个单词的父节点(或者祖先),将这个单词和它的父节点的状态相融合,得到新的表示。如图\ref{fig:15-23}(a)所示,图中$\mathbi{h}_{w_i}$为词$w_i$在单词序列中的状态,$\mathbi{h}_{l_j}$为树节点$l_j$在句法表示(序列)中的隐藏状态。如果单词$w_i$是节点$l_j$ 在句法树中的子节点,则将$\mathbi{h}_{w_i}$$\mathbi{h}_{l_j}$向量拼接到一起作为这个词的新表示${\mathbi{h}'}_i$
\vspace{0.5em} \vspace{0.5em}
\item 分层结构。将句法表示结果与源语言单词的词嵌入向量进行融合,如图\ref{fig:15-23}(b)所示,其中$\mathbi{e}_{w_i}$为第$i$个词的词嵌入。类似地,如果$w_i$词语是节点$l_j$在句法树中的子节点,则将$\mathbi{e}_{w_i}$$\mathbi{h}_{l_j}$向量拼接到一起作为原始模型的输入,这样${\mathbi{h}'}_i$直接参与注意力计算({\color{red} 这段话看不懂,不是和“平行结构”一样了吗?})。注意,分层结构和平行结构的区别在于,分层结构实际上最终还是使用一个编码器,句法信息只是与词嵌入进行融合,因此最终的结构和原始的模型是一致的;平行结构相当于使用了两个编码器,因此单词和句法信息的融合是在两个编码的输出上进行的; \item 分层结构。将句法表示结果与源语言单词的词嵌入向量进行融合,如图\ref{fig:15-23}(b)所示,其中$\mathbi{e}_{w_i}$为第$i$个词的词嵌入。类似地,如果$w_i$词语是节点$l_j$在句法树中的子节点,则将$\mathbi{e}_{w_i}$$\mathbi{h}_{l_j}$向量拼接到一起作为原始模型的输入,这样${\mathbi{h}'}_i$直接参与注意力计算({\color{red} 这段话看不懂,不是和“平行结构”一样了吗?})。注意,分层结构和平行结构的区别在于,分层结构最终还是使用了一个编码器,句法信息只是与词嵌入进行融合,因此最终的结构和原始的模型是一致的;平行结构相当于使用了两个编码器,因此单词和句法信息的融合是在两个编码的输出上进行的;
\vspace{0.5em} \vspace{0.5em}
\item 混合结构。首先对图\ref{fig:15-22}(a)中句法树进行先序遍历,将句法标记和源语言单词融合到同一个序列中,得到如图\ref{fig:15-23}(c)所示序列。之后使用传统的序列编码器对这个序列进行编码,然后使用序列中源语言单词所对应的状态参与注意力模型的计算。有趣的是,相比于前两种方法,这种方法参数量少而且也十分有效\upcite{DBLP:conf/acl/LiXTZZZ17} \item 混合结构。首先对图\ref{fig:15-22}(a)中句法树进行先序遍历,将句法标记和源语言单词融合到同一个序列中,得到如图\ref{fig:15-23}(c)所示序列。之后使用传统的序列编码器对这个序列进行编码,然后使用序列中源语言单词所对应的状态参与注意力模型的计算。有趣的是,相比于前两种方法,这种方法参数量少而且也十分有效\upcite{DBLP:conf/acl/LiXTZZZ17}
\vspace{0.5em} \vspace{0.5em}
...@@ -1001,7 +1001,7 @@ lr &=& d_{model}^{-0.5}\cdot step\_num^{-0.5} ...@@ -1001,7 +1001,7 @@ lr &=& d_{model}^{-0.5}\cdot step\_num^{-0.5}
\end{figure} \end{figure}
%------------------------------------------- %-------------------------------------------
\parinterval 总的来说,由于句法信息的生成依赖于句法分析装置,因此句法分析的错误会在很大程度上影响源语言句子的表示结果。如果获得的句法信息不够精确,可能会对翻译系统带来负面的作用。此外,也有研究发现基于词串的神经机器翻译模型本身就能学习到源语言的句法信息\upcite{DBLP:conf/emnlp/ShiPK16},这表明了神经机器翻译模型也有一定的归纳句法的能力。除了循环神经网络结构,也有学者探索如何在Transformer中引入树结构信息。比如,可以在计算编码端自注意力分布的时候,将词与词之间的依存变换成距离表示作为额外的语法信息融入到注意力计算\upcite{DBLP:conf/acl/BugliarelloO20} \parinterval 需要注意的是,句法分析的错误会在很大程度上影响源语言句子的表示结果。如果获得的句法信息不够准确,可能会对翻译系统带来负面的作用。此外,也有研究发现基于词串的神经机器翻译模型本身就能学习到一些源语言的句法信息\upcite{DBLP:conf/emnlp/ShiPK16},这表明了神经机器翻译模型也有一定的归纳句子结构的能力。除了循环神经网络结构,也有研究人员也探索了如何在Transformer中引入树结构信息。比如,可以在计算自注意力分布的时候,将词与词之间的依存变换成距离表示作为额外的语法信息融入到注意力模型\upcite{DBLP:conf/acl/BugliarelloO20}
%---------------------------------------------------------------------------------------- %----------------------------------------------------------------------------------------
% NEW SUB-SECTION % NEW SUB-SECTION
...@@ -1009,7 +1009,7 @@ lr &=& d_{model}^{-0.5}\cdot step\_num^{-0.5} ...@@ -1009,7 +1009,7 @@ lr &=& d_{model}^{-0.5}\cdot step\_num^{-0.5}
\subsection{解码端使用句法信息}\label{subsec-15.3.2} \subsection{解码端使用句法信息}\label{subsec-15.3.2}
\parinterval 也有大量的工作探索如何将句法树加入到解码端中。一种最直接的方式是将目标语言句法树结构进行线性化,这样目标语言句子就变成了一个含有句法信息的序列,神经机器翻译系统不需要进行修改即可完成训练\upcite{Aharoni2017TowardsSN} \parinterval 不同于在编码器中使用树结构,解码器直接生成树结构是较为复杂的工作。因此,想要在解码器中使用句法信息,一种最直接的方式是将目标语言句法树结构进行线性化,这样目标语言句子就变成了一个含有句法标记和单词的混合序列(见{\chaptereight})。这样,神经机器翻译系统不需要进行修改,直接使用句法树序列化的结果进行训练和推断\upcite{Aharoni2017TowardsSN}。图\ref{fig:15-24}展示了一个目标语言句法树经过线性化后的结果
%---------------------------------------------- %----------------------------------------------
\begin{figure}[htp] \begin{figure}[htp]
...@@ -1020,13 +1020,11 @@ lr &=& d_{model}^{-0.5}\cdot step\_num^{-0.5} ...@@ -1020,13 +1020,11 @@ lr &=& d_{model}^{-0.5}\cdot step\_num^{-0.5}
\end{figure} \end{figure}
%------------------------------------------- %-------------------------------------------
\parinterval \ref{fig:15-24}展示了一个目标语言句法树经过线性化后的结果。这种方法的最大优点是简单、易于实现,而且同时适用于在源语言和目标语言引入句法树的情况。不过,这种方法的问题是,推断时预测的目标语言串可能并不对应合理的句法树结构,此时需要额外的模块对结果进行修正或者调整,以得到合理的译文。 \parinterval 不过,直接使用序列化的句法树也会带来新的问题。比如,在推断时,生成的译文序列可能根本不对应合法的句法树。此时,需要额外的模块对结果进行修正或者调整,以得到合理的译文。
\parinterval 另一种方式是直接使用目标语言句法树完成翻译建模。与源语言句法树的建模不同,目标语言句法树的生成伴随着译文的生成,因此无法像源语言端一样将整个句法树一次输入。这样译文生成问题本质上就变成了目标语言树结构的生成,从这个角度说,这个过程与统计机器翻译中串到树的模型是类似的(见{\chaptereight})。树结构的生成有很多种策略,基本的思想均是根据已经生成的局部结构预测新的局部结构,并将这些局部结构拼装成更大的结构,直到得到完整的句法树结构\upcite{DBLP:conf/iclr/Alvarez-MelisJ17} \parinterval 另一种方法是直接在目标语言端使用句法树进行建模。与源语言句法树的建模不同,目标语言句法树的生成伴随着译文的生成,因此无法像源语言端一样将整个句法树一次输入。这样译文生成问题本质上就变成了目标语言树结构的生成,从这个角度说,这个过程与统计机器翻译中串到树的模型是类似的(见{\chaptereight})。树结构的生成有很多种策略,基本的思想均是根据已经生成的局部结构预测新的局部结构,并将这些局部结构拼装成更大的结构,直到得到完整的句法树结构\upcite{DBLP:conf/iclr/Alvarez-MelisJ17}
\parinterval 实现目标语言句法树生成的一种手段是将形式文法扩展到神经网络模型。这样,我们可以使用形式文法描述句法树的生成过程(见{\chapterthree}),同时利用分布式表示来进行建模和学习。比如,可以使用基于循环神经网络的文法描述方法,把句法分析过程看作是一个循环神经网络的执行过程\upcite{DBLP:conf/naacl/DyerKBS16}。这个过程对应一个移进-规约分析过程\upcite{aho1972theory},因此句法分析实质上就是一个移进-规约动作序列。这样(目标语言)句法树就可以通过基于循环神经网络的移进-规约过程实现。 \parinterval 实现目标语言句法树生成的一种手段是将形式文法扩展到神经网络模型。这样,可以使用形式文法描述句法树的生成过程(见{\chapterthree}),同时利用分布式表示来进行建模和学习。比如,可以使用基于循环神经网络的文法描述方法,把句法分析过程看作是一个循环神经网络的执行过程\upcite{DBLP:conf/naacl/DyerKBS16}。此外,也可以从多任务学习出发,用多个解码端共同完成目标语言句子的生成\upcite{DBLP:journals/corr/LuongLSVK15}。图\ref{fig:15-25}展示了由一个编码器(汉语)和多个解码器组成的序列生成模型。其中不同解码器分别负责不同的任务:第一个用于预测翻译结果,即翻译任务;第二个用于预测句法结构;第三个用于重新生成源语言序列,进行自编码。其设计思想是各个任务之间能够相互辅助,使得编码器的表示能包含更多的信息,进而让多个任务都获得性能提升。这种方法也可以使用在多个编码器上,其思想是类似的。{\red{图中改成编码器}}
\parinterval 另一种方式从多任务角度出发,用多个解码端共同完成目标语言句子的生成\upcite{DBLP:journals/corr/LuongLSVK15}。图\ref{fig:15-25}展示了由一个编码器(汉语)和多个解码器组成的序列生成模型。其中不同解码器分别负责不同的任务:第一个用于预测翻译结果,即翻译任务;第二个用于预测句法结构;第三个用于重新生成源语言序列,进行自编码。其设计思想是各个任务之间能够相互辅助,使得编码器的表示能包含更多的信息,进而让多个任务都获得性能提升。这种方法也可以使用多个编码器,其思想是类似的。{\red{图中改成编码器}}
%---------------------------------------------- %----------------------------------------------
\begin{figure}[htp] \begin{figure}[htp]
...@@ -1037,20 +1035,20 @@ lr &=& d_{model}^{-0.5}\cdot step\_num^{-0.5} ...@@ -1037,20 +1035,20 @@ lr &=& d_{model}^{-0.5}\cdot step\_num^{-0.5}
\end{figure} \end{figure}
%------------------------------------------- %-------------------------------------------
\parinterval 针对上述两种在解码端融入句法信息的方法,也有研究者提出过以下问题:紧密的融合词串和句法结构的学习是否优于多任务学习?以及目标语言句法信息的引入是否真的帮助到了机器翻译?\upcite{DBLP:conf/wmt/NadejdeRSDJKB17}。为了回答这个问题,研究者尝试利用{\small\bfnew{CCG}}\index{CCG}(Combinatory Categorial Grammar)\index{Combinatory Categorial Grammar}中的supertags作为句法信息,并比较了直接将CCG标签与句子进行融合(如图\ref{fig:15-24})和将句子与标签分开作为多任务(如图\ref{fig:15-25})两种融合方式进行训练,最后发现第一种方式是更加有效的 \parinterval 针对上述方法,也有以下问题:紧密的融合词串和句法结构的方法是否优于多任务学习的方法?以及,目标语言句法信息的引入是否真的帮助到了机器翻译?\upcite{DBLP:conf/wmt/NadejdeRSDJKB17}。 为了回答这些问题,研究人员尝试利用{\small\bfnew{CCG}}\index{CCG}(Combinatory Categorial Grammar)\index{Combinatory Categorial Grammar}中的supertags 作为句法信息,并发现CCG标签与句子进行融合更加有效
\parinterval 虽然融合树结构和目标语言词串的方法优于基于多任务的方法,但是前者会导致解码端的序列过长,因此会面临难以训练的问题。为了缓解这种现象可以在这两种方法之间设计两个循环神经网络结构,一个生成句子,另一个生成树结构\upcite{DBLP:conf/acl/WuZYLZ17,DBLP:journals/corr/abs-1808-09374}。以生成目标语言依存树为例,生成依存树的循环神经网络仍然是一个移进-规约序列的生成模型。另一个循环神经网络负责预测目标语言词序列,它只有在第一个循环神经网络移进操作的时候才会预测一下词,同时会将当前词状态作为信息送入到第一个循环神经网络中。整个过程如图\ref{fig:15-26}所示,其中$\mathbi{h}_i^\textrm{action}$表示动作RNN的隐藏层状态,$\mathbi{h}_i^\textrm{word}$表示词语RNN的隐藏层状态。动作RNN会结合词语RNN的状态预测出“移位”,“左规约”,“右规约”三种动作,只有当动作RNN预测出“移位”操作时,词语RNN才会预测下一时刻的词语。最后词语RNN预测出结束符号<eos>时,整个过程结束。需要注意的是,这种方法并不依赖循环神经网络结构,也可以将其替换为Transformer等结构来完成序列的生成 \parinterval 虽然,融合树结构和目标语言词串的方法有其优越性,但是这种方法会导致目标语言端的序列过长,导致模型难以训练。为了缓解这个问题,可以使用两个模型(如循环神经网络),一个生成句子,另一个生成树结构\upcite{DBLP:conf/acl/WuZYLZ17,DBLP:journals/corr/abs-1808-09374}。以生成目标语言依存树为例,生成依存树的模型仍然是一个移进-规约序列的生成模型,称为动作模型。另一个模型负责预测目标语言词序列,成为词预测模型。它只有在第一个模型进行进操作的时候才会预测一下词,同时会将当前词的状态作为信息送入到第一个模型中。整个过程如图\ref{fig:15-26}所示,这里使用循环神经网络构建了动作模型和词预测模型。$\mathbi{h}_i^\textrm{action}$ 表示动作模型的隐藏层状态,$\mathbi{h}_i^\textrm{word}$表示词预测模型的隐藏层状态。动作模型会结合词预测模型的状态预测出“移位”,“左规约”,“右规约”三种动作,只有当动作模型预测出“移位”操作时,词预测模型才会预测下一时刻的词语;而动作模型预测“左规约”和“右规约相当于完成了依存关系的预测(依存树见图\ref{fig:15-26}右侧)。最后词预测模型预测出结束符号<eos> 时,整个过程结束
%---------------------------------------------- %----------------------------------------------
\begin{figure}[htp] \begin{figure}[htp]
\centering \centering
\includegraphics[scale=0.5]{./Chapter15/Figures/figure-parallel-RNN-structure.png} \includegraphics[scale=0.5]{./Chapter15/Figures/figure-parallel-RNN-structure.png}
\caption{平行RNN结构} \caption{平行RNN结构{\color{red} 看前面的文字:一个叫动作模型,一个叫词预测模型。还有右侧图的依存的箭头方向一定再确定一下!}}
\label{fig:15-26} \label{fig:15-26}
\end{figure} \end{figure}
%------------------------------------------- %-------------------------------------------
\parinterval 相较于在编码端融入句法信息,在解码端融入句法信息更为困难。由于解码过程存在着前向依赖,因此树结构信息与词语的生成反而是一个相互影响的过程,如果严格按照给定的树结构翻译,即先生成结构再根据结构生成标签,那么一旦结构有误解码结果就会受到影响,而如果用一种不太严格的方式,即将树结构和目标语言一起预测,树结构对译文的预测作用又会减弱。在统计机器翻译中,句法信息究竟应该使用到什么程度已经有一些讨论\upcite{Tong2016Syntactic},而在神经机器翻译中,如何更有效地引入树结构信息以及如何平衡树结构信息与词串的作用还有待进一步确认 \parinterval 相较于在编码端融入句法信息,在解码端融入句法信息更为困难。由于树结构与单词的生成是一个相互影响的过程,如果先生成树结构,再根据树得到译文单词串,那么一旦树结构有误,翻译结果就会有问题。在统计机器翻译中,句法信息究竟应该使用到什么程度已经有一些讨论\upcite{Tong2016Syntactic}。而在神经机器翻译中,如何更有效地引入树结构信息以及如何平衡树结构信息与词串的作用还有待确认。如前文所述,基于词串的神经机器翻译模型已经能够捕捉到一些句法结构信息,虽然有些信息是不容易通过人的先验知识进行解释的。这时,使用人工总结的句法结构来约束或者强化翻译模型,是否可以补充模型无法学到的信息,还是需要进一步研究
%---------------------------------------------------------------------------------------- %----------------------------------------------------------------------------------------
% NEW SECTION % NEW SECTION
...@@ -1059,21 +1057,21 @@ lr &=& d_{model}^{-0.5}\cdot step\_num^{-0.5} ...@@ -1059,21 +1057,21 @@ lr &=& d_{model}^{-0.5}\cdot step\_num^{-0.5}
\sectionnewpage \sectionnewpage
\section{基于结构搜索的翻译模型优化} \section{基于结构搜索的翻译模型优化}
\parinterval 目前为止,对模型的很多改良都来自于研究人员自身的经验及灵感。从某种意义上说,很多时候,模型结构的优化依赖于研究人员的经验,包括其对任务的理解以及自身的想象力。此外所设计出的模型结构还需要在对应任务上进行实验,优秀的模型往往需要很长时间的探索与验证。因此,人们希望在无需外部干预的情况下,让计算机自动地找到最适用于当前任务的神经网络模型结构,这种方法被称作{\small\bfnew{神经架构搜索}}\index{神经架构搜索}(Neural Architecture Search)\index{Neural Architecture Search},在神经网络模型中有时也被称作{\small\bfnew{神经网络结构搜索}}\index{神经网络结构搜索}{\small\bfnew{网络结构搜索}}\index{网络结构搜索}\upcite{DBLP:conf/iclr/ZophL17,DBLP:conf/cvpr/ZophVSL18,Real2019AgingEF}
%---------------------------------------------------------------------------------------- %----------------------------------------------------------------------------------------
% NEW SUB-SECTION % NEW SUB-SECTION
%---------------------------------------------------------------------------------------- %----------------------------------------------------------------------------------------
\subsection{神经网络结构搜索} \subsection{神经网络结构搜索}
\parinterval 目前为止,对模型的很多改良都来自于研究人员自身的经验及灵感。从某种意义上说,很多时候,模型结构的优化依赖于研究人员的经验,包括其对任务的理解以及自身的想象力。此外所设计出的模型结构还需要在对应任务上进行实验,优秀的模型往往需要很长时间的探索与验证。因此,人们希望在无需外部干预的情况下,让计算机自动地找到最适用于当前任务的神经网络模型结构,这种方法被称作{\small\bfnew{神经架构搜索}}\index{神经架构搜索}(Neural Architecture Search)\index{Neural Architecture Search},在神经网络模型中有时也被称作{\small\bfnew{神经网络结构搜索}}\index{神经网络结构搜索}{\small\bfnew{网络结构搜索}}\index{网络结构搜索}\upcite{DBLP:conf/iclr/ZophL17,DBLP:conf/cvpr/ZophVSL18,Real2019AgingEF}
\parinterval 网络结构搜索属于{\small\bfnew{自动机器学习}}\index{自动机器学习}(Automated Machine Learning)\index{Automated Machine Learning}的范畴,其目的是根据对应任务上的数据找到最合适的模型结构。在这个过程中,模型结构就像神经网络中的参数一样被自动地学习出来。以机器翻译任务为例,通过网络结构搜索方法能够以Transformer模型为基础,对神经网络结构进行自动优化,找到更适用于机器翻译任务的模型结构。图\ref{fig:15-27}(a) 展示了人工设计的Transformer编码器的局部结构,图\ref{fig:15-27}(b) 给出对该结构使用进化算法优化后得到的结构图\upcite{DBLP:conf/icml/SoLL19}。可以看到,使用网络结构搜索方法得到的模型中,出现了与人工设计的结构不同的跨层连接,同时还搜索到了全新的多分支网络结构。这种结构也是人工不易设计出来的。 \parinterval 网络结构搜索属于{\small\bfnew{自动机器学习}}\index{自动机器学习}(Automated Machine Learning)\index{Automated Machine Learning}的范畴,其目的是根据对应任务上的数据找到最合适的模型结构。在这个过程中,模型结构就像神经网络中的参数一样被自动地学习出来。以机器翻译任务为例,通过网络结构搜索方法能够以Transformer模型为基础,对神经网络结构进行自动优化,找到更适用于机器翻译任务的模型结构。图\ref{fig:15-27}(a) 展示了人工设计的Transformer编码器的局部结构,图\ref{fig:15-27}(b) 给出对该结构使用进化算法优化后得到的结构图\upcite{DBLP:conf/icml/SoLL19}。可以看到,使用网络结构搜索方法得到的模型中,出现了与人工设计的结构不同的跨层连接,同时还搜索到了全新的多分支网络结构。这种结构也是人工不易设计出来的。
%---------------------------------------------- %----------------------------------------------
\begin{figure}[htp] \begin{figure}[htp]
\centering \centering
\input{./Chapter15/Figures/figure-encoder-structure-of-transformer-model-optimized-by-nas} \input{./Chapter15/Figures/figure-encoder-structure-of-transformer-model-optimized-by-nas}
\caption{传统Transformer以及通过网络结构搜索方法优化后的Transformer模型编码器结构} \caption{传统Transformer以及通过网络结构搜索方法优化后的Transformer模型编码器结构{\color{red} 如果图是别的论文的,需要引用!层正则化写全!正则化=层正则化?}}
\label{fig:15-27} \label{fig:15-27}
\end{figure} \end{figure}
%------------------------------------------- %-------------------------------------------
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论