gpt4 book ai didi

python - 尝试为 CIFAR-10 创建一个完全连接的神经网络

转载 作者:行者123 更新时间:2023-12-01 08:12:46 25 4
gpt4 key购买 nike

在机器学习方面,我是一个相对初学者。

我一直在使用 Keras 和 TensorFlow 作为后端,但由于某种原因,当我使用 CIFAR-10 数据集时,我没有获得很好的准确性。

这是我的代码。

model = Sequential()

batch_size = 250

model.add(Dense(100, input_shape = (3072, ), activation='relu',
bias_initializer = 'RandomNormal',kernel_regularizer=regularizers.l2(.01)))


model.add(Dense(50))

model.add(Dense(10))

model.compile(optimizer=keras.optimizers.SGD(lr=0.004),
loss='hinge', metrics=['categorical_accuracy'])

model.fit(x=X_train, y=utils.to_categorical(Y_Train, num_classes = 10),
batch_size = batch_size, epochs = 100, validation_split = .4)

X_Train 是 (50000, 3072) numpy 数组,Y_Train 是 (50000, 1) numpy 数组。

我得到的结果是

损失:1.1865

分类准确度:0.1696

val_loss:1.1859

val_categorical_accuracy:0.1668

100 个时期内。

我的设置是 Ubuntu 18.04、Python 3.6、Numpy 1.16、Keras 2.2.4

我的代码是否有问题,或者完全连接的神经网络对于图像分类来说只是一种糟糕的设置,应该使用卷积神经网络?

最佳答案

您的模型存在许多问题:

  • 第 2 层和第 3 层没有激活,因此是线性的(在本例中对于分类无用)

  • 具体来说,您需要在最后一层进行 softmax 激活。损失将不知道如何处理线性输出。

  • 当您应该使用诸如categorical_crossentropy之类的东西时,您却使用了hinge损失。

Jibin 所说的关于你的全连接模型不够复杂的说法是不正确的,你不需要太多的复杂性就可以在 CIFAR10 上获得不错的精度。

关于python - 尝试为 CIFAR-10 创建一个完全连接的神经网络,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55137387/

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