版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024房屋買賣合同反訴狀
- 2024煤礦安全監(jiān)控系統(tǒng)建設(shè)與維護(hù)合同
- 10 我們愛(ài)和平 第一課時(shí) 說(shuō)課稿-2023-2024學(xué)年道德與法治六年級(jí)下冊(cè)統(tǒng)編版
- 5G時(shí)代2024年電信工程合同管理策略
- 2024年雨污分流工程承包細(xì)則標(biāo)準(zhǔn)協(xié)議
- 2025年度草原畜牧業(yè)生產(chǎn)與市場(chǎng)拓展合作合同3篇
- 專業(yè)凈水設(shè)備定期更新濾芯協(xié)議(2024)版B版
- 福建省南平市武夷山第三中學(xué)2020-2021學(xué)年高一數(shù)學(xué)理月考試題含解析
- 福建省南平市松溪縣職業(yè)中學(xué)2021-2022學(xué)年高一數(shù)學(xué)文模擬試卷含解析
- 生活學(xué)習(xí)收獲成長(zhǎng)
- 電子招標(biāo)投標(biāo)交易平臺(tái)試題附有答案
- 征信系統(tǒng)規(guī)劃方案
- 品牌運(yùn)營(yíng)部工作職責(zé)
- 產(chǎn)褥期的生理變化
- 土壤肥料學(xué)智慧樹(shù)知到期末考試答案2024年
- MOOC 氣候變化與人類社會(huì)-南京信息工程大學(xué) 中國(guó)大學(xué)慕課答案
- 廠區(qū)綠化養(yǎng)護(hù)方案及措施
- 2024年初中信息技術(shù)會(huì)考試題題庫(kù)
- (高清版)DZT 0322-2018 釩礦地質(zhì)勘查規(guī)范
- 銀行安全教育培訓(xùn)課件
- 2023年中考語(yǔ)文二輪復(fù)習(xí):詞意表達(dá) 真題練習(xí)題匯編(含答案解析)
評(píng)論
0/150
提交評(píng)論