基于深度學(xué)習(xí)AlexNet模型的藝術(shù)畫風(fēng)格識(shí)別方法設(shè)計(jì)_第1頁(yè)
基于深度學(xué)習(xí)AlexNet模型的藝術(shù)畫風(fēng)格識(shí)別方法設(shè)計(jì)_第2頁(yè)
基于深度學(xué)習(xí)AlexNet模型的藝術(shù)畫風(fēng)格識(shí)別方法設(shè)計(jì)_第3頁(yè)
基于深度學(xué)習(xí)AlexNet模型的藝術(shù)畫風(fēng)格識(shí)別方法設(shè)計(jì)_第4頁(yè)
基于深度學(xué)習(xí)AlexNet模型的藝術(shù)畫風(fēng)格識(shí)別方法設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩17頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

目錄

1引言............................................................................................................................1

1.1項(xiàng)目背景......................................................................................................1

1.2開(kāi)發(fā)環(huán)境與工具..........................................................................................1

1.2.1Python簡(jiǎn)介..........................................................................................1

1.2.2Tensorflow簡(jiǎn)介..................................................................................2

1.2.3Jypyternotebook簡(jiǎn)介......................................................................2

1.2.4Python第三方庫(kù)簡(jiǎn)介..........................................................................2

2需求分析....................................................................................................................3

2.1可行性需求分析..........................................................................................3

2.2數(shù)據(jù)集采集功能分析..................................................................................3

2.3關(guān)鍵技術(shù)分析..............................................................................................4

2.3.1AlexNet模型與傳統(tǒng)的圖畫分類........................................................4

2.3.2卷積神經(jīng)網(wǎng)絡(luò)原理...............................................................................4

2.3.3Web框架技術(shù)(Flask/Django)........................................................4

3數(shù)據(jù)采集....................................................................................................................5

3.1數(shù)據(jù)集獲取分析..........................................................................................5

3.2數(shù)據(jù)集需求分析..........................................................................................7

3.3編程實(shí)現(xiàn)......................................................................................................7

4數(shù)據(jù)集處理................................................................................................................8

4.1數(shù)據(jù)預(yù)處理..................................................................................................8

4.2數(shù)據(jù)增強(qiáng)......................................................................................................9

4.3切分訓(xùn)練集和測(cè)試集................................................................................10

5模型構(gòu)建及評(píng)估分析..............................................................................................10

5.1模型構(gòu)建....................................................................................................10

5.1.1模型網(wǎng)絡(luò)結(jié)構(gòu).....................................................................................10

5.1.2創(chuàng)建模型.............................................................................................11

I

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

5.2模型編譯....................................................................................................13

5.2.1優(yōu)化器設(shè)置.........................................................................................13

5.2.2損失函數(shù)設(shè)置.....................................................................................13

5.3模型訓(xùn)練與調(diào)優(yōu)........................................................................................13

5.3.1模型訓(xùn)練設(shè)置.....................................................................................13

5.3.2學(xué)習(xí)率調(diào)優(yōu).........................................................................................13

5.3.3batch_size設(shè)置................................................................................15

5.4系統(tǒng)部署....................................................................................................15

5.4.1基于python和Android的系統(tǒng)設(shè)計(jì)實(shí)現(xiàn).......................................15

5.4.2圖片識(shí)別功能.....................................................................................16

5.4.3信息展示功能.....................................................................................16

6小結(jié)..........................................................................................................................18

參考資料.........................................................................................................................20

II

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

基于深度學(xué)習(xí)AlexNet模型的藝術(shù)畫風(fēng)格識(shí)別方法設(shè)計(jì)

1引言

一個(gè)圖畫作品主要是由內(nèi)容和風(fēng)格組成,對(duì)于內(nèi)容相同的圖畫、不同圖畫

風(fēng)格的作者會(huì)使得最后作品的感觸也不盡相同。近幾年隨著AI和深度學(xué)習(xí)的

發(fā)展,我們可以使用神經(jīng)網(wǎng)絡(luò)提取作品的圖畫風(fēng)格、使之融合到我們自己的作

品上。

1.1項(xiàng)目背景

據(jù)網(wǎng)絡(luò)統(tǒng)計(jì)顯示、社交軟件WeChat每一個(gè)月的使用用戶已達(dá)到10億之

多。如何讓自己在上面的發(fā)送出去的圖片更有特色,它成為一個(gè)值得我們?nèi)ニ?/p>

考探討的課題。隨著技術(shù)的提升、由深度學(xué)習(xí)所引發(fā)的AI熱潮,已經(jīng)開(kāi)始越

來(lái)越廣泛地影響到社會(huì)中的各層各面,例如人臉識(shí)別、在線翻譯等。在這其中

AI和圖像的風(fēng)格碰在一起產(chǎn)生了火花。在深度學(xué)習(xí)和藝術(shù)中引起了關(guān)注,也降

低了人們創(chuàng)作作品的難度。

一個(gè)圖像的內(nèi)容在人們看來(lái)是一目了然的,但是圖畫中卻是完全不同的。

我們雖然可以輕易的描述出圖畫的內(nèi)容,但是對(duì)于圖畫的風(fēng)格我們只能粗略的

道出其中的冰山一角。圖像的氣概發(fā)展至今、已經(jīng)出現(xiàn)了各種各樣的派系。

圖畫在計(jì)算機(jī)看來(lái)中就是一個(gè)個(gè)像素點(diǎn)、圖畫的內(nèi)容和氣概的信息就蘊(yùn)藏在這

些由一個(gè)個(gè)像素點(diǎn)組成的矩陣中。

1.2開(kāi)發(fā)環(huán)境與工具

1.2.1Python簡(jiǎn)介

Python是由GuidoRossum于1989年誕生。

2005-2012年,Google大量應(yīng)用python,引起廣泛關(guān)注,促進(jìn)了python

的發(fā)展。

2012年云計(jì)算興起,其中最主要的OpenStack框架由python開(kāi)發(fā),使得

python火了一把。2014年AI興起,AI中大量關(guān)鍵算法都是由python開(kāi)發(fā),

因?yàn)閜ython中含有很好的第三方庫(kù)特別適合做算法,加上入門低、開(kāi)發(fā)效率

高,這樣又進(jìn)一步促使python的火爆。

2017年python走進(jìn)大眾視野(指非IT人士),走進(jìn)學(xué)科教育。

1

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

如今已經(jīng)發(fā)展成一門廣泛使用的高級(jí)編程語(yǔ)言。它可應(yīng)用于網(wǎng)絡(luò)爬蟲(chóng)、機(jī)

器學(xué)習(xí)、數(shù)據(jù)分析和可視化等多種領(lǐng)域。它的特點(diǎn)是開(kāi)源(免費(fèi))、豐富的

庫(kù)、簡(jiǎn)單易學(xué)、支持跨平臺(tái)而且可移植性強(qiáng)。

1.2.2Tensorflow簡(jiǎn)介

作為數(shù)據(jù)可視化的產(chǎn)品,與數(shù)據(jù)庫(kù)相連接,呈現(xiàn)波動(dòng)的數(shù)據(jù)變化,更加直

覺(jué)的進(jìn)行數(shù)據(jù)分析和可視化呈現(xiàn)。它實(shí)現(xiàn)數(shù)據(jù)與圖形的完滿嫁接,它的程序很

容易動(dòng)手,各公司可以用它將較多的數(shù)據(jù)拖放至數(shù)字“畫表”上,瞬間就能創(chuàng)

建好各種圖表。這一軟件的理念是,每一個(gè)界面的數(shù)據(jù)越容易操作,公司對(duì)自

己在所在業(yè)務(wù)范圍里的工作到底是正確還是錯(cuò)誤,就能了解得越滲透。

1.2.3Jypyternotebook簡(jiǎn)介

它是一種Web應(yīng)用,它能使得用戶將文本、方程、代碼和其他所有的內(nèi)

容全部組合到一個(gè)方便分享的文件中,非常方便研究和教學(xué)。在初始的python

與ipython中,打印顯示在單獨(dú)的彈窗中進(jìn)行,而文字以及各種函數(shù)和類底

本包含在獨(dú)立的文件中。但是它能將這一切集中到一點(diǎn),讓用戶看起來(lái)跟明

了。

它特別適合做數(shù)據(jù)的預(yù)處理,而且用途可以包括數(shù)據(jù)清洗和探索、深度

學(xué)習(xí)和大數(shù)據(jù)的分析。

安裝它,最簡(jiǎn)單的方法就是使用anaconda,其版本附帶并包含了它。

1.2.4Python第三方庫(kù)簡(jiǎn)介

最和睦的網(wǎng)絡(luò)爬蟲(chóng)功能庫(kù)requests,是實(shí)現(xiàn)的簡(jiǎn)單易用的HTTP庫(kù),使用

起來(lái)比其他的庫(kù)更簡(jiǎn)便很多,Python的三方庫(kù)在使用之前要先進(jìn)行安裝。

正則表達(dá)式re解析和處理功能庫(kù),里面包含了多種字符串匹配的方法。

作為HTML和XML的解析庫(kù),BeautifulSoup可以對(duì)HTML、XML格式進(jìn)行

刨析,從中提取信息;還可以對(duì)所提供的任何式子進(jìn)行相關(guān)的數(shù)據(jù)爬取,而且

對(duì)它進(jìn)行無(wú)規(guī)則解析。

NumPy庫(kù)是Python數(shù)據(jù)分析的基礎(chǔ),是處理數(shù)組的Python庫(kù),NumPy庫(kù)

的數(shù)據(jù)結(jié)構(gòu)比Python自帶的更加高效。

pandas庫(kù)數(shù)據(jù)分析并保存為csv文件,python數(shù)據(jù)分析高層次應(yīng)用庫(kù),

還可以進(jìn)行數(shù)據(jù)清洗。

matplotlib繪圖庫(kù),主要是偏向于二維繪圖包括折線圖、條形圖、扇形

2

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

圖、散點(diǎn)圖、直方圖等等。

pyecharts:繪圖。

statsmodels:統(tǒng)計(jì)建模。

wordcloud、scipy、jieba:生成中文詞云的。

pylab:設(shè)置畫圖能顯示中文。

2需求分析

2.1可行性需求分析

1.技術(shù)可行性

Python編程語(yǔ)言通俗易懂、是一種動(dòng)態(tài)的面對(duì)對(duì)象的腳本語(yǔ)言。這讓它對(duì)

于爬蟲(chóng)領(lǐng)域有著巨大的優(yōu)勢(shì),是當(dāng)前爬蟲(chóng)的首選語(yǔ)言。本項(xiàng)目便是利用python

采集數(shù)據(jù),通過(guò)python第三方庫(kù)進(jìn)行數(shù)據(jù)分析、與數(shù)據(jù)可視化的展示。

Tableau是一款對(duì)人操作十分友好的軟件,利用它對(duì)數(shù)據(jù)可視化進(jìn)行展示和分

析也十分便捷。

2.項(xiàng)目可行性

隨著計(jì)算機(jī)技術(shù)圖像處理方向的不斷發(fā)展和推廣,古代壁畫圖像也向著數(shù)

字化時(shí)代邁進(jìn),如何去使用這些巨量數(shù)字資源是一個(gè)有待解決的問(wèn)題,嚴(yán)重的

需求就是確定探究對(duì)象。對(duì)圖畫進(jìn)行篩選與分開(kāi),方便更直觀快速有效地從數(shù)

字圖畫庫(kù)中搜羅目標(biāo)圖像,以便對(duì)圖像進(jìn)行有秩序地管理和維護(hù)。與傳統(tǒng)的特

點(diǎn)的提取方式有一定的效果,但需要豐富的學(xué)習(xí)知識(shí),同時(shí)它獲取到的特征會(huì)

存在表達(dá)不充分和缺乏能力的問(wèn)題。因此需要將卷積神經(jīng)網(wǎng)絡(luò)用于圖畫分類,

借鑒經(jīng)典的神經(jīng)網(wǎng)絡(luò)構(gòu)造,通過(guò)所具有的多向擴(kuò)展特點(diǎn)的網(wǎng)絡(luò)模型來(lái)實(shí)現(xiàn)圖畫

圖像的有效分類。

2.2數(shù)據(jù)集采集功能分析

傳統(tǒng)的畫像的分類模型框架包括特征的提取、特征的編碼、特征的匯聚和

分類器4部分。這個(gè)時(shí)期特征提取原理是上是人工進(jìn)行設(shè)計(jì),所以特征的提取

的好壞會(huì)直接影響到分類后模型的性能。為解決圖畫圖像特征的提取各種各樣

的問(wèn)題,將卷積神經(jīng)網(wǎng)絡(luò)使用到圖像的分類,然后借鑒經(jīng)典的卷積網(wǎng)alexnet

的網(wǎng)絡(luò)結(jié)構(gòu),從主體上考慮壁畫數(shù)據(jù)的量和網(wǎng)絡(luò)結(jié)構(gòu)對(duì)其影響的各種因素。

3

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

2.3關(guān)鍵技術(shù)分析

2.3.1AlexNet模型與傳統(tǒng)的圖畫分類

模型的結(jié)構(gòu)如圖片2-1所示;

圖2-1AlexNet模型展示圖2-2Alexnet模型

AlexNet是首個(gè)成功展示卷積神經(jīng)網(wǎng)絡(luò)的潛力的模型,網(wǎng)絡(luò)結(jié)構(gòu)如圖2-2

Alexnet模型所示,size是卷積核和池化核大小與數(shù)目,stride表示為步長(zhǎng),

drop—outrate是輸出的概率,class是各個(gè)類別的個(gè)數(shù)。由圖可以看出,

AlexNet網(wǎng)絡(luò)是由5個(gè)卷積層與3個(gè)全連接層相互組織而成,并且采用的是雙通

道的結(jié)構(gòu),因?yàn)檫@有限于當(dāng)時(shí)的局限條件,Krizhevsky等人采用僅兩臺(tái)的gpu

服務(wù)器并行來(lái)繼續(xù)模型訓(xùn)練速度。從中看到,從最后的卷積層到全連接層的大

小或數(shù)量并沒(méi)有減半,主要由于考慮到參數(shù)大部分集中在全連接層。

2.3.2卷積神經(jīng)網(wǎng)絡(luò)原理

可視化起源于圖形學(xué)、計(jì)算機(jī)的圖形學(xué)、科學(xué)、AI以及用戶的界面等領(lǐng)

域,也是當(dāng)前計(jì)算機(jī)科學(xué)的一個(gè)重點(diǎn)研究的方向,它使用計(jì)算機(jī)對(duì)較多的信息

進(jìn)行直接的表示,以便于快速檢索信息和簡(jiǎn)單識(shí)別的能力。

數(shù)據(jù)可視化是項(xiàng)目中十分重要的一環(huán),主要通過(guò)計(jì)算機(jī)圖形圖像技術(shù)手段

展現(xiàn)出數(shù)據(jù)的基本特征或者隱含規(guī)律,它將復(fù)雜的數(shù)據(jù)轉(zhuǎn)化為更容易的方式傳

遞給受眾,并給人意想不到的洞察力,所以建立數(shù)據(jù)可視化確實(shí)可以使分析的

數(shù)據(jù)任務(wù)更清晰、更容易理解,特別是對(duì)于大規(guī)模的數(shù)據(jù)集。

2.3.3Web框架技術(shù)(Flask/Django)

可視化技術(shù)起源于圖形學(xué)、計(jì)算機(jī)圖形學(xué)、科學(xué)可視化、人工智能以及用

4

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

戶界面等領(lǐng)域,也是當(dāng)前計(jì)算機(jī)科學(xué)的一個(gè)重要研究方向,它利用計(jì)算機(jī)對(duì)抽

象信息進(jìn)行直觀的表示,以利于快速檢索信息和怎強(qiáng)認(rèn)知能力。

數(shù)據(jù)可視化是項(xiàng)目中十分重要的一環(huán),主要通過(guò)計(jì)算機(jī)圖形圖像技術(shù)手段

展現(xiàn)出數(shù)據(jù)的基本特征或者隱含規(guī)律,它將復(fù)雜的數(shù)據(jù)轉(zhuǎn)化為更容易的方式傳

遞給受眾,并給人意想不到的洞察力,所以建立數(shù)據(jù)可視化確實(shí)可以使分析的

數(shù)據(jù)任務(wù)更清晰、更容易理解,特別是對(duì)于大規(guī)模的數(shù)據(jù)集。

3數(shù)據(jù)采集

3.1數(shù)據(jù)集獲取分析

如圖3-1數(shù)據(jù)集訓(xùn)練及篩選流程所示;

首先,提取壁畫圖像一層的邊緣等邊緣特征;之后采用結(jié)構(gòu)不同的多通道

網(wǎng)絡(luò)對(duì)提取的一層特征進(jìn)行二層的深層籠統(tǒng),得到兩個(gè)通道的特征;

最后,融合兩個(gè)通道的特征,一塊構(gòu)建損失的函數(shù)得到篩選的結(jié)果,從而

提高模型的韌性和特征表達(dá)能力。

圖3-1數(shù)據(jù)集訓(xùn)練及篩選流程

所需的數(shù)據(jù)來(lái)自于《中國(guó)敦煌壁畫全集》與《中國(guó)絲綢之路的墓室壁畫》

畫冊(cè)中的掃描版,時(shí)間上至漢代,下至清代,從地域上跨越東部、中部與西

部,覆蓋了不同朝代與不同地區(qū)的壁畫題材。

收集到的不同形態(tài)圖片如圖3-2所示,不同朝代的圖片如圖3-3所示,同

地域圖片如圖3-4所示;

5

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

圖3-2不同形態(tài)的圖片

圖3-3不同朝代的圖片

6

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

圖3-4不同地域圖片

3.2數(shù)據(jù)集需求分析

針對(duì)單網(wǎng)絡(luò)可能對(duì)圖像的特點(diǎn)學(xué)習(xí)不夠充分,結(jié)合寬度的影響條件,以經(jīng)

典alexnet模型為基礎(chǔ),將網(wǎng)絡(luò)拓展到兩個(gè)通道充分提取圖畫特征,提出了一

種結(jié)合特征結(jié)合思想的網(wǎng)絡(luò)模型用于傳統(tǒng)圖畫圖像的快速篩選分離。

圖3-5網(wǎng)絡(luò)拓展流程

如圖3-5所示為網(wǎng)絡(luò)拓展流程。

3.3編程實(shí)現(xiàn)

導(dǎo)入所需庫(kù),如3-6所示;

7

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

圖3-6導(dǎo)入所需庫(kù)頁(yè)面

設(shè)置請(qǐng)求頭,偽裝成瀏覽器訪問(wèn)服務(wù)器,定義position_data存放所有數(shù)

據(jù),用于最后數(shù)據(jù)保存循環(huán)網(wǎng)頁(yè)。

4數(shù)據(jù)集處理

數(shù)據(jù)的清洗是指發(fā)現(xiàn)并修改數(shù)據(jù)文本中可辨別的錯(cuò)誤的最后一個(gè)運(yùn)行程

序,包括檢查數(shù)據(jù)相同性,處理不相關(guān)值和缺失的數(shù)據(jù)。

數(shù)據(jù)的質(zhì)量評(píng)審重要方法還包括數(shù)據(jù)的預(yù)處理,數(shù)據(jù)處理是實(shí)現(xiàn)所有數(shù)據(jù)

序列化的必要過(guò)程,是檢查數(shù)據(jù)的重要環(huán)節(jié),也是實(shí)現(xiàn)數(shù)據(jù)共享的重要步驟。

對(duì)天氣的預(yù)報(bào)、圖書(shū)的存放、超級(jí)市場(chǎng)、馬路鐵路、航天、工農(nóng)業(yè)、軍方

的事務(wù),數(shù)據(jù)的預(yù)處理深入其中,人類的發(fā)展從古至今都離開(kāi)不了數(shù)據(jù)的處

理,現(xiàn)代的社會(huì),人們生活與數(shù)據(jù)處理聯(lián)系越來(lái)越密切,離開(kāi)了數(shù)據(jù)處理將無(wú)

法生存。

沒(méi)有了數(shù)據(jù)處理,股票市場(chǎng)、銀行、鐵路局、天氣預(yù)報(bào)都將無(wú)法正常進(jìn)

行。

4.1數(shù)據(jù)預(yù)處理

通過(guò)對(duì)收集的傳統(tǒng)圖畫藝術(shù)圖畫進(jìn)行研究,將數(shù)據(jù)集的分類設(shè)定為佛、

薩、祥、世俗、弟子、動(dòng)植物和建筑等藝術(shù)形象。對(duì)采集到的數(shù)據(jù)進(jìn)行縮小放

大、亮度改變、降噪和旋轉(zhuǎn)等數(shù)據(jù)集加強(qiáng)算法來(lái)進(jìn)行擴(kuò)展。

8

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

圖4-1圖畫分類數(shù)據(jù)集示例

4.2數(shù)據(jù)增強(qiáng)

為了分析卷積層數(shù)和全連接層數(shù)對(duì)圖像圖像特征表達(dá)的影響,選擇的學(xué)習(xí)

率為0.000l的Aclam優(yōu)化器用于模型的訓(xùn)練,每個(gè)實(shí)驗(yàn)均運(yùn)行一萬(wàn)步,并

且目標(biāo)的優(yōu)化函數(shù)、參數(shù)更新方式都是一樣的。在雙通道特征提取層Conv.33

結(jié)構(gòu)的基礎(chǔ)上,各選擇2,3,4層全連接層進(jìn)行對(duì)比實(shí)驗(yàn)。圖4-2是運(yùn)行時(shí)

間對(duì)比。圖4-2是在不同全連接層模型準(zhǔn)確率隨迭代變化的曲線。

9

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

圖4-2不同全連接層準(zhǔn)確率迭代曲線

4.3切分訓(xùn)練集和測(cè)試集

二進(jìn)制:保存爬取的圖片、動(dòng)態(tài)頻、音頻等不同式子的數(shù)據(jù)。

這里我用to_csv()方法保存清洗后的數(shù)據(jù),文件名為data,index=false

輸出不顯示索引值,編碼方式為gbk,如圖4-3所示。

圖4-3數(shù)據(jù)存儲(chǔ)頁(yè)面

5模型構(gòu)建及評(píng)估分析

5.1模型構(gòu)建

5.1.1模型網(wǎng)絡(luò)結(jié)構(gòu)

導(dǎo)入相關(guān)庫(kù),使用pandas加載源數(shù)據(jù),如圖5-1所示。

10

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

圖5-1數(shù)據(jù)準(zhǔn)備頁(yè)面

5.1.2創(chuàng)建模型

圖5-2比較結(jié)果

與結(jié)合預(yù)設(shè)計(jì)的經(jīng)典的模型相比,準(zhǔn)確度大概有1%-5%的提升,如圖5-3

顯示。主要是因?yàn)槟P筒⑽丛谶@樣的數(shù)據(jù)集上進(jìn)行預(yù)處理,而是直接從圖畫自

身開(kāi)始訓(xùn)練模型,提取的特征更接近壁畫圖像特點(diǎn),說(shuō)明自然圖畫與融合了人

的客觀設(shè)計(jì)思想的壁畫圖像在特點(diǎn)提取方面有一定的差距。

11

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

圖5-3與結(jié)合處理的模型相比

與一些改過(guò)的神經(jīng)模型相比,準(zhǔn)確度均有大約5%的提高,如圖5-4顯示。

說(shuō)明模型的設(shè)計(jì)的網(wǎng)絡(luò)層可以學(xué)習(xí)到更加豐富的特征,同時(shí)不同的積核的使用

也豐富了網(wǎng)絡(luò)的表現(xiàn)能力。

圖5-4與改過(guò)的神經(jīng)模型相比

12

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

5.2模型編譯

5.2.1優(yōu)化器設(shè)置

隨機(jī)梯度:基本是通過(guò)梯度的下降法,使得網(wǎng)絡(luò)的參數(shù)不斷擴(kuò)散到全部

(或者局部)min值,但是由于網(wǎng)絡(luò)層太多,需要通過(guò)反向的傳播算法,把誤

差層層地從輸出傳播到輸入,更新網(wǎng)絡(luò)參數(shù)。由于方向是函數(shù)值變大的最快的

方向,因此負(fù)梯度方向則是函數(shù)變小的最快的方向。沿著負(fù)梯度方向一步一步

變化,便能快速地到函數(shù)min值。實(shí)現(xiàn)SGD優(yōu)化算法,帶動(dòng)量?jī)?yōu)化算法,帶動(dòng)

量SGD優(yōu)化算法,并且可擁有多項(xiàng)。

5.2.2損失函數(shù)設(shè)置

圖5-5數(shù)據(jù)展示頁(yè)面

如圖5-5,平均絕對(duì)誤差,即計(jì)算預(yù)測(cè)值與真實(shí)值的差的絕對(duì)值,衡量預(yù)

測(cè)值與真實(shí)值之間距離的平均誤差幅度,范圍為0到無(wú)窮大。

5.3模型訓(xùn)練與調(diào)優(yōu)

5.3.1模型訓(xùn)練設(shè)置

數(shù)據(jù)、損失函數(shù)、模型、迭代訓(xùn)練。這五個(gè)步驟中數(shù)據(jù)和損失函數(shù)是沒(méi)法

改變的,而在迭代訓(xùn)練的過(guò)程中模型的一些參數(shù)和優(yōu)化器中的一些緩存是會(huì)變

的,需要保留這些信息,另外還需要保留次數(shù)和學(xué)習(xí)率。

5.3.2學(xué)習(xí)率調(diào)優(yōu)

梯度更新公式:θ=θ?η??θJ(θ);

根據(jù)上述公式,如果學(xué)習(xí)率較大,那么參數(shù)的更新度就會(huì)很快,可以加快

網(wǎng)絡(luò)的速度,但如果學(xué)習(xí)率過(guò)大,可能會(huì)導(dǎo)致參數(shù)在最優(yōu)解附近變化,代價(jià)函

數(shù)難以改變,甚至可能會(huì)錯(cuò)過(guò)最優(yōu)解,導(dǎo)致參數(shù)向錯(cuò)誤的方向,代價(jià)函數(shù)不僅

不收斂反而可能爆炸(如圖5-6(a)所示)。如果學(xué)習(xí)率較小,網(wǎng)絡(luò)可能不

會(huì)錯(cuò)過(guò)最優(yōu)點(diǎn),但是網(wǎng)絡(luò)學(xué)習(xí)速度變慢。同時(shí),如果學(xué)習(xí)率小,則很可能會(huì)陷

13

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

入局部最優(yōu)點(diǎn)(如圖5-6(b)所示)。

因此,找到合適的學(xué)習(xí)率,才能使代價(jià)函數(shù)以較快的速度逼近全局最優(yōu)

解。

圖5-6不同學(xué)習(xí)率下的梯度更新

在不同的學(xué)習(xí)階段指定的學(xué)習(xí)率,在每段內(nèi)學(xué)習(xí)率相同。該過(guò)程可為:

boundaries=[100,200]#指定學(xué)習(xí)率改變的邊界點(diǎn)為100和200;

values=[1.0,0.5,0.1]#指定不同區(qū)間下的學(xué)習(xí)率大小;

learning_rate=1.0;

學(xué)習(xí)率成指數(shù)衰減,每次將當(dāng)前學(xué)習(xí)率乘以給定的衰減率得到下一個(gè)學(xué)習(xí)

率。指數(shù)衰減的為:new_learning_rate=last_learning_rate*gamma;

每次將當(dāng)前學(xué)習(xí)率乘以給定的衰減率的自然指數(shù)得到下一個(gè)學(xué)習(xí)率。其公

式表達(dá)為new_learning_rate=learning_rate*?―???????????;學(xué)習(xí)率按照

指定的輪數(shù)間隔進(jìn)行衰減,該過(guò)程learning_rate=0.5#學(xué)習(xí)率初始,

step_size每訓(xùn)練30個(gè)epoch進(jìn)行一次衰減。

gamma=0.1#衰減率;

learning_rate=0.5ifepoch<30

learning_rate=0.05if30<=epoch<60

learning_rate=0.005if60<=epoch<90;

學(xué)習(xí)率按特定間隔進(jìn)行衰減,與間隔衰減的區(qū)別在于:間隔衰減的epoch

間隔是單一且固定的,而多間隔衰減中的epoch間隔是預(yù)先指定的多間隔。該

過(guò)程為:

learning_rate=0.5#學(xué)習(xí)率初始值

milestones=[30,50]#指定輪數(shù)間隔

14

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

gamma=0.1#衰減率

learning_rate=0.5ifepoch<30

learning_rate=0.05if30<=epoch<50

learning_rate=0.005if50<=epoch;

當(dāng)loss停止下降時(shí),降低學(xué)習(xí)率。其思想是:一旦模型表現(xiàn)不再提升,

將學(xué)習(xí)率降低2-10倍對(duì)模型的訓(xùn)練往往有益。此外,每降低一次學(xué)習(xí)率后,

將會(huì)進(jìn)入一個(gè)冷靜期。在冷靜期內(nèi)不會(huì)監(jiān)控loss變化也不會(huì)進(jìn)行衰減。當(dāng)冷

靜期結(jié)束后,會(huì)繼續(xù)監(jiān)控loss的上升或下降。

5.3.3batch_size設(shè)置

在訓(xùn)練中通常會(huì)將batch_size設(shè)置較大,從而使得GPU或者CPU滿載運(yùn)

行,提高訓(xùn)練的速度。并且會(huì)使梯度下降的方向更加準(zhǔn)確。并且不使用較小的

batch_size,如果batch_size為1時(shí),因?yàn)槊恳粋€(gè)樣本都具有自己獨(dú)特的特

征,會(huì)對(duì)梯度的計(jì)算產(chǎn)生波動(dòng),即模型的收斂是不利的。梯度的方差表示為:

1

Var(g)=Var(∑?,))

??=1?(????

公式解讀:D(cx)=c^2D(x);

m即BATCH_SIZE設(shè)置大小,即增大BATCH_SIZE的大小可以使得梯度方差

的大小減小。直接使梯度更加準(zhǔn)確。

但在測(cè)試中:我們通常會(huì)將batch_size設(shè)置為1,主要是因?yàn)橐恍?shù)據(jù)

統(tǒng)一的操作來(lái)使其可以放到一個(gè)batch中(例如:cv領(lǐng)域中的將圖像調(diào)整大小

致相同,NLP領(lǐng)域中Bert模型也會(huì)將token長(zhǎng)度的向同一個(gè)batch中最大的長(zhǎng)

度對(duì)齊),這樣就會(huì)帶來(lái)一個(gè)問(wèn)題,模型效果的降低,所以在測(cè)試時(shí):為了盡

可能的表現(xiàn)模型的能力,將其設(shè)置batch_size為1。

5.4系統(tǒng)部署

5.4.1基于python和Android的系統(tǒng)設(shè)計(jì)實(shí)現(xiàn)

在Python中開(kāi)發(fā)基于Android的APP相對(duì)來(lái)說(shuō)比較便捷,需要調(diào)用

Python的APP開(kāi)發(fā)庫(kù)kivy。

使用kivy庫(kù)開(kāi)發(fā)APP的時(shí)候,可使用kv描述文檔與各模塊的參數(shù)和動(dòng)作

來(lái)進(jìn)行更加簡(jiǎn)潔的APP開(kāi)發(fā)。

獲取圖片分別有兩種方式,一種可以通過(guò)文件選擇器然后在設(shè)備內(nèi)存中獲

取,另外一種方法就是通過(guò)調(diào)用攝像頭拍照獲取。通過(guò)文件選擇器在設(shè)備內(nèi)存

15

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

中獲取圖片,用到了kivy庫(kù)中的FileChooser模塊。

使用該模塊的FileChooserIconView子模塊,可以小視圖的方式瀏覽文件

夾。然后當(dāng)用戶選擇文件時(shí),獲取改文件的完整路徑,后臺(tái)可從該路徑讀取圖

片數(shù)據(jù)。

調(diào)用攝像頭拍照,用到了kivy庫(kù)中的核心模塊Camera,使用這個(gè)模塊即

直接調(diào)用攝像頭,然后通過(guò)獲取截圖攝像頭內(nèi)的畫面,以達(dá)到拍照的效果。

5.4.2圖片識(shí)別功能

所有該功能進(jìn)行訪問(wèn)本地文件,將數(shù)據(jù)輸入已訓(xùn)練好的模型獲取輸出結(jié)

果。這一步的需要用到TensorFlow庫(kù)import_meta_graph函數(shù),通過(guò)meta文

件加載已訓(xùn)練好的模型結(jié)構(gòu)和參數(shù)。然后使用TensorFlow中的

get_default_graph獲取已加載的模型。獲取到模型之后,還要獲取輸入節(jié)點(diǎn)

和輸出節(jié)點(diǎn),需要通過(guò)get_tensor_by_name來(lái)獲取節(jié)點(diǎn),直至獲取到對(duì)應(yīng)的

節(jié)點(diǎn),就可傳入數(shù)據(jù)并進(jìn)行預(yù)測(cè)和輸出。結(jié)果如圖5-7所示。

圖5-7識(shí)別圖片結(jié)果對(duì)比

5.4.3信息展示功能

將預(yù)測(cè)的結(jié)果處理后展示在信息顯示界面。識(shí)別圖片功能預(yù)測(cè)輸出的是獨(dú)

熱編碼,而信息展示功能第一個(gè)讀取num_name.npy文件獲取保存的字典格式信

息(字典中,獨(dú)熱編碼作為鍵,與獨(dú)熱編碼對(duì)應(yīng)的圖像名稱作為值),再通過(guò)預(yù)

測(cè)獨(dú)熱編碼在字典獲取其對(duì)應(yīng)的圖像名稱,然后讀取info.npy文件獲取鍵值分

別為圖像名稱與圖像介紹信息的字典格式信息,然后在字典中通過(guò)圖像名稱獲

16

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

取對(duì)應(yīng)的圖像介紹信息。結(jié)果如圖5-8所示。

圖5-8信息展示界面

實(shí)際應(yīng)用時(shí),為保證結(jié)果能更好的滿足用戶需求,需要在實(shí)際應(yīng)用時(shí)做一

些額外的處理以擴(kuò)大預(yù)測(cè)的結(jié)果集。首先將用戶需要識(shí)別的圖片copy為100

份,再將100份數(shù)據(jù)使用已訓(xùn)練好的模型進(jìn)行識(shí)別預(yù)測(cè),然后統(tǒng)計(jì)其識(shí)別結(jié)果

中每種結(jié)果出現(xiàn)的頻率,取頻率出現(xiàn)最高的五種結(jié)果,最后將結(jié)果和其對(duì)應(yīng)的

圖像展示在信息顯示界面,其流程如圖5-9所示;實(shí)驗(yàn)結(jié)果如圖5-10所示。

圖5-9用戶輸入到結(jié)果展示處理過(guò)程

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論