从局部最小值中获取Keras序贯模型

4si2a6ki  于 2023-01-26  发布在  其他
关注(0)|答案(1)|浏览(100)

我使用Keras来区分背景和信号。
A Background ExampleA Second Background ExampleA Signal Example
此处使用的模型为

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。
时段1/6-丢失:45.3655-准确度:0.4833
时段2/6-丢失:0.6934-准确度:0.4855
时间点3/6-丢失:0.6932-准确度:0.4959
时段4/6-丢失:0.6931-准确度:0.5145
时段5/6-丢失:0.6930-准确度:0.5145
时段6/6-丢失:0.6929-准确度:0.5145
我使用的型号是否正确?
我试过将激活从"relu"更改为"leakyrelu",并将优化器更改为"sgd"。但没有明显的改进。

erhoui1w

erhoui1w1#

你需要实验看看它是否是局部最小值。添加/删除层,改变神经元的数量。还使用验证数据看看损失是否减少,你是否过拟合。

相关问题