TNU深度学习笔记2

Training Recurrent Neural Network

这节课主要讲了怎么训练RNN,用的方法是BPTT(Backpropagation through time)。
这里写图片描述
RNN的目标是训练参数 wh,wo,wi

BPTT的做法是,先将RNN随着时间展开,如下图:
这里写图片描述
展开之后像训练普通神经网络一样做Backpropagation就行了,唯一的区别在于RNN输入是一个连续的序列,输出也是一个连续的序列,因此在每个输出的y上都要做Backpropagation的初始化。
这里写图片描述

但是训练RNN没有这么容易,原因是:
这里写图片描述

可能的解决方法有:

  • Clipping the gradients,即给gradient的值做限定。
  • Advanced optimization technology(NAG,RMSprop)
  • LSTM(or other simpler variants)
  • Better initialization

Introduction of Structured Learning

这节课介绍了Structured Learning和解决Structured Learning问题的基本框架。

Structured Learning

概念:
这里写图片描述

一些例子:
这里写图片描述

Unified Framework

解决Structured Learning的基本框架:
这里写图片描述

Three Problems

为了表示除以上框架,有三个问题需要解决:
这里写图片描述

这里联系到了HMM,并推荐了Viterbi Algorithm。

Viterbi Algorithm

给定观察空间 O={o1,o2,...,oN} ,状态空间 S={s1,s2,...,sK} ,一个观察序列 Y={y1,y2,...,yT} 。转移矩阵 ARKK Aij 表示从状态 si 转移到 sj 的概率。放射矩阵 BRKN Bij 表示观察点 oj 来自状态 si 的概率。路径 X={x1,x2,...,xT} 表示一个序列产生观察序列 Y={y1,y2,...,yT} 的状态序列。初始化的 πRK1 ,表示 x1==si 的概率。

在这个DP问题中,我们用到两个二维数组 T1,T2RKT
T1[i][j] 表示到 j 的最可能的路径x^={x1^,x2^,...,xj^},并且 xj^=si 的概率。
T2[i][j] 保存了这条路径。
状态转移方程:
T1[i][j]=maxk(T1[k][j1]AkiBiyj)
T2[i][j]=argMaxk(T1[k][j1]AkiBiyj)

算法的输入输出:
这里写图片描述

伪代码:
这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值