0
本文作者: AI研習(xí)社-譯站 | 2018-08-13 17:32 |
雷鋒網(wǎng)按:本文為AI研習(xí)社編譯的技術(shù)博客,原標(biāo)題A Comprehensive guide to Fine-tuning Deep Learning Models in Keras (Part II),作者為 Felix Yu 。
翻譯 | 霍曉燕 校對 | 楊東旭 整理 | 余杭
本部分屬該兩部系列中的第二部分,該系列涵蓋了基于 Keras 對深度學(xué)習(xí)模型的微調(diào)。第一部分闡述微調(diào)背后的動機(jī)和原理,并簡要介紹常用的做法和技巧。本部分將詳細(xì)地指導(dǎo)如何在 Keras 中實(shí)現(xiàn)對流行模型 VGG,Inception 和 ResNet 的微調(diào)。
為什么選擇 Keras ?
Keras 是建立在 Theano 或 TensorFlow 之上的一個極簡的神經(jīng)網(wǎng)絡(luò)庫。該庫允許開發(fā)人員快速地將想法原型化。除非你正在做一些涉及制定具有截然不同的激活機(jī)制的神經(jīng)架構(gòu)的前沿研究,否則 Keras 將提供構(gòu)建相當(dāng)復(fù)雜的神經(jīng)網(wǎng)絡(luò)所需的所有構(gòu)建模塊。
同時附帶了大量的文檔和在線資源。
硬件說明
我強(qiáng)烈建議在涉及繁重計算的Covnet訓(xùn)練時,使用GPU加速。速度差異相當(dāng)大,我們談?wù)摰?GPU 大約幾小時而 CPU 需要幾天。
我推薦使用 GTX 980 Ti 或者有點(diǎn)貴的 GTX 1080,它售價約 600 美元。
Keras 微調(diào)
我已經(jīng)實(shí)現(xiàn)了基于 Keras 的微調(diào)啟動腳本,這些腳本存放在這個 github 頁面中。包括 VGG16,VGG19,GoogleLeNet,nception-V3 和 ResNet50 的實(shí)現(xiàn)。這樣,你就可以為自己的微調(diào)任務(wù)定制腳本。
下面是如何使用腳本微調(diào) VGG16 和 Inception-V3 模型的詳細(xì)演練。
VGG16 微調(diào)
VGG16 是牛津大學(xué)視覺幾何組(VGG)在 2014 年 ILVRC(ImageNet)競賽中使用的 16 層卷積神經(jīng)網(wǎng)絡(luò)。該模型在驗(yàn)證集上達(dá)到了 7.5% 的前 5 錯誤率,這使得他們在競賽中獲得了第二名。
VGG16 模型示意圖:
可以在 vgg16.py 中找到用于微調(diào) VGG16 的腳本。vgg_std16_model 函數(shù)的第一部分是 VGG 模型的結(jié)構(gòu)。定義全連接層之后,我們通過下面一行將 ImageNet 預(yù)訓(xùn)練權(quán)重加載到模型中:
為了進(jìn)行微調(diào),我們截斷了原始的 softmax 層,并使用下面一段我們自己的代碼替換:
最后一行的 num_class 變量代表我們分類任務(wù)中的類別標(biāo)簽的數(shù)量。
......
想要繼續(xù)閱讀,請移步至我們的AI研習(xí)社社區(qū):https://club.leiphone.com/page/TextTranslation/720
更多精彩內(nèi)容盡在 AI 研習(xí)社。
不同領(lǐng)域包括計算機(jī)視覺,語音語義,區(qū)塊鏈,自動駕駛,數(shù)據(jù)挖掘,智能控制,編程語言等每日更新。
手機(jī)端可以掃描二維碼訪問
雷鋒網(wǎng)雷鋒網(wǎng)
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。