




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
張量分解在深度學(xué)習(xí)中的低秩逼近與性能提升張量是矩陣的高階推廣,是分析高維數(shù)據(jù)的有力數(shù)據(jù),張量的研究主要集中在張量的特征值與張量分解兩大領(lǐng)域,目前針對(duì)張量分解的研究已經(jīng)相當(dāng)成熟,但是對(duì)于張量分解的矩陣分解、秩的估計(jì)、優(yōu)化算法等還需要解決。本文首先對(duì)張量分解、深度神經(jīng)網(wǎng)絡(luò),CP分解和Tucker分解的概念做出了具體的界定,之后論文以張量分解在卷積神經(jīng)網(wǎng)絡(luò)中的實(shí)際應(yīng)用進(jìn)行了探討。具體地,文本首先使用張量分解思想對(duì)Resnet卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行分解,對(duì)FashionMNIST時(shí)尚數(shù)據(jù)集進(jìn)行識(shí)別,驗(yàn)證了分解過(guò)后的卷積神經(jīng)網(wǎng)絡(luò)識(shí)別精度更好。實(shí)驗(yàn)以貓狗大戰(zhàn)數(shù)據(jù)集作為訓(xùn)練集,具體研究了張量分解中CP分解和Tucker分解的方法、代碼實(shí)現(xiàn)和訓(xùn)練結(jié)果精確度,對(duì)其進(jìn)行了深入的研究和探討,驗(yàn)證了CP分解和Tucker分解的效率和準(zhǔn)確性。關(guān)鍵詞:張量分解;卷積神經(jīng)網(wǎng)絡(luò);CP分解;Tucker分解;Python目錄 1 2 22理論基礎(chǔ) 32.1張量縮并 32.2張量分解 2.3深度神經(jīng)網(wǎng)絡(luò) 42.4CP分解 5 53代碼實(shí)現(xiàn)過(guò)程 63.1整體邏輯介紹 6 73.3CP分解和Tucker分解的實(shí)現(xiàn) 83.4主函數(shù)功能的實(shí)現(xiàn) 94結(jié)果分析 1結(jié)語(yǔ)和展望 對(duì)于張量的研究主要集中于張量的特征值與張量分解這兩大領(lǐng)域。張量分解最初是由Hitchcock在上個(gè)世紀(jì)三十年代提出的1,其研究有著上百年的歷史,所以張量分解相較張量特征值來(lái)說(shuō)研究更廣泛也更久(付奇遠(yuǎn),陳雅茜,2022)。張量分解的應(yīng)用可以追溯到盲源分離,即在未知源信號(hào)和系統(tǒng)混合參數(shù)的情況下,依據(jù)源信號(hào)的特性,僅從觀測(cè)的混合信號(hào)中分離或提取各個(gè)源信號(hào)的方法。盲源分離,高維數(shù)據(jù)的低維表示都對(duì)應(yīng)于張量分解(成君向,付曉茜,2023)2。張量分解一般有兩大作用,其中之一就是通過(guò)分解的模式將復(fù)雜的數(shù)據(jù)進(jìn)行分離和分析,具體提取數(shù)據(jù)中的特征點(diǎn)和描述;另一種則是通過(guò)低秩的不斷向高秩逼近來(lái)處理大量的數(shù)據(jù),降低系統(tǒng)的處理壓力,以便能夠以更高精度同時(shí)更高效率地分析處理各類數(shù)據(jù)3。張量研究已取得一定的成果,但仍有較多亟對(duì)于張量,存在多種特征值定義4]。矩陣的秩有明確的物理意義,但張量的秩目前物理意義不明確。對(duì)于張量分解,因?yàn)閷?duì)于張量秩的求解是一個(gè)NP-hard的問(wèn)題5,所以張量分解的研究大多是張量近似分解,但對(duì)于對(duì)稱張量的秩估計(jì)已經(jīng)有了一定了理論基礎(chǔ),針對(duì)對(duì)稱張量展開(kāi)理論研究,利用優(yōu)化算法[6,這在某種程度上映射了進(jìn)行數(shù)值求解,對(duì)于一般張量的精確分解也是一個(gè)亟待解決的率研究有著很重要的研究意義。本論文研究的主要內(nèi)容是在構(gòu)建一個(gè)有效的深度神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上,通過(guò)訓(xùn)練集對(duì)該深度神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,之后利用張量分解的兩種算法:CP分解和Tucker分解算法分別進(jìn)行訓(xùn)練7,通過(guò)對(duì)比兩種算法下的訓(xùn)練時(shí)間、綜合性能等來(lái)評(píng)判兩種算法的優(yōu)劣,最終得出張量分解在深度神經(jīng)網(wǎng)絡(luò)模型中的具體應(yīng)用和性能對(duì)比結(jié)果8。2理論基礎(chǔ)張量縮并是一種求跡的推廣,類似應(yīng)力張量有9個(gè)分量,不變量是三個(gè)主應(yīng)力91。通過(guò)張良縮并,研究者可以很好的將二階的不變量轉(zhuǎn)化為定值,這一定值具體指的是零階的不變量,這一方法一定程度上與求跡的方式是非常類似的,其中很顯著的一個(gè)例子就是黎曼曲率的縮并。同時(shí),縮并是張量的一個(gè)上標(biāo)和一個(gè)下標(biāo)相同的運(yùn)算,其結(jié)果是一個(gè)比原不是所有張量都可以進(jìn)行縮并的,例如最典型的無(wú)法縮并的張量就是協(xié)變或者逆變指標(biāo)數(shù)目為0的張量??梢?jiàn),縮并是協(xié)變和逆變的相互抵消(類似一順一逆,正好抵消)。因?yàn)槭侵抵g的相互抵消,所以縮并后,張量的指標(biāo)數(shù)都是少2N個(gè),N是正整數(shù)。比如5階張量縮并,可以得到三階張量或者一階張量(林昊張量具體指的是一種高階的多變矩陣,它是將向量、矩陣和標(biāo)量向跟高的階層推廣的結(jié)果。其中將標(biāo)量、向量和矩陣分別被稱為零階、一階、二階張量121,而更大的例如xl1?…xln的張量則被稱為是N階張量A,我們可以將張量A記作A=(ai?i?…in)。本項(xiàng)目專注于跨越傳統(tǒng)學(xué)科界限的合作,引入了多樣化的理論體系和技術(shù)工具,旨在拓寬研究視野并加深理解。借助于跨學(xué)科的研究模式,不僅可以更細(xì)致地探討研究主體的多重維度,還有機(jī)會(huì)發(fā)現(xiàn)以往未曾注意的現(xiàn)象和規(guī)律。研究還特別重視理論與實(shí)踐的相互作用,試圖通過(guò)實(shí)踐來(lái)檢驗(yàn)理論價(jià)值。為了確保研究結(jié)果的準(zhǔn)確性和權(quán)威性,本文綜合運(yùn)用了量化調(diào)查和定性訪談等方法進(jìn)行數(shù)據(jù)分析,為政策設(shè)計(jì)及實(shí)施提供了堅(jiān)實(shí)的理論依據(jù)。張量盡管和微分幾何的關(guān)系最密切,但張量計(jì)算公式和矩陣計(jì)算公式很類似。很多理論基礎(chǔ)都是一樣的,比如線性空間、對(duì)偶坐標(biāo)系[13,可以認(rèn)為張量此外,張量的指標(biāo)可以根據(jù)實(shí)際需求具體變化,在本文的研究語(yǔ)境里這種情況被賦予了重要意義其與周期和頻率的關(guān)系道理相同,指標(biāo)的升高降低類似于用一個(gè)其他的坐標(biāo)來(lái)代替原坐標(biāo),因此如果用對(duì)偶坐標(biāo)系表示的話,它的順深度神經(jīng)網(wǎng)絡(luò)是機(jī)器學(xué)習(xí)領(lǐng)域中一項(xiàng)很常用的技術(shù),也是深度學(xué)習(xí)的基礎(chǔ)內(nèi)容之一。如果想要模擬人腦的運(yùn)算,使用單個(gè)的神經(jīng)元是遠(yuǎn)遠(yuǎn)不夠的,需要多個(gè)神經(jīng)元之間的協(xié)調(diào)操作,多個(gè)神經(jīng)元通過(guò)特定的方式進(jìn)行連接就構(gòu)成了神深度神經(jīng)網(wǎng)絡(luò)可以分為輸入層、隱藏層和輸出層,通常情況下深度神經(jīng)網(wǎng)絡(luò)的第一層是輸入層、最后一層是輸出層、中間層均為隱藏層,神經(jīng)元之間的結(jié)構(gòu)在深度神經(jīng)網(wǎng)絡(luò)中,這在一定程度上映射每一層之間都是相互連接的,即絡(luò)的隨機(jī)性導(dǎo)致其非常復(fù)雜。但是如果拿一塊小的局部模型來(lái)說(shuō),其感知機(jī)制層之間轉(zhuǎn)換,將數(shù)據(jù)存放在一個(gè)線性可分空間里,通過(guò)多層感知機(jī)制對(duì)深度神措施來(lái)應(yīng)對(duì)潛在偏差。研究設(shè)計(jì)上,本文建立了一套詳盡的研究方案,確保問(wèn)題設(shè)定的準(zhǔn)確性和假設(shè)的科學(xué)依據(jù)。數(shù)據(jù)獲取階段,本文采用了多元化的數(shù)據(jù)來(lái)源策略,確保信息的完整性和互證性,同時(shí)采用標(biāo)準(zhǔn)化程序減少人為錯(cuò)誤。數(shù)據(jù)分析時(shí),本文綜合使用了定量分析和定性分析方法,全面審視數(shù)據(jù),并利該函數(shù)的定義為:將實(shí)數(shù)在0-1上映射,如果值越小則越趨近于0,可以理解為興奮則輸出1,抑制則為0。高階的張量分解為若干個(gè)一維的因子矩陣,例如將三階張量分為三個(gè)一維的矩陣。這是一種從低維向高維不斷逼近的特征提取模式191,如果給定一個(gè)三階張Tucker分解在1996年就已經(jīng)被提出了20]。通過(guò)Tucker分解可以將一個(gè)三階的張量分解為三個(gè)因子矩陣以及一個(gè)核張量,每個(gè)維度上的因子矩陣都是張量在該維度上的基矩陣。所以Tucker分上述介紹的CP分解也是一種特殊的Tucker分解形式。這無(wú)疑地傳達(dá)出如果各個(gè)維度是相同而且呈對(duì)角狀態(tài),Tucker分解即為CP分解,三階張量的Tucker特征提取和張量學(xué)習(xí)等有關(guān)方面有著重要的應(yīng)用意義,同時(shí)也可以將其認(rèn)為是PCA進(jìn)行多線程分解時(shí)的特殊版本,本論文將Tucker分解作為一種對(duì)比方法進(jìn)3代碼實(shí)現(xiàn)過(guò)程3.1整體邏輯介紹本論文的訓(xùn)練數(shù)據(jù)集選擇的是貓狗大戰(zhàn)訓(xùn)練數(shù)據(jù)集,數(shù)據(jù)集為開(kāi)源,通過(guò)論文的硬件限制,從這些方法中看出僅僅實(shí)驗(yàn)了重復(fù)五次;在進(jìn)行訓(xùn)練后通過(guò)總體來(lái)說(shuō),訓(xùn)練是遍歷向網(wǎng)絡(luò)里添加數(shù)據(jù)集,不斷通過(guò)自動(dòng)計(jì)算來(lái)調(diào)整神經(jīng)網(wǎng)絡(luò)的權(quán)重,并將生成的卷積網(wǎng)絡(luò)層進(jìn)行具體分解,將一個(gè)整體分解為向下的兩個(gè)層,當(dāng)圖片傳入到網(wǎng)絡(luò)中時(shí),這在某種程度上體現(xiàn)了也是按照這樣的模3.2訓(xùn)練、測(cè)試數(shù)據(jù)的打包和處理首先需要對(duì)數(shù)據(jù)進(jìn)行處理和打包,所以本文創(chuàng)建dataset.py文件實(shí)現(xiàn)這一操作,另外,該文件還要實(shí)現(xiàn)對(duì)圖片數(shù)據(jù)的處理,將其調(diào)整為分析所適合的樣式。實(shí)現(xiàn)數(shù)據(jù)的處理和打包需要引用到numpy模塊(用于數(shù)組的矩陣運(yùn)算)、torch模塊(用于進(jìn)行形狀—一本文中為貓狗大戰(zhàn)數(shù)據(jù)中的圖片的切片和分析)、PIL模塊(用于圖片處理)、glob模塊(用于定位計(jì)算機(jī)中特定格式的文件)和OS模塊(實(shí)現(xiàn)一些基本功能,這在某種意義上表明了通常用于文件的開(kāi)閉、目錄本功能的實(shí)現(xiàn)具體邏輯為:調(diào)用Python各種庫(kù)、模塊、方法,分別對(duì)訓(xùn)練數(shù)據(jù)和測(cè)試數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化處理和封裝。本文創(chuàng)建了loader函數(shù),將其作為用于封裝訓(xùn)練數(shù)據(jù)的訓(xùn)練函數(shù),具體方法是首先利用名叫torchvision.transforms.Normalize的方法將相關(guān)數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化處理,然后將數(shù)據(jù)進(jìn)行封裝。函數(shù)中還需要定義一些設(shè)定類的函數(shù),具體用于實(shí)現(xiàn)(馬倩玉,許騰飛,2019):(1)確定同時(shí)訓(xùn)練多少數(shù)據(jù)的參數(shù)batch_size;(2)是否選擇打亂數(shù)據(jù)的shuffle函數(shù);(3)設(shè)定多線程num_workers,確定同時(shí)幾個(gè)線程進(jìn)行程序處理;(4)設(shè)定用于儲(chǔ)存的參數(shù)pin_memory。上述定義都需要在調(diào)用函數(shù)時(shí)給出數(shù)值,確定其具體的運(yùn)行形式,例如:loader(path,batch_size=32,num_workers=4,pin在此之后,本文定義了test_loader函數(shù),對(duì)需要測(cè)試的數(shù)據(jù)進(jìn)行封裝,與函數(shù)loader相同,需要對(duì)數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化,這在某種程度上映射了再將其打亂后封裝入數(shù)據(jù)對(duì)象中,之后同樣設(shè)定相關(guān)參數(shù),除了內(nèi)容不同,這兩個(gè)函數(shù)的基具體體現(xiàn)在對(duì)研究主題的全新洞察。過(guò)去的研究側(cè)重于主題的基本屬性和廣泛聯(lián)系,而本文則致力于揭示那些不為人知的細(xì)節(jié)及其潛在的關(guān)系網(wǎng)。在研究手法上,采用了多元化的策略,克服了傳統(tǒng)方法的局限性。理論上,文章通過(guò)結(jié)合不同理論體系的知識(shí),形成了一個(gè)綜合的理論框架。這種做法不僅發(fā)現(xiàn)了之前未曾探討過(guò)的理論領(lǐng)域,也為該領(lǐng)域的理論建設(shè)增添了新元素,拓展了理論探索的邊界。在對(duì)數(shù)據(jù)進(jìn)行了簡(jiǎn)單的處理封裝后,本論文將進(jìn)行CP分解和Tucker分解的具體實(shí)現(xiàn),定義了decompositions.py文件,該方法的實(shí)現(xiàn)除了進(jìn)行數(shù)據(jù)打包和封裝用到的numpy和torch模塊外,還要用到tensorly模塊(張量分解、張量代數(shù)進(jìn)行Python設(shè)計(jì)的庫(kù),使張量分解的具體分析變得更加簡(jiǎn)本功能實(shí)現(xiàn)的基本邏輯為,主要利用Python實(shí)現(xiàn)張量分解的tensorly庫(kù),分別編寫(xiě)CP方法、Tucker方法函數(shù),在此類情況下實(shí)現(xiàn)兩種方法的數(shù)據(jù)處理和分析,在使用函數(shù)對(duì)數(shù)據(jù)進(jìn)行分析后利用VBMF對(duì)矩陣進(jìn)行排序,估計(jì)矩陣的首先,定義函數(shù)CP_decomposition_conv_layer,該函數(shù)的主要目的是獲取轉(zhuǎn)換層和分析目標(biāo)的具體排名,之后返回帶有分解的nn.Sequential對(duì)象,具體實(shí)現(xiàn)邏輯如下(吳曉雪,成榮和,2022):首先對(duì)層權(quán)重進(jìn)行張量CP分解,再設(shè)置卷積核、步長(zhǎng)、padding的具體參數(shù)并從s到r逐點(diǎn)對(duì)層次進(jìn)行定義,處理卷積層,之后再分別從深度垂直和深度垂直方向逐點(diǎn)進(jìn)行卷積處理;前述的詳細(xì)分析證實(shí)了本文的理論假設(shè),特別是在對(duì)關(guān)鍵概念的闡釋上,實(shí)現(xiàn)了理論層面的深入挖掘與廣泛拓展。這種挖掘不僅體現(xiàn)在對(duì)概念內(nèi)涵的深入剖析,還延伸至對(duì)其外延的廣泛探索。通過(guò)對(duì)相關(guān)文獻(xiàn)的全面回顧和實(shí)證數(shù)據(jù)的深入分析,本文進(jìn)一步明確了這些概念在理論框架中的位置和作用,以及它們之間的相互聯(lián)系。此外,這種拓展也為本文的研究提供了新的視角和思考方向,有助于推動(dòng)該領(lǐng)域理論的進(jìn)一步發(fā)展。本研究還強(qiáng)調(diào)了理論與實(shí)踐的緊密結(jié)合,通過(guò)將理論分析應(yīng)用于實(shí)際問(wèn)題的解決,驗(yàn)證了其有效性和實(shí)用性,為相關(guān)實(shí)踐提供了堅(jiān)實(shí)的理論支撐。之后,對(duì)r到t的卷積層進(jìn)行定義并將偏差字段增加到層中,對(duì)其進(jìn)行CP處理,通過(guò)張量變換先垂直處理再水平處理,之后提取張量對(duì)其進(jìn)行壓縮,輸出新的張量分解后的卷積層并將其返回用于數(shù)據(jù)分析;另外需要定義Tucker方法的實(shí)現(xiàn)函數(shù)Tucker_decomposition_conv_layer,該方法的實(shí)現(xiàn)相對(duì)來(lái)說(shuō)較為簡(jiǎn)單,先獲取數(shù)據(jù)矩陣的秩并將其層次權(quán)重信息和獲得的秩輸入,在將通道由S減少到R3的基礎(chǔ)上對(duì)數(shù)據(jù)進(jìn)行卷積處理并輸出具有R3輸入通道的常規(guī)2D卷積層和R3通道,在這樣的環(huán)境中之后逐點(diǎn)卷積將通道由R4增加到T,在進(jìn)行權(quán)重處理后輸出利用Tucker方法處理的層(朱俊熙,成曉光,2020)。之后需要定義排序函數(shù)estimate_ranks,用于將兩種張量方法下的輸出結(jié)果展開(kāi),利用VBMF對(duì)矩陣進(jìn)行排序并估算其矩陣的秩。實(shí)現(xiàn)CP方法和Tucker方法的函數(shù)雖然實(shí)現(xiàn)的過(guò)程略有差異但是總體的方3.4主函數(shù)功能的實(shí)現(xiàn)現(xiàn)迭代器的功能,延遲計(jì)算,提升整體張量分解分析的運(yùn)行效率,盡可能的保證結(jié)果精確)。本篇文章亦對(duì)所得結(jié)論進(jìn)行了復(fù)核驗(yàn)證,首要步驟是在理論層面確認(rèn)了研究假定的合理性及其邏輯連貫性。通過(guò)詳盡地整理并分析相關(guān)文獻(xiàn)資料,文章證明了研究架構(gòu)的科學(xué)價(jià)值與實(shí)用性。接下來(lái),文章運(yùn)用了多種實(shí)證手段對(duì)結(jié)論進(jìn)行校驗(yàn),以保障其穩(wěn)固性和可信度。此外,通過(guò)與同類研究的比較,文章驗(yàn)證了結(jié)論的廣泛適用性和創(chuàng)新性。在對(duì)比已有文獻(xiàn)的基礎(chǔ)上,本文不僅印證了部分既有理論,還提出了新穎觀點(diǎn),為相關(guān)領(lǐng)域提供了理論發(fā)展的新視角和實(shí)證支持。同時(shí),文章還探討了結(jié)論在實(shí)際應(yīng)用中的潛在意義,為絡(luò))進(jìn)行訓(xùn)練,得到訓(xùn)練結(jié)果后利用張量分解的CP方法和Tucker方法分別進(jìn)行處理,在處理過(guò)程中可以根據(jù)實(shí)際需求對(duì)處理參數(shù)進(jìn)行微調(diào),以在滿足硬件為輸入和輸出的節(jié)點(diǎn)數(shù),通過(guò)對(duì)這兩項(xiàng)內(nèi)容的具體設(shè)計(jì)可以良好的根據(jù)實(shí)際情況設(shè)計(jì)具體的計(jì)算大?。籲n.ReLU(inplace=True)作為激活函數(shù)(邵嘉逸,樊慧定義Trainer用于類的訓(xùn)練,在該函數(shù)中同時(shí)進(jìn)行訓(xùn)練數(shù)據(jù)、測(cè)試數(shù)據(jù)路徑的初始化。在本文的研究語(yǔ)境里這種情況被賦予了重要意義首先在類的初始函數(shù)中對(duì)cnn模型使用交叉熵進(jìn)行優(yōu)化,在分別調(diào)用了數(shù)據(jù)集后設(shè)置模型、設(shè)定交叉熵之后對(duì)函數(shù)進(jìn)行訓(xùn)練;之后利用test函數(shù)對(duì)數(shù)據(jù)進(jìn)行測(cè)試并輸出準(zhǔn)確率,準(zhǔn)確率的計(jì)算為在構(gòu)建模型后分別對(duì)正確數(shù)和樣本總數(shù)進(jìn)行計(jì)算和統(tǒng)計(jì),并在統(tǒng)計(jì)分析時(shí)間的基礎(chǔ)上對(duì)準(zhǔn)確率進(jìn)行測(cè)試,輸出浮點(diǎn)數(shù)類型的準(zhǔn)確率計(jì)算時(shí)間并打印平均預(yù)測(cè)時(shí)間;在測(cè)試準(zhǔn)確率后創(chuàng)建訓(xùn)練函數(shù)train對(duì)模型進(jìn)行訓(xùn)練,對(duì)設(shè)定好的訓(xùn)練數(shù)據(jù)集進(jìn)行循環(huán)訓(xùn)練并不斷打印訓(xùn)練的目前進(jìn)度(具體位置訓(xùn)練的批次數(shù)),在訓(xùn)練完后執(zhí)行測(cè)試函數(shù),輸出分析結(jié)果(高嘉祥,陳瑞雪,2022)。分別進(jìn)行訓(xùn)練批次的設(shè)計(jì)以及對(duì)數(shù)據(jù)集的內(nèi)容進(jìn)行逐個(gè)訓(xùn)練。在實(shí)現(xiàn)了張量分解的具體功能之后還需要實(shí)現(xiàn)參數(shù)的設(shè)定、訓(xùn)練的判斷和具體的方法實(shí)現(xiàn)等。定義get_args函數(shù)用于根據(jù)實(shí)驗(yàn)者輸入的參數(shù)確定具體的功能,參數(shù)內(nèi)容具體包括(成馨瑜,成羽翔,2020):訓(xùn)練、降維、是否微調(diào)、儲(chǔ)存路徑設(shè)定、測(cè)試字段的路徑來(lái)源,另外定義了默認(rèn)值,即默認(rèn)不進(jìn)行張量分解、不進(jìn)行微調(diào)、默認(rèn)使用Tucker方法。本研究的結(jié)果與之前所做的預(yù)估一致,體現(xiàn)了研究方案的科學(xué)嚴(yán)謹(jǐn)性和理論體系的健全。經(jīng)過(guò)對(duì)目標(biāo)對(duì)象詳盡的研究和多方面的評(píng)估,不僅確認(rèn)了最初假設(shè)的有效性,還深化了該領(lǐng)域的理論認(rèn)識(shí)。這一成果為實(shí)踐領(lǐng)域提供了新的視角,通過(guò)對(duì)重要問(wèn)題的剖析,揭示了深層次的原因,有助于更高效的資源配置、改進(jìn)決策過(guò)程并推動(dòng)行業(yè)成長(zhǎng)。同時(shí),它也彰顯了理論與實(shí)踐相互作用的重要性,重視理論的突破和實(shí)際運(yùn)用價(jià)值。在編寫(xiě)完成實(shí)現(xiàn)本論文需要所有功能的類和函數(shù)后,需要對(duì)主函數(shù)進(jìn)行初始化,即在運(yùn)行后自動(dòng)進(jìn)行判定程序如何運(yùn)行,從這些態(tài)度可以明白判定的類(1)如果字段進(jìn)行過(guò)訓(xùn)練,則執(zhí)行模型的構(gòu)建并對(duì)其進(jìn)行訓(xùn)練。首先初始化卷積神經(jīng)網(wǎng)絡(luò)模型,之后利用SGD設(shè)置優(yōu)化器的參數(shù),再對(duì)訓(xùn)練器的參數(shù)進(jìn)行設(shè)置。本論文設(shè)置訓(xùn)練集循環(huán)十次,在訓(xùn)練后將模型進(jìn)行保存;(2)如果含有張量分解的字段,則直接進(jìn)行張量分解。載入張量分解的模型,使用CPU進(jìn)行張量分解,獲取特征數(shù)對(duì)其進(jìn)行分解,利用降(3)如果降維已經(jīng)完成選擇是否調(diào)整模型的各個(gè)參數(shù)。加載模型并獲取參數(shù)的梯度,如果是CP分解則優(yōu)化函數(shù)設(shè)置將學(xué)習(xí)率設(shè)定為0.000001,如果是Tucker分解則將學(xué)習(xí)率設(shè)定為0.001。4結(jié)果分析在完成代碼后測(cè)試完畢后,本論文也具體引用貓狗大戰(zhàn)的數(shù)據(jù)集對(duì)其進(jìn)行張量分解的測(cè)試分析。首先論文利用已經(jīng)明確貓、狗分類圖片的訓(xùn)練集來(lái)進(jìn)行訓(xùn)練之后,論文再引用測(cè)試集進(jìn)行具體的分析,訓(xùn)練集和測(cè)試集的引用數(shù)據(jù)截圖如圖4.1和4.2:(4.12484jpg(atL12485(aL12489jpg(L12490jdog7ipgdog.8jpg圖4.1貓狗大戰(zhàn)訓(xùn)練集部分截圖圖4.2貓狗大戰(zhàn)測(cè)試集部分截圖由于本文計(jì)算機(jī)硬件條件和論文的時(shí)間條件,卷積神經(jīng)網(wǎng)絡(luò)總共進(jìn)行五輪MicrosoftWindows[版本10.0.19042.928](c)MicrosoftCorporation。保留所有權(quán)利。C:\Users\CZ>cdC:\Users\CZ\Desktop\biyeshejiD:\Anaconda3\1ib\site-packages\torchvision\transforms\transforms.py:286:UserWarning:Theuseofthetransforms.Scaletransformdeprecated,pleaseusetransforms.Resizein"pleaseusetransforms.ResizeinD:Anaconda3\lib\site-packages\torchvision\transforms\transforms.Dy:887:UserWarning:Theuseofthetransforms.RandomSizedCroptransformisdeprecated,pleaseusetransforms.RandomResizedCrusetransforms.RandomResizedCropinstiontime3.1761393022659186391tiontime3.787769395redictiontime3.81172082857predictiontime3.818020880984528391agepredictiontime3.813917657603388391FinishedfineC:\Users\CZ\Desktop\biy在訓(xùn)練過(guò)后,向卷積神經(jīng)網(wǎng)絡(luò)中加入張量分解的辦法進(jìn)行繼續(xù)訓(xùn)練,論文分別以CP分解和Tucker分解進(jìn)行訓(xùn)練,這在某種程度上標(biāo)志訓(xùn)練過(guò)程以Tucker訓(xùn)練的過(guò)程為例,Tucker分解訓(xùn)練過(guò)程部分如圖4.4和4.5,由圖中我們可以明顯的對(duì)比看出,加入張量分解后訓(xùn)練的平均時(shí)間更短,之前平均為3.8s左右,在加入了張量分解之后僅僅需要2.9s左右(iyesheji)pythonmain.py--destride=(1,1),padin-(1,1)VBGEstinatedrarksiyesheji)pythonmain.py--destride=(1,1),padin-(1,1)VBGEstinatedrarkssite-packagesltensorlybackend(core.py:85:Userlarming:Inpartial_svd:couvertingtoliunPr.CheckSIDFNSforarailablealternativesifyoutride=(1,1),pading=(1,1))VBNFEstimatedranks[26,29],strid=(1,1),pading-(1,1)BVride=(1,1),paddin=(1,1)1),paddin=-(1,1))YBFEstinpadin-(1,1)BGFEstinatedrapading-(1,1)BMFBEstinaddin=-(1,1)YBNFEstinatedpaddin=-(1,1)YBFEstinatedrank,padding-(1,1))YBFEstinakernel_size=(3,3,striI_size=3,3),stride=(_size=(3,3),stride=(D:\Anaconda3lib\site-packages\torchvision\transforms\transforms.py:286:UserWarning:Theuseofthetransforms.ScaletrD:\Anaconda3lib\site-packages\torchvision\transforms\transforms.py:286:UserWarning:Theuseofthetransforms.ScaletrD:Anaconda3\lib\site-packages\torchvision\transforms\transforms.py:887:UserWarning:Theuseofthetransforms.RazedCroptransformisdeprecated,pleaseusetransforms.RandomResleaseusetransforms.RandomResizedCropveragepredictiontime2.88436119147veragepredictiontime2.8859175172303337391圖4.5加入張量分解的訓(xùn)練過(guò)程截圖在對(duì)卷積神經(jīng)網(wǎng)路進(jìn)行訓(xùn)練后,本論文首先將未經(jīng)過(guò)張量分解的卷積神經(jīng)網(wǎng)絡(luò)識(shí)別準(zhǔn)確度和經(jīng)過(guò)CP、Tucker張量分解的卷積神經(jīng)網(wǎng)絡(luò)識(shí)別準(zhǔn)確度分別運(yùn)行結(jié)果運(yùn)行最高值進(jìn)行對(duì)比,三種方法的準(zhǔn)確度運(yùn)行輸出結(jié)果如圖4.6、4.7、In[9]:In[9]:histcoplex=coplexCMWmodel.fit(x=x_train,y=ytrain,epochs=10,batchsize=512,valprint("TestlossofmycozplexCNnodel.4f),and60000sa]aTestlossofmycomplexCNNmodel0.4876.and圖4.6不加入張量分解的準(zhǔn)確度結(jié)果圖4.8加入Tucker分解的準(zhǔn)確度結(jié)果通過(guò)準(zhǔn)確度結(jié)果,我們可以看出張量分解的準(zhǔn)確度提高較為明顯,未經(jīng)張量分解的卷積神經(jīng)網(wǎng)絡(luò)識(shí)別準(zhǔn)確度結(jié)果為76.80%,這無(wú)疑地傳達(dá)出而CP分解和Tucker分解分別的結(jié)果為82.84%和84.42%,其中Tucker的準(zhǔn)確度略微高于CP分解。之后本文專門分別利用CP分解和Tucker分解進(jìn)行不同情況下的指標(biāo)性能分析,分析的結(jié)果具體如下表4.1(成向陽(yáng),付君朝,2023):算法名稱最高識(shí)別準(zhǔn)確率(TOP-1)平均識(shí)別準(zhǔn)確率(TOP-1)最高識(shí)別準(zhǔn)確率(TOP-5)平均識(shí)別準(zhǔn)確率(TOP-5)解的卷積神經(jīng)網(wǎng)絡(luò)量分解的卷積其中,最高識(shí)別準(zhǔn)確率為在經(jīng)過(guò)五次分解中得到的準(zhǔn)確度最高的結(jié)果,平類指標(biāo)的測(cè)試準(zhǔn)確率結(jié)果,其中測(cè)試準(zhǔn)確率分別為第一類或者前五類的準(zhǔn)確樣吻合,這反映了本文在研究中所采取的科學(xué)嚴(yán)謹(jǐn)態(tài)度。自研究啟動(dòng)以來(lái),本文依據(jù)經(jīng)典理論來(lái)構(gòu)建研究模式,確保其邏輯嚴(yán)密且結(jié)構(gòu)合理。數(shù)據(jù)采集使用了多種已被證明有效的方式,并采用相應(yīng)的統(tǒng)計(jì)手段進(jìn)行數(shù)據(jù)分析。在解釋結(jié)果時(shí),本文將研究結(jié)果與已有理論相結(jié)合,仔細(xì)分析二者的相似之處及區(qū)別,為通過(guò)對(duì)結(jié)果的分析,從這些方法中看出我們可以看到四個(gè)準(zhǔn)確率分析結(jié)果Tucker算法可以達(dá)到67.43%,而CP算法僅僅可以達(dá)到61.15%,而TOP-5時(shí)兩總體來(lái)說(shuō),通過(guò)本論文的實(shí)例運(yùn)行,本文發(fā)現(xiàn)Tucker算法的表現(xiàn)明顯微調(diào)的過(guò)程如下圖(具體調(diào)整了SGD的數(shù)值):是使用相同的樣本集,在每個(gè)批次的訓(xùn)練中均會(huì)采用所有的樣本來(lái)進(jìn)行計(jì)算,這其中有些數(shù)據(jù)對(duì)于該次計(jì)算是償付的,這在某種程度上體現(xiàn)了有些計(jì)算是沒(méi)有意義的,而SGD更新模型參數(shù)的方法是在每一次新的訓(xùn)練里都去隨機(jī)地選擇向陽(yáng),張彬彬,2021)。時(shí)使得收斂速度減緩。這在某種意義上表明了但是凡事都有兩面性,從另一個(gè)方面來(lái)看,這個(gè)擾動(dòng)帶來(lái)的最大好處就是在處理局部出現(xiàn)很多極小點(diǎn)的時(shí)它的這個(gè)特點(diǎn)就可以使當(dāng)前參數(shù)的優(yōu)化方向從局部的極小點(diǎn)轉(zhuǎn)到一個(gè)更佳的局雪麗,2021)。Users\CZ\Desktop\biyesheji>pythonmain.py—fine_tune--trainpathC:\Users\C2Desktop\biyesheji\train1-test_pathsers\CZ\Desktop\biyeshe(module):ModifiedRes(0):Conv2d(3,2,kernelsize=(1,1),stride=(1,1),bias=False)(1):Conv2d(2,14,kernelsize=(3,3),stride=(1,1,padding-(1,1,bia(2):Conv2d(14,64,kernel_size=(1,1),stride(0):Conv2d(64,29,kernelsize=(1,1),stride=(1,1),bias=Fals(1:Conv2d(29,26.kernelsize=(3,3),stride=(1,1),padding=(1,1),bias=Fal(2):Conv2d(26,64,kernel_size=(1,1),strid(4):MaxPoo12d(kernel_size=2,stride=2,padding=0,dilation=1,ceil_mo(0):Conv2d(64,32.kernel_size=(1,1),stride=(1,1),bia(1):Conv2d(32,39,kernelsize=(3,3),stride-(1,1:padding-(1,1),b(2):Conv2d(39,128,kernel_size=(1.1,strid7(O):conv2d(128,43,kernel_size=(1.1),stride=(1.1),bi(1):Conv2d(43,42,kernelsize=(3,3):stride=(1.1.padding=(1,1),bias=(2):Conv2d(42,128,kernel_size=(1,1,strid(9):MaxPoo12d(kernel_size=2,stride=2,padding=0,dilation=1,ceilmod(0):Conv2d(128,59.kernel_size=(1,1),stride=(1,1),bia(1):Conv2d(59,71,kernel_size=(3,3),stride=(1,1):padding=(1,1),bia(2):Conv2d(71,256,kernel_size=(1,1,strid(0):Conv2d(256,81.kernel_size=(1,1),stride=(1,1),bia(1):Conv2d(81,78.kernelsize=(3,3),stride=(1,1),padding=(1,1)(2):Conv2d(78,256,kernel_size=(1,1,strid(16):MaxPoo12d(kernel_size-2,stride-2,padding-0,dilation-1,ceilmode-False)(O):Conv2d(256,110.kernel_size=(1,1),stride=(1,1),bias1):Conv2d(110,131.kernelsize=(3.3),stride=(1,:padding(2):Conv2d(131,512,kernel_size=(1,1),strid(0):Conv2d(512.148,kernelsize=(1,1),stride=(1,1,bias=Fal(1:Conv2d(148,138,kernelsize=(3,3),stride=(1,D,padding=(2):Conv2d(138,512,kernel_size=(1,1),strid(0):Conv2d(512,132,kernel_size=(1,1),stride=(1,1),bia(1):Conv2d(132,121,kernel_size=(3.3),stride-(1,1,padding=(1,1,bia(2):Conv2d(121,512,kernel_size=(1.1),stride(23):MaxPoo12d(kernel_size=2,stride=2,padding=0,dilation=1,ceil_mo(0):Conv2d(512,157,kernel_size=(1.1),stride=(1,1),bia(1):Conv2d(157,144,kernelsize-(3.3),stride-(1,1,padding-(1,1,bias(2):Conv2d(144,512,kernel_size=(1,1),strid(1:Conv2d(149.147.kernel_size=(3,3),stride=(1,1padding=(1,1),bias=False)(2):Conv2d(147,512,kernel_size=(1,1),strid(1):Conv2d(155,152,kernel_size=(3,3),stride=(1,1,padding=(1,seoue2t(512.155.kerne!size-(1,1),stride-(1,1).(1):Conv2d(155,152,kernel_size=(3,3),stride=(1,1,padding=(1,(2):Conv2d(152,512,kernel_size-(1,1),strid(30):MaxPoo12d(kernel_size=2,stride=2,padding=0,dilation=1,ceil_mo(0):Dropout(p=0.5.inplace=False)(1):Linear(infeatures-25088,out_features-(3):Dropout(p-0.5,inplace(4):Linear(in_features=4096,out_features=4096,bi(6):Linear(in_features=4096,out_features=2,Anacondn3\1ib\site-packages\torchvision\transforms\transforms.y:286:UserWarning:Theuseofthetransforms.Scaletransformisdeprecatedpleaseusetransforms.Rpleaseusetransforms.Resizeinstead.")\Anaconda3\lib\site-packages\torchvision\transforms\transforms.py:887:EserWarning:Theuseofthetransforms.RandomSizeCroptransformisdeprecated,pleaseusetransforms.RandomResizedCroppleaseusetransforms.RandomResizedCropinstead.")veragepredictiontime2.88881089986veragepredictiontime2.8950308661936495391poch:veragepredictiontime2.881169902089veragepredictiontime2.8922891738774528391poch:3Averagepredictiontime2.878577667124131391veragepredictiontime2.8843611914788365391Finishedfineveragepredictiontime2.8859175172303337391圖4.9對(duì)Tucker算法模型微調(diào)過(guò)程截圖結(jié)語(yǔ)和展望本論文具體研究了張量分解在卷積神經(jīng)網(wǎng)絡(luò)中的應(yīng)用,最終通過(guò)對(duì)比分析明確了在貓狗大戰(zhàn)數(shù)據(jù)集下的Tucker分解效率總體高于CP分解效率。論文首先對(duì)張量分解、深度神經(jīng)網(wǎng)絡(luò),CP分解和T定,之后明確了代碼實(shí)現(xiàn)的具體流程:先構(gòu)建卷積神經(jīng)網(wǎng)絡(luò)、再利用訓(xùn)練集對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,之后分別利用CP分解和Tucker分解對(duì)神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,通過(guò)分析的準(zhǔn)確率具體分析兩種方法的效率;之后論文分別介紹了代碼三大功能的實(shí)現(xiàn)過(guò)程,之后利用代碼具體進(jìn)行了分析,其中Tucker分解的最高準(zhǔn)確率為84.42%,高于CP分解的最高準(zhǔn)確率82.84%,由此本文得出結(jié)論:Tucker分解的表現(xiàn)效果優(yōu)于CP分解。雖然本論文實(shí)現(xiàn)了設(shè)計(jì)的全部功能,但是依舊存在一定的缺陷:由于硬件原因,訓(xùn)練次數(shù)僅僅為五次,同時(shí)由于數(shù)據(jù)量和CPU性能的影響,代碼的實(shí)現(xiàn)耗費(fèi)了大量的時(shí)間,只能調(diào)整參數(shù)以犧牲一定的準(zhǔn)確性來(lái)得到分析結(jié)果??傮w來(lái)說(shuō),論文基本實(shí)現(xiàn)了驗(yàn)證的功能,本文希望可以通過(guò)本論文的研究為今后的相關(guān)研究提供充分的理論基礎(chǔ)和實(shí)踐參考。[1]付奇遠(yuǎn),陳雅茜.基于卷積神經(jīng)網(wǎng)絡(luò)的短文本分類方法研究[D].西南大學(xué),2016.劉偉.基于卷積神經(jīng)網(wǎng)絡(luò)的視頻分類檢索[D].浙江大學(xué),2022.[2]成君向,付曉茜.基于遺傳算法的卷積神經(jīng)網(wǎng)絡(luò)參數(shù)優(yōu)化方法[C].中國(guó)自動(dòng)化學(xué)會(huì)、濟(jì)南市人民政府.2017中國(guó)自動(dòng)化大會(huì)(CAC2017)暨國(guó)際智能制造創(chuàng)新大會(huì)(CIMIC2017)論文[3]Y.Taigman,M.Yang,M.Ranzato,etal.Deepface:Closingthegaptohuman-levelperformanRecognition,CVPR201
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 機(jī)房租用計(jì)劃書(shū)
- 汽車后市場(chǎng)服務(wù)及維修保養(yǎng)管理方案設(shè)計(jì)
- 終止合同 補(bǔ)充協(xié)議書(shū)
- 健康探秘課件圖片
- 買賣貓咪合同協(xié)議書(shū)范本
- 有限公司入股合同協(xié)議書(shū)
- 場(chǎng)地出租合同協(xié)議書(shū)范文
- 智障人士的教學(xué)計(jì)劃范文3
- 玻璃鋼冷卻塔項(xiàng)目投資商業(yè)計(jì)劃書(shū)范本(投資融資分析)
- 張拉勞務(wù)合同協(xié)議書(shū)
- 眼鏡鏡架的整形專業(yè)培訓(xùn)2課件
- 生物質(zhì)材料及應(yīng)用淀粉
- 下線儀式串詞策劃
- GB/T 4223-2004廢鋼鐵
- 通用長(zhǎng)期供銷合同范本
- 新版《藥品管理法》解讀課件
- 《社區(qū)治理研究國(guó)內(nèi)外文獻(xiàn)綜述(1900字)》
- 2023浙江省學(xué)生藝術(shù)特長(zhǎng)測(cè)試A級(jí)理論復(fù)習(xí)資料
- 建筑業(yè)企業(yè)資質(zhì)職稱人員相近專業(yè)認(rèn)定目錄
- 擬投入本項(xiàng)目的主要施工設(shè)備表
- GNSS實(shí)習(xí)報(bào)告
評(píng)論
0/150
提交評(píng)論