前馈运算

假设现在网络的参数收敛到ω1,…,ωL−1\omega^{1}, \ldots, \omega^{L-1}ω1,…,ωL−1,进行feed- forward,将输入x1x_1x1​送入网络,之后经过第一层操作ω1\omega^1ω1得到x2x_2x2​,依次类推……直到得到输出xLx_LxL​,

反馈运算

深度学习模型通常采用随机梯度下降法(SGD)和误差反向传播(error back propogation)进行模型参数更新。

每层操作主要对应两部分:

​ 1.用于参数更新的 ∂z∂ωi\frac{\partial z}{\partial \boldsymbol{\omega}^{i}}∂ωi∂z​,是误差关于参数ωi{\omega}^{i}ωi的导数
ωi←ωi−η∂z∂ωi(1)\omega ^ { i } \leftarrow \omega ^ { i } - \eta \frac { \partial z } { \partial \omega^ { i } } \tag{1} ωi←ωi−η∂ωi∂z​(1)
​ η\etaη是每次SGD的步长(一般随epoch的增大而减小)

​ 2.用于误差向前层的反向传播∂z∂xi\frac{\partial z}{\partial \boldsymbol{x}^{i}}∂xi∂z​,是误差关于输入xix^ixi的导数。

下面,我们以第iii层参数更新为例,需要计算∂z∂ωi\frac{\partial z}{\partial \boldsymbol{\omega}^{i}}∂ωi∂z​和∂z∂xi\frac{\partial z}{\partial \boldsymbol{x}^{i}}∂xi∂z​,根据链式法则:
∂z∂(vec⁡(ωi)⊤)=∂z∂(vec⁡(xi+1)⊤)⋅∂vec⁡(xi+1)∂(vec⁡(ωi)⊤)(2)\frac{\partial z}{\partial\left(\operatorname{vec}\left(\boldsymbol{\omega}^{i}\right)^{\top}\right)}=\frac{\partial z}{\partial\left(\operatorname{vec}\left(\boldsymbol{x}^{i+1}\right)^{\top}\right)} \cdot \frac{\partial \operatorname{vec}\left(\boldsymbol{x}^{i+1}\right)}{\partial\left(\operatorname{vec}\left(\boldsymbol{\omega}^{i}\right)^{\top}\right)} \tag{2} ∂(vec(ωi)⊤)∂z​=∂(vec(xi+1)⊤)∂z​⋅∂(vec(ωi)⊤)∂vec(xi+1)​(2)

∂z∂(vec⁡(xi)⊤)=∂z∂(vec⁡(xi+1)⊤)⋅∂vec⁡(xi+1)∂(vec⁡(xi)⊤)(3)\frac{\partial z}{\partial\left(\operatorname{vec}\left(\boldsymbol{x}^{i}\right)^{\top}\right)}=\frac{\partial z}{\partial\left(\operatorname{vec}\left(\boldsymbol{x}^{i+1}\right)^{\top}\right)} \cdot \frac{\partial \operatorname{vec}\left(\boldsymbol{x}^{i+1}\right)}{\partial\left(\operatorname{vec}\left(\boldsymbol{x}^{i}\right)^{\top}\right)} \tag{3} ∂(vec(xi)⊤)∂z​=∂(vec(xi+1)⊤)∂z​⋅∂(vec(xi)⊤)∂vec(xi+1)​(3)

​ 对于(2)和(3)式右侧所需要的数,由第i+1i+1i+1层的(3)式已经得到的有∂z∂xi+1\frac{\partial z}{\partial \boldsymbol{x}^{i+1}}∂xi+1∂z​,即两式+号左边的式子。同时,在前馈运算时的第iii层,xix^ixi经wiw^iwi的作用得到xi+1x^{i+1}xi+1,反向求导可以直接得到∂vec⁡(xi+1)∂(vec⁡(ωi)⊤)\frac{\partial \operatorname{vec}\left(\boldsymbol{x}^{i+1}\right)}{\partial\left(\operatorname{vec}\left(\boldsymbol{\omega}^{i}\right)^{\top}\right)}∂(vec(ωi)⊤)∂vec(xi+1)​和∂vec⁡(xi+1)∂(vec⁡(xi)⊤)\frac{\partial \operatorname{vec}\left(\boldsymbol{x}^{i+1}\right)}{\partial\left(\operatorname{vec}\left(\boldsymbol{x}^{i}\right)^{\top}\right)}∂(vec(xi)⊤)∂vec(xi+1)​,即两式+号右边的式子。
再根据(1)式更新iii层的参数,并将∂z∂xi+1\frac{\partial z}{\partial \boldsymbol{x}^{i+1}}∂xi+1∂z​作为误差传到i−1i-1i−1层。不断循环直到第1层,完成一个mini-batch的参数更新。

魏秀参《解析卷积神经网络——深度学习实践手册》

深度学习模型的前馈运算与反馈运算相关推荐

  1. DSSM、CNN-DSSM、LSTM-DSSM等深度学习模型在计算语义相似度上的应用+距离运算

    在NLP领域,语义相似度的计算一直是个难题:搜索场景下query和Doc的语义相似度.feeds场景下Doc和Doc的语义相似度.机器翻译场景下A句子和B句子的语义相似度等等.本文通过介绍DSSM.C ...

  2. 在 Netflix 评论中做情感分析的深度学习模型

    文章发布于公号[数智物语] (ID:decision_engine),关注公号不错过每一篇干货. 原标题 | Sentiment Analysis with Deep Learning of Netf ...

  3. 关于情感分析的深度学习模型

    企业最重要的目的之一就是与客户群保持联系.这些公司必须清楚地了解客户对新老产品.最近的举措以及客户服务的看法. 情感分析是完成上述任务的方法之一 情感分析是自然语言处理(NLP)中的一个领域,它建立模 ...

  4. 用 Java 训练深度学习模型,原来这么简单

    作者 | DJL-Keerthan&Lanking 来源 | HelloGitHub 头图 | CSDN下载自东方IC 前言 很长时间以来,Java 都是一个很受企业欢迎的编程语言.得益于丰富 ...

  5. 人工神经网络理论、设计及应用_TensorFlow深度学习应用实践:教你如何掌握深度学习模型及应用...

    前言 通过TensorFlow图像处理,全面掌握深度学习模型及应用. 全面深入讲解反馈神经网络和卷积神经网络理论体系. 结合深度学习实际案例的实现,掌握TensorFlow程序设计方法和技巧. 着重深 ...

  6. 使用TensorFlow进行股票价格预测的简单深度学习模型

    使用TensorFlow进行股票价格预测的简单深度学习模型(翻译) 原文链接:https://medium.com/mlreview/a-simple-deep-learning-model-for- ...

  7. 深度学习模型压缩技术概览

    背景介绍 目录 背景介绍 什么是模型压缩? 剪枝 非结构化剪枝 结构化剪枝 量化 低秩近似(Low-rank approximation) 知识蒸馏(Knowledge distillation) 神 ...

  8. 深度学习模型压缩与加速技术(二):参数量化

    目录 总结 参数量化 参数量化定义 参数量化特点 1.二值化 二值化权重 二值化权重与激活函数 2.三值化 3.聚类量化 4.混合位宽 手工固定 自主确定 训练技巧 参考文献 深度学习模型的压缩和加速 ...

  9. 实战 | 深度学习轻松学:如何用可视化界面来部署深度学习模型

    翻译 | AI科技大本营 参与 | 王赫 上个月,我有幸结识了 DeepCognition.ai 的创始人. Deep Cognition (深度认知) 建立的深度学习工作室,为很多准备部署深度学习框 ...

最新文章

  1. ILockBytes Windows Mobile 6.5
  2. 白话SpringCloud | 第五章:服务容错保护(Hystrix)
  3. 使用redis缓存加索引处理数据库百万级并发
  4. 大数据数据科学家常用面试题_进行数据科学工作面试
  5. springboot+flowable第四节(设置监听事件)
  6. 【Python】安装IPython和IPthon Notebook
  7. 阿里云搭建图片服务器,图片资源服务器搭建
  8. xxx系统的6大质量属性战术
  9. CentOS Linux解决Device eth0 does not seem to be pres
  10. SQL Server 2008空间数据应用系列九:使用空间工具(Spatial Tools)导入ESRI格式地图数据...
  11. 无线渗透(中)--WPS破解
  12. JAVA实现微信公众号推送消息
  13. Java零基础到进阶(真的零基础,也可以当笔记看~)
  14. udl 连mysql_几种常见的数据库连接方法
  15. coc机器人苹果_警察机器人绳索英雄
  16. 分享Silverlight/WPF/Windows Phone一周学习导读
  17. 吕海楠201552216
  18. 英语语言测试学什么软件,开言英语APP,让语言学习在真实情况下进行
  19. ant design Menu组件子菜单样式设置
  20. PAT甲级官网 刷题(1)

热门文章

  1. Updatepanel 注册javascript 方法
  2. javascript-函数声明和函数表达式-call-apply
  3. JavaZone年度大片《Java打劫》《Java风云》《Lady Java》《Java惊魂》
  4. 帆软报表判断传入条件是否为空,根据逗号分隔
  5. VirtualBox基础使用
  6. h5分线程Worker
  7. linux shell 脚本使用
  8. HDU 1027 G - Can you answer these queries?
  9. mplayer error opening/initializing the selected video_out (-vo) device
  10. 使用青云主机的GPU主机教程(不完整版)