gpt4 book ai didi

neural-network - Gensim doc2vec 300 维向量输入 keras,lstm 模型不工作。损失没有减少

转载 作者:行者123 更新时间:2023-12-02 00:58:27 26 4
gpt4 key购买 nike

这是我的代码片段:

model=keras.Sequential()
model.add(keras.layers.LSTM(28,input_shape=(300,1),return_sequences=True))
model.add(keras.layers.Dropout(0.4))
model.add(keras.layers.LSTM(14))
model.add(keras.layers.Dropout(0.5))
model.add(keras.layers.Dense(2,activation="softmax"))
sgd=keras.optimizers.SGD(lr=0.001)
model.compile(optimizer=sgd,loss=keras.losses.sparse_categorical_crossentropy)
model.fit(trainData,labeledData.sentiment,epochs=20,batch_size=3000)

trainData 的形状是 [batch_size,300,1],当我开始训练这个模型时,损失并没有下降。

时代 1/2025000/25000 [================================] - 2s 89us/步 - 损失:0.6927纪元 2/2025000/25000 [================================] - 0s 8us/步 - 损失:0.6928时代 3/2025000/25000 [================================] - 0s 8us/步 - 损失:0.6928时代 4/2025000/25000 [================================] - 0s 8us/步 - 损失:0.6928纪元 5/2025000/25000 [================================] - 0s 8us/步 - 损失:0.6928时代 6/2025000/25000 [================================] - 0s 8us/step - 损失:0.6926

我错过了什么?

最佳答案

正如评论中所讨论的那样,问题在于大批量,而且 - 也可能 - 用于训练的优化器。

很难确定您的算法未与当前设置收敛的确切原因,但可以这样论证:

大批量收敛速度较慢。

与直觉相反,更大批量的训练在某些情况下实际上会减慢您的训练速度。这背后的原因纯粹是推测,取决于数据的确切性质和分布。不过,通常来说,批处理越小意味着更新越频繁。如果您计算出的梯度都指向相似的方向,那么更频繁地更新将导致更快的收敛。
好的做法是批处理大小从不大于 1000。在大多数情况下,128 是一个很好的经验法则,也是较大批处理的速度优势与良好收敛之间的一个很好的权衡较小批量的属性。请注意,这仅在您拥有大量训练数据的情况下才有意义。

另请注意,从理论上讲,该大设置中多个示例的梯度可以“平均”,这意味着大批量将只有非常小且模糊的梯度。在小批量中使用较少的样本会减少这种机会,尽管它会增加“走错方向”的风险(即具有指向相反方向的梯度)。

SGD 是一个很好的起点,但存在一些优化。

这些“更智能”的变体之一是建议的 ADAM 方法。有一篇被高引用paper about it ,这可以让您对引擎盖下发生的事情有一个模糊的了解。本质上,SGD 是一种非常简单的解决方案,没有任何特殊假设或内置优化。(据我所知,例如 ADAM 使用一阶导数)

存在许多不同的,并且有大量的 theoretical articles (和 practical comparisons )不同的实现。至少部分了解参数的作用并了解将它们设置为哪些值是有意义的,这很有值(value)。

例如,您已经将学习率设置为一个合理的值 (0.001);就个人而言,我通常会以 0.001-0.01 之间的值结束,如果我有更大的学习率,可能会使用学习率随时间衰减。

关于neural-network - Gensim doc2vec 300 维向量输入 keras,lstm 模型不工作。损失没有减少,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52473530/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com