使用keras SimpleRN层,我击中了这面墙。我还有另外两个模型,一个模型只有完全连接的密集层,另一个模型使用LSTM,正如预期的那样工作,所以我不认为数据处理是问题所在
在上下文中,我使用tf.keras reuters数据集,它被标记化,输出数据由46个可能的标记组成,我已经对这些标记进行了分类
下面是模型代码
modelRNN = Sequential()
modelRNN.add(Embedding(input_dim=maxFeatures, output_dim=256,input_shape=(maxWords,)))
modelRNN.add(SimpleRNN(1024))
#modelRNN.add(Activation("sigmoid"))
modelRNN.add(Dropout(0.8))
modelRNN.add(Dense(128))
modelRNN.add(Dense(46, activation="softmax"))
modelRNN.compile(
optimizer='adam',
loss='categorical_crossentropy',
metrics=['accuracy'],
)
我使用以下参数进行拟合
historyRNN = modelRNN.fit(x_train, y_train,
epochs=100,
batch_size=512,
shuffle=True,
validation_data = (x_test,y_test)
)
拟合该模型,始终具有03762的val_精度和~3,4的val_损失。从图表中可以清楚地看到这个“上限”:
我尝试过的事情:更改超级参数,更改输入数据形状,尝试不同的优化器
谢谢你的任何提示。感谢那些帮助编辑我的帖子让我更容易理解的人:)
使用相同数据的其他两个模型的图表:
仅密集层
LSTM
目前没有回答
相关问题 更多 >
编程相关推荐