基于keras平臺CNN神經(jīng)網(wǎng)絡(luò)模型的服裝識別分析
原文鏈接:http://tecdat.cn/?p=8493
?
在許多介紹圖像識別任務(wù)的介紹中,通常使用著名的MNIST數(shù)據(jù)集。但是,這些數(shù)據(jù)存在一些問題:
1.太簡單了。例如,一個簡單的MLP模型可以達(dá)到99%的準(zhǔn)確度,而一個2層CNN可以達(dá)到99%的準(zhǔn)確度。
2.它被過度使用。從字面上看,每臺機(jī)器學(xué)習(xí)入門文章或圖像識別任務(wù)都將使用此數(shù)據(jù)集作為基準(zhǔn)。但是,因為獲得近乎完美的分類結(jié)果非常容易,所以它的實用性會受到打折,并且對于現(xiàn)代機(jī)器學(xué)習(xí)/ AI任務(wù)并不真正有用。
因此,出現(xiàn)Fashion-MNIST數(shù)據(jù)集。該數(shù)據(jù)集是作為MNIST數(shù)據(jù)的直接替代而開發(fā)的,其意義在于:
1.尺寸和風(fēng)格相同:28x28灰度圖像
2.每個圖像與10個類中的1個相關(guān)聯(lián),即:
?????? 0:T恤/上衣,
?????? 1:褲子,
?????? 2:套頭衫,
?????? 3:連衣裙,
?????? 4 :外套,
?????? 5:涼鞋,
?????? 6:襯衫,
?????? 7:運動鞋,
?????? 8:背包,
?????? 9:靴
3. 60000訓(xùn)練樣本和10000個測試樣本,以下是一些樣本的截圖:

自從它出現(xiàn)以來,已經(jīng)有多份提交文件來對這些數(shù)據(jù)進(jìn)行基準(zhǔn)測試,其中一些能夠達(dá)到95%以上的準(zhǔn)確度 。?

我也試圖用keras來對這個數(shù)據(jù)進(jìn)行基準(zhǔn)測試。keras是構(gòu)建深度學(xué)習(xí)模型的高級框架,在后端選擇TensorFlow,Theano和CNTK。它很容易安裝和使用。對于我的應(yīng)用程序,我使用了CNTK后端。?
在這里,我將以兩個模型為基準(zhǔn)。一種是層結(jié)構(gòu)為256-512-100-10的MLP,另一種是類VGG的CNN。?
第一個模型在100個歷元后的測試數(shù)據(jù)上達(dá)到了[0.89,0.90]的精度,而后者達(dá)到了45個時期后的測試數(shù)據(jù)的精度> 0.94。?
?
我們先用tSNE來看它。據(jù)說tSNE是最有效的降緯工具。?
?
?我使用了1000個樣本來快速運行。如果您的PC速度足夠快并且有時間,則可以針對完整數(shù)據(jù)集運行tSNE。?
?

為了建立自己的網(wǎng)絡(luò),我們首先導(dǎo)入一些庫

該模型在大約100個時期的測試數(shù)據(jù)集上達(dá)到了近90%的準(zhǔn)確度?,F(xiàn)在,我們來構(gòu)建一個類似VGG的CNN模型。我們使用類似于VGG的體系結(jié)構(gòu),但仍然非常不同。由于圖形數(shù)據(jù)很小,如果我們使用原始VGG體系結(jié)構(gòu),它很可能會過度擬合,并且在測試數(shù)據(jù)時表現(xiàn)不佳,這些數(shù)據(jù)在上面列出的公開提交的基準(zhǔn)測試中觀察到。在keras中構(gòu)建這樣一個模型是非常容易的:
?
這個模型有150萬個參數(shù)。我們可以調(diào)用'fit'方法來訓(xùn)練模型:
model3_fit=model3.fit(X_train, Y_train2, validation_data = (X_test, Y_test2), epochs=50, verbose=1, batch_size=500)
經(jīng)過40次以后,這個模型在測試數(shù)據(jù)上獲得了0.94的精度。顯然,這個模型也存在過度擬合問題。我們稍后會解決這個問題。



最受歡迎的見解
1.r語言用神經(jīng)網(wǎng)絡(luò)改進(jìn)nelson-siegel模型擬合收益率曲線分析
2.r語言實現(xiàn)擬合神經(jīng)網(wǎng)絡(luò)預(yù)測和結(jié)果可視化
3.python用遺傳算法-神經(jīng)網(wǎng)絡(luò)-模糊邏輯控制算法對樂透分析
4.用于nlp的python:使用keras的多標(biāo)簽文本lstm神經(jīng)網(wǎng)絡(luò)分類
5.用r語言實現(xiàn)神經(jīng)網(wǎng)絡(luò)預(yù)測股票實例
6.R語言基于Keras的小數(shù)據(jù)集深度學(xué)習(xí)圖像分類
7.用于NLP的seq2seq模型實例用Keras實現(xiàn)神經(jīng)機(jī)器翻譯
8.python中基于網(wǎng)格搜索算法優(yōu)化的深度學(xué)習(xí)模型分析糖
9.matlab使用貝葉斯優(yōu)化的深度學(xué)習(xí)