【Maker玩AI】使用Google Colaboratory免費(fèi)資源學(xué)AI
建構(gòu)數(shù)據(jù)集
為了練習(xí)「建構(gòu)數(shù)據(jù)集」這個(gè)題目,我們首先必須要有數(shù)據(jù)集,但實(shí)在不容易在短時(shí)間內(nèi)收集到數(shù)千張的影像,好在知名人工智能比賽平臺(tái)Kaggle上有一個(gè)「Dogs and Cats」的影像分類(lèi)比賽,它提供了大量的貓狗影像,以供測(cè)試「深度學(xué)習(xí)」算法(模型)的正確性。
Google為方便大家測(cè)試Colab,再將其減量到訓(xùn)練用影像貓狗各1000張,驗(yàn)證用影像貓狗各500張,其數(shù)據(jù)集樣本大致上如下圖所示。影像沒(méi)并沒(méi)有特定尺寸,貓狗在影像中占的面積比例、種類(lèi)、色彩、數(shù)量、位置、明暗、遮蔽、背景復(fù)雜度也都沒(méi)有限制。
Kaggle提供的「Dogs and Cats」數(shù)據(jù)集樣本
卷積神經(jīng)網(wǎng)絡(luò)模型
這個(gè)范例中,主要利用TensorFlow及Keras建構(gòu)出一個(gè)小型的卷積神經(jīng)網(wǎng)絡(luò)(Convolution Neural Network, CNN),共有三層卷積層(包含ReLu及Max Pooling),每個(gè)卷積層皆用3×3的濾波器進(jìn)行卷積動(dòng)作,三層分別提取16, 32及64組濾波器。接著展開(kāi)成獨(dú)立節(jié)點(diǎn)后,再加入二層全連結(jié)層,分別為512及1個(gè)節(jié)點(diǎn),而最后得到的那一個(gè)節(jié)點(diǎn)加上Sigmodid函數(shù)即為最終輸出的結(jié)果,合計(jì)共有9,494,561個(gè)參數(shù)待訓(xùn)練。
輸出的結(jié)果值會(huì)介于0.0 ~ 1.0,當(dāng)值越接近1.0時(shí)圖片為狗的機(jī)率越高,反之輸出值越接近0.0時(shí)圖片判定是貓的機(jī)率越高。雖然這個(gè)模型雖然不大,但可適用各種圖像的二元分類(lèi)問(wèn)題,大家可試著導(dǎo)入自己準(zhǔn)備的圖像進(jìn)行測(cè)試。完整模型架構(gòu)可參考下圖。
卷積神經(jīng)網(wǎng)絡(luò)架構(gòu)
訓(xùn)練及驗(yàn)證
下方圖左為正確率,圖右為損失率,橫軸代表迭代次數(shù),縱軸代表正確(或損失)率;藍(lán)線代表訓(xùn)練集結(jié)果,而綠線代表驗(yàn)證集結(jié)果。從圖中可看出藍(lán)線在第十次正確率就已超過(guò)0.97(97%),而損失率已趨近0,但綠色的線正確率卻沒(méi)有繼續(xù)變高,數(shù)值約接近0.7(70%),損失率反而逐漸增高。這表示訓(xùn)練過(guò)程已造成過(guò)擬合(over fitting)的狀況,需要加入更多不同樣態(tài)及更多數(shù)量的數(shù)據(jù)集再重新訓(xùn)練才能改善。
左:訓(xùn)練及驗(yàn)證準(zhǔn)確性,右:訓(xùn)練及驗(yàn)證損失
推論結(jié)果
接著就可利用前面訓(xùn)練好的模型(model)來(lái)加以推論(或稱(chēng)為預(yù)測(cè))。首先提供一張圖片,并將圖像數(shù)據(jù)正規(guī)化(150x150x3, Float32),接著進(jìn)行推論,最后會(huì)得到圖像分類(lèi)結(jié)果分?jǐn)?shù),而分?jǐn)?shù)越接近1.0則表示是狗的機(jī)率越高,反之越接近0.0則越可能是貓。我們可以另設(shè)幾個(gè)自定義門(mén)坎值來(lái)區(qū)隔分類(lèi)結(jié)果,比方說(shuō)「這是狗」、「這可能是狗」、「這可能是貓」、「這是貓」等不同結(jié)果描述。
為了讓大家更了解深度學(xué)習(xí)模型運(yùn)作方式,將各層運(yùn)作結(jié)果輸出到特征圖中,再逐一秀出。如下圖,最上面為原始輸入影像正規(guī)化后的結(jié)果圖,再來(lái)才是真正導(dǎo)入輸入層的信息,尺寸為150×150共有3組(RGB三通道)。
第一卷積層共產(chǎn)生16個(gè)特征圖,conv2d_1尺寸為148×148,max_pooling2d_1尺寸為74×74;第二卷積層共產(chǎn)生32個(gè)特征圖,conv2d_2尺寸為72×72,max_pooling_2為36×36;第三卷積層共產(chǎn)生64個(gè)特征圖,conv2d_3尺寸為34×34,max_pooling_3為17×17;最后的全連結(jié)層(dense)則為單一節(jié)點(diǎn)信息,不易以圖形方式表示,故忽略不處理。
從各層特征圖中可看出,隨著影像尺寸縮小其被激活的像素越來(lái)越少,甚至完全不輸出(全黑),表示其特征已被某些卷積(濾波器)給凸顯出來(lái)。對(duì)于我們所需的圖像分類(lèi)(辨識(shí))能力也逐漸增強(qiáng)了。
推論結(jié)果可視化
結(jié)論
Google Colaboratory這項(xiàng)免費(fèi)的云端GPU資源實(shí)在很方便剛?cè)腴T(mén)的伙伴進(jìn)行「深度學(xué)習(xí)」(一語(yǔ)雙關(guān)),它不會(huì)因?yàn)閭(gè)人計(jì)算機(jī)(筆電)的配備等級(jí)不同,而影響模型訓(xùn)練及推論的效能。同時(shí),可輕易的分享代碼給其它想學(xué)的人,對(duì)開(kāi)源社群更是一大助力。希望不久的將來(lái)有更多伙伴能一起加入研究及分享,讓更多人工智能的應(yīng)用能加速落地。
完整代碼及說(shuō)明,請(qǐng)參閱Github.
作者:許哲豪
發(fā)表評(píng)論
請(qǐng)輸入評(píng)論內(nèi)容...
請(qǐng)輸入評(píng)論/評(píng)論長(zhǎng)度6~500個(gè)字
最新活動(dòng)更多
-
10月31日立即下載>> 【限時(shí)免費(fèi)下載】TE暖通空調(diào)系統(tǒng)高效可靠的組件解決方案
-
即日-11.13立即報(bào)名>>> 【在線會(huì)議】多物理場(chǎng)仿真助跑新能源汽車(chē)
-
11月28日立即報(bào)名>>> 2024工程師系列—工業(yè)電子技術(shù)在線會(huì)議
-
12月19日立即報(bào)名>> 【線下會(huì)議】OFweek 2024(第九屆)物聯(lián)網(wǎng)產(chǎn)業(yè)大會(huì)
-
即日-12.26火熱報(bào)名中>> OFweek2024中國(guó)智造CIO在線峰會(huì)
-
即日-2025.8.1立即下載>> 《2024智能制造產(chǎn)業(yè)高端化、智能化、綠色化發(fā)展藍(lán)皮書(shū)》
推薦專(zhuān)題
- 1 【一周車(chē)話】沒(méi)有方向盤(pán)和踏板的車(chē),你敢坐嗎?
- 2 特斯拉發(fā)布無(wú)人駕駛車(chē),還未迎來(lái)“Chatgpt時(shí)刻”
- 3 特斯拉股價(jià)大跌15%:Robotaxi離落地還差一個(gè)蘿卜快跑
- 4 馬斯克給的“驚喜”夠嗎?
- 5 打完“價(jià)格戰(zhàn)”,大模型還要比什么?
- 6 馬斯克致敬“國(guó)產(chǎn)蘿卜”?
- 7 神經(jīng)網(wǎng)絡(luò),誰(shuí)是盈利最強(qiáng)企業(yè)?
- 8 比蘋(píng)果偉大100倍!真正改寫(xiě)人類(lèi)歷史的智能產(chǎn)品降臨
- 9 諾獎(jiǎng)進(jìn)入“AI時(shí)代”,人類(lèi)何去何從?
- 10 Open AI融資后成萬(wàn)億獨(dú)角獸,AI人才之爭(zhēng)開(kāi)啟
- 高級(jí)軟件工程師 廣東省/深圳市
- 自動(dòng)化高級(jí)工程師 廣東省/深圳市
- 光器件研發(fā)工程師 福建省/福州市
- 銷(xiāo)售總監(jiān)(光器件) 北京市/海淀區(qū)
- 激光器高級(jí)銷(xiāo)售經(jīng)理 上海市/虹口區(qū)
- 光器件物理工程師 北京市/海淀區(qū)
- 激光研發(fā)工程師 北京市/昌平區(qū)
- 技術(shù)專(zhuān)家 廣東省/江門(mén)市
- 封裝工程師 北京市/海淀區(qū)
- 結(jié)構(gòu)工程師 廣東省/深圳市