我的训练损失下降,然后又上升。这很奇怪。交叉验证损失跟踪训练损失。到底是怎么回事?
我有两个堆叠的LSTMS,如下所示(在Keras上):
model = Sequential()
model.add(LSTM(512, return_sequences=True, input_shape=(len(X[0]), len(nd.char_indices))))
model.add(Dropout(0.2))
model.add(LSTM(512, return_sequences=False))
model.add(Dropout(0.2))
model.add(Dense(len(nd.categories)))
model.add(Activation('sigmoid'))
model.compile(loss='binary_crossentropy', optimizer='adadelta')
我训练了100个纪元:
model.fit(X_train, np.array(y_train), batch_size=1024, nb_epoch=100, validation_split=0.2)
训练127803个样本,验证31951个样本
2
在第25个时代之后,您的学习范围可能会很大。尝试将其设置
—
得更
但是,额外的培训如何使培训数据丢失更大?
—
patapouf_ai 2016年
对不起,我的意思是学习率。
—
itdxer
谢谢itdxer。我认为您所说的必须走上正确的道路。我尝试使用“ adam”代替“ adadelta”,这解决了问题,尽管我猜想降低“ adadelta”的学习率可能也可以。如果您想写一个完整的答案,我会接受的。
—
patapouf_ai 2016年