pytorch快速入门系列---(四)pytorch实现深度神经网络与训练

目录

1. 随机梯度下降算法

2.优化器

3. 损失函数

3.1 均方误差损失

3.2 交叉熵损失

 4.防止过拟合

4.1 过拟合的概念

4.2 防止过拟合的方法

5. 网络参数初始化

5.1 网络参数初始化方法

5.2 参数初始化方法应用实例

1.针对某一层的权重进行初始化

2.针对一个网络的权重初始化方法

6.pytorch中定义网络的方式

6.1 数据准备

6.2 网络定义与训练方式1

6.3 网络定义与训练方式2

7. Pytorch模型保存和加载方法


1. 随机梯度下降算法

在深度学习网络中,通常需要设计一个模型的损失函数来约束训练过程,如针对分类问题可以使用交叉熵损失,针对回归问题可以使用均方根误差损失等。模型的训练并不是漫无目的的,而是朝着最小化损失函数的方向去训练,这时就会用到梯度下降类的算法。
梯度下降法(gradient descent)是一个一阶最优化算法,通常也称为最速下降法,是通过函数当前点对应梯度(或者是近似梯度)的反方向,使用规定步长距离进行迭代搜索,从而找到一个函数的局部极小值的算法,最好的情况是希望找到全局极小值。但是在使用梯度下降算法时,每次更新参数都需要使用所有的样本。如果对所有的样本均计算一次,当样本总量特别大时,对算法的速度影响非常大,所以就有了随机梯度下降( stochastic gradient descent,SGD)算法。它是对梯度下降法算法的一种改进,且每次只随机取一部分样本进行优化,样本的数量一般是2的整数次幂,取值范围是32~256,以保证计算精度的同时提升计算速度,是优化深度学习网络中最常用的一类算法。
SGD算法及其一些变种,是深度学习中应用最多的一类算法。在深度学习中SGD通常指小批随机梯度下降( mini-batch gradient descent )算法,其在训练过程中,通常会使用一个固定的学习率进行训练。即

  • 3
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

城南皮卡丘

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值