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
单韦乔
Toy-MT-Introduction
Commits
0c5005e4
Commit
0c5005e4
authored
Oct 24, 2019
by
xiaotong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
new pages
parent
ae1736d0
全部展开
隐藏空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
17 行增加
和
51 行删除
+17
-51
Section05-Neural-Networks-and-Language-Modeling/section05-test.tex
+17
-51
Section05-Neural-Networks-and-Language-Modeling/section05.tex
+0
-0
没有找到文件。
Section05-Neural-Networks-and-Language-Modeling/section05-test.tex
查看文件 @
0c5005e4
...
@@ -118,64 +118,30 @@
...
@@ -118,64 +118,30 @@
%%%------------------------------------------------------------------------------------------------------------
%%%------------------------------------------------------------------------------------------------------------
\subsection
{
前馈、循环、自注意力神经网络
}
\subsection
{
前馈、循环、自注意力神经网络
}
%%%------------------------------------------------------------------------------------------------------------
%%%------------------------------------------------------------------------------------------------------------
%%% 循环神经网络的结构
%%% 循环单元的设计、梯度消失、训练等问题
\begin{frame}
{
循环单元
}
\begin{frame}
{
进一步的问题
}
\begin{itemize}
\begin{itemize}
\item
有输入序列
$
(
\textbf
{
x
}_
0
,
\textbf
{
x
}_
1
,...,
\textbf
{
x
}_
t,...
)
$
,其中
$
\textbf
{
x
}_
t
$
表示序列中第
$
t
$
个元素,也被称作
\alert
{
时刻
$
t
$}
输入。它所对应的输出序列是
$
(
\textbf
{
y
}_
0
,
\textbf
{
y
}_
1
,...,
\textbf
{
y
}_
t,...
)
$
。 在循环神经网络中,每个时刻的输出都可以用同一个
\alert
{
循环单元
}
来描述。
\visible
<2->
{
对于语言模型,一种简单的结构:
}
\item
\textbf
{
循环单元设计
}
:循环单元就是一个函数,入读当前时刻的输入和上一时刻的状态,生成当前时刻的状态
\begin{displaymath}
\visible
<2->
{
\textbf
{
h
}_
t = g(
\textbf
{
x
}_
t,
\textbf
{
h
}_{
t-1
}
;
\theta
)
{
\small
\end{displaymath}
\begin{tcolorbox}
很多种方式设计
$
g
(
\cdot
)
$
,如著名的LSTM、GRU等
[bicolor,sidebyside,righthand width=4.3cm,size=title,frame engine=empty,
\item
<2->
\textbf
{
梯度消失/爆炸
}
:随着序列变长,在反向传播时循环神经网络会产生更多的局部梯度相乘计算,这会导致
\alert
{
梯度消失/爆炸问题
}
colback=blue!10!white,colbacklower=black!5!white]
\begin{displaymath}
\underbrace
{
0.2
\times
0.3
\times
...
\times
0.2
\times
0.1
}_{
\text
{
100项
}}
\approx
0
\begin{eqnarray}
\end{displaymath}
\textbf
{
y
}_
t
&
=
&
\textrm
{
Softmax
}
(
\textbf
{
h
}_
t
\textbf
{
V
}
)
\nonumber
\\
\vspace
{
-0.8em
}
\textbf
{
h
}_
t
&
=
&
\textrm
{
TanH
}
(
\textbf
{
x
}_
t
\textbf
{
U
}
+
\textbf
{
h
}_{
t-1
}
\textbf
{
W
}
)
\nonumber
\begin{itemize}
\end{eqnarray}
\item
可以考虑梯度裁剪,限制梯度的大小
\footnotesize
{$
\textbf
{
h
}_
t
$
:
$
t
$
时刻的隐层状态
\\
\item
也可以引入short-cut connection,如残差网络
$
\textbf
{
h
}_{
t
-
1
}$
:
$
t
-
1
$
时刻的隐层状态
\\
\end{itemize}
$
\textbf
{
V
}
,
\textbf
{
U
}
,
\textbf
{
W
}$
: 参数
\item
<2->
\textbf
{
训练
}
:有了自动微分,这不是个大问题 :)
}
\tcblower
\begin{center}
\begin{tikzpicture}
\begin{scope}
\node
[anchor=west,inner sep=3pt,minimum width=8em] (h) at (0,0)
{
\tiny
{$
\textbf
{
h
}_
t
=
\textrm
{
TanH
}
(
\textbf
{
x
}_
t
\textbf
{
U
}
+
\textbf
{
h
}_{
t
-
1
}
\textbf
{
W
}
)
$}}
;
\node
[anchor=south west,inner sep=3pt] (r) at ([yshift=-0.2em]h.north west)
{
\tiny
{
循环单元:
}}
;
\begin{pgfonlayer}
{
background
}
\node
[rectangle,draw,inner sep=0em,fill=green!20!white] [fit = (r) (h)] (rbox)
{}
;
\end{pgfonlayer}
\node
[anchor=south,draw,minimum width=8em,fill=green!20!white] (y) at ([yshift=1.5em]rbox.north)
{
\tiny
{$
\textbf
{
y
}_
t
=
\textrm
{
Softmax
}
(
\textbf
{
h
}_
t
\textbf
{
V
}
)
$}}
;
\node
[anchor=south,inner sep=2pt] (output) at ([yshift=1em]y.north)
{
\scriptsize
{$
\textbf
{
y
}_
t
$}}
;
\node
[anchor=north,inner sep=2pt] (input) at ([yshift=-1em]h.south)
{
\scriptsize
{$
\textbf
{
x
}_
t
$}}
;
\draw
[->,thick] (input.north) -- ([yshift=-0.1em]rbox.south);
\draw
[->,thick] ([yshift=0.1em]rbox.north) -- ([yshift=-0.1em]y.south) node [pos=0.5,left]
{
\tiny
{$
\textbf
{
h
}_
t
$}}
;
\draw
[->,thick] ([yshift=0.1em]y.north) -- (output.south);
\draw
[->,thick] ([xshift=0.1em]rbox.east) -- ([xshift=1em]rbox.east) node [pos=1,above]
{
\tiny
{$
\textbf
{
h
}_
t
$}}
;
\draw
[->,thick] ([xshift=-1em]rbox.west) -- ([xshift=-0.1em]rbox.west) node [pos=0,above]
{
\tiny
{$
\textbf
{
h
}_{
t
-
1
}$}}
;
\end{scope}
\end{tikzpicture}
\end{center}
\end{tcolorbox}
}
}
\item
<3->
\textbf
{
如何体现循环?
}$
t
$
时刻的状态是
$
t
-
1
$
时刻状态的函数,这个过程可以不断被执行
\end{itemize}
\end{itemize}
\end{frame}
\end{frame}
%%%------------------------------------------------------------------------------------------------------------
%%%------------------------------------------------------------------------------------------------------------
%%% 循环神经网络的“记忆”
\begin{frame}
{
循环神经网络的``记忆''
}
\end{frame}
%%%------------------------------------------------------------------------------------------------------------
%%% 深度学习带来的问题及思考 - 并不是无所不能
%%% 深度学习带来的问题及思考 - 并不是无所不能
...
...
Section05-Neural-Networks-and-Language-Modeling/section05.tex
查看文件 @
0c5005e4
差异被折叠。
点击展开。
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论