刘二大人——反向传播

这篇博客探讨了非线性函数在防止全连接层线性化中的作用,重点介绍了反向传播在计算权重过程中的应用。Pytorch中使用tensor进行数据存储,并通过.backward()实现自动求导计算梯度。讨论了梯度下降法和随机梯度下降法的优缺点,以及在训练过程中学习率设置的重要性。此外,还提到了Batch梯度下降作为平衡性能和计算时间的策略。
摘要由CSDN通过智能技术生成

非线性函数,防止全连接层转化为一个线性公式       

反向传播计算权重

加偏置量计算权重

Pytorch 中用tensor来保存数据,可以是标量,向量,更高维的数据

Data保存权重W, Grad用来保存损失对权重的倒数

计算梯度

 

 x*w时 x自动转化为tensor数据类型,计算loss,调用loss函数时就计算出了loss,这两个函数是构建计算图

 backward()调用时计算图自动消失,对每个数的链式求导会保存在该数中,可用.grad.data调用,用完后将其归零.grad.data.zero(),w.grad.item()是将其梯度值变为标量,l是个张量不是标量

 

梯度下降函数,非凸函数局部最优,全局最优;鞍点切线斜率为0的连续点

 训练集训练发散,失败,最常见原因是学习率过大 

随机梯度下降函数,用每个样本的损失来计算,lossfunc是指所有样本,样本有噪声,用单个样本来计算权重倒数可有效跨过鞍点;从性能上来说用全样本的总损失性能低,时间低;用每个样本来计算性能高,时间高(无法运用并行计算); 通常取用折中,Batch(Min-Batch),每次用若干样本去求梯度。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值