RNN学习笔记(一)-简介及BPTT RTRL及Hybrid(FP/BPTT)算法

本文介绍了RNN的基础结构,详细讲解了BPTT(Back Propagation Through Time)和RTRL(Real-Time Recurrent Learning)两种在线学习算法的原理,包括Real-Time BPTT与Epochwise BPTT的区别,以及Hybrid(FP/BPTT)算法的结合方式。通过这些算法,理解RNN如何处理序列数据并进行参数更新。
摘要由CSDN通过智能技术生成

RNN学习笔记(一)-简介及BPTT RTRL及Hybrid(FP/BPTT)算法

本文假设读者已经熟悉了常规的神经网络,并且了解了BP算法,如果还不了解的,参见UFIDL的教程。
- 1.RNN结构
- 2.符号定义
- 3.网络unrolled及公式推导
- 4.BPTT
- 5.RTRL
- 6.Hybrid(FP/BPTT)
- 7.参考文献


1.RNN结构

如下图1是一个最简单的RNN:
图1
其中集合 I m 个外部输入节点,左下角的 U 为前一时刻的隐层输出节点,U中的节点数为 n ,并假定U中所有节点的输出都参与到下一时刻的输入。

2.符号定义

定义:
xi(t) : t 时刻第 i 个输入节点的输出值,且 iIU
sk(t) : t 时刻第 k 个隐层节点的输出值,且 kU
yk(t) : t 时刻第 k 个输出层节点的输出值,且 kU
dk(t) : t 时刻隐层第 k 个节点的期望输出(即训练数据)
wli :第 i 个输入到第 l 个隐层节点的权重,其中 iIlU
wlk :第 k 个输入到第 l 个隐层节点的权重,其中 klU
τ :假定网络的起始时刻为 t0 ,当前时刻为 t t[t0,t) , τ(t,t]
yk(τ) : τ 时刻第 k 个输出节点的输出值,且 kU,τ(t0,t] ,对于所有的 τ 而言,其实有 yk(τ)=yk(τ) ,这里之所以引入新符号,是为了避免求导运算时混淆1

再来是一组等式定义:
sk(τ+1)=wx(τ)
ek(t)=dk(t)yk(t)
J(τ)=kUek(t)
Jtotal(t,t)=τ=t+1tJ(τ),t[t0,t)
ϵk(τ;F)=Fyk(τ)
ek(τ;F)=Fyk(τ)
δk(τ;F)=Fsk(τ)
pkij(τ)=yk(τ)wij
因为假定 F 只与 yk(τ),τ(t,t] 显式相关,所以,当 τt 时, ek(τ;F)=0
由于 F 是任意与 yk(t) 相关的函数,实际应用中,可以取
F=J(τ)F=Jtotal(t,t) 或其它函数。
因为初始状态的输出 yk(t0) 为预设值,与 w 之间不存在函数关系,所以当 τ=t0 时, pkij(t0)=0

3.网络unrolled及公式推导

将网络按时间展开:
这里写图片描述
根据上图,下面两个式子成立:
sk(t+1)=lUwklyl(t)+lIwklxnetl(t)=lUIwklxl(t)......(2)
yk(t+1)=fk(sk(t+1))......(3)

显然, yk(τ+1),yk(τ+2),...,yk(t) 可以表示成 s(τ+1) 的函数,因此,
F=F(y(t),y(t+1),...,yk(τ),s(τ+1))=F
下面对公式进行进一步的推导:
ϵk(τ;F)=Fyk(τ)
=F(y(t),y(t+1),...,yk(τ),s(τ+1))yk(τ)
由复合函数求导法则,上式可进一步变为:
Fy(t)y(t)yk(τ)+Fy(t+1)y(t+1)yk(τ)+...+Fy(τ)y(τ)yk(τ)+Fs(τ+1)s(τ+1)yk(τ

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值