记录下对神经网络反向传播的理解
看到一篇文章把反向传播梯度更新解释的很通透,总结了一下:
1. 一个batch内的所有样本输入计算出的损失函数梯度累积,一个batch更新一次梯度。
for batch_idx, (data, target) in enumerate(train_loader):data = data.view(-1, 28*28)data, target = data.to(device), target.to(device)logits = net(data)loss = criteon(logits, target)optimizer.zero_grad()loss.backward()optimizer.step()
2. 每次梯度更新时,更新所有层的梯度,所用到的方法就是链式求导
3. batch size大小与模型的收敛有关,个人理解就是相当于图像分割算法里的分水岭原理类似,要先找到种子,然后以种子为基地向四周蔓延;
4. 与大批量训练相比,小批量训练可以找到距离初始权重更远的最小值。小批量训练可能会为训练引入足够的噪声,以退出锐化minimizers 的损失池,而是找到可能更远的平坦minimizers 。
5. 使用小批量的训练倾向于收敛到平坦的极小化,该极小化在极小化的小邻域内仅略有变化,而大批量则收敛到尖锐的极小化,这变化很大。平面minimizers 倾向于更好地泛化,因为它们对训练集和测试集之间的变化更加鲁棒 。
6. batch size越大:
- 训练损失减少的越慢。
- 最小验证损失越高。
- 每个时期训练所需的时间越少。
- 收敛到最小验证损失所需的 epoch 越多。
记录下对神经网络反向传播的理解相关推荐
- 对于CNN卷积神经网络的前向传播和反向传播的理解
对于CNN卷积神经网络的前向传播和反向传播的理解 前向传播示意图: 咋一看这张图,作为初学者可能会不知所云( ̄ω ̄=)?但是想要很好的理解前向传播的原理,我们得从这张图细说. 文章目录 对于CNN ...
- 神经网络反向传播梯度计算数学原理
[神经网络]反向传播梯度计算数学原理 1 文章概述 本文通过一段来自于Pytorch官方的warm-up的例子:使用numpy来实现一个简单的神经网络.使用基本的数学原理,对其计算过程进行理论推导,以 ...
- 学习笔记84—[深度学习]神经网络反向传播(BackPropagation)
神经网络反向传播实例推导过程: 说到神经网络,大家看到这个图应该不陌生: 这是典型的三层神经网络的基本构成,Layer L1是输入层,Layer L2是隐含层,Layer L3是隐含层,我们现在手里有 ...
- 7.神经网络反向传播
文章目录 1.神经网络反向传播的作用 2.神经网络反向传播的流程 3.梯度检测 4.随机初始化 总结 1.神经网络反向传播的作用 在上一节中学到的输入通过隐藏层汇总计算最后到输出层的流程是神经网络 ...
- 神经网络反向传播为什么快
神经网络反向传播为什么快 为什么从后往前算梯度而不是从前往后算梯度? 首先要有链式法则的认知.然后举个最简单的例子,每个神经元都会有激活函数,当系数(比如w)更新,根据链式求导法则,最终的loss对w ...
- (一)反向传播算法理解 (Back-Propagation)
本文参考deeplearningbook.org一书第六章 6.5 Back-Propagation and Other Differentiation Algorithms 反向传播算法分为两篇来讲 ...
- 【机器学习笔记】神经网络反向传播算法 推导
神经网络反向传播算法 推导 (一) 概念及基本思想 (二)信息的前向传播 (三)误差反向传播 (1)输出层的权重参数更新 (2)隐藏层的权重参数更新 (3)输出层与隐藏层的偏置参数更新 (4)反向传播 ...
- 神经网络反向传播理解
一 .反向传播的作用 训练神经网络的目标是 优化代价函数,使得代价函数找到一个 全局最小值或者局部最小值.不管使用何种梯度下降算法(BGD, SGD ,Adam),都需要先算出各个参数的梯度. 反向传 ...
- 【李宏毅2020 ML/DL】P13 Backpropagation | 神经网络反向传播到底是怎么计算的
我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的.自己不知道的东西. 已经有人记了笔记(很用心,强烈推荐): https://github.com/Sakura-gh/ML-not ...
最新文章
- R语言glm拟合logistic回归模型:模型评估(计算模型拟合的统计显著性)、模型评估(赤信息AIC指标计算)
- linux svn命令
- [转]Gearman分布式远程过程处理框架
- 6.3、分区表、分区表索引--Oracle模式对象
- WebService基于SoapHeader实现安全认证[webservice][.net][安全][soapheader]
- jqgrid for asp.net 单页全选记录ID
- MATLAB学习笔记(十五)
- Chrome JS断点调试技巧
- MYSQL的高级知识及AB复制
- linux下搭建博客21天打卡Day6
- 不属于ipo模型的 python_python ipo模型是指什么?_后端开发
- scala trait 另一种用法类混入
- 6-5.添加HLSL顶点着色
- 小米5刷android p6,小米5刷recovery教程 小米5第三方recovery下载
- hp服务器进智能配置是红屏,illegal opcode 红屏报错(hp 360 G6安装win2003)问题解决方法...
- 台式机fiddler手机抓包
- python画图小例(玫瑰、佩奇、哆啦A梦、美队盾牌)
- 图像去雾,利用《bringing old photos back to life》 训练并修改
- Jenkins 管理员 admin 密码找回
- 01博弈三要素和囚徒困境
热门文章
- November 2008
- 手机文件丢失怎么恢复
- 在IDEA上使用GitHub Copilot,同样的样例,你会怎么实现?
- 公钥密码体制及RSA公钥加密算法(下)
- word段落每行首字怎么对齐_Word教程:段落格式设置:首行左右悬挂缩进及五种对齐方式...
- 卷土重来 263网络通信“继续上市”引来经营质疑
- “VRRP”虚拟路由器冗余协议
- Matlab 结构体数组 基础知识 struct(自学文档)
- 长度短点的uuid_更短且不失高效的UUID生成算法
- 电能质量在线监测装置化工厂医院光伏用