关于cnn:基于keras平台CNN神经网络模型的服装识别分析

6次阅读

共计 1244 个字符,预计需要花费 4 分钟才能阅读完成。

原文链接:http://tecdat.cn/?p=8493

在许多介绍图像识别工作的介绍中,通常应用着名的 MNIST 数据集。然而,这些数据存在一些问题:

1. 太简略了。例如,一个简略的 MLP 模型能够达到 99%的准确度,而一个 2 层 CNN 能够达到 99%的准确度。

2. 它被适度应用。从字面上看,每台机器学习入门文章或图像识别工作都将应用此数据集作为基准。然而,因为取得近乎完满的分类后果非常容易,所以它的实用性会受到打折,并且对于古代机器学习 / AI 工作并不真正有用。

因而,呈现 Fashion-MNIST 数据集。该数据集是作为 MNIST 数据的间接代替而开发的,其意义在于:

1. 尺寸和格调雷同:28×28 灰度图像

2. 每个图像与 10 个类中的 1 个相关联,即:

       0:T 恤 / 上衣,

       1:裤子,

       2:套头衫,

       3:连衣裙,

       4:外套,

       5:凉鞋,

       6:衬衫,

       7:运动鞋,

       8:背包,

       9:脚靴

3. 60000 训练样本和 10000 个测试样本以下是一些样本的快照:

自从它呈现以来,曾经有多份提交文件来对这些数据进行基准测试,其中一些可能达到 95%以上的准确度。

我也试图用 keras 来对这个数据进行基准测试。keras 是构建深度学习模型的高级框架,在后端抉择 TensorFlow,Theano 和 CNTK。它很容易装置和应用。对于我的应用程序,我应用了 CNTK 后端。

在这里,我将以两个模型为基准。一种是层构造为 256-512-100-10 的 MLP,另一种是类 VGG 的 CNN。

第一个模型在 100 个历元后的测试数据上达到了 [0.89,0.90] 的精度,而后者达到了 45 个期间后的测试数据的精度 > 0.94。

咱们先用 tSNE 来看它。据说 tSNE 是最无效的尺寸放大工具。

 我应用了 1000 个样本来疾速运行。如果您的 PC 速度足够快并且有工夫,则能够针对残缺数据集运行 tSNE。

咱们看到,包含品质大小,底部决裂和对称性等几个特色将类别离开。

为了建设本人的网络,咱们首先导入一些库

该模型在大概 100 个期间的测试数据集上达到了近 90%的准确度。当初,咱们来构建一个相似 VGG 的 CNN 模型。咱们应用相似于 VGG 的体系结构,但依然十分不同。因为图形数据很小,如果咱们应用原始 VGG 体系结构,它很可能会适度配合,并且在测试数据时体现不佳,这些数据在下面列出的公开提交的基准测试中察看到。在 keras 中构建这样一个模型是十分天然和容易的:

这个模型有 150 万个参数。咱们能够调用 ’fit’ 办法来训练模型:

model3_fit=model3.fit(X_train, Y_train2, validation_data = (X_test, Y_test2), epochs=50, verbose=1, batch_size=500)

通过 40 次当前,这个模型在测试数据上取得了 0.94 的精度。显然,这个模型也存在适度拟合问题。咱们稍后会解决这个问题。

正文完
 0