版權(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)境與工具..........................................................................................2
1.2.1Python簡(jiǎn)介..........................................................................................2
1.2.2Tensorflow簡(jiǎn)介..................................................................................3
1.2.3Python第三方庫(kù)簡(jiǎn)介..........................................................................3
1.2.4PythonCharm簡(jiǎn)介................................................................................4
1.2.5VisualStudioCode簡(jiǎn)介......................................................................4
2需求分析....................................................................................................................4
2.1可行性需求分析..........................................................................................4
2.2數(shù)據(jù)集分析..................................................................................................5
2.3關(guān)鍵技術(shù)分析....................................................................................................5
2.3.1數(shù)據(jù)采集技術(shù).........................................................................................5
2.3.2LSTM技術(shù)................................................................................................6
3數(shù)據(jù)采集....................................................................................................................6
3.1數(shù)據(jù)集需求分析..........................................................................................6
3.2數(shù)據(jù)集獲取分析..........................................................................................7
3.3數(shù)據(jù)集下載..................................................................................................8
4數(shù)據(jù)集處理................................................................................................................8
4.1數(shù)據(jù)預(yù)處理..................................................................................................9
4.2切分訓(xùn)練集和測(cè)試集................................................................................11
5模型構(gòu)建及評(píng)估分析..............................................................................................11
5.1模型構(gòu)建....................................................................................................11
5.1.1模型網(wǎng)絡(luò)結(jié)構(gòu)........................................................................................11
5.1.2創(chuàng)建LSTM模型...................................................................................12
5.2模型編譯...........................................................................................................13
5.3模型訓(xùn)練與調(diào)優(yōu)...............................................................................................13
I
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
5.3.1模型訓(xùn)練...............................................................................................13
5.3.2學(xué)習(xí)率調(diào)優(yōu)...........................................................................................14
5.4出現(xiàn)問(wèn)題與解決方案.......................................................................................14
5.4.1問(wèn)題分析...............................................................................................14
5.4.2解決方案...............................................................................................15
5.5模型部署...........................................................................................................16
5.5.1前端設(shè)計(jì)...............................................................................................16
5.5.2系統(tǒng)效果展示及分析...........................................................................17
6小結(jié)..........................................................................................................................18
參考資料.........................................................................................................................20
II
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
基于深度學(xué)習(xí)LSTM模型的音樂(lè)分類(lèi)方法設(shè)計(jì)
1引言
在人類(lèi)第一次構(gòu)思可編程計(jì)算機(jī)的時(shí)候,就已經(jīng)開(kāi)始思考如何才能計(jì)算機(jī)變
得更為智能。如今,人工智能(artifcialintelligence,AI)已經(jīng)成為一個(gè)正
蓬勃發(fā)展且具有眾多實(shí)際應(yīng)用的領(lǐng)域。我們都希望通過(guò)智能軟件在工業(yè)、制造
業(yè)、醫(yī)學(xué)以及科學(xué)等領(lǐng)域發(fā)揮重要作用。人工智能早期階段,那些用人類(lèi)的智
力很難解決、但對(duì)計(jì)算機(jī)來(lái)說(shuō)比較簡(jiǎn)單的問(wèn)題很快得到解決,例如那些需要通
過(guò)一系列數(shù)學(xué)規(guī)則來(lái)描述的問(wèn)題。解決那些人類(lèi)很容易就能執(zhí)行、但卻很難形
式化描述的任務(wù)是人工智能的一大挑戰(zhàn),比如識(shí)別人們說(shuō)的話或者圖像中的事
物。對(duì)于這些問(wèn)題,人類(lèi)往往可以憑借直覺(jué)輕易且直接地解決。
而深度學(xué)習(xí)的出現(xiàn)解決了上述大部分難題,它可以讓計(jì)算機(jī)從經(jīng)驗(yàn)中學(xué)習(xí),
并根據(jù)層次化的概念體系去理解世界,每個(gè)概念則通過(guò)和一些相對(duì)簡(jiǎn)單的概念
之間的關(guān)系定義。讓計(jì)算機(jī)從經(jīng)驗(yàn)獲取知識(shí),避免了人類(lèi)自己去手動(dòng)的指定計(jì)
算機(jī)所需要知道的知識(shí)而是讓它更加接近人類(lèi)本身的學(xué)習(xí)功能。而且層次化的
概念可以讓計(jì)算機(jī)從構(gòu)建簡(jiǎn)單的概念進(jìn)一步去理解更為復(fù)雜的概念。
1.1項(xiàng)目背景
隨著互聯(lián)網(wǎng)的不斷高速發(fā)展,數(shù)字音樂(lè)以極快的速度增長(zhǎng)。面對(duì)海量的音樂(lè),
如何快速準(zhǔn)確的檢索出用戶想要的音樂(lè)變的越來(lái)越重要了。而音樂(lè)分類(lèi)作為音
樂(lè)信息檢索的重要組成部分成為近年來(lái)的熱點(diǎn)。傳統(tǒng)的音樂(lè)分類(lèi)方法是首先手
動(dòng)提取特征,然后再使用機(jī)器學(xué)習(xí)進(jìn)行分類(lèi),這種方法會(huì)產(chǎn)生兩個(gè)缺陷,一是手
動(dòng)提取特征很難保證特征的有效性和準(zhǔn)確性;二是傳統(tǒng)的機(jī)器學(xué)習(xí)分類(lèi)方法在
多分類(lèi)問(wèn)題上表現(xiàn)不佳,且無(wú)法進(jìn)行大規(guī)模數(shù)據(jù)的訓(xùn)練。針對(duì)以上問(wèn)題,本文提
出了一種基于深度神經(jīng)網(wǎng)絡(luò)的音樂(lè)流派分類(lèi)的方法,并分析了不同結(jié)構(gòu)的深度
神經(jīng)網(wǎng)絡(luò)對(duì)音樂(lè)流派分類(lèi)的影響。
音樂(lè)是一種重要的音頻數(shù)據(jù),自動(dòng)音樂(lè)分類(lèi)的實(shí)現(xiàn)是音頻分類(lèi)的一個(gè)重要
分支。音樂(lè)流派是描述音樂(lè)內(nèi)容最流行的方式之一,在音樂(lè)信息檢索、音樂(lè)推
薦和在線音樂(lè)訪問(wèn)等方面有著廣泛的應(yīng)用叫。音樂(lè)流派是用來(lái)描述大量音樂(lè)收
藏的高級(jí)描述符,它們有助于識(shí)別音樂(lè)作品中的某些共同特征。人類(lèi)認(rèn)識(shí)到音
樂(lè)屬于不同的流派,如爵士樂(lè)、藍(lán)調(diào)、古典、搖滾、金屬朋克、嘻哈、流行音
樂(lè)、電子等。這種表征通常是基于人耳所感受到的聲學(xué)感覺(jué)。不同的音樂(lè)流派
1
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
通常被寬松地定義為有些歌曲可能被不同的個(gè)體根據(jù)他們的興趣分類(lèi)成不同的
流派。音樂(lè)流派已經(jīng)被廣泛用于大型音樂(lè)數(shù)據(jù)庫(kù)組織、音樂(lè)商店和音樂(lè)收藏的
目錄中。在數(shù)字化時(shí)代之后,大量的信息都是文字的、圖形的、數(shù)字的,所有
這些都是在一眨眼的時(shí)間里被處理的,自動(dòng)化的音樂(lè)流派類(lèi)型分類(lèi)就是這樣一
個(gè)探索領(lǐng)域。隨著電子音樂(lè)發(fā)行,由于模擬音頻信號(hào)和新的內(nèi)容的產(chǎn)生,音樂(lè)
內(nèi)容往往非常巨大。由于CD、DVD和磁帶不再是音樂(lè)的唯一來(lái)源,互聯(lián)網(wǎng)的出
現(xiàn)對(duì)信息的流動(dòng)有很大的控制力,即從網(wǎng)絡(luò)到世界上與這個(gè)網(wǎng)絡(luò)相連的每一個(gè)
人。從廣播到播客,從完整的音樂(lè)收藏到單支音頻樣本,只需點(diǎn)擊幾下即可下
載所有內(nèi)容其結(jié)果是大量的歌曲、音頻文件堆積如山。在各種文件夾中,使用
戶追蹤并管理他們喜歡的音樂(lè)類(lèi)型成為一個(gè)可怕的任務(wù)。將每一首歌通過(guò)標(biāo)記
為適當(dāng)?shù)念?lèi)型來(lái)隔離恰好是最符合邏輯的方法,以便管理海量數(shù)據(jù)庫(kù)中的音頻
文件。從組織音樂(lè)收藏所需的時(shí)間和人力來(lái)看,由于需要更有效的工具來(lái)瀏覽、
組織和動(dòng)態(tài)更新合輯,音樂(lè)流派人工分類(lèi)變得非常昂貴,因此需要自動(dòng)進(jìn)行音
樂(lè)流派分類(lèi)。當(dāng)自動(dòng)音樂(lè)流派分類(lèi)可用時(shí),對(duì)音樂(lè)推薦系統(tǒng)和自動(dòng)播放列表的
產(chǎn)生是具有正向影響作用的。這些都屬于音樂(lè)信息檢索的廣泛領(lǐng)域。音樂(lè)信息
檢索在數(shù)字音頻的處理、搜索和檢索中發(fā)揮著關(guān)鍵作用。
自動(dòng)音樂(lè)流派分類(lèi),在此可以將這個(gè)問(wèn)題進(jìn)行嚴(yán)格的定義,即通過(guò)基于音
樂(lè)特征表現(xiàn)計(jì)算分析,將音樂(lè)信號(hào)分類(lèi)為一個(gè)獨(dú)特的流派。音樂(lè)流派自動(dòng)分類(lèi)
是音樂(lè)信息檢索系統(tǒng)的一個(gè)基本組成部分。本文將音樂(lè)中的流派分類(lèi)過(guò)程分為
特征提取和多類(lèi)分類(lèi)兩個(gè)步驟。在特征提取步驟中,從音樂(lè)信號(hào)中提取代表音
樂(lè)的信息。特征提取應(yīng)該是全面的(能夠非常好的刻畫(huà)音樂(lè)的特點(diǎn)),緊湊的(需
要降低數(shù)據(jù)存儲(chǔ))和有效的(不需要太多的提取計(jì)算量)。為了滿足第一個(gè)要求,
必須進(jìn)行設(shè)計(jì),以便包括音樂(lè)的低級(jí)和高級(jí)信息。在第二步中,建立了一個(gè)機(jī)
制(算法或數(shù)學(xué)模型),基于它們的特征用于從音樂(lè)聲音的表示形式中識(shí)別它們
所對(duì)應(yīng)的音樂(lè)流派標(biāo)簽。
1.2開(kāi)發(fā)環(huán)境與工具
1.2.1Python簡(jiǎn)介
Python是由GuidoRossum于1989年誕生。
對(duì)于其他語(yǔ)言來(lái)說(shuō),Python語(yǔ)言更為簡(jiǎn)單,而它之所以簡(jiǎn)單主要體現(xiàn)在以
下兩個(gè)方面:
Python的語(yǔ)法是非常簡(jiǎn)單明了的,是初學(xué)者都能馬上上手的門(mén)語(yǔ)言。它
2
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
和其它編程語(yǔ)言相比,如果要想實(shí)現(xiàn)同一個(gè)功能毫無(wú)疑問(wèn)Python的代碼量絕對(duì)
是最少的。
雖然在很多人看來(lái)Python是“不經(jīng)意間”開(kāi)發(fā)出來(lái)的,但是它跟其他語(yǔ)言
相比照樣可以“碰一碰”。Python的第一個(gè)公開(kāi)發(fā)行版是在1991年問(wèn)世的,
從那時(shí)候開(kāi)始Python就開(kāi)始不斷的更新,成長(zhǎng)終于在一天打響了自己的名號(hào)。
在2004年的時(shí)候它的使用率直線上升,受到了越來(lái)越多的編程人士的喜愛(ài)并且
在2010年的時(shí)候斬獲了TIOBE『2010年度最佳編程語(yǔ)言』的桂冠,在次之后,
在2017年P(guān)ython在IEEESpectrum發(fā)布的『2017年度編程語(yǔ)言』排行榜中
處于第一名在2018年又獲得了TIOBE『2018年度最佳編程語(yǔ)言』的第一名,更
是在2020年和2021年中連續(xù)兩年獲得TIOBE『年度最佳編程語(yǔ)言』的冠軍。
直到如今python已經(jīng)發(fā)展成一門(mén)廣泛使用的高級(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)介
TensorFlow是谷歌的神經(jīng)網(wǎng)絡(luò)算法庫(kù),基于數(shù)據(jù)流編程的符號(hào)數(shù)學(xué)系統(tǒng),
在各種機(jī)器學(xué)習(xí)算法實(shí)現(xiàn)中得到廣泛應(yīng)用。TensorFlow擁有多層級(jí)結(jié)構(gòu),支持
GPU和TPU高性能計(jì)算,被廣泛應(yīng)用于谷歌內(nèi)部和各領(lǐng)域,并且TensorFlow由
谷歌大腦開(kāi)發(fā)和維護(hù),從2015年11月開(kāi)始開(kāi)放源代碼。
1.2.3Python第三方庫(kù)簡(jiǎn)介
requests:最友好的網(wǎng)絡(luò)爬蟲(chóng)功能庫(kù),它使用起來(lái)要比urllib更加簡(jiǎn)潔,
它繼承了urllib2的所有特性。Requests支持HTTP連接保持和連接池,支持使
用cookie保持會(huì)話,支持文件上傳,支持自動(dòng)確定響應(yīng)內(nèi)容的編碼,支持國(guó)際
化的URL和POST數(shù)據(jù)自動(dòng)編碼。
Re:正則表達(dá)式解析和處理功能庫(kù),里面包含了多種字符串匹配的方法。
BeautifulSoup:它是HTML和XML的解析庫(kù),可以對(duì)HTML、XML格式進(jìn)行
解析,從中提取相關(guān)信息;還可以對(duì)所提供的任何格式進(jìn)行相關(guān)的數(shù)據(jù)爬取,
而且對(duì)它進(jìn)行樹(shù)形解析。
NumPy庫(kù)是Python數(shù)據(jù)分析的基礎(chǔ),是處理數(shù)組的Python庫(kù),NumPy庫(kù)的
數(shù)據(jù)結(jié)構(gòu)比Python自帶的更加高效。
matplotlib:Matplotlib是Python中繪制二維、三維圖表的數(shù)據(jù)可視化工
具,它是以各種硬拷貝格式和跨平臺(tái)的交互式環(huán)境來(lái)生成出版質(zhì)量級(jí)別的圖形。
3
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
通過(guò)Matplotlib,開(kāi)發(fā)者只需要使用簡(jiǎn)單的語(yǔ)句就可以繪制復(fù)雜的直方圖,餅
狀圖,散點(diǎn)圖等等各種類(lèi)型的圖。
Sklearn:全稱SCIKIT-LEARN,是基于Numpy、SCIPY、Matplotlib等數(shù)據(jù)
科學(xué)包構(gòu)建的Python中的機(jī)器學(xué)習(xí)庫(kù),涵蓋了機(jī)器學(xué)習(xí)中幾乎所有的環(huán)節(jié),如
樣例數(shù)據(jù)、數(shù)據(jù)預(yù)處理、模型驗(yàn)證、特征選擇、分類(lèi)、回歸、聚類(lèi)、降維等。
功能非常強(qiáng)大,目前推出的Sklearn版本為0.23。與深度學(xué)習(xí)庫(kù)存在pytorch、
TensorFlow等多種框架可選不同,sklearn是python中傳統(tǒng)機(jī)器學(xué)習(xí)的首選庫(kù),
不存在其他競(jìng)爭(zhēng)者。
1.2.4PythonCharm簡(jiǎn)介
PyCharm是由jetbrains開(kāi)發(fā)的優(yōu)秀的pythonIDE,它和所有其它集成開(kāi)發(fā)
環(huán)境一樣,它可以理解Python的特性并提供卓越的生產(chǎn)力推進(jìn)工具:自動(dòng)代碼
格式化,代碼完成,重構(gòu),自動(dòng)導(dǎo)入以及一鍵代碼導(dǎo)航等。這些功能可以幫助
程序員在使用Python語(yǔ)言開(kāi)發(fā)時(shí)節(jié)約時(shí)間,提高工作效率。
1.2.5VisualStudioCode簡(jiǎn)介
VisualStudioCode(簡(jiǎn)稱vscode)是一種簡(jiǎn)化且高效的代碼編輯器,同時(shí)
支持諸如調(diào)試,任務(wù)執(zhí)行和版本管理之類(lèi)的開(kāi)發(fā)操作。它的目標(biāo)是提供一種快
速的編碼編譯調(diào)試工具。然后將其余部分留給IDE。此外vscode是開(kāi)源,免費(fèi)
的,它可以自定義配置,而且其智能提示功能特別強(qiáng)大,能支持各種格式的文
件,還包含有各種方便的快捷鍵以及強(qiáng)大的擴(kuò)展插件。
2需求分析
2.1可行性需求分析
1.技術(shù)可行性
Python是一種腳本語(yǔ)言,只要寫(xiě)好了就可以直截了當(dāng)?shù)倪\(yùn)行,它可以省
去編譯鏈接的麻煩,而對(duì)于需要多動(dòng)手實(shí)踐的初學(xué)者來(lái)說(shuō),大大減少了他們出
錯(cuò)的機(jī)會(huì)。并且python還提供了非常多完善的代碼庫(kù),幾乎覆蓋了網(wǎng)絡(luò)、文件、
GUI、數(shù)據(jù)庫(kù)、文本等大量的內(nèi)容。而在我們本次的項(xiàng)目里就離不開(kāi)其中的音頻
處理庫(kù),Librosa和PyAudio是其中的兩個(gè)音頻處理庫(kù)我們本次使用的正是
Librosa。另外,python還有一些基本的音頻功能的內(nèi)置模塊。Librosa通常用
于分析音頻信號(hào),但更適合音樂(lè)信號(hào)分析。它包括構(gòu)建一個(gè)音樂(lè)信息檢索
4
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
(MIR)系統(tǒng)的具體細(xì)節(jié),目前,Librosa已充分實(shí)現(xiàn)文檔化,并具有許多相關(guān)
的示例和教程。
2.項(xiàng)目可行性
隨著科技的不斷發(fā)展,文娛項(xiàng)目也開(kāi)始不斷創(chuàng)新,而音樂(lè)作為文娛類(lèi)不可
缺少的東西更是逐步豐富起來(lái),越來(lái)越多的人開(kāi)始去聽(tīng)不同的音樂(lè),當(dāng)遇到自
己所喜歡的音樂(lè)的時(shí)候,往往想要更多的了解它,但又止步于自己的專業(yè)水平
不高無(wú)法得知其類(lèi)型,這時(shí)音樂(lè)分類(lèi)就顯得尤為重要了,本項(xiàng)目通過(guò)python中
的Librosa庫(kù)進(jìn)行音頻解析,然后用python中RNN-LSTM模型對(duì)音頻進(jìn)行分類(lèi)。
這樣做不僅僅可以讓聽(tīng)眾一目了然的知道自己所聽(tīng)的音樂(lè)類(lèi)型是什么,更讓聽(tīng)
眾了解了自己所喜歡的音樂(lè)類(lèi)型從而去所分類(lèi)好的音樂(lè)中聽(tīng)更多相同類(lèi)型的音
樂(lè)。
2.2數(shù)據(jù)集分析
此項(xiàng)目的數(shù)據(jù)集來(lái)源于千千音樂(lè)網(wǎng),通過(guò)python爬取千千音樂(lè)網(wǎng)中的歌曲
并進(jìn)行保存。其中的音樂(lè)主要分為十個(gè)類(lèi)別,分別為:disco(迪斯科),reggae(雷
鬼),rock(搖滾),pop(流行),blues(藍(lán)調(diào)),country(鄉(xiāng)村),jazz(爵士),
classical(古典),metal(金屬),hiphop(嘻哈)。并且他們的時(shí)長(zhǎng)都為30秒,
這樣有利于使用TensorFlow框架構(gòu)建神經(jīng)網(wǎng)絡(luò)。
2.3關(guān)鍵技術(shù)分析
2.3.1數(shù)據(jù)采集技術(shù)
大數(shù)據(jù)的數(shù)據(jù)采集是一個(gè)重要的步驟,那么爬蟲(chóng)是一個(gè)工具可以幫助我們爬
取網(wǎng)站中的數(shù)據(jù),爬蟲(chóng)的主要作用就是可以幫助我們爬取想要獲取的歷史數(shù)據(jù)。
爬蟲(chóng)的本質(zhì)是一段程序。因?yàn)樾枰廊〉木W(wǎng)站下有可能會(huì)套一層另外的一個(gè)網(wǎng)
站,他是一層一層的去爬的。所以爬蟲(chóng)又被稱為網(wǎng)頁(yè)蜘蛛,網(wǎng)絡(luò)機(jī)器人。
爬蟲(chóng)根據(jù)用途可分為兩類(lèi):第一類(lèi)為聚焦爬蟲(chóng)主要針對(duì)特定的網(wǎng)站,第二類(lèi)
為通用爬蟲(chóng)通常指搜索引擎的爬蟲(chóng)。
爬蟲(chóng)的主要流程:發(fā)送請(qǐng)求–獲取響應(yīng)–提取數(shù)據(jù)。如圖2-1所示
5
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
圖2-1爬蟲(chóng)流程
爬蟲(chóng)的請(qǐng)求和響應(yīng)庫(kù):http.client,urllib,requests。
爬蟲(chóng)的框架:Scrapy,Scrapy-Redis,PySpider。
數(shù)據(jù)提取的工具:正則表達(dá)式,BeautifulSoup4,XPath,JsonPath。
注意:由于我們的某些需求,需要獲取大量的數(shù)據(jù),但是一條一條獲取太麻
煩,所以我們使用爬蟲(chóng)去批量獲取網(wǎng)站所展示的免費(fèi)數(shù)據(jù)是合法的,但是如果
我們利用爬蟲(chóng)去繞過(guò)網(wǎng)站的防護(hù)和權(quán)限從而獲取其需要收費(fèi)或者私密數(shù)據(jù)時(shí),
則為竊取數(shù)據(jù),是違法行為。
2.3.2LSTM技術(shù)
LSTM最早是由Hochreiter和Schmidhuber在1997年提出的,因?yàn)樵?012
年深度學(xué)習(xí)不斷興起,LSTM又經(jīng)過(guò)了很多代大佬的改進(jìn)和發(fā)展,開(kāi)始不斷形成
了比較完整且系統(tǒng)的LSTM框架,之后便在很多領(lǐng)域得到廣泛應(yīng)用。LSTM的提
出主要是為了解決之前RNN的長(zhǎng)期依賴問(wèn)題。傳統(tǒng)的RNN節(jié)點(diǎn)輸出僅僅由權(quán)值,
偏置和激活函數(shù)三者來(lái)決定。由于RNN是一個(gè)鏈?zhǔn)浇Y(jié)構(gòu)導(dǎo)致它的每個(gè)時(shí)間片是
使用相同的參數(shù),而LSTM不一樣,LSTM引入了門(mén)(gate)的機(jī)制用來(lái)控制特
征的流通和損失這樣才得以解決RNN的長(zhǎng)期依賴的問(wèn)題。
3數(shù)據(jù)采集
3.1數(shù)據(jù)集需求分析
打開(kāi)谷歌瀏覽器,首先輸入千千網(wǎng)網(wǎng)址/songlist,
在首頁(yè)找到流派,按F12打開(kāi)控制臺(tái),選擇netWork-XHR,然后選擇一個(gè)流派查
看控制臺(tái)返回的數(shù)據(jù)。如圖3-1所示。
6
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
圖3-1控制臺(tái)數(shù)據(jù)
由點(diǎn)擊圖中預(yù)覽(Preview)可知此數(shù)據(jù)是一個(gè)jason數(shù)據(jù),點(diǎn)擊Headers,
發(fā)現(xiàn)其請(qǐng)求方式為GET請(qǐng)求,找到了其歌曲列表數(shù)據(jù)后即可開(kāi)始獲取其需要的
信息從而進(jìn)行爬取。
3.2數(shù)據(jù)集獲取分析
找到歌曲列表后由于數(shù)據(jù)都是動(dòng)態(tài)加載的,我們?nèi)绻褂胷equests模塊直
接請(qǐng)求網(wǎng)址是不可能得到這些數(shù)據(jù)的,我們還需要進(jìn)入到開(kāi)發(fā)者模式點(diǎn)
Network-XHR對(duì)歌曲列表的數(shù)據(jù)進(jìn)行分析并找到歌曲中相應(yīng)的數(shù)據(jù)。如圖3-2。
7
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
圖3-2歌曲數(shù)據(jù)分析
通過(guò)分析,我們得到的歌曲id,作者名字,歌曲名稱等數(shù)據(jù),通過(guò)歌曲試聽(tīng)
可獲得下載鏈接,通過(guò)我們所獲得的歌曲id即可訪問(wèn)到相應(yīng)的Jason文件
3.3數(shù)據(jù)集下載
將所獲取到的數(shù)據(jù)下載保存到music文件夾中。
圖3-3數(shù)據(jù)集下載
4數(shù)據(jù)集處理
數(shù)據(jù)清洗是數(shù)據(jù)分析中的重要環(huán)節(jié),目的是為了提高數(shù)據(jù)的準(zhǔn)確性,完整
8
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
性和可用性,其中可分為數(shù)據(jù)檢查、數(shù)據(jù)糾錯(cuò)、數(shù)據(jù)去重、數(shù)據(jù)填充和數(shù)據(jù)篩
選五個(gè)內(nèi)容。
數(shù)據(jù)轉(zhuǎn)換是將一種數(shù)據(jù)格式或者結(jié)構(gòu)轉(zhuǎn)換為另一種數(shù)據(jù)格式或結(jié)構(gòu)的過(guò)程,
它包含數(shù)據(jù)格式轉(zhuǎn)換、數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)換以及數(shù)據(jù)編碼轉(zhuǎn)換。這樣做有利于后續(xù)對(duì)
數(shù)據(jù)進(jìn)行分析和處理,另外數(shù)據(jù)轉(zhuǎn)換是數(shù)據(jù)集處理的重要環(huán)節(jié)之一。
數(shù)據(jù)處理是系統(tǒng)工程和自動(dòng)控制的基本環(huán)節(jié)。目前數(shù)據(jù)處理已經(jīng)進(jìn)入了社
會(huì)生產(chǎn)和社會(huì)生活等多個(gè)領(lǐng)域。人類(lèi)社會(huì)發(fā)展的進(jìn)程也受到了數(shù)據(jù)處理技術(shù)的
重大影響。數(shù)據(jù)處理的主要目的是把數(shù)據(jù)轉(zhuǎn)變?yōu)橛杏玫男畔亩鴰椭藗兏?/p>
的理解和利用數(shù)據(jù)。
4.1數(shù)據(jù)預(yù)處理
1.搭建一個(gè)空的字典data,用于以正確的格式儲(chǔ)存訓(xùn)練數(shù)據(jù),其中mapping
中用于放入音樂(lè)的類(lèi)型,mfcc中放入切分的片段,lables為標(biāo)簽為每段音樂(lè)添
加類(lèi)型標(biāo)簽值為mapping中類(lèi)型的下標(biāo)。
圖4-1儲(chǔ)存訓(xùn)練數(shù)據(jù)
2.遍歷目錄文件利用dirpath.split方法對(duì)文件進(jìn)行切割,從而分割出音
樂(lè)類(lèi)型。
圖4-2分割音樂(lè)類(lèi)型
3.通過(guò)循環(huán)遍歷的方法加載音頻文件,并對(duì)文件進(jìn)行分析,提取出其中正
確的片段,判斷其長(zhǎng)度是否達(dá)到了預(yù)期長(zhǎng)度達(dá)到則保存,用于作為目標(biāo)數(shù)據(jù)集。
9
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
圖4-3加載數(shù)據(jù)集
4.保存數(shù)據(jù)集并使用json.dump方法將數(shù)據(jù)集指定為json文件。
圖4-4將數(shù)據(jù)集保存為json文件
5.運(yùn)行調(diào)試結(jié)果。結(jié)果中可知。我們的音樂(lè)類(lèi)型分為迪斯科,雷鬼樂(lè),搖
滾樂(lè),流行樂(lè),布魯斯(藍(lán)調(diào)),鄉(xiāng)村音樂(lè),爵士樂(lè),古典音樂(lè),金屬,嘻哈
十個(gè)類(lèi)別。
10
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
圖4-5音樂(lè)類(lèi)型分類(lèi)結(jié)果
4.2切分訓(xùn)練集和測(cè)試集
一般情況下,我們通常會(huì)將原始數(shù)據(jù)中的80%作為訓(xùn)練集,20%作為測(cè)試
集,當(dāng)數(shù)據(jù)量足夠大的時(shí)候,也可以將10%作為測(cè)試集。由于我們的原始數(shù)據(jù)
不算很多。所以這里我們用到train_test_split方法對(duì)數(shù)據(jù)集進(jìn)行切分并且將
測(cè)試集的大小設(shè)置為30%。
圖4-6切分?jǐn)?shù)據(jù)集和訓(xùn)練集
5模型構(gòu)建及評(píng)估分析
5.1模型構(gòu)建
5.1.1模型網(wǎng)絡(luò)結(jié)構(gòu)
在此次作品中我將采用LSTM神經(jīng)網(wǎng)絡(luò)模型也稱為長(zhǎng)短期記憶網(wǎng)絡(luò)模型
它是一種用于處理序列數(shù)據(jù)的神經(jīng)網(wǎng)絡(luò)模型,它是傳統(tǒng)RNN的變體,它與
11
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
RNN相比可以緩解梯度消失或爆炸的現(xiàn)象。它在機(jī)器識(shí)別以及語(yǔ)言翻譯等領(lǐng)
域都有很不錯(cuò)的表現(xiàn),其結(jié)構(gòu)如圖5-1所示。
圖5-1模型網(wǎng)絡(luò)結(jié)構(gòu)
5.1.2創(chuàng)建LSTM模型
構(gòu)建一個(gè)由兩個(gè)LSTM層,一個(gè)全連接層和一個(gè)輸出層組成的網(wǎng)絡(luò)模型。其
中第一個(gè)LSTM層的輸出作為第二個(gè)LSTM層的輸入,中間三層為隱藏層,全連
接層我采用了relu激活函數(shù)并且神經(jīng)元為64個(gè),輸出層我采用了softmax激
活函數(shù)。代碼如圖5-2。
圖5-2創(chuàng)建模型
12
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
5.2模型編譯
設(shè)置優(yōu)化器optimizer這里的優(yōu)化器我們使用Adam并且將學(xué)習(xí)率設(shè)置為
0.05。編譯模型時(shí)設(shè)置損失函數(shù)loss以及準(zhǔn)確性。代碼如圖5-3。
圖5-3設(shè)置優(yōu)化器和損失函數(shù)代碼
5.3模型訓(xùn)練與調(diào)優(yōu)
5.3.1模型訓(xùn)練
對(duì)編譯完成的模型進(jìn)行訓(xùn)練并觀察結(jié)果。
圖5-4模型訓(xùn)練代碼
圖5-5模型訓(xùn)練結(jié)果
由圖5-5的結(jié)果圖可知我們所構(gòu)建的模型出現(xiàn)了過(guò)擬合的現(xiàn)象。
13
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
5.3.2學(xué)習(xí)率調(diào)優(yōu)
我們使用Adam優(yōu)化器并且將學(xué)習(xí)率(learning_rate)調(diào)整為0.001,
如圖5-6。
圖5-6學(xué)習(xí)率調(diào)整
5.4出現(xiàn)問(wèn)題與解決方案
5.4.1問(wèn)題分析
由模型訓(xùn)練的結(jié)果中可以得出我們的模型出現(xiàn)了過(guò)擬合的問(wèn)題,為了更
加清晰的顯現(xiàn)出過(guò)擬合問(wèn)題,我們分別繪制出精度圖和損失評(píng)估圖進(jìn)行進(jìn)一
步分析。
圖5-7繪制圖形
14
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
圖5-8調(diào)試結(jié)果圖
由結(jié)果圖5-8可知,我們的模型在損失圖中訓(xùn)練集直線下降,而測(cè)試集表面
上下降后其實(shí)又在不斷回升,從而,我們進(jìn)一步得出模型過(guò)擬合的結(jié)論。
5.4.2解決方案
對(duì)于過(guò)擬合問(wèn)題,在我們深度學(xué)習(xí)中有以下五種方法,分別是增加數(shù)量也
就是獲得更多數(shù)據(jù)、盡早停止訓(xùn)練、Dropout簡(jiǎn)化模型、限制權(quán)值等于正規(guī)化、
使用正則化以及使用葉貝斯方法。而在這里,我們將使用正則化的方式來(lái)解決
過(guò)擬合的問(wèn)題。這種方法適用于大多數(shù)機(jī)器學(xué)習(xí),包括神經(jīng)網(wǎng)絡(luò)。他們的做法
大同小異。簡(jiǎn)化機(jī)器學(xué)習(xí)的關(guān)鍵公式是y=WxW是機(jī)器需要學(xué)習(xí)的各種參數(shù)。在
過(guò)擬合中,W的值經(jīng)常變化很大或很小。為了防止W變化太大,我們?cè)谟?jì)算誤差
上做了一些技巧。原始的成本誤差是這樣計(jì)算的,成本=預(yù)測(cè)值的平方-真實(shí)值。
如果W太大,我們會(huì)使成本相應(yīng)增加,成為一種懲罰機(jī)制。所以我們自己考慮
W。這里,abs是絕對(duì)值。如圖5-9,我們?cè)陔[藏層中加入了正則化內(nèi)核來(lái)進(jìn)行
正則化處理。
15
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
圖5-9加入正則化內(nèi)核
圖5-10調(diào)整后結(jié)果圖
通過(guò)結(jié)果圖5-10來(lái)看,我們?cè)谶M(jìn)行正則化之后我們的訓(xùn)練集精度與測(cè)試集
精度以及相差不大,損失值更使幾乎重合,說(shuō)明我們對(duì)與過(guò)擬合的處理相當(dāng)有
效。
5.5模型部署
5.5.1前端設(shè)計(jì)
使用vscode設(shè)計(jì)前端頁(yè)面,用于實(shí)現(xiàn)顯示當(dāng)前音樂(lè)類(lèi)別的功能,實(shí)現(xiàn)代碼
如圖5-11。使用說(shuō)明:首先在文件夾框中選擇你想要識(shí)別的音樂(lè),選擇完成后
點(diǎn)擊開(kāi)始識(shí)別按鈕,即可顯示其類(lèi)型所占的比例并通過(guò)比例判斷音樂(lè)類(lèi)型。顯
示界面如圖5-12。
16
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年涂料項(xiàng)目立項(xiàng)申請(qǐng)報(bào)告模板
- 土木工程專業(yè)實(shí)習(xí)報(bào)告4篇
- 下車(chē)間實(shí)習(xí)報(bào)告模板十篇
- 2025年數(shù)字電視有條件接收設(shè)備項(xiàng)目申請(qǐng)報(bào)告模范
- 小學(xué)生演講稿集合4篇
- 難忘那份愛(ài)初二作文600字5篇
- 轉(zhuǎn)作風(fēng)提效能心得體會(huì)三篇
- 新員工轉(zhuǎn)正述職報(bào)告15篇
- 九年級(jí)化學(xué)下冊(cè) 第十單元 酸和堿 課題1 常見(jiàn)的酸和堿 10.1.3 幾種常見(jiàn)的堿教學(xué)實(shí)錄 (新版)新人教版
- 個(gè)人實(shí)習(xí)自我鑒定范文10篇
- 壯醫(yī)藥水蛭療法
- 200句搞定中考英語(yǔ)詞匯
- 2024年型材切割機(jī)市場(chǎng)需求分析報(bào)告
- 【生物】選擇性必修二知識(shí)總結(jié)課件 2023-2024學(xué)年高二上學(xué)期生物人教版選擇性必修2
- 二型糖尿病足
- 2023-2024學(xué)年北京市朝陽(yáng)區(qū)八年級(jí)上學(xué)期期末考數(shù)學(xué)試卷含答案
- 農(nóng)信社案防培訓(xùn)課件
- 中職學(xué)校計(jì)算機(jī)基礎(chǔ)知識(shí)復(fù)習(xí)考試題庫(kù)(附答案)
- 隧道瞬變電磁法超前地質(zhì)預(yù)報(bào)技術(shù)規(guī)程
- 服務(wù)區(qū)安全生產(chǎn)培訓(xùn)
- 客房年度工作計(jì)劃
評(píng)論
0/150
提交評(píng)論