丁香五月天婷婷久久婷婷色综合91|国产传媒自偷自拍|久久影院亚洲精品|国产欧美VA天堂国产美女自慰视屏|免费黄色av网站|婷婷丁香五月激情四射|日韩AV一区二区中文字幕在线观看|亚洲欧美日本性爱|日日噜噜噜夜夜噜噜噜|中文Av日韩一区二区

您正在使用IE低版瀏覽器,為了您的雷峰網(wǎng)賬號安全和更好的產(chǎn)品體驗,強烈建議使用更快更安全的瀏覽器
此為臨時鏈接,僅用于文章預(yù)覽,將在時失效
人工智能 正文
發(fā)私信給AI研習(xí)社-譯站
發(fā)送

0

手把手教你用PyTorch實現(xiàn)圖像分類器(第二部分)

本文作者: AI研習(xí)社-譯站 2019-04-01 10:53
導(dǎo)語:在本篇文章中,我們將學(xué)習(xí)如何訓(xùn)練自己的分類器。

手把手教你用PyTorch實現(xiàn)圖像分類器(第二部分)

本文為 AI 研習(xí)社編譯的技術(shù)博客,原標(biāo)題 :

Implementing an Image Classifier with PyTorch: Part 2

作者 | Jose Nieto

翻譯 | Jeffery26         

校對 | 醬番梨        審核 | 醬番梨       整理 | 立魚王

原文鏈接:

https://medium.com/udacity/implementing-an-image-classifier-with-pytorch-part-2-ae4dd7b2f48

查看第一部分,請戳>>手把手教你用PyTorch實現(xiàn)圖像分類器(第一部分)

手把手教你用PyTorch實現(xiàn)圖像分類器(第二部分)

回想一下,在本系列文章的第一篇中,我們學(xué)習(xí)了為什么需要載入預(yù)訓(xùn)練網(wǎng)絡(luò)以及如何載入預(yù)訓(xùn)練網(wǎng)絡(luò),同時我們演示了如何將預(yù)訓(xùn)練網(wǎng)絡(luò)的分類器替換為我們自己的分類器。在本篇推文中,我們將學(xué)習(xí)如何訓(xùn)練自己的分類器。


   訓(xùn)練分類器

首先我們要做的是將訓(xùn)練用的圖片喂給我們的分類器,我們可以使用PyTorch中的ImageFolder接口載入圖片。預(yù)訓(xùn)練網(wǎng)絡(luò)要求我們輸入的都是某種特定格式的圖片,因此,在將圖片喂給神經(jīng)網(wǎng)絡(luò)前,我們需要對圖片進(jìn)行某些變換以達(dá)到對圖片的裁剪和歸一化。

具體來說,我們會將輸入圖片裁剪至224x224尺寸并且使用[0.485, 0.456, 0.406]和[0.229, 0.224, 0.225]兩個參數(shù)作為均值和標(biāo)準(zhǔn)差進(jìn)行歸一化。歸一化使得圖片顏色通道數(shù)值中心化于0同時使得標(biāo)準(zhǔn)差為1。

接著我們可以使用PyTorch中的DataLoader接口將所有圖片分成不同的批次。因為我們需要三種圖片數(shù)據(jù)集——訓(xùn)練集,驗證集和測試集,所以我們需要為每個數(shù)據(jù)集分別創(chuàng)建一個讀取器。好了,萬事俱備,我們可以開始訓(xùn)練我們的分類器了。

進(jìn)行到此處我們將碰到最重要的挑戰(zhàn):模型準(zhǔn)確度

讓我們的模型去識別一張我們事先已經(jīng)標(biāo)注好類別的圖片并不難,然而我們需要我們的模型擁有泛化能力,即讓模型可以識別我們從未標(biāo)注過的花卉圖片中的花卉種類。我們可以通過防止模型的過擬合達(dá)到模型泛化的目的。過擬合的意思為:我們的模型參數(shù)太過于滿足我們自己的訓(xùn)練圖片的準(zhǔn)確度,從而可能導(dǎo)致無法對除了訓(xùn)練集之外的其他圖片進(jìn)行準(zhǔn)確識別。即模型在訓(xùn)練集上表現(xiàn)優(yōu)越,但是在測試集和驗證集上誤差很大。

手把手教你用PyTorch實現(xiàn)圖像分類器(第二部分)

Fitting types

不同的參數(shù)可以幫助模型達(dá)到最佳擬合 

-隱藏層

我們總是很容易陷入更多或更大的隱藏層能夠提高分類器準(zhǔn)確性這樣的思維誤區(qū),然而這個說法不總是對的。

增加隱藏層的數(shù)量和尺寸會使得我們的分類器考慮更多除了那些至關(guān)重要的參數(shù)以外的參數(shù)。例如,將噪音也視為花卉的一部分。這將導(dǎo)致過擬合以及模型準(zhǔn)確度的下降。不僅如此,增加隱藏層的數(shù)量和尺寸也將花費我們更多時間去訓(xùn)練分類器和利用分類器去預(yù)測結(jié)果。

正因如此,我們建議開始訓(xùn)練網(wǎng)絡(luò)時采用較少數(shù)量和較小尺寸的隱藏層,同時隱藏層的數(shù)量和尺寸根據(jù)訓(xùn)練進(jìn)展按需增加,而不是一開始便在網(wǎng)絡(luò)中加入大量和大尺寸的隱藏層。

在Udacity的利用python進(jìn)行AI編程納米學(xué)位項目中的花卉分類器項目中(我在本系列文章的第一篇推文中介紹了該項目),利用訓(xùn)練集進(jìn)行第一次全訓(xùn)練輪次時,我僅僅利用包含一層小規(guī)模隱藏層的網(wǎng)絡(luò)便獲得了超過70%的準(zhǔn)確度

-數(shù)據(jù)增強

我們有一批圖片用來訓(xùn)練我們的模型,這是極好的事情,但是如果我們有更多的圖片,這將會變得更好。此時數(shù)據(jù)增強便派上了用場。在訓(xùn)練模型的每一回合中,每張圖片會被喂入網(wǎng)絡(luò)一次。但是在每次喂給網(wǎng)絡(luò)之前,我們可以對圖片進(jìn)行任意的變換,例如旋轉(zhuǎn),平移,縮放。通過這種方式,在不同的訓(xùn)練回合中,同一張圖片將會以不同的形式喂給神經(jīng)網(wǎng)絡(luò)。增加訓(xùn)練數(shù)據(jù)的多樣性可以減少過擬合的出現(xiàn)概率,相應(yīng)地也提高了模型的泛化能力,從而提高了模型總體的準(zhǔn)確性。

-打亂數(shù)據(jù)集

當(dāng)訓(xùn)練神經(jīng)網(wǎng)絡(luò)時,為了防止模型出現(xiàn)任何偏向性,我們需要以任意順序?qū)D片喂給神經(jīng)網(wǎng)絡(luò)。

例如,一開始如果我們只將矮牽牛花圖片喂給分類器,那么該分類器的張量很容易傾向于矮牽?;?。事實上,此時此刻,我們的分類器將會只知道矮牽牛花這一種花。即使接下來我們使用其他種類花卉圖片來繼續(xù)訓(xùn)練模型,這種最初的對于某種花卉的傾向性將會隨著時間繼續(xù)存在。雷鋒網(wǎng)

為了防止這種現(xiàn)象的發(fā)生,我們需要在數(shù)據(jù)載入器中打亂圖片順序,只需要簡單的一步——在創(chuàng)建載入器時添加shuffle=True語句即可。

-隨機(jī)失活   

有時,分類器內(nèi)的神經(jīng)網(wǎng)絡(luò)節(jié)點會產(chǎn)生過多的影響,從而使得其他節(jié)點不能進(jìn)行正常的訓(xùn)練。同時,節(jié)點之間會產(chǎn)生相互依存關(guān)系從而導(dǎo)致過擬合。

隨機(jī)失活是在每一次訓(xùn)練中通過使一些節(jié)點隨機(jī)失活來防止上述現(xiàn)象發(fā)生的一種訓(xùn)練技巧。因而,每一次訓(xùn)練中分別訓(xùn)練了所有節(jié)點中的不同子集,從而減少了過擬合現(xiàn)象的發(fā)生。

手把手教你用PyTorch實現(xiàn)圖像分類器(第二部分)

Dropout diagram (Source)

暫且先不談?wù)撨^擬合,我們需要時刻記住的是學(xué)習(xí)率可能是最重要的超參數(shù)。如果學(xué)習(xí)率太大,我們可能永遠(yuǎn)得不到誤差的最小值,如果學(xué)習(xí)率太小,分類器的訓(xùn)練過程會變得非常漫長。典型的學(xué)習(xí)率數(shù)值分別是:0.01,0.001,0.0001等等。

最后但也仍然非常重要的是,對位于分類器最后一層的激活函數(shù)的正確選擇也會大幅改善模型準(zhǔn)確度。例如,如果在神經(jīng)網(wǎng)絡(luò)中我們使用了負(fù)對數(shù)似然損失函數(shù),按照文檔所述,那么建議在最后一層使用LogSoftmax激活函數(shù)。雷鋒網(wǎng)


   總結(jié)

為了訓(xùn)練一個擁有泛化能力,同時在預(yù)測新圖片中的花卉種類有著高準(zhǔn)確度的模型,理解模型訓(xùn)練過程是非常有用的。

在文章中我們討論了過擬合是如何影響模型的泛化能力以及如何防止過擬合的發(fā)生。同時我們也提及了學(xué)習(xí)率的重要性以及常用的學(xué)習(xí)率。最后,我們可以看出在最后一層中選擇正確的激活函數(shù)也是至關(guān)重要的。

既然我們知道了如何訓(xùn)練模型,我們便可以使用模型去識別模型從未見過的圖片中的花卉種類。那將是我們在該系列第三篇和最后一篇推文中將要介紹的內(nèi)容。

我希望此篇文章對你有所幫助同時你能對我們說出你對此篇文章的想法。

想要繼續(xù)查看該篇文章相關(guān)鏈接和參考文獻(xiàn)?

點擊手把手教你用PyTorch實現(xiàn)圖像分類器(第二部分)即可訪問:雷鋒網(wǎng)

https://ai.yanxishe.com/page/TextTranslation/1587

AI入門、大數(shù)據(jù)、機(jī)器學(xué)習(xí)免費教程

35本世界頂級原本教程限時開放,這類書單由知名數(shù)據(jù)科學(xué)網(wǎng)站 KDnuggets 的副主編,同時也是資深的數(shù)據(jù)科學(xué)家、深度學(xué)習(xí)技術(shù)愛好者的Matthew Mayo推薦,他在機(jī)器學(xué)習(xí)和數(shù)據(jù)科學(xué)領(lǐng)域具有豐富的科研和從業(yè)經(jīng)驗。

點擊鏈接即可獲?。?/span>https://ai.yanxishe.com/page/resourceDetail/417


雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。

手把手教你用PyTorch實現(xiàn)圖像分類器(第二部分)

分享:
相關(guān)文章

知情人士

AI研習(xí)社(yanxishe.com)譯站頻道,傳播前沿人工智能知識,讓語言不再成為學(xué)習(xí)知識的門檻。(原雷鋒字幕組)
當(dāng)月熱門文章
最新文章
請?zhí)顚懮暾埲速Y料
姓名
電話
郵箱
微信號
作品鏈接
個人簡介
為了您的賬戶安全,請驗證郵箱
您的郵箱還未驗證,完成可獲20積分喲!
請驗證您的郵箱
立即驗證
完善賬號信息
您的賬號已經(jīng)綁定,現(xiàn)在您可以設(shè)置密碼以方便用郵箱登錄
立即設(shè)置 以后再說