当前位置: 首页 > news >正文

做电脑租赁网站免费的那种app

做电脑租赁网站,免费的那种app,宝塔wordpress安装,阿里云 上传wordpress在深度学习模型的训练过程中#xff0c;梯度下降法是最常用的优化算法之一。我们前面介绍了批量梯度下降法#xff08;Batch Gradient Descent#xff09;和随机梯度下降法#xff08;Stochastic Gradient Descent#xff09;#xff0c;两者各有优缺点。为了在计算速度和…在深度学习模型的训练过程中梯度下降法是最常用的优化算法之一。我们前面介绍了批量梯度下降法Batch Gradient Descent和随机梯度下降法Stochastic Gradient Descent两者各有优缺点。为了在计算速度和收敛稳定性之间找到平衡小批量梯度下降法Mini-batch Gradient Descent应运而生。下面我们详细介绍其基本思想、优缺点并通过代码实现来比较三种梯度下降法。 小批量梯度下降法的基本思想 小批量梯度下降法在每次迭代中使用一小部分随机样本称为小批量来计算梯度并更新参数值。具体来说算法步骤如下 1. 初始化参数 \( w \) 和 \( b \)。 2. 在每次迭代中从训练集中随机抽取 \( m \) 个样本。 3. 使用这 \( m \) 个样本计算损失函数的梯度。 4. 更新参数 \( w \) 和 \( b \)。 其梯度计算公式如下 \[ \begin{align*} w w - \alpha \cdot \frac{1}{m} \sum_{i1}^{m} \nabla_w L(w, b, x_i, y_i), \\ b b - \alpha \cdot \frac{1}{m} \sum_{i1}^{m} \nabla_b L(w, b, x_i, y_i), \end{align*} \] 其中\( \alpha \) 是学习率\( m \) 是小批量的大小。 优缺点 优点 1. 计算速度快与批量梯度下降法相比每次迭代只需计算小批量样本的梯度速度更快。 2. 减少振荡与随机梯度下降法相比梯度的计算更加稳定减少了参数更新时的振荡。 3. 控制灵活可以调整小批量的大小使得训练速度和精度之间达到平衡。 缺点 1. 需要调整学习率和小批量大小学习率决定每次更新的步长小批量大小决定每次计算梯度使用的样本数量。 2. 内存消耗小批量大小的选择受限于内存容量尤其在使用GPU运算时需要选择合适的小批量大小。 代码实现 下面通过代码实现和比较三种梯度下降法的执行效果。 import torch import torch.nn as nn import torch.optim as optim from torch.utils.data import DataLoader, TensorDataset import numpy as np import matplotlib.pyplot as plt from tqdm import tqdm# 定义数据集 np.random.seed(42) X np.random.rand(1000, 1) y 3*X 2 np.random.randn(1000, 1) * 0.1# 转换为tensor X_tensor torch.tensor(X, dtypetorch.float32) y_tensor torch.tensor(y, dtypetorch.float32)# 封装为数据集 dataset TensorDataset(X_tensor, y_tensor)# 定义模型 class LinearRegressionModel(nn.Module):def __init__(self):super(LinearRegressionModel, self).__init__()self.linear nn.Linear(1, 1)def forward(self, x):return self.linear(x)# 损失函数 criterion nn.MSELoss()# 定义梯度下降法的批量大小 batch_sizes [1000, 1, 128] batch_labels [Batch Gradient Descent, Stochastic Gradient Descent, Mini-batch Gradient Descent] colors [r, g, b]# 定义超参数 learning_rate 0.01 num_epochs 1000# 存储损失值 losses {label: [] for label in batch_labels}# 训练模型 for batch_size, label, color in zip(batch_sizes, batch_labels, colors):model LinearRegressionModel()optimizer optim.SGD(model.parameters(), lrlearning_rate)data_loader DataLoader(dataset, batch_sizebatch_size, shuffleTrue)for epoch in tqdm(range(num_epochs), desclabel):epoch_loss 0.0for batch_x, batch_y in data_loader:optimizer.zero_grad()outputs model(batch_x)loss criterion(outputs, batch_y)loss.backward()optimizer.step()epoch_loss loss.item()losses[label].append(epoch_loss / len(data_loader))# 绘制损失值变化曲线 for label, color in zip(batch_labels, colors):plt.plot(losses[label], colorcolor, labellabel) plt.xlabel(Epoch) plt.ylabel(Loss) plt.legend() plt.show() 结果分析 运行上述代码后会显示三种梯度下降法在每个迭代周期epoch中的损失变化曲线。可以看到 1. 批量梯度下降法损失曲线平滑但训练速度较慢。 2. 随机梯度下降法训练速度快但损失曲线波动较大。 3. 小批量梯度下降法在训练速度和损失曲线的稳定性之间达到了平衡效果较为理想。 总结 小批量梯度下降法结合了批量梯度下降法和随机梯度下降法的优点是深度学习中常用的优化算法。通过调整小批量大小和学习率可以在训练速度和模型精度之间找到最佳平衡。在实际应用中小批量梯度下降法由于其较高的效率和较好的收敛效果被广泛应用于各类深度学习模型的训练中。
http://www.hkea.cn/news/14436058/

相关文章:

  • 一站式做网站哪家好常州网站优化公司
  • 福建莆田网站开发无锡网站优化建站
  • 换网站了吗nas服务器可以做网站吗
  • 设计网站建设价格樟木头建网站的
  • 做网站犯法了 程序员有责任吗升级不了wordpress
  • 看网站的关键词WordPress分享无法显示
  • 虚拟主机对网站seo有哪些影响自适应网站建站价格
  • 网站营销推广策划方案不让网站在手机怎么做
  • 公司网站有什么作用wordpress商店模板
  • 在线玩网页游戏h5网站大全推广自己的网站
  • 苏州市建设局老网站qq网页版登录入口手机版
  • 深圳企业推广网站网站开发的软硬件环境
  • 基于js原生的新闻类静态网站建设注册一家小规模公司多少钱
  • 做国际贸易都用什么网站手机上如何申请营业执照
  • 网站上线方案系统的超级宗门
  • 专做婚宴用酒是网站银行软件开发工资一般多少
  • 海淀企业型网站建设网络设计网站
  • 一个完整的网站 技术制作网页填数据
  • 服务器租用网站模板网络营销培训机构排名
  • 做网站设计抬头网站改版不换域名怎么做
  • 电影网站建设哪家便宜淘宝网站品牌设计
  • 建门户网站要多少钱网站程序预装
  • 企业h5网站建设外贸公司网站模板
  • 备案网站名称修改网络营销外包服务网
  • 如何做一个属于自己的网站制作一款app软件大概需要多少费用
  • 制作一个赚钱的网站深圳做企业网站的公司推荐
  • 课程网站建设调研报告电商网站开发需要多少钱
  • 做外贸有哪些好的网站有哪些自主软件开发平台
  • 三亚制作网站上海做网站建设的公司
  • 网站开发和游戏开发游戏网站怎么做推广