本發(fā)明屬于自動(dòng)控制技術(shù)領(lǐng)域,特別是涉及一種基于K均值改進(jìn)卷積神經(jīng)網(wǎng)絡(luò)的機(jī)器人路徑規(guī)劃方法。
背景技術(shù):
近年來(lái),深度學(xué)習(xí)受到越來(lái)越多的關(guān)注,它被人們視為通向人工智能的關(guān)鍵環(huán)節(jié)。作為一種深度學(xué)習(xí)的典范,卷積神經(jīng)網(wǎng)絡(luò)得到了極大的促進(jìn)和發(fā)展。2012年,克里澤夫斯基帶領(lǐng)的團(tuán)隊(duì)運(yùn)用深度卷積神經(jīng)網(wǎng)絡(luò),在世界頂級(jí)賽事圖像網(wǎng)絡(luò)大規(guī)模視覺(jué)識(shí)別挑戰(zhàn)賽中異軍突起,打破了記錄,最終成績(jī)遠(yuǎn)遠(yuǎn)超過(guò)了其他算法的成績(jī)。在目前的許多識(shí)別任務(wù)當(dāng)中,卷積神經(jīng)網(wǎng)絡(luò)與人類(lèi)其他同等識(shí)別水平的算法相比,具有不可替代的優(yōu)越性。所以,對(duì)于解決深度學(xué)習(xí)問(wèn)題以及其他各個(gè)相關(guān)領(lǐng)域的發(fā)展來(lái)說(shuō),卷積神經(jīng)網(wǎng)絡(luò)都具有劃時(shí)代的意義。
對(duì)于一個(gè)輸入輸出型網(wǎng)絡(luò)來(lái)說(shuō),學(xué)習(xí)算法對(duì)于它的性能好壞影響重大。大多數(shù)卷積神經(jīng)網(wǎng)絡(luò)中,有監(jiān)督的學(xué)習(xí)方法占絕大多數(shù),它往往存在這樣的問(wèn)題:需要訓(xùn)練的參數(shù)數(shù)量過(guò)多,對(duì)于參數(shù)來(lái)說(shuō)不容易學(xué)習(xí)到一個(gè)最優(yōu)值,而且還存在著過(guò)擬合的問(wèn)題;有監(jiān)督的學(xué)習(xí)方法相比于單層模型,往往還存在著梯度彌散等問(wèn)題。這個(gè)問(wèn)題一直困擾著研究人員,直到出現(xiàn)了逐層無(wú)監(jiān)督的學(xué)習(xí)方式,這種學(xué)習(xí)方式雖然可以克服掉上述的梯度彌散或者是訓(xùn)練樣本較少的問(wèn)題,但是隨之而來(lái)的也出現(xiàn)了許許多多新的問(wèn)題,其中最主要的一個(gè)就是這種逐層無(wú)監(jiān)督的學(xué)習(xí)所學(xué)習(xí)到的特征與實(shí)際所做的任務(wù)是獨(dú)立的,對(duì)于所做的某些具體的問(wèn)題,存在較差的魯棒性,并不能夠很好的解決,而且這種學(xué)習(xí)方式需要在上一層神經(jīng)網(wǎng)絡(luò)的參數(shù)完全得到確定之后,才可以學(xué)習(xí)下一層,訓(xùn)練較為繁瑣。
在目前的主要方法中,區(qū)別在于有著不同方式的學(xué)習(xí)濾波器,完全的有監(jiān)督的學(xué)習(xí)方式需要訓(xùn)練很多的參數(shù),有的時(shí)候甚至?xí)^(guò)可以用的訓(xùn)練樣本數(shù),在目前最新的研究進(jìn)展中,采用了權(quán)值共享以及局部連接的卷積神經(jīng)網(wǎng)絡(luò),但是仍然無(wú)法解決參數(shù)數(shù)量較多的問(wèn)題,參數(shù)也依然不能學(xué)習(xí)到最優(yōu)值,這種完全有監(jiān)督的學(xué)習(xí)與單層的模型相比,還存在著梯度彌散的問(wèn)題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明要解決的技術(shù)問(wèn)題是現(xiàn)有的卷積神經(jīng)網(wǎng)絡(luò)參數(shù)數(shù)量較多,參數(shù)不能學(xué)習(xí)到最優(yōu)值,以及梯度彌散的問(wèn)題。
為了解決上述技術(shù)問(wèn)題,本發(fā)明的技術(shù)方案是提供一種基于K均值改進(jìn)卷積神經(jīng)網(wǎng)絡(luò)的機(jī)器人路徑規(guī)劃方法,其特征在于:該方法由以下3個(gè)步驟組成:
步驟1:建立K均值聚類(lèi)算法模型和BP網(wǎng)絡(luò);
步驟2:將機(jī)器人的初始巡邏點(diǎn)位置輸入K均值聚類(lèi)模型;
步驟3:將K均值聚類(lèi)模型的輸出結(jié)果作為BP網(wǎng)絡(luò)的輸入值,再進(jìn)行訓(xùn)練,BP網(wǎng)絡(luò)的輸出值即為最優(yōu)的機(jī)器人巡邏路徑。
優(yōu)選地,首先,K均值聚類(lèi)算法的聚類(lèi)中心與輸入值進(jìn)行卷積,得到輸入值的特征;然后,通過(guò)池化減少特征維數(shù),并獲得平移不變性;由此得到基于K均值卷積層的輸出結(jié)果,該輸出結(jié)果作為BP網(wǎng)絡(luò)的輸入值。
優(yōu)選地,假設(shè)數(shù)據(jù)樣本集合(x1,x2,x3...xm)中,每一個(gè)數(shù)據(jù)樣本xq都作為p維實(shí)向量,1≤q≤m,q、m、p均為正整數(shù);K均值聚類(lèi)算法就是要把共計(jì)m個(gè)數(shù)據(jù)樣本劃分到j(luò)個(gè)集合當(dāng)中去,其中,j≤m,j為正整數(shù);j個(gè)集合分別為Y={Y1,Y2,Y3...Yj};這樣做的目的是使得結(jié)果中各簇的平方和相加的和最??;K均值聚類(lèi)算法的目的就是為了找到:
式中,un是第n簇Yn中數(shù)據(jù)的均值,1≤n≤j,n為正整數(shù);argYmin()表示使目標(biāo)函數(shù)取最小值時(shí)的變量值。
更優(yōu)選地,假設(shè)開(kāi)始的j個(gè)均值點(diǎn)均為已知,上標(biāo)1表示初始值,K均值聚類(lèi)算法在進(jìn)行學(xué)習(xí)訓(xùn)練時(shí),是按照如下的步驟交替進(jìn)行:
1)分配
采用歐幾里得度量,將當(dāng)前的數(shù)據(jù)點(diǎn)分配至距離最近的觀(guān)測(cè)點(diǎn)。按照下式進(jìn)行數(shù)據(jù)點(diǎn)分配:
式中,代表第n個(gè)集合,xq為數(shù)據(jù)樣本,代表第n個(gè)均值點(diǎn),ri(s)代表第i個(gè)均值點(diǎn),均值點(diǎn)均為已知,s代表迭代次數(shù),s、n、q、i、j均為正整數(shù);盡管在理論上x(chóng)q可以分配到兩個(gè)及以上的類(lèi)別中,但是在實(shí)際操作的過(guò)程中,xq都會(huì)只被分配到一個(gè)確定的聚簇當(dāng)中去;
2)更新
通過(guò)計(jì)算第1)步中得到的新的聚類(lèi)中心,來(lái)作為每一個(gè)聚類(lèi)中心的均值點(diǎn),按照如下公式進(jìn)行計(jì)算:
式中,xi表示集合中的一個(gè)數(shù)據(jù)樣本,s代表迭代次數(shù),i為正整數(shù),代表將集合中的數(shù)據(jù)樣本xi進(jìn)行求和;當(dāng)各個(gè)聚類(lèi)中心不再變化時(shí),這一算法收斂于一個(gè)局部最優(yōu)解。
本發(fā)明提供的方法克服了現(xiàn)有技術(shù)的不足,網(wǎng)絡(luò)第一層采用K均值無(wú)監(jiān)督學(xué)習(xí),第二層采用BP算法有監(jiān)督學(xué)習(xí),既可以使訓(xùn)練所得到的特征與實(shí)際任務(wù)相關(guān)度增加,提高準(zhǔn)確性;又可以減少需訓(xùn)練的參數(shù),解決了梯度彌散問(wèn)題。將改進(jìn)后的算法應(yīng)用于機(jī)器人路徑規(guī)劃,與其他主流算法對(duì)比實(shí)驗(yàn)結(jié)果表明,改進(jìn)算法具有更高的準(zhǔn)確率和更快的訓(xùn)練運(yùn)行速度。
附圖說(shuō)明
圖1為局部連接示意圖;
圖2為權(quán)值共享示意圖;
圖3為基于K均值改進(jìn)的卷積神經(jīng)網(wǎng)絡(luò)示意圖;
圖4為改進(jìn)算法的MATLAB仿真實(shí)驗(yàn)結(jié)果;(a)為機(jī)器人初始路徑;(b)為算法優(yōu)化后路徑。
具體實(shí)施方式
下面結(jié)合具體實(shí)施例,進(jìn)一步闡述本發(fā)明。應(yīng)理解,這些實(shí)施例僅用于說(shuō)明本發(fā)明而不用于限制本發(fā)明的范圍。此外應(yīng)理解,在閱讀了本發(fā)明講授的內(nèi)容之后,本領(lǐng)域技術(shù)人員可以對(duì)本發(fā)明作各種改動(dòng)或修改,這些等價(jià)形式同樣落于本申請(qǐng)所附權(quán)利要求書(shū)所限定的范圍。
本發(fā)明提供了一種基于K均值改進(jìn)卷積神經(jīng)網(wǎng)絡(luò)的機(jī)器人路徑規(guī)劃方法,采用權(quán)值共享和局部連接來(lái)減少需學(xué)習(xí)的參數(shù)個(gè)數(shù),提高效率。
如圖1所示,每一層與其前一層采用的是局部連接而不是全連接,第1層的神經(jīng)細(xì)胞與第1-1層的三個(gè)神經(jīng)細(xì)胞相連接,采用局部連接的方式,第1層可以感受到的野的寬度為3。第1+1層的神經(jīng)細(xì)胞與第1層的神經(jīng)細(xì)胞也為局部連接。由于每個(gè)神經(jīng)元對(duì)其所能感受到的野之外的神經(jīng)元不會(huì)產(chǎn)生任何反應(yīng),這種結(jié)構(gòu)可以大大減少神經(jīng)元之間的連接數(shù)目,經(jīng)過(guò)層層的堆疊,所學(xué)習(xí)到的過(guò)濾器會(huì)擴(kuò)展到全局,不斷覆蓋到越來(lái)越大的區(qū)域。
采用權(quán)值共享的方法,將共享同一權(quán)值的神經(jīng)元組織起來(lái),形成二維平面,就可以得到關(guān)于他們的結(jié)構(gòu)特征圖。如圖2中所示,連接權(quán)值的數(shù)目應(yīng)該為15,在進(jìn)行權(quán)值共享后,連接權(quán)值下降為三個(gè),與之前相比降低了百分之八十。由此觀(guān)之,運(yùn)用權(quán)值共享策略可以在很大程度上減少需訓(xùn)練的參數(shù)個(gè)數(shù)。通過(guò)權(quán)值共享機(jī)制,可以模擬動(dòng)物大腦皮層中的神經(jīng)細(xì)胞,快速提取出輸入信號(hào)的特征。
本發(fā)明的基于K均值改進(jìn)卷積神經(jīng)網(wǎng)絡(luò)的機(jī)器人路徑規(guī)劃方法采用子采樣操作,在兩個(gè)方向來(lái)對(duì)特征圖進(jìn)行特征映射。以S為步長(zhǎng),以W×W為子區(qū)域范圍,S、W均為正整數(shù);一般情況下,1≤S≤W,通常取S=W,映射值通常為區(qū)域中的最大值或者是平均值。例如,在大小為6×6的特征圖中,若對(duì)特征圖中所有大小為2×2的連續(xù)子區(qū)域按照步長(zhǎng)為6進(jìn)行子采樣,進(jìn)行采樣完成后特征圖的大小可以變?yōu)?×3。通過(guò)子采樣,可以大大減少神經(jīng)細(xì)胞的個(gè)數(shù),并對(duì)后續(xù)的神經(jīng)網(wǎng)絡(luò)總體復(fù)雜程度進(jìn)行深度簡(jiǎn)化,模擬靈長(zhǎng)類(lèi)動(dòng)物的神經(jīng)元細(xì)胞,使得在輸入發(fā)生變化時(shí)具有較好的魯棒性。
學(xué)習(xí)算法對(duì)于輸入輸出型網(wǎng)絡(luò)的性能有著重要影響。本實(shí)施例中,基于K均值改進(jìn)卷積神經(jīng)網(wǎng)絡(luò)的機(jī)器人路徑規(guī)劃方法可以將有監(jiān)督的學(xué)習(xí)方法與無(wú)監(jiān)督的學(xué)習(xí)方法進(jìn)行結(jié)合。第一層采用無(wú)監(jiān)督學(xué)習(xí),即K均值聚類(lèi)算法;第二層采用有監(jiān)督進(jìn)行學(xué)習(xí),BP算法。此種改進(jìn)的卷積神經(jīng)網(wǎng)絡(luò)既可以使得訓(xùn)練所得到的特征與實(shí)際將要完成的任務(wù)相關(guān)度增加,極大地提高了分類(lèi)準(zhǔn)確性;又可以大大減少需要訓(xùn)練的參數(shù),解決了梯度彌散問(wèn)題。
K-means均值算法是一種進(jìn)行向量量化的方法,這種算法的目的是把數(shù)據(jù)的樣本點(diǎn)劃分到K個(gè)聚類(lèi)中,使每個(gè)點(diǎn)都與均值(即離它最近的聚類(lèi)中心)有著相同的類(lèi)別,并將這個(gè)法則作為聚類(lèi)的標(biāo)準(zhǔn)。
假設(shè)所觀(guān)測(cè)的數(shù)據(jù)樣本集合(x1,x2,x3...xm)中,每一個(gè)數(shù)據(jù)樣本xq都作為p維實(shí)向量,1≤q≤m,q、m、p均為正整數(shù)。K均值算法就是要把共計(jì)m個(gè)數(shù)據(jù)樣本劃分到j(luò)個(gè)集合當(dāng)中去,其中,j≤m,j為正整數(shù)。j個(gè)集合分別為Y={Y1,Y2,Y3...Yj}。這樣做的目的是使得結(jié)果中各簇的平方和相加的和最小??偠灾?,K均值聚類(lèi)算法的目的就是為了找到:
式中,un是第n簇Yn中數(shù)據(jù)的均值,1≤n≤j,n為正整數(shù);argYmin()表示使目標(biāo)函數(shù)取最小值時(shí)的變量值。
假設(shè)開(kāi)始的j個(gè)均值點(diǎn)均為已知,上標(biāo)1表示初始值,K均值聚類(lèi)算法在進(jìn)行學(xué)習(xí)訓(xùn)練時(shí),是按照如下的步驟交替進(jìn)行:
1)分配
采用歐幾里得度量,將當(dāng)前的數(shù)據(jù)點(diǎn)分配至距離最近的觀(guān)測(cè)點(diǎn)。按照下式進(jìn)行數(shù)據(jù)點(diǎn)分配:
式中,代表第n個(gè)集合,xq為數(shù)據(jù)樣本,代表第n個(gè)均值點(diǎn),ri(s)代表第i個(gè)均值點(diǎn),均值點(diǎn)均為已知,s代表迭代次數(shù),s、n、q、i、j均為正整數(shù);其中,盡管在理論上x(chóng)q可以分配到兩個(gè)及以上的類(lèi)別中,但是在實(shí)際操作的過(guò)程中,xq都會(huì)只被分配到一個(gè)確定的聚簇當(dāng)中去;
2)更新
通過(guò)計(jì)算第1)步中得到的新的聚類(lèi)中心,來(lái)作為每一個(gè)聚類(lèi)中心的均值點(diǎn),按照如下公式進(jìn)行計(jì)算:
式中,xi表示集合中的一個(gè)數(shù)據(jù)樣本,s代表迭代次數(shù),i為正整數(shù),代表將集合中的數(shù)據(jù)樣本xi進(jìn)行求和;當(dāng)各個(gè)聚類(lèi)中心不再變化時(shí),這一算法收斂,但是,由于實(shí)際上分配方案是有限的,這一算法一般都會(huì)收斂于一個(gè)局部最優(yōu)解。
在沒(méi)有監(jiān)督的訓(xùn)練過(guò)程中,通過(guò)K均值算法對(duì)沒(méi)有數(shù)據(jù)標(biāo)簽的訓(xùn)練得到一個(gè)K均值聚類(lèi),這樣就可以將輸入的值映射到新的特征空間。
在通過(guò)K均值算法進(jìn)行聚類(lèi)以后,就可以運(yùn)用得到的聚類(lèi)中心進(jìn)行特征值的提取,分為以下幾個(gè)步驟:
1)將聚類(lèi)結(jié)果與輸入值進(jìn)行卷積,就可以得到輸入值的特征。
2)可以通過(guò)池化來(lái)減少特征維數(shù),以加快收斂速度,并獲得一定的平移不變性。
經(jīng)過(guò)上述兩個(gè)步驟,便可以得到基于K均值卷積層的輸出結(jié)果。然后進(jìn)入有監(jiān)督的學(xué)習(xí)階段,采用BP算法有監(jiān)督學(xué)習(xí),將上述結(jié)果作為BP網(wǎng)絡(luò)輸入,再進(jìn)行訓(xùn)練?;贙均值改進(jìn)的卷積神經(jīng)網(wǎng)絡(luò)示意圖如圖3所示。
采用MNIST數(shù)據(jù)集進(jìn)行訓(xùn)練測(cè)試,并與其他主流算法進(jìn)行對(duì)比。來(lái)驗(yàn)證基于K均值改進(jìn)卷積神經(jīng)網(wǎng)絡(luò)的性能。卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如下表1:
表1卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
第二層為特征提取階段,首先經(jīng)過(guò)有監(jiān)督的方式進(jìn)行訓(xùn)練,然后在測(cè)試集上測(cè)試,并與其他主流算法進(jìn)行對(duì)比,對(duì)比結(jié)果如表2:
表2在MNIST中改進(jìn)算法與其他算法對(duì)比
對(duì)比結(jié)果表明,算法在MNIST數(shù)據(jù)集上有較好的正確率,且算法在試驗(yàn)時(shí),采用的網(wǎng)絡(luò)規(guī)模較小,因此,算法具有較高的準(zhǔn)確率和較快的訓(xùn)練和運(yùn)行速度。
將基于K均值改進(jìn)卷積神經(jīng)網(wǎng)絡(luò)用于機(jī)器人最優(yōu)路徑規(guī)劃中,為每個(gè)機(jī)器人的8個(gè)巡邏點(diǎn)設(shè)計(jì)一條最短巡邏路徑,MATLAB仿真實(shí)驗(yàn)結(jié)果如圖4所示。
在圖4中,(a)是優(yōu)化前的初始路徑,它是由輸入的巡邏點(diǎn)的次序決定的,(b)是優(yōu)化后的路徑,它是由尋優(yōu)路徑矩陣得出??梢缘贸?,基于K均值改進(jìn)的卷積神經(jīng)網(wǎng)絡(luò)可以將巡邏路徑長(zhǎng)度由4.02優(yōu)化為2.83,效果明顯。