rnn 梯度消失爆炸

本文深入探讨了深度学习中常见的梯度消失和梯度爆炸问题,解释了其数学原理,并详细推导了循环神经网络(RNN)的正向传播过程和损失函数。此外,还介绍了在训练RNN时如何计算损失函数的导数,为理解深度学习优化提供了关键洞察。
摘要由CSDN通过智能技术生成

梯度消失和爆炸原理

求导知识

y = x 2 y = x^2 y=x2

d y \mathrm{d} {y} dy 导数

d y d x \Large \frac {\mathcal{d} {y}} {\mathcal{d}{x}} dxdy 偏导

RNN推导

正向传播:

a t = w x x t + w h h t − 1 + b t a_t=w_xx_t + w_hh_{t-1} + b_t at=wxxt+whht1+bt

h t = σ ( a t ) h_t = \sigma(a_t) ht=σ(at)

y ^ = s o f t m a x ( w y h t + b y ) \hat{y} =softmax(w_yh_t+b_y) y^=softmax(wyht+by)

定义loss:
用logloss,TODO:多分类的logloss为啥是下面的格式?为啥不是 l o s s = ∑ [ − y l o g ( y ^ ) − ( 1 − y ) l o g ( 1 − y ^ ) ] loss = \sum[-ylog(\hat{y})-(1-y)log(1-\hat{y})] loss=[ylog(y^)(1y)log(1y^)]

l o s s = L = ∑ i = 1 n − y i l o g ( y i ^ ) loss = \mathcal{L} = \displaystyle\sum_{i=1}^{n}-y_ilog(\hat{y_i}) loss=L=i=1nyilog(yi^)

d L d w t = d L d a t d a t d w t = d L d a t \Large \frac {\mathrm{d}\mathcal{L}} {\mathrm{d}w_t} = \frac {\mathrm{d}\mathcal{L}} {\mathrm{d}a_t} \frac{\mathrm{d}a_t} {\mathrm{d}w_t}= \frac {\mathrm{d}\mathcal{L}} {\mathrm{d}a_t} dwtdL=datdLdwtdat=datdL

参考1
参考2
参考3

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值