在深度学习中,如果我们已经定义了网络,输入,以及输出,那么接下来就是损失函数,优化策略,以及一般由框架完成的BP反传。这篇博文我们主要探讨一下深度的BP反传算法(以梯度下降为例),尤其是mini_batch的BP反传,目标是如何更新网络的参数:权重和偏置。

首先,我们来看网络中基本参数的一些定义。

使用梯度下降法,一般计算所有样本的损失函数的平均值,进而计算梯度方向。但是,当样本n特别多的时候,计算会比较困难。因此,提出了随机梯度下降的方法,即我们从样本集中随机抽取m个样本,其计算的平均梯度近似于通过全部样本计算的平均梯度。

当m=1时,SGD算法如下:

当m=k时,mini_batch算法如下:

通过对比m=1和m=k算法流程,我们发现,mini_batch方法的梯度是由mini_batch里的样本共同决定(平均值),计算出来的梯度一般比k=1的时候准确。

关于算法中的公式,我们通过以下方法进行推导:

参考资料:http://neuralnetworksanddeeplearning.com/index.html

浅析深度学习mini_batch的BP反传算法相关推荐

  1. 机器不学习:浅析深度学习在实体识别和关系抽取中的应用

    机器不学习 jqbxx.com -机器学习好网站 命名实体识别(Named Entity Recognition,NER)就是从一段自然语言文本中找出相关实体,并标注出其位置以及类型,如下图.命名实体 ...

  2. 浅析深度学习中Batch Size大小对训练过程的影响

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 作者丨陈志远@知乎(已授权) 来源丨https://zhuanlan ...

  3. 从 保龄球得分计算方法 浅析 深度学习

    起因 周六被小伙伴拖去游泳,美名其曰:锻炼身体.其实某人就是去泡澡的,哈哈.说正题吧,游完泳在体育场里闲逛,里面很大,转着转着看到一个保龄球馆,怀着对未知事物的好奇,决定和某人去尝试一下.我和S同学一 ...

  4. 【深度学习训练流程】浅析深度学习训练流程

    深度学习训练流程是一套固定的模板 optimizer定义,选择不同的optimizer,权重衰减,梯度更新. scheduler定义,选择不同的scheduler,进行学习率的更新.(可选,可不使用s ...

  5. 浅析深度学习中的mask操作

    mask(掩码.掩膜)是深度学习中的常见操作.简单而言,其相当于在原始张量上盖上一层掩膜,从而屏蔽或选择一些特定元素,因此常用于构建张量的过滤器(见下图). 按照上述定义,非线性激活函数Relu(根据 ...

  6. 浅析深度学习中优化方法

    目前而言,深度学习是机器学习的发展前沿,一般针对大数据量的学习目标.其优化方法来源于基本的机器学习的优化方法,但也有所不同. 下面,小结一下,其基础是随机梯度下降的方法,但是为了学习的自适应性,做了如 ...

  7. 饮水思源--浅析深度学习框架设计中的关键技术

    点击上方"深度学习大讲堂"可订阅哦! 编者按:如果把深度学习比作一座城,框架则是这座城中的水路系统,而基于拓扑图的计算恰似城中水的流动,这种流动赋予了这座城以生命.一个优雅的框架在 ...

  8. 浅析深度学习与计算机视觉

    目录 第一章 深度学习与计算机视觉 1.1 图像基础 1.2深度学习与神经网络基础 第一章 深度学习与计算机视觉 1.1 图像基础 在计算机中,图像的最基本组成单元为像素,图片是包含很多像素的集合.像 ...

  9. 任奎:人工智能算法安全浅析——深度学习中的对抗攻击与防御

    2020-05-19 19:52:46 任奎 随着计算机产业发展带来的计算性能与处理能力的大幅提高,人工智能在音视频识别.自然语言处理和博弈论等领域得到了广泛应用.在此背景下,确保人工智能的核心--深 ...

最新文章

  1. android GLSurfaceView渲染模式
  2. SpringMVC注解@RequestParam(value=xxxx,required=false)解释
  3. hdu3460 字典树(打印机)
  4. C3P0连接池、DRUID连接池和JdbcTemplate
  5. python监视键盘_关于键盘监视的库pyHook与pythoncom
  6. 居然之家:核心业务系统全面上云,采用PolarDB替代传统商业数据库
  7. c语言软件幻化,python字符串处理
  8. dj鲜生-37-order应用-模型类创建
  9. ffmpeg合并音频(转)
  10. php计算昨天,php时间计算,明天,昨天,前天,上周,本周,上月等等
  11. 笔试题Python解决
  12. C++_类和对象_C++继承_基本语法---C++语言工作笔记061
  13. MFC入门示例之组合框(CComboBox)、列表框(CListBox)
  14. android 获取屏幕的宽和高
  15. DenseNet翻译:Densely Connected Convolutional Networks
  16. 数据集:各地区化妆品销量、人口数量和人均收入
  17. 零基础必看的Html5+Css3+移动端前端教程(一)
  18. 计算机飞行模式无法关闭,Win10开启飞行模式之后无法关闭退出怎么解决
  19. 非线性薛定谔方程_现有光纤网络正被推向极限,未来怎么办?薛定谔波动方程来帮忙...
  20. web3.0是什么意思(web3和元宇宙的关系)

热门文章

  1. java程序员发展_超详细的Java程序员职业发展路径,值得深思!
  2. C++ 写的地图控件,支持google 百度 在线离线地图
  3. 嵌入式linux开发,unix系统整体架构图
  4. JAVA中同目录下定义类,以及对象的创建与使用,内存图的原理
  5. 基于小波变化图像融合
  6. sql拼接同一字段中的数据_用SQL将Oracle中同一列的多行记录拼接成一个字符
  7. matlab保存数据用什么指令_MATLAB文件操作及保存文件save load fopen | 学步园
  8. [LUOGU] P4363 [九省联考2018]一双木棋chess
  9. Python线上培训机构推荐|如何选靠谱Python培训机构?
  10. 欧姆龙CP1H如何进行PLC远程编程及数据采集