周偉 陸玉穩(wěn)
摘要:通過迭代求解方程組的解,提出了一種基于卷積神經(jīng)網(wǎng)絡(luò)求解線性方程組的病態(tài)方程組的方法,由于條件數(shù)過大,影響求解的精度,將求解方程組的過程轉(zhuǎn)換為神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)的過程。通過神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)同目標(biāo)數(shù)據(jù)形成一種映射關(guān)系,用最小化誤差來實(shí)現(xiàn)參數(shù)優(yōu)化,把方程組求解的問題進(jìn)而轉(zhuǎn)換成參數(shù)的優(yōu)化問題,求得目標(biāo)解。卷積神經(jīng)網(wǎng)絡(luò)的參數(shù)共享機(jī)制在高維的矩陣計(jì)算中減小了計(jì)算量,提高了計(jì)算效率。
關(guān)鍵詞:卷積神經(jīng)網(wǎng)絡(luò);病態(tài)方程組;參數(shù)優(yōu)化;線性方程組;條件數(shù)
中圖分類號:TP183文獻(xiàn)標(biāo)志碼:A文章編號:1008-1739(2018)22-69-4
0引言
方程組的求解是科學(xué)與工程計(jì)算中的基本問題,在眾多的工程計(jì)算和控制領(lǐng)域,以及醫(yī)學(xué)領(lǐng)域有著廣泛的運(yùn)用,眾多的算法提出也為問題的解決提供了較為有力的支持,例如預(yù)處理共軛梯度法、奇異值分解法、遺傳算法及BP算法等,但是傳統(tǒng)的方法仍存在一些問題,比如傳統(tǒng)的方法基本上都是建立在串行的基礎(chǔ)上進(jìn)行,但是并行運(yùn)算比較困難,而人工神經(jīng)網(wǎng)絡(luò)可以提供一種并行計(jì)算的方法,卷積神經(jīng)網(wǎng)絡(luò)的出現(xiàn)在一定程度上可以解決存在的問題。提出了基于誤差反向傳播的卷積神經(jīng)網(wǎng)絡(luò)算法[1],以2層神經(jīng)網(wǎng)絡(luò)對方程組進(jìn)行求解來達(dá)到目的[2]。
1基于卷積神經(jīng)網(wǎng)絡(luò)的方程組求解
1.1卷積神經(jīng)網(wǎng)絡(luò)
卷積神經(jīng)網(wǎng)絡(luò)是一種人工神經(jīng)網(wǎng)絡(luò),在眾多的領(lǐng)域被廣泛運(yùn)用,例如圖像處理、視頻分析、目標(biāo)追蹤、自然語言處理及人臉識別等,卷積神經(jīng)網(wǎng)絡(luò)同傳統(tǒng)意義上的人工神經(jīng)網(wǎng)絡(luò)有所區(qū)別,它采用了權(quán)重共享機(jī)制,通過權(quán)重共享機(jī)制大大減少了權(quán)重的數(shù)量,從而降低了計(jì)算過程中的復(fù)雜程度,卷積神經(jīng)網(wǎng)絡(luò)的優(yōu)良特性歸功于它的網(wǎng)絡(luò)結(jié)構(gòu),該網(wǎng)絡(luò)由輸入層、卷積層、池化層、全連接層和輸出層組成。
1.2卷積神經(jīng)網(wǎng)絡(luò)模型
病態(tài)方程組的求解設(shè)計(jì),充分地考慮了輸入與輸出的映射關(guān)系,該網(wǎng)絡(luò)具有以下特點(diǎn):
①輸入與輸出:網(wǎng)絡(luò)結(jié)構(gòu)接收來自系數(shù)矩陣的原始數(shù)據(jù),并在不改變數(shù)據(jù)大小以及數(shù)量的前提下對系數(shù)矩陣的大小維度進(jìn)行了重新定義。雖然未將系數(shù)矩陣的維度直接輸入,但是在計(jì)算系數(shù)矩陣維度時(shí)所耗時(shí)長可以忽略不計(jì),輸出層的輸出就是經(jīng)過卷積神經(jīng)網(wǎng)絡(luò)的多次訓(xùn)練后得到的預(yù)測的值與真實(shí)數(shù)據(jù)相近,而非真值[3]。
②線性映射:線性映射又叫線性變換,線性變換就是線性代數(shù)的一個(gè)研究的對象,在數(shù)學(xué)中,線性映射是在2個(gè)向量空間的函數(shù),對于線性變化的討論可以借助矩陣來實(shí)現(xiàn)。
1.6參數(shù)的選擇與優(yōu)化
(1)優(yōu)化器的選擇
在Tensorflow中,存在著多種優(yōu)化器可以選擇。①標(biāo)準(zhǔn)梯度下降法:匯集了樣本的總誤差,然后根據(jù)總誤差更新權(quán)值。②隨即梯度下降法:隨即抽取一個(gè)樣本的誤差然后更新權(quán)值,但是存在的問題可能會造成誤差增大。③批量梯度下降法,選取一個(gè)批次來更新權(quán)重,此外還有momentum,NAG,Adagrad,RMSprob,Adadelta及Adam等,這些優(yōu)化器并不常用,在本文中選擇了Tensorflow這一框架,并且用Tensorflow提供的AdamOptimizer優(yōu)化器,使用這一優(yōu)化器來控制學(xué)習(xí)速度,會將之前衰減的梯度以及梯度的平方保存起來,使用RMSprob和Adadelta相似的方法更新參數(shù)。AdamOptimizer通過使用動量(參數(shù)的移動平均數(shù))來改善傳統(tǒng)的梯度下降,促進(jìn)超參數(shù)的動態(tài)調(diào)整,每次梯度調(diào)整后使得每次迭代學(xué)習(xí)率都有固定的范圍,使得參數(shù)較為平穩(wěn),為不同的參數(shù)計(jì)算提供不同的自適應(yīng)學(xué)習(xí)率,適用于大多非凸優(yōu)化問題。
而傳統(tǒng)的梯度下降存在較多的問題,比如容易造成梯度的消失等一系列的問題,不利于本文采用的神經(jīng)網(wǎng)絡(luò)的訓(xùn)練,因此在這里并未采用傳統(tǒng)的梯度下降法。
(2)學(xué)習(xí)率的選擇
傳統(tǒng)的學(xué)習(xí)率選擇都將會采用一個(gè)固定值,依據(jù)先驗(yàn)知識,一定范圍內(nèi)對數(shù)值進(jìn)行取值,不斷實(shí)驗(yàn)。根據(jù)訓(xùn)練的結(jié)果好壞做參數(shù)調(diào)整,最終找到一個(gè)合適的學(xué)習(xí)率。在本文中學(xué)習(xí)率的選取并不是一個(gè)數(shù)值不變的常數(shù),而且本文的學(xué)習(xí)率的選擇中是在每100次訓(xùn)練后,對學(xué)習(xí)率進(jìn)行動態(tài)調(diào)整,將學(xué)習(xí)率的取值在每100次后除以3,經(jīng)過200次訓(xùn)練,也就是對學(xué)習(xí)率進(jìn)行2次調(diào)整,最終實(shí)現(xiàn)超參數(shù)最優(yōu),即權(quán)重最優(yōu)。
(3)權(quán)重的選擇
權(quán)重的初始化對于神經(jīng)網(wǎng)絡(luò)的訓(xùn)練非常重要,如果權(quán)重一開始就很小,那么信號最后也會很小,如果權(quán)重很大,則信號也會變得很大,不合適的權(quán)值會使得隱藏層輸入方差過大,因此這里對權(quán)重的初始化選擇設(shè)置為符合正態(tài)分布的數(shù)值矩陣。
(4)正則化的約束
該方程的精確解為[1,-1],且系數(shù)矩陣條件數(shù)為2.1932×106,是一個(gè)典型的病態(tài)矩陣[5],求解的網(wǎng)絡(luò)結(jié)構(gòu)同圖1的結(jié)構(gòu)相似,定義了卷積核的大小為2×1,進(jìn)行卷積計(jì)算。通過最小化卷積計(jì)算后的輸出與目標(biāo)輸出的誤差,經(jīng)過多次訓(xùn)練迭代來優(yōu)化權(quán)重直至找到適合網(wǎng)絡(luò)模型的權(quán)重,最終求解正確率比較精確,結(jié)果為[1.0373,-1.0518]T,該解與精確解在2-范數(shù)下的絕對誤差僅為2×10-3。在病態(tài)的方程組中求得最終解的準(zhǔn)確率仍然較高,基本上達(dá)到預(yù)期結(jié)果。
3實(shí)驗(yàn)結(jié)果
深度學(xué)習(xí)發(fā)展迅速,卷積神經(jīng)網(wǎng)絡(luò)的運(yùn)用及其廣泛,可以將卷積神經(jīng)網(wǎng)絡(luò)與其他的領(lǐng)域相結(jié)合,比如醫(yī)學(xué)領(lǐng)域,不僅是在醫(yī)學(xué)圖像處理領(lǐng)域更是會在三維重構(gòu)得到較好的運(yùn)用,方程中的是帶有噪聲的,可以依據(jù)卷積神經(jīng)網(wǎng)絡(luò)對噪聲進(jìn)行過濾進(jìn)而重構(gòu)出想要的模型。
4結(jié)束語
針對傳統(tǒng)的線性方程組以及病態(tài)方程組的求解方法,采用了卷積神經(jīng)網(wǎng)絡(luò)對方程組進(jìn)行了求解,結(jié)合多任務(wù)聯(lián)合訓(xùn)練的方式對方程組進(jìn)行求解,從最終的結(jié)果來看,不論是對一般的方程組還是病態(tài)方程組都有較好的求解,準(zhǔn)確率達(dá)到預(yù)期,且本文的網(wǎng)絡(luò)結(jié)構(gòu)大大降低了計(jì)算的復(fù)雜度,卷積神經(jīng)網(wǎng)絡(luò)在深度學(xué)習(xí)中有著較好的運(yùn)用,在圖像處理、目標(biāo)追蹤及人臉識別等眾多研究領(lǐng)域有著良好的運(yùn)用,尤其是在特征提取運(yùn)用很是廣泛,而且大大減少了計(jì)算的復(fù)雜程度和參數(shù),因此卷積神經(jīng)網(wǎng)絡(luò)的多功能性仍然值得繼續(xù)挖掘,運(yùn)用在眾多的領(lǐng)域。
參考文獻(xiàn)
[1]周筍,吉國力.基于改進(jìn)BP算法的廣義逆矩陣求解方法[J].廈門大學(xué)學(xué)報(bào):自然科學(xué)版,2003(3):386-389.
[2]韓立群.人工神經(jīng)網(wǎng)絡(luò)教程[M].北京:北京郵電大學(xué)出版社, 2006.
[3]李傳朋,秦品樂,張晉京.基于深度卷積神經(jīng)網(wǎng)絡(luò)的圖像去噪研究[J].計(jì)算機(jī)工程,2017,43(3):253-260
[4]章云港,易本順,玥吳晨,等.基于卷積神經(jīng)網(wǎng)絡(luò)的低劑量CT圖像去噪方法[J].光學(xué)學(xué)報(bào),2018,38(4):123-129.
[5]李海濱,尚凡華.基于神經(jīng)網(wǎng)絡(luò)的病態(tài)線性方程組求解[J].遼寧工程技術(shù)大學(xué)學(xué)報(bào),2007(6):956-958.