损失从第一个时代本身开始增加
Loss is increasing from first epoch itself
我正在为 nlp 训练我的孪生网络。我在其中使用了 lstm 。和BC损失。我的损失从第一个时代开始增加。前 36 个 epoch 损失是
0之后的错误是
272.4357
[torch.FloatTensor 大小 1]
1 之后的错误是
271.8972
[torch.FloatTensor 大小 1]
2 之后的错误是
271.5598
[torch.FloatTensor 大小 1]
3 之后的错误是
271.6979
[torch.FloatTensor 大小 1]
4之后的错误是
271.7315
[torch.FloatTensor 大小 1]
5 之后的错误是
272.3965
[torch.FloatTensor 大小 1]
6之后的错误是
273.3982
[torch.FloatTensor 大小 1]
7之后的错误是
275.1197
[torch.FloatTensor 大小 1]
8之后的错误是
275.8228
[torch.FloatTensor 大小 1]
9之后的错误是
278.3311
[torch.FloatTensor 大小 1]
10 后的错误是
277.1054
[torch.FloatTensor 大小 1]
11之后的错误是
277.8418
[torch.FloatTensor 大小 1]
12之后的错误是
279.0189
[torch.FloatTensor 大小 1]
13之后的错误是
278.4090
[torch.FloatTensor 大小 1]
14之后的错误是
281.8813
[torch.FloatTensor 大小 1]
15 之后的错误是
283.4077
[torch.FloatTensor 大小 1]
16之后的错误是
286.3093
[torch.FloatTensor 大小 1]
17之后的错误是
287.6292
[torch.FloatTensor 大小 1]
18之后的错误是
297.2318
[torch.FloatTensor 大小 1]
19之后的错误是
307.4176
[torch.FloatTensor 大小 1]
20之后的错误是
304.6649
[torch.FloatTensor 大小 1]
21之后的错误是
328.9772
[torch.FloatTensor 大小 1]
22之后的错误是
300.0669
[torch.FloatTensor 大小 1]
23之后的错误是
292.3902
[torch.FloatTensor 大小 1]
24之后的错误是
300.8633
[torch.FloatTensor 大小 1]
25之后的错误是
305.1822
[torch.FloatTensor 大小 1]
26之后的错误是
333.9984
[torch.FloatTensor 大小 1]
27之后的错误是
346.2062
[torch.FloatTensor 大小 1]
28之后的错误是
354.6148
[torch.FloatTensor 大小 1]
29之后的错误是
341.3568
[torch.FloatTensor 大小 1]
30之后的错误是
369.7580
[torch.FloatTensor 大小 1]
31之后的错误是
366.1615
[torch.FloatTensor 大小 1]
32之后的错误是
368.2455
[torch.FloatTensor 大小 1]
33之后的错误是
391.4102
[torch.FloatTensor 大小 1]
34后的错误是
394.3190
[torch.FloatTensor 大小 1]
35之后的错误是
401.0990
[torch.FloatTensor 大小 1]
36之后的错误是
422.3723
[torch.FloatTensor 大小 1]
可能你的学习率太高了。尝试降低你的学习率。学习率太大是损失从第一个时期开始增加的最常见原因。
而且你的损失很大。这么高的赔率是不寻常的。您的损失函数中可能有一个总和,用均值替换该总和可能更明智。虽然如果您使用 Adam 优化器这没有什么区别,但如果您使用带有或不带动量的简单 SGD 使用总和而不是均值,这意味着如果维度(或序列的长度),您将需要不同地调整您的学习率由你的 lstm 处理)你的系统变化。
我正在为 nlp 训练我的孪生网络。我在其中使用了 lstm 。和BC损失。我的损失从第一个时代开始增加。前 36 个 epoch 损失是 0之后的错误是 272.4357 [torch.FloatTensor 大小 1]
1 之后的错误是 271.8972 [torch.FloatTensor 大小 1]
2 之后的错误是 271.5598 [torch.FloatTensor 大小 1]
3 之后的错误是 271.6979 [torch.FloatTensor 大小 1]
4之后的错误是 271.7315 [torch.FloatTensor 大小 1]
5 之后的错误是 272.3965 [torch.FloatTensor 大小 1]
6之后的错误是 273.3982 [torch.FloatTensor 大小 1]
7之后的错误是 275.1197 [torch.FloatTensor 大小 1]
8之后的错误是 275.8228 [torch.FloatTensor 大小 1]
9之后的错误是 278.3311 [torch.FloatTensor 大小 1]
10 后的错误是 277.1054 [torch.FloatTensor 大小 1]
11之后的错误是 277.8418 [torch.FloatTensor 大小 1]
12之后的错误是 279.0189 [torch.FloatTensor 大小 1]
13之后的错误是 278.4090 [torch.FloatTensor 大小 1]
14之后的错误是 281.8813 [torch.FloatTensor 大小 1]
15 之后的错误是 283.4077 [torch.FloatTensor 大小 1]
16之后的错误是 286.3093 [torch.FloatTensor 大小 1]
17之后的错误是 287.6292 [torch.FloatTensor 大小 1]
18之后的错误是 297.2318 [torch.FloatTensor 大小 1]
19之后的错误是 307.4176 [torch.FloatTensor 大小 1]
20之后的错误是 304.6649 [torch.FloatTensor 大小 1]
21之后的错误是 328.9772 [torch.FloatTensor 大小 1]
22之后的错误是 300.0669 [torch.FloatTensor 大小 1]
23之后的错误是 292.3902 [torch.FloatTensor 大小 1]
24之后的错误是 300.8633 [torch.FloatTensor 大小 1]
25之后的错误是 305.1822 [torch.FloatTensor 大小 1]
26之后的错误是 333.9984 [torch.FloatTensor 大小 1]
27之后的错误是 346.2062 [torch.FloatTensor 大小 1]
28之后的错误是 354.6148 [torch.FloatTensor 大小 1]
29之后的错误是 341.3568 [torch.FloatTensor 大小 1]
30之后的错误是 369.7580 [torch.FloatTensor 大小 1]
31之后的错误是 366.1615 [torch.FloatTensor 大小 1]
32之后的错误是 368.2455 [torch.FloatTensor 大小 1]
33之后的错误是 391.4102 [torch.FloatTensor 大小 1]
34后的错误是 394.3190 [torch.FloatTensor 大小 1]
35之后的错误是 401.0990 [torch.FloatTensor 大小 1]
36之后的错误是 422.3723 [torch.FloatTensor 大小 1]
可能你的学习率太高了。尝试降低你的学习率。学习率太大是损失从第一个时期开始增加的最常见原因。
而且你的损失很大。这么高的赔率是不寻常的。您的损失函数中可能有一个总和,用均值替换该总和可能更明智。虽然如果您使用 Adam 优化器这没有什么区别,但如果您使用带有或不带动量的简单 SGD 使用总和而不是均值,这意味着如果维度(或序列的长度),您将需要不同地调整您的学习率由你的 lstm 处理)你的系统变化。