IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> GRU反向传播公式推导 -> 正文阅读

[人工智能]GRU反向传播公式推导

1、正向传播

计算图(红色部分不属于时间步t):

公式:

\Gamma_u^{<t>}= \sigma(W_u[c^{<t-1>},x^{<t>}]+b_u)

\Gamma_r^{<t>}= \sigma(W_r[c^{<t-1>},x^{<t>}]+b_r)

\widetilde{c}^{<t>}=tanh(W_c[\Gamma_r^{<t>}.*c^{<t-1>},x^{<t>}]+bc)

c^{<t>}=\Gamma_u^{<t>}.*\widetilde{c}^{<t>}+(1-\Gamma_u^{<t>}).*c^{<t-1>}

z^{<t>}=W_yc^{<t>}+b_y

\hat{y}^{<t>}=softmax(z^{<t>})

\mathcal{L}^{<t>}(\hat{y}^{<t>}, y^{<t>})=-\sum_{j=1}^{n_y}y^{<t>}_jlog(\hat{y}^{<t>}_j)

L=\sum_{t=1}^{T_x}\mathcal{L}^{<t>}(\hat{y}^{<t>}, y^{<t>})??

2、反向传播

GRU反向传播的计算图(红色部分不属于时间步t):

根据计算图,从上往下推导反向传播的公式。

对于输出激活函数是softmax,损失函数是交叉熵的情况,常用的公式是:

\frac{\partial \mathcal{L}^{<t>}}{\partial z^{<t>}}=\hat{y}^{<t>}-y^{<t>}? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ????????????????????????????????????????? (1)

我在RNN反向传播的推导中证明了这个公式,这里就不证明了。

根据

z^{<t>}=W_yc^{<t>}+b_y

我们可以进而得到:

\frac{\partial \mathcal{L}^{<t>}}{\partial b_y}=\hat{y}^{<t>}-y^{<t>}\Rightarrow\frac{\partial L}{\partial b_y}=\sum_t\hat{y}^{<t>}-y^{<t>}? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (2)

\frac{\partial \mathcal{L}^{<t>}}{\partial W_y}=(\hat{y}^{<t>}-y^{<t>})(c^{<t>})^T\Rightarrow \frac{\partial L}{\partial W_y}=\sum_{t=1}^{T_x}(\hat{y}^{<t>}-y^{<t>})(c^{<t>})^T??? ? ? ? ? ? ? ? ?(3)

\frac{\partial \mathcal{L}^{<t>}}{\partial c^{<t>}}=W_y^T(\hat{y}^{<t>}-y^{<t>})?? ? ? ? ????????????????????????????????????????????????????????????????????????????????(4)

?只需要利用a^{<t>}=c^{<t>},以上公式和RNN的情况是一模一样的,也不多解释了。

?正如计算图所显示的那样,c^{<t>}的导数总共和5项相关,即:

\frac{\partial L}{\partial c^{<t>}}\\ =\frac{\partial \mathcal{L}^{<t>}}{\partial c^{<t>}}\\ +\frac{\partial L}{\partial c^{<t+1>}}\frac{\partial c^{<t+1>}}{\partial c^{<t>}}\\ +\frac{\partial L}{\partial \Gamma_{u}^{<t+1>}}\frac{\partial \Gamma_{u}^{<t+1>}}{\partial c^{<t>}}\\ +\frac{\partial L}{\partial \Gamma_{r}^{<t+1>}}\frac{\partial \Gamma_{r}^{<t+1>}}{\partial c^{<t>}}\\ +\frac{\partial L}{\partial \widetilde{c}^{<t+1>}}\frac{\partial \widetilde{c}^{<t+1>}}{\partial c^{<t>}}? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (5.a)

考虑正向传播的以下公式:

c^{<t+1>}_i=\Gamma_{ui}^{<t+1>}.*\widetilde{c}_i^{<t+1>}+(1-\Gamma_{ui}^{<t+1>}).*c^{<t>}_i

?\widetilde{c}^{<t+1>}_i=tanh(W_{cij}[\Gamma_r^{<t+1>}.*c^{<t>},x^{<t+1>}]_j+b_{ci})

\Gamma_{ui}^{<t+1>}= \sigma(W_{uij}[c^{<t>},x^{<t+1>}]_j+b_{ui})

\Gamma_{rk}^{<t+1>}= \sigma(W_{rkj}[c^{<t>},x^{<t+1>}]_j+b_{rk})

得到:

\frac{\partial c^{<t+1>}_i}{\partial c^{<t>}_i}=1-\Gamma_{ui}^{<t+1>}

\frac{\partial L}{\partial \Gamma_{ui}^{<t+1>}}=\frac{\partial L}{\partial c_{i}^{<t+1>}}\frac{\partial c_i^{<t+1>}}{\partial \Gamma_{ui}^{<t+1>}}=\frac{\partial L}{\partial c_{i}^{<t+1>}}(\widetilde{c}^{<t+1>}_i-c_i^{<t>})

\frac{\partial \Gamma_{ui}^{<t+1>}}{\partial c^{<t>}_j}=\Gamma_{ui}^{<t+1>}(1-\Gamma_{ui}^{<t+1>})W_{uc ,ij}? ? ? ? (其中W_{uc}=W_u[:,1:n_c]

?\frac{\partial L}{\partial \widetilde{c}^{<t+1>}_i}=\frac{\partial L}{\partial c^{<t+1>}_i}\frac{\partial c^{<t+1>}_i}{\partial \widetilde{c}^{<t+1>}_i}=\frac{\partial L}{\partial c^{<t+1>}_i}\Gamma_{ui}^{<t+1>}

\frac{\partial \widetilde{c}_i^{<t+1>}}{\partial c^{<t>}_j}=[1-(\widetilde{c}_i^{<t+1>})^2]W_{cc,ij}\Gamma^{<t+1>}_{rj}????????(其中W_{cc}=W_c[:,1:n_c]

?\frac{\partial \widetilde{c}_i^{<t+1>}}{\partial \Gamma^{<t+1>}_{rk}}=[1-(\widetilde{c}_i^{<t+1>})^2]W_{cc,ik}c^{<t>}_k

\frac{\partial L}{\partial \Gamma_{rk}^{<t+1>}}=\sum_i\frac{\partial L}{\partial \widetilde{c}^{<t+1>}_i}\frac{\partial \widetilde{c}_i^{<t+1>}}{\partial \Gamma^{<t+1>}_{rk}}=\sum_i\frac{\partial L}{\partial c^{<t+1>}_i}\Gamma_{ui}^{<t+1>}[1-(\widetilde{c}_i^{<t+1>})^2]W_{cc,ik}c^{<t>}_k

\frac{\partial \Gamma_{rk}^{<t+1>}}{\partial c^{<t>}_j}=\Gamma_{rk}^{<t+1>}(1-\Gamma_{rk}^{<t+1>})W_{rc,kj}????????(其中W_{rc}=W_r[:,1:n_c]

?

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-08-03 11:10:51  更:2021-08-03 11:11:18 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/22 15:33:10-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码