繁体   English   中英

从局部最小值中获取 Keras 序列 Model

[英]Get the Keras Sequential Model out of a local minimum

我正在使用 Keras 来区分背景和信号。

一个背景示例第二个背景示例一个信号示例

这里使用的model是

model = tf.keras.Sequential([
    tf.keras.layers.Flatten(input_shape=(472,696)),#flatten the data
    tf.keras.layers.Dense(128, activation='relu'),#decide how many neurons to use
    tf.keras.layers.Dense(2, activation = 'sigmoid')])#how many classes you have

model.compile(optimizer='adam', loss=tf.keras.losses.SparseCategoricalCrossentropy(), metrics=['accuracy'])

我的训练是

model.fit(train_images, train_labels, epochs=6)#train with data

通常我只是得到一个局部最小值,精度大约为 0.5。

Epoch 1/6 - 损失:45.3655 - 准确度:0.4833

Epoch 2/6 - 损失:0.6934 - 准确度:0.4855

Epoch 3/6 - 损失:0.6932 - 准确度:0.4959

Epoch 4/6 - 损失:0.6931 - 准确度:0.5145

Epoch 5/6 - 损失:0.6930 - 准确度:0.5145

Epoch 6/6 - 损失:0.6929 - 准确度:0.5145

我使用的是正确的 model 吗?

我试图将激活从“relu”更改为“LeakyReLU”并将优化器更改为“sgd”。 但无明显改善。

你需要试验看看它是否是局部最小值。 添加/删除层,更改神经元数量。 还可以使用验证数据来查看损失是否减少是否过度拟合。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM