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
c06d6c83
Commit
c06d6c83
authored
Nov 11, 2019
by
Lee
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add biRNN figure
parent
47b01427
隐藏空白字符变更
内嵌
并排
正在显示
1 个修改的文件
包含
136 行增加
和
0 行删除
+136
-0
Section06-Neural-Machine-Translation/section06.tex
+136
-0
没有找到文件。
Section06-Neural-Machine-Translation/section06.tex
查看文件 @
c06d6c83
...
...
@@ -883,6 +883,142 @@ NLP问题的隐含结构假设 & 无隐含结构假设,端到端学习 \\
%%% 一些变种
\begin{frame}
{
改进 - 双向模型
}
%%% 图
\begin{center}
\begin{tikzpicture}
\setlength
{
\base
}{
0.9cm
}
\tikzstyle
{
rnnnode
}
= [rounded corners=1pt,minimum size=0.5
\base
,draw,inner sep=0pt,outer sep=0pt]
\tikzstyle
{
wordnode
}
= [font=
\tiny
]
% RNN translation model
\begin{scope}
[local bounding box=RNNMT]
% RNN Encoder
\coordinate
(eemb0) at (0,0);
\foreach
\x
[count=
\y
from 0] in
{
1,2,...,10
}
\node
[rnnnode,minimum height=0.5\base,fill=green!30!white,anchor=west]
(eemb
\x
) at ([xshift=0.4
\base
]eemb
\y
.east)
{}
;
\foreach
\x
in
{
1,2,...,10
}
\node
[rnnnode,fill=blue!30!white,anchor=south]
(backenc
\x
) at ([yshift=0.5
\base
]eemb
\x
.north)
{}
;
\foreach
\x
in
{
1,2,...,10
}
\node
[rnnnode,fill=blue!30!white,anchor=south]
(enc
\x
) at ([yshift=0.5
\base
]backenc
\x
.north)
{}
;
\node
[wordnode,left=0.4\base of enc1]
(init)
{$
0
$}
;
\node
[wordnode,right=0.4\base of backenc10]
(backinit)
{$
0
$}
;
\node
[rnnnode,fill=purple!30!white] at (enc10)
{}
;
\node
[rnnnode,fill=purple!30!white] at (backenc1)
{}
;
\node
[wordnode,below=0pt of eemb1]
()
{
你
}
;
\node
[wordnode,below=0pt of eemb2]
()
{
知道
}
;
\node
[wordnode,below=0pt of eemb3]
()
{
去
}
;
\node
[wordnode,below=0pt of eemb4]
()
{
北京站
}
;
\node
[wordnode,below=0pt of eemb5]
()
{
的
}
;
\node
[wordnode,below=0pt of eemb6]
()
{
路
}
;
\node
[wordnode,below=0pt of eemb7]
()
{
怎么
}
;
\node
[wordnode,below=0pt of eemb8]
()
{
走
}
;
\node
[wordnode,below=0pt of eemb9]
()
{
吗
}
;
\node
[wordnode,below=0pt of eemb10]
()
{$
\langle
$
eos
$
\rangle
$}
;
% RNN Decoder
\foreach
\x
in
{
1,2,...,10
}
\node
[rnnnode,minimum height=0.5\base,fill=green!30!white,anchor=south]
(demb
\x
) at ([yshift=2
\base
]enc
\x
.north)
{}
;
\foreach
\x
in
{
1,2,...,10
}
\node
[rnnnode,fill=blue!30!white,anchor=south]
(dec
\x
) at ([yshift=0.5
\base
]demb
\x
.north)
{}
;
\foreach
\x
in
{
1,2,...,10
}
\node
[rnnnode,minimum height=0.5\base,fill=red!30!white,anchor=south]
(softmax
\x
) at ([yshift=0.5
\base
]dec
\x
.north)
{}
;
% Decoder input words
\node
[wordnode,below=0pt of demb1]
(decwordin)
{$
\langle
$
sos
$
\rangle
$}
;
\ExtractX
{$
(
demb
2
.south
)
$}
\ExtractY
{$
(
decwordin.base
)
$}
\node
[wordnode,anchor=base]
() at (
\XCoord
,
\YCoord
)
{
Do
}
;
\ExtractX
{$
(
demb
3
.south
)
$}
\ExtractY
{$
(
decwordin.base
)
$}
\node
[wordnode,anchor=base]
() at (
\XCoord
,
\YCoord
)
{
you
}
;
\ExtractX
{$
(
demb
4
.south
)
$}
\ExtractY
{$
(
decwordin.base
)
$}
\node
[wordnode,anchor=base]
() at (
\XCoord
,
\YCoord
)
{
know
}
;
\ExtractX
{$
(
demb
5
.south
)
$}
\ExtractY
{$
(
decwordin.base
)
$}
\node
[wordnode,anchor=base]
() at (
\XCoord
,
\YCoord
)
{
the
}
;
\ExtractX
{$
(
demb
6
.south
)
$}
\ExtractY
{$
(
decwordin.base
)
$}
\node
[wordnode,anchor=base]
() at (
\XCoord
,
\YCoord
)
{
way
}
;
\ExtractX
{$
(
demb
7
.south
)
$}
\ExtractY
{$
(
decwordin.base
)
$}
\node
[wordnode,anchor=base]
() at (
\XCoord
,
\YCoord
)
{
to
}
;
\ExtractX
{$
(
demb
8
.south
)
$}
\ExtractY
{$
(
decwordin.base
)
$}
\node
[wordnode,anchor=base]
() at (
\XCoord
,
\YCoord
)
{
Beijing
}
;
\ExtractX
{$
(
demb
9
.south
)
$}
\ExtractY
{$
(
decwordin.base
)
$}
\node
[wordnode,anchor=base]
() at (
\XCoord
,
\YCoord
)
{
Railway
}
;
\ExtractX
{$
(
demb
10
.south
)
$}
\ExtractY
{$
(
decwordin.base
)
$}
\node
[wordnode,anchor=base]
() at (
\XCoord
,
\YCoord
)
{
Station
}
;
% Decoder output words
\node
[wordnode,above=0pt of softmax1]
(decwordout)
{
Do
}
;
\ExtractX
{$
(
softmax
2
.north
)
$}
\ExtractY
{$
(
decwordout.base
)
$}
\node
[wordnode,anchor=base]
() at (
\XCoord
,
\YCoord
)
{
you
}
;
\ExtractX
{$
(
softmax
3
.north
)
$}
\ExtractY
{$
(
decwordout.base
)
$}
\node
[wordnode,anchor=base]
() at (
\XCoord
,
\YCoord
)
{
know
}
;
\ExtractX
{$
(
softmax
4
.north
)
$}
\ExtractY
{$
(
decwordout.base
)
$}
\node
[wordnode,anchor=base]
() at (
\XCoord
,
\YCoord
)
{
the
}
;
\ExtractX
{$
(
softmax
5
.north
)
$}
\ExtractY
{$
(
decwordout.base
)
$}
\node
[wordnode,anchor=base]
() at (
\XCoord
,
\YCoord
)
{
way
}
;
\ExtractX
{$
(
softmax
6
.north
)
$}
\ExtractY
{$
(
decwordout.base
)
$}
\node
[wordnode,anchor=base]
() at (
\XCoord
,
\YCoord
)
{
to
}
;
\ExtractX
{$
(
softmax
7
.north
)
$}
\ExtractY
{$
(
decwordout.base
)
$}
\node
[wordnode,anchor=base]
() at (
\XCoord
,
\YCoord
)
{
Beijing
}
;
\ExtractX
{$
(
softmax
8
.north
)
$}
\ExtractY
{$
(
decwordout.base
)
$}
\node
[wordnode,anchor=base]
() at (
\XCoord
,
\YCoord
)
{
Railway
}
;
\ExtractX
{$
(
softmax
9
.north
)
$}
\ExtractY
{$
(
decwordout.base
)
$}
\node
[wordnode,anchor=base]
() at (
\XCoord
,
\YCoord
)
{
Station
}
;
\ExtractX
{$
(
softmax
10
.north
)
$}
\ExtractY
{$
(
decwordout.base
)
$}
\node
[wordnode,anchor=base]
() at (
\XCoord
,
\YCoord
)
{$
\langle
$
eos
$
\rangle
$}
;
% Connections
\draw
[-latex']
(init.east) to (enc1.west);
\draw
[-latex']
(backinit.west) to (backenc10.east);
\foreach
\x
in
{
1,2,...,10
}
\draw
[-latex']
(eemb
\x
) to (backenc
\x
);
\foreach
\x
in
{
1,2,...,10
}
\draw
[-latex']
(eemb
\x
.north) to [out=15,in=-15] (enc
\x
.south);
\foreach
\x
in
{
1,2,...,10
}
\draw
[-latex']
(demb
\x
) to (dec
\x
);
\foreach
\x
in
{
1,2,...,10
}
\draw
[-latex']
(dec
\x
.north) to ([yshift=0.5
\base
]dec
\x
.north);
\foreach
\x
[count=
\y
from 2] in
{
1,2,...,9
}
{
\draw
[-latex']
(enc
\x
.east) to (enc
\y
.west);
\draw
[-latex']
(dec
\x
.east) to (dec
\y
.west);
}
\def\y
{
0
}
\foreach
\x
in
{
10,9,...,2
}
{
\pgfmathtruncatemacro
{
\y
}{
\x
- 1
}
\draw
[-latex']
(backenc
\x
.west) to (backenc
\y
.east);
}
\coordinate
(bridge) at ([yshift=-1.2
\base
]demb2);
\draw
[-latex']
(enc10.north) .. controls +(north:
\base
) and +(east:1.5
\base
) .. (bridge) .. controls +(west:2.5
\base
) and +(west:0.6
\base
) .. (dec1.west);
\draw
[-latex']
(backenc1) to [out=180,in=180] (dec1.west);
% Backward RNN
\begin{pgfonlayer}
{
background
}
\node
[draw=red,thick,densely dashed,inner sep=5pt]
[fit = (backinit) (backenc1) (backenc10)] (backrnn)
{}
;
\end{pgfonlayer}
\node
[font=\scriptsize,anchor=south]
(backrnnlabel) at ([xshift=-0.5
\base
,yshift=
\base
]backrnn.north east)
{
反向RNN
}
;
\draw
[->,dashed]
(backrnnlabel.south) to ([xshift=-0.5
\base
]backrnn.north east);
\end{scope}
\end{tikzpicture}
\end{center}
\end{frame}
%%%------------------------------------------------------------------------------------------------------------
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论