问题标签 [learning-rate]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
117 浏览

machine-learning - 学习率太大,这如何影响使用批量梯度下降的逻辑回归的损失函数

问题:如果学习率 (a) 太大,图会发生什么变化,这如何影响迭代中的损失函数

我在某处读到图表可能不会收敛或图表中可能有很多波动,我想明确一点。我也不确定这会如何影响绘制时的损失函数。

0 投票
1 回答
357 浏览

pytorch - Pytorch:寻找一个功能,让我手动设置特定时期间隔的学习率

例如,设置前 100 个 epoch 的 lr = 0.01,从 epoch 101 到 epoch 1000 的 lr = 0.001,对于 epoch 1001-4000,lr = 0.0005。基本上,我的学习率计划不会让它以固定的步数呈指数衰减。我知道它可以通过自定义函数来实现,只是好奇是否已经开发了函数可以做到这一点。

0 投票
1 回答
1855 浏览

python - 在张量流中正确设置学习率的指数衰减

我需要每 10 个时期应用一次学习率的指数衰减。初始学习率为0.000001,衰减因子为0.95

这是设置它的正确方法吗?

指数衰减的公式current_lr = initial_lr * (1 - decay_factor)^t 除了在代码中实现为:

据我所知,在我的情况下,decay_rate应该1 - decay_factor并且decay_steps应该意味着在应用衰减之前执行了多少步骤my_steps_per_epoch*10。那是对的吗?

编辑:

如果我在第 10 个时期之后暂停并保存我的模型(使用回调),然后通过加载模型并model.fit使用initial_epoch=10and调用来恢复epochs=11,它会在第 11 个时期开始并应用指数衰减吗?

0 投票
3 回答
1300 浏览

pytorch - 为什么通过 torch.optim.SGD 方法学习率会发生变化?

使用 SGD 时,学习率不应在 epoch 期间更改,但确实如此。请帮助我理解为什么会发生这种情况以及如何防止这种 LR 改变?

输出是:

我的手电筒版本是 1.4.0

0 投票
1 回答
158 浏览

numpy - 多元线性回归的学习率太小

我正在尝试为bostonscikit-learn 中的数据集构建多元线性回归模型。

我使用随机梯度下降 (SGD) 来优化模型。似乎我必须使用非常小的学习率(0.000000001)来让模型学习。如果我使用更大的学习率,模型将无法学习并发散到 NaN 或 inf。

所以,这是我的问题:

  1. 使用这么小的学习率可以吗?或者我下面的代码有什么问题吗?
  2. 似乎验证数据集的损失减少了,增加了一段时间,然后又减少了。这是我的模型陷入过度拟合问题的情况,但由于 SGD 的不稳定性与批量梯度下降方法相比,幸运地逃脱了?

这是我的代码:

这是验证数据集的损失曲线。 验证损失 - SGD

0 投票
0 回答
104 浏览

tensorflow - 如何使用 HParams Dashboard 调整学习率

在 Tensorflow文档中,展示了如何调整几个超参数,而不是学习率。我搜索了如何使用 HParams 仪表板调整学习率,但找不到太多。唯一的例子是github上的另一个问题,但它不起作用。你能给我一些建议吗?我应该使用回调函数吗?或者像github中的问题一样在hp_optimizer中提供不同的学习率?或者是其他东西?

谢谢,

0 投票
1 回答
56 浏览

neural-network - 神经网络 - 每个权重的不同学习率

我对神经网络梯度下降背后的理论几乎没有疑问。

第一个问题:假设我们对 5 个特征中的每一个有 5 个权重。现在我们要计算梯度。算法内部是如何做到的?它是否采用第一个权重(=W1)并尝试稍微增加它(或减少它),当它完成后,转到第二个权重?还是通过同时改变超过 1 个权重来以不同的方式更有效地做到这一点?

第二个问题:如果特征 1 比特征 2 重要得多,那么与 W2 相比,W1 的相同变化(以 % 为单位)对损失的影响更大,每个权重具有不同的学习率不是更好吗?如果我们只有一个学习率,我们只考虑最有影响的权重来设置它,对吧?

0 投票
1 回答
352 浏览

tensorflow - Keras SGD Optimizer 的“get_updates”方法中当前批次的前向传递计算

我正在尝试在 Keras SGD 优化器的 get_gradient 方法中实现随机 armijo 规则。因此,我需要计算另一个前向传递来检查所选择的 learning_rate 是否良好。我不想再次计算梯度,但我想使用更新后的权重。

使用 Keras 版本 2.3.1 和 Tensorflow 版本 1.14.0

不幸的是,我在尝试计算“loss_next”时不理解错误消息:

这里有两个问题:

  • 如何访问我正在处理的当前批次?前向计算应该只考虑实际的批次,因为梯度也只属于那个批次。

  • 有什么更好的想法不使用 K.function 来更新和评估前向传递来计算该批次的损失函数?

有谁能帮忙吗?提前致谢。

0 投票
1 回答
1454 浏览

deep-learning - 学习率 AdamW 优化器

我使用 BERT(来自 huggingface)情绪分析进行训练,这是一项 NLP 任务。

我的问题是指学习率。

你能解释一下如何阅读 1e-3 吗?

这是步数的密度还是衰减的值。

如果是后者,是线性衰减吗?

如果我以 3e-5 的值进行训练,这是 NLP 任务的拥抱面的推荐值,我的模型很快就会过拟合:训练损失降至最低,验证损失增加。

学习率 3e-5:

3e-5

如果我以 1e-2 的值进行训练,我会在验证的损失值方面得到稳步提高。但是在第一个 epoch 之后验证准确度并没有提高。见图片。为什么即使损失下降,验证值也不会增加。这不是矛盾吗?我认为这两个值是对彼此的解释。

学习率 1e-2:

1e-2

你会推荐什么?

0 投票
0 回答
37 浏览

tensorflow - 为什么学习率得到恒定的结果(不改变)?

当我将对象检测与 Faster R-CNN 一起使用时,我在 tensorboard 中得到了这个结果:

为什么我的学习率得到恒定的结果?这意味着什么?我的学习率不应该每次迭代都改变吗?