本發(fā)明實施例涉及神經(jīng)網(wǎng)絡(luò)技術(shù),尤其涉及一種神經(jīng)網(wǎng)絡(luò)的優(yōu)化方法、裝置、計算機及存儲介質(zhì)。
背景技術(shù):
隨著神經(jīng)網(wǎng)絡(luò)的不斷發(fā)展,神經(jīng)網(wǎng)絡(luò)被認(rèn)為是人工智能的熱點技術(shù),被廣泛應(yīng)用于各個技術(shù)領(lǐng)域。
神經(jīng)網(wǎng)絡(luò)是一種模仿動物神經(jīng)網(wǎng)絡(luò)行為特征,進(jìn)行分布式并行信息處理的算法數(shù)學(xué)模型,能夠通根據(jù)學(xué)習(xí)樣本對神經(jīng)網(wǎng)絡(luò)的各神經(jīng)元的權(quán)值進(jìn)行不斷的優(yōu)化調(diào)整實現(xiàn)模型人腦的學(xué)習(xí)過程,神經(jīng)網(wǎng)絡(luò)的初始化是神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)能力的一個重要因素。
目前神經(jīng)網(wǎng)絡(luò)的權(quán)值初始化具有很大的隨機性。隨機設(shè)置的神經(jīng)網(wǎng)絡(luò)初始權(quán)值導(dǎo)致神經(jīng)網(wǎng)絡(luò)存在不能收斂或者收斂到局部最優(yōu)的問題,影響神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)能力,使得神經(jīng)網(wǎng)絡(luò)的預(yù)測結(jié)果精度差。
技術(shù)實現(xiàn)要素:
本發(fā)明實施例提供一種神經(jīng)網(wǎng)絡(luò)的優(yōu)化方法、裝置、計算機及存儲介質(zhì),以實現(xiàn)優(yōu)化神經(jīng)網(wǎng)絡(luò)的初始權(quán)值。
第一方面,本發(fā)明實施例提供了一種神經(jīng)網(wǎng)絡(luò)的優(yōu)化方法,該方法包括:建立神經(jīng)網(wǎng)絡(luò),獲取所述神經(jīng)網(wǎng)絡(luò)的各神經(jīng)元的初始隨機權(quán)值;
根據(jù)所述初始隨機權(quán)值、預(yù)設(shè)隨機增量范圍確定預(yù)設(shè)數(shù)量的隨機權(quán)值序列;
根據(jù)所述初始隨機權(quán)值對應(yīng)的初始權(quán)值序列和所述隨機權(quán)值序列確實優(yōu)化神經(jīng)網(wǎng)絡(luò)。
進(jìn)一步的,根據(jù)所述初始隨機權(quán)值、預(yù)設(shè)隨機增量范圍確定預(yù)設(shè)數(shù)量的隨機權(quán)值序列,包括
根據(jù)所述初始隨機權(quán)值生成所述初始權(quán)值序列;
根據(jù)所述預(yù)設(shè)隨機增量范圍生成預(yù)設(shè)數(shù)量的隨機增量序列,所述隨機增量序列與所述初始權(quán)值序列的維度相同;
將所述初始權(quán)值序列與所述隨機增量序列中對應(yīng)數(shù)值疊加,生成所述預(yù)設(shè)數(shù)量的隨機權(quán)值序列。
進(jìn)一步的,根據(jù)所述初始隨機權(quán)值對應(yīng)的初始權(quán)值序列和所述隨機權(quán)值序列確實優(yōu)化神經(jīng)網(wǎng)絡(luò),包括:
根據(jù)預(yù)設(shè)規(guī)則生成與所述初始權(quán)值序列和所述隨機權(quán)值序列對應(yīng)的初始化神經(jīng)網(wǎng)絡(luò);
根據(jù)學(xué)習(xí)樣本確定所述各初始化神經(jīng)網(wǎng)絡(luò)的優(yōu)異度;
根據(jù)所述優(yōu)異度確定所述優(yōu)化神經(jīng)網(wǎng)絡(luò)。
進(jìn)一步的,根據(jù)預(yù)設(shè)規(guī)則生成與所述初始權(quán)值序列和所述隨機權(quán)值序列對應(yīng)的初始化神經(jīng)網(wǎng)絡(luò),包括:
將所述隨機權(quán)值序列和所述初始權(quán)值序列,根據(jù)預(yù)設(shè)規(guī)則依次填充至所述神經(jīng)網(wǎng)絡(luò)的對應(yīng)神經(jīng)元,生成所述初始化神經(jīng)網(wǎng)絡(luò),所述隨機權(quán)值序列的維度、所述初始權(quán)值的維度以及所述神經(jīng)網(wǎng)絡(luò)的神經(jīng)元數(shù)量相同。
進(jìn)一步的,根據(jù)學(xué)習(xí)樣本確定所述各初始化神經(jīng)網(wǎng)絡(luò)的優(yōu)異度,包括:
將所述學(xué)習(xí)樣本輸入所述初始化神經(jīng)網(wǎng)絡(luò),確定所述初始化神經(jīng)網(wǎng)絡(luò)的輸出值;
根據(jù)所述輸出值與所述學(xué)習(xí)樣本的標(biāo)準(zhǔn)輸出值確定所述神經(jīng)網(wǎng)絡(luò)的訓(xùn)練誤差;
根據(jù)所述訓(xùn)練誤差確定所述神經(jīng)網(wǎng)絡(luò)的優(yōu)異度。
進(jìn)一步的,根據(jù)所述優(yōu)異度確定所述優(yōu)化神經(jīng)網(wǎng)絡(luò),包括:
篩選最大優(yōu)異度對應(yīng)的初始化神經(jīng)網(wǎng)絡(luò),確定為所述優(yōu)化神經(jīng)網(wǎng)絡(luò)。
進(jìn)一步的,在根據(jù)所述初始隨機權(quán)值對應(yīng)的初始權(quán)值序列和所述隨機權(quán)值序列確實優(yōu)化神經(jīng)網(wǎng)絡(luò)之后,還包括:
將所述優(yōu)化神經(jīng)網(wǎng)絡(luò)對應(yīng)的權(quán)值序列更新為初始權(quán)值序列;
根據(jù)更新后的初始權(quán)值序列循環(huán)確定新的優(yōu)化神經(jīng)網(wǎng)絡(luò)。
進(jìn)一步的,在將所述優(yōu)化神經(jīng)網(wǎng)絡(luò)對應(yīng)的權(quán)值序列更新為初始權(quán)值序列之前,還包括:
確定所述優(yōu)化神經(jīng)網(wǎng)絡(luò)的訓(xùn)練誤差小于等于期望誤差;
若是,則停止循環(huán)確定新的優(yōu)化神經(jīng)網(wǎng)絡(luò),將當(dāng)前優(yōu)化神經(jīng)網(wǎng)絡(luò)確定為最終的優(yōu)化神經(jīng)網(wǎng)絡(luò)。
進(jìn)一步的,在將所述優(yōu)化神經(jīng)網(wǎng)絡(luò)對應(yīng)的權(quán)值序列更新為初始權(quán)值序列之前,還包括:
確定所述神經(jīng)網(wǎng)絡(luò)的當(dāng)前迭代次數(shù)是否大于預(yù)設(shè)迭代次數(shù),其中,在確實所述優(yōu)化神經(jīng)網(wǎng)絡(luò)之后,將前一次的迭代次數(shù)加1,生成所述當(dāng)前迭代次數(shù);
若是,則停止循環(huán)確定新的優(yōu)化神經(jīng)網(wǎng)絡(luò),將當(dāng)前優(yōu)化神經(jīng)網(wǎng)絡(luò)確定為最終的優(yōu)化神經(jīng)網(wǎng)絡(luò)。
第二方面,本發(fā)明實施例還提供了一種神經(jīng)網(wǎng)絡(luò)的優(yōu)化裝置,該裝置包括:
神經(jīng)網(wǎng)絡(luò)建立模塊,用于建立神經(jīng)網(wǎng)絡(luò),獲取所述神經(jīng)網(wǎng)絡(luò)的各神經(jīng)元的初始隨機權(quán)值;
隨機權(quán)值序列確定模塊,用于根據(jù)所述初始隨機權(quán)值、預(yù)設(shè)隨機增量范圍確定預(yù)設(shè)數(shù)量的隨機權(quán)值序列;
優(yōu)化神經(jīng)網(wǎng)絡(luò)確定模塊,用于根據(jù)所述初始隨機權(quán)值對應(yīng)的初始權(quán)值序列和所述隨機權(quán)值序列確實優(yōu)化神經(jīng)網(wǎng)絡(luò)。
第三方面,本發(fā)明實施例還提供了一種計算機,該計算機包括存儲器、處理器及存儲在存儲器上并可在處理器上運行的計算機程序,所述處理器執(zhí)行所述程序時實現(xiàn)如本發(fā)明任意實施例提供的神經(jīng)網(wǎng)絡(luò)的優(yōu)化方法。
第四方面,本發(fā)明實施例還提供了一種計算機可讀存儲介質(zhì),其上存儲有計算機程序,該程序被處理器執(zhí)行時實現(xiàn)如本發(fā)明任意實施例提供的神經(jīng)網(wǎng)絡(luò)的優(yōu)化方法。
本發(fā)明實施例通過根據(jù)神經(jīng)網(wǎng)絡(luò)的初始隨機權(quán)值生成預(yù)設(shè)數(shù)量的隨機權(quán)值序列,在初始權(quán)值序列和隨機權(quán)值序列中確實優(yōu)化神經(jīng)網(wǎng)絡(luò),解決了對神經(jīng)網(wǎng)絡(luò)進(jìn)行隨機初始化,導(dǎo)致隨機性大的神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)能力差,使得訓(xùn)練得到的神經(jīng)網(wǎng)絡(luò)預(yù)測精度低的問題,實現(xiàn)了對神經(jīng)網(wǎng)絡(luò)的優(yōu)化,提高了神經(jīng)網(wǎng)絡(luò)初始化權(quán)值的準(zhǔn)確度。
附圖說明
圖1是本發(fā)明實施例一提供的一種神經(jīng)網(wǎng)絡(luò)的優(yōu)化方法的流程圖;
圖2是本發(fā)明實施例一提供的神經(jīng)網(wǎng)絡(luò)示意圖;
圖3是本發(fā)明實施例二提供的一種神經(jīng)網(wǎng)絡(luò)的優(yōu)化方法的流程圖;
圖4是本發(fā)明實施例三提供的一種神經(jīng)網(wǎng)絡(luò)的優(yōu)化方法的流程圖;
圖5是本發(fā)明實施例四提供的一種神經(jīng)網(wǎng)絡(luò)的優(yōu)化裝置的結(jié)構(gòu)示意圖;
圖6是本發(fā)明實施例五提供的計算機的結(jié)構(gòu)示意圖。
具體實施方式
下面結(jié)合附圖和實施例對本發(fā)明作進(jìn)一步的詳細(xì)說明。可以理解的是,此處所描述的具體實施例僅僅用于解釋本發(fā)明,而非對本發(fā)明的限定。另外還需要說明的是,為了便于描述,附圖中僅示出了與本發(fā)明相關(guān)的部分而非全部結(jié)構(gòu)。
實施例一
圖1為本發(fā)明實施例一提供的一種神經(jīng)網(wǎng)絡(luò)的優(yōu)化方法的流程圖,本實施例可適用于優(yōu)化神經(jīng)網(wǎng)絡(luò)初始權(quán)值的情況,該方法可以由本發(fā)明實施例提供的神經(jīng)網(wǎng)絡(luò)優(yōu)化裝置來執(zhí)行,該裝置可采用軟件和/或硬件的方式實現(xiàn)。該方法具體包括:
s110、建立神經(jīng)網(wǎng)絡(luò),獲取神經(jīng)網(wǎng)絡(luò)的各神經(jīng)元的初始隨機權(quán)值。
其中,神經(jīng)網(wǎng)絡(luò)是一種模仿動物神經(jīng)網(wǎng)絡(luò)行為特征,進(jìn)行分布式并行信息處理的算法數(shù)學(xué)模型,采用多層多神經(jīng)元之間的連接模擬人腦的的神經(jīng)元的連接,通過神經(jīng)網(wǎng)絡(luò)內(nèi)各神經(jīng)元對樣本數(shù)據(jù)的反饋對權(quán)值的調(diào)整模擬了人腦的對知識的學(xué)習(xí)過程,各層神經(jīng)元之間的連接權(quán)值及偏置值包含了神經(jīng)網(wǎng)絡(luò)通過樣本學(xué)習(xí)到的知識,能夠?qū)π碌臄?shù)據(jù)進(jìn)行相應(yīng)預(yù)測。
示例性的,參見圖2,圖2是本發(fā)明實施例一提供的神經(jīng)網(wǎng)絡(luò)示意圖。圖2中的神經(jīng)網(wǎng)絡(luò)包含三層多神經(jīng)元,各層的神經(jīng)元件相互連接,其中,w11、w12…w32分別表示各神經(jīng)元的權(quán)值。
本實施例中,各神經(jīng)元的初始隨機權(quán)值指的是隨機設(shè)置的各神經(jīng)元的初始權(quán)值。
需要說明的是,神經(jīng)網(wǎng)絡(luò)的各神經(jīng)元的偏置值一般固定設(shè)置,示例性的,各神經(jīng)元的偏置值可以是-1。
s120、根據(jù)初始隨機權(quán)值、預(yù)設(shè)隨機增量范圍確定預(yù)設(shè)數(shù)量的隨機權(quán)值序列。
其中,預(yù)設(shè)隨機增量范圍指的是各神經(jīng)元權(quán)值的可變化范圍,預(yù)設(shè)隨機增量范圍根據(jù)神經(jīng)網(wǎng)絡(luò)的功能或者類型確定。
本實施例中,根據(jù)初始隨機權(quán)值和預(yù)設(shè)隨機增量范圍可確定神經(jīng)網(wǎng)絡(luò)的多組隨機權(quán)值,將各神經(jīng)元的隨機權(quán)值根據(jù)預(yù)設(shè)規(guī)則生成隨機權(quán)值序列,便于對神經(jīng)網(wǎng)絡(luò)的權(quán)值的進(jìn)一步優(yōu)化處理。示例性的,隨機權(quán)值序列可以是根據(jù)各神經(jīng)網(wǎng)絡(luò)的權(quán)值生成的隨機權(quán)值向量。可選的,隨機權(quán)值序列的數(shù)量根據(jù)神經(jīng)元數(shù)量確定,隨機權(quán)值序列的數(shù)量例如可以是神經(jīng)網(wǎng)絡(luò)中神經(jīng)元數(shù)量的十倍。
可選的,步驟s120包括:
根據(jù)初始隨機權(quán)值生成初始權(quán)值序列;
根據(jù)預(yù)設(shè)隨機增量范圍生成預(yù)設(shè)數(shù)量的隨機增量序列,隨機增量序列與初始權(quán)值序列的維度相同;
將初始權(quán)值序列與隨機增量序列中對應(yīng)數(shù)值疊加,生成預(yù)設(shè)數(shù)量的隨機權(quán)值序列。
示例性的,參見圖2,w11、w12…w32為神經(jīng)網(wǎng)絡(luò)中各神經(jīng)元的初始隨機權(quán)值,則初始權(quán)值序列a可以是:a=[w11,w12,w13,w14,w21,w22,w23,w24,w25,w26,w31,w32]??芍?,初始權(quán)值序列的維度與神經(jīng)網(wǎng)絡(luò)中神經(jīng)元數(shù)量相同,且初始權(quán)值序列中的各參數(shù)與神經(jīng)網(wǎng)絡(luò)中神經(jīng)元權(quán)值一一對應(yīng)。
預(yù)設(shè)隨機增量范圍為(b,c),其中b為隨機增量范圍的下邊界,c為隨機增量范圍的上邊界。本實施例中,根據(jù)預(yù)設(shè)隨機增量范圍生成與初始權(quán)值序列相同維度的隨機增量序列,且隨機增量序列的數(shù)值為初始權(quán)值序列中對應(yīng)權(quán)值的增量。示例性的,隨機權(quán)值序列為bn,其中n為大于等于1的正整數(shù),bn=a+[random(b,c)]。random()為隨機數(shù)發(fā)生器,示例性的,random(b,c)可生成b與c之間的任意隨機數(shù)。
s130、根據(jù)初始隨機權(quán)值對應(yīng)的初始權(quán)值序列和隨機權(quán)值序列確實優(yōu)化神經(jīng)網(wǎng)絡(luò)。
本實施例中,根據(jù)初始權(quán)值序列和隨機權(quán)值序列中的權(quán)值生成對應(yīng)初始化神經(jīng)網(wǎng)絡(luò),在不同權(quán)值的初始化神經(jīng)網(wǎng)絡(luò)中選擇權(quán)值最優(yōu)的神經(jīng)網(wǎng)絡(luò)作為優(yōu)化神經(jīng)網(wǎng)絡(luò),并保證該優(yōu)化神經(jīng)網(wǎng)絡(luò)的收斂性。對神經(jīng)網(wǎng)絡(luò)的初始隨機權(quán)值進(jìn)行了優(yōu)化,避免了直接通過初始隨機權(quán)值對神經(jīng)網(wǎng)絡(luò)進(jìn)行初始化的情況,降低了神經(jīng)網(wǎng)絡(luò)初始化的隨機性,提高了初始神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)能力。
本實施例的技術(shù)方案,通過根據(jù)神經(jīng)網(wǎng)絡(luò)的初始隨機權(quán)值生成預(yù)設(shè)數(shù)量的隨機權(quán)值序列,在初始權(quán)值序列和隨機權(quán)值序列中確定優(yōu)化神經(jīng)網(wǎng)絡(luò),解決了對神經(jīng)網(wǎng)絡(luò)進(jìn)行隨機初始化,導(dǎo)致隨機性大的神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)能力差,使得訓(xùn)練得到的神經(jīng)網(wǎng)絡(luò)預(yù)測精度低的問題,實現(xiàn)了對神經(jīng)網(wǎng)絡(luò)的優(yōu)化,提高了神經(jīng)網(wǎng)絡(luò)初始化權(quán)值的準(zhǔn)確度。
實施例二
圖3是本發(fā)明實施例二提供的一種神經(jīng)網(wǎng)絡(luò)的優(yōu)化方法,在上述實施例一的基礎(chǔ)上,進(jìn)一步的提供了根據(jù)初始隨機權(quán)值對應(yīng)的初始權(quán)值序列和隨機權(quán)值序列確實優(yōu)化神經(jīng)網(wǎng)絡(luò)的方法。相應(yīng)的,該方法包括:
s210、建立神經(jīng)網(wǎng)絡(luò),獲取神經(jīng)網(wǎng)絡(luò)的各神經(jīng)元的初始隨機權(quán)值。
s220、根據(jù)初始隨機權(quán)值、預(yù)設(shè)隨機增量范圍確定預(yù)設(shè)數(shù)量的隨機權(quán)值序列。
s230、根據(jù)預(yù)設(shè)規(guī)則生成與初始權(quán)值序列和隨機權(quán)值序列對應(yīng)的初始化神經(jīng)網(wǎng)絡(luò)。
其中,預(yù)設(shè)規(guī)則指的是權(quán)值序列與神經(jīng)網(wǎng)絡(luò)中各神經(jīng)元的權(quán)值的對應(yīng)關(guān)系,其中,權(quán)值序列包括初始權(quán)值序列和隨機權(quán)值序列。根據(jù)上述對應(yīng)關(guān)系將初始權(quán)值序列和隨機權(quán)值序列中的權(quán)值填充至神經(jīng)網(wǎng)絡(luò),生成對應(yīng)的初始化神經(jīng)網(wǎng)絡(luò)。其中初始化神經(jīng)網(wǎng)絡(luò)指的是未根據(jù)訓(xùn)練樣本進(jìn)行訓(xùn)練,不具有預(yù)測能力的神經(jīng)網(wǎng)絡(luò)。
可選的,步驟s230包括:
將隨機權(quán)值序列和初始權(quán)值序列,根據(jù)預(yù)設(shè)規(guī)則依次填充至神經(jīng)網(wǎng)絡(luò)的對應(yīng)神經(jīng)元,生成初始化神經(jīng)網(wǎng)絡(luò),隨機權(quán)值序列的維度、初始權(quán)值的維度以及神經(jīng)網(wǎng)絡(luò)的神經(jīng)元數(shù)量相同。
示例性的,對神經(jīng)網(wǎng)絡(luò)中的各神經(jīng)元設(shè)置編號,示例性的,參見圖2,對神經(jīng)網(wǎng)絡(luò)中每層神經(jīng)元從左到右編號依次增大,每層中的神經(jīng)元由上到下編號依次增大,例如,第一層中第一個神經(jīng)元的編號為w11,對應(yīng)權(quán)值序列中的第一個權(quán)值。將權(quán)值序列中的數(shù)值依次填充至由小到大的神經(jīng)元的編號對應(yīng)的神經(jīng)元,生成初始化神經(jīng)網(wǎng)絡(luò)。
s240、根據(jù)學(xué)習(xí)樣本確定各初始化神經(jīng)網(wǎng)絡(luò)的優(yōu)異度。
其中,神經(jīng)網(wǎng)絡(luò)的優(yōu)異度用于表征神經(jīng)網(wǎng)絡(luò)的權(quán)值的合理性,優(yōu)異度越高,表明神經(jīng)網(wǎng)絡(luò)的各神經(jīng)元的權(quán)值設(shè)置的越合理,反之,表明神經(jīng)網(wǎng)絡(luò)的各神經(jīng)元的權(quán)值設(shè)置的合理性較差。
可選的,步驟s240包括:
將學(xué)習(xí)樣本輸入初始化神經(jīng)網(wǎng)絡(luò),確定初始化神經(jīng)網(wǎng)絡(luò)的輸出值;
根據(jù)輸出值與學(xué)習(xí)樣本的標(biāo)準(zhǔn)輸出值確定神經(jīng)網(wǎng)絡(luò)的訓(xùn)練誤差;
根據(jù)訓(xùn)練誤差確定神經(jīng)網(wǎng)絡(luò)的優(yōu)異度。
本實施例中,標(biāo)準(zhǔn)輸出值指的是學(xué)習(xí)樣本的期望輸出,根據(jù)學(xué)習(xí)樣本確定。訓(xùn)練誤差指的是以學(xué)習(xí)樣本為輸入信息,初始化神經(jīng)網(wǎng)絡(luò)的實際輸出值與標(biāo)準(zhǔn)輸出之間的差距,示例性的,訓(xùn)練誤差可通過如下公式確定:
其中,error為神經(jīng)網(wǎng)絡(luò)的訓(xùn)練誤差,n為學(xué)習(xí)樣本數(shù),m為神經(jīng)網(wǎng)絡(luò)中輸出層的節(jié)點數(shù),dm為神經(jīng)網(wǎng)絡(luò)的輸出節(jié)點的實際輸出值,ym為神經(jīng)網(wǎng)絡(luò)的輸出節(jié)點的標(biāo)準(zhǔn)輸出值。
神經(jīng)網(wǎng)絡(luò)的優(yōu)異度根據(jù)訓(xùn)練誤差確定,示例性的,優(yōu)異度可以是與訓(xùn)練誤差成反比。例如,e=1/error,或者e=1/(1+error)。
s250、根據(jù)優(yōu)異度確定優(yōu)化神經(jīng)網(wǎng)絡(luò)。
可選的,根據(jù)優(yōu)異度確定優(yōu)化神經(jīng)網(wǎng)絡(luò),包括:
篩選最大優(yōu)異度對應(yīng)的初始化神經(jīng)網(wǎng)絡(luò),確定為優(yōu)化神經(jīng)網(wǎng)絡(luò)。
分別計算多個初始化神經(jīng)網(wǎng)絡(luò)的優(yōu)異度,并篩選最大優(yōu)異度對應(yīng)的初始化神經(jīng)網(wǎng)絡(luò),將該初始化神經(jīng)網(wǎng)絡(luò)確定為優(yōu)化神經(jīng)網(wǎng)絡(luò)。需要說明的是,優(yōu)化神經(jīng)網(wǎng)絡(luò)可以是初始權(quán)值序列對應(yīng)的神經(jīng)網(wǎng)絡(luò),也可以是任一隨機權(quán)值序列對應(yīng)的神經(jīng)網(wǎng)絡(luò)。
本實施例中,以優(yōu)異度為篩選條件,在多個初始化神經(jīng)網(wǎng)絡(luò)中選擇權(quán)值最優(yōu)的神經(jīng)網(wǎng)絡(luò),并將篩選出的優(yōu)化神經(jīng)網(wǎng)絡(luò)中的權(quán)值作為對神經(jīng)網(wǎng)絡(luò)的初始權(quán)值,避免了神經(jīng)網(wǎng)絡(luò)初始化隨機設(shè)置導(dǎo)致的神經(jīng)網(wǎng)絡(luò)存在不收斂或者收斂到局部最優(yōu)的情況,降低了隨機初始化對神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)能力的影響,提高了神經(jīng)網(wǎng)絡(luò)初始權(quán)值的準(zhǔn)確度。
本實施例的技術(shù)方案,通過根據(jù)初始權(quán)值序列和多個隨機權(quán)值序列確定多個初始化神經(jīng)網(wǎng)絡(luò),并根據(jù)學(xué)習(xí)樣本計算各初始化神經(jīng)網(wǎng)絡(luò)的優(yōu)異度,篩選最優(yōu)神經(jīng)網(wǎng)絡(luò),解決了神經(jīng)網(wǎng)絡(luò)初始化隨機性大的問題,提高了神經(jīng)網(wǎng)絡(luò)初始權(quán)值的準(zhǔn)確度,提到了神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)能力,簡化了神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)過程,提高了神經(jīng)網(wǎng)絡(luò)的預(yù)測能力。
實施例三
圖4是本發(fā)明實施例三提供的一種神經(jīng)網(wǎng)絡(luò)的優(yōu)化方法,在上述實施例的基礎(chǔ)上,進(jìn)一步的對神經(jīng)網(wǎng)絡(luò)的優(yōu)化方法進(jìn)行了優(yōu)化。相應(yīng)的,該方法包括:
s310、建立神經(jīng)網(wǎng)絡(luò),獲取神經(jīng)網(wǎng)絡(luò)的各神經(jīng)元的初始隨機權(quán)值。
s320、根據(jù)初始隨機權(quán)值、預(yù)設(shè)隨機增量范圍確定預(yù)設(shè)數(shù)量的隨機權(quán)值序列。
s330、根據(jù)初始隨機權(quán)值對應(yīng)的初始權(quán)值序列和隨機權(quán)值序列確實優(yōu)化神經(jīng)網(wǎng)絡(luò)。
s340、確定優(yōu)化神經(jīng)網(wǎng)絡(luò)的訓(xùn)練誤差小于等于期望誤差,若否,則執(zhí)行步驟s350,若否,則執(zhí)行步驟s360。
s350、將優(yōu)化神經(jīng)網(wǎng)絡(luò)對應(yīng)的權(quán)值序列更新為初始權(quán)值序列,并返回執(zhí)行步驟s320,循環(huán)確定新的優(yōu)化神經(jīng)網(wǎng)絡(luò)。
本實施例中,若優(yōu)化神經(jīng)網(wǎng)絡(luò)的訓(xùn)練誤差大于期望誤差,則表明神經(jīng)網(wǎng)絡(luò)的權(quán)值不滿足初始化條件,需進(jìn)一步對權(quán)值進(jìn)行迭代優(yōu)化。其中,迭代優(yōu)化的過程為根據(jù)當(dāng)前的優(yōu)化神經(jīng)網(wǎng)絡(luò)的權(quán)值,確定新的初始隨機權(quán)值,新的初始隨機權(quán)值為基礎(chǔ)隨機生成預(yù)設(shè)數(shù)據(jù)的隨機權(quán)值序列,確定新的初始化神經(jīng)網(wǎng)絡(luò),在上述新的初始化神經(jīng)網(wǎng)絡(luò)中篩選優(yōu)異度最大的優(yōu)化神經(jīng)網(wǎng)絡(luò)。
本實施例中,通過循環(huán)迭代的形式,多次篩選優(yōu)異度最大的初始化神經(jīng)網(wǎng)絡(luò),不斷的優(yōu)化更新神經(jīng)網(wǎng)絡(luò)的初始權(quán)值,使得神經(jīng)網(wǎng)絡(luò)的權(quán)值逐漸逼近理想權(quán)值,提高神經(jīng)網(wǎng)絡(luò)初始權(quán)值的準(zhǔn)確度。
s360、停止循環(huán)確定新的優(yōu)化神經(jīng)網(wǎng)絡(luò),將當(dāng)前優(yōu)化神經(jīng)網(wǎng)絡(luò)確定為最終的優(yōu)化神經(jīng)網(wǎng)絡(luò)。
本實施例中,若優(yōu)化神經(jīng)網(wǎng)絡(luò)的訓(xùn)練誤差小于或等于期望誤差,則表明神經(jīng)網(wǎng)絡(luò)的權(quán)值滿足初始化條件,停止對神經(jīng)網(wǎng)絡(luò)的循環(huán)優(yōu)化,將當(dāng)前優(yōu)化神經(jīng)網(wǎng)絡(luò)確定為最終的優(yōu)化神經(jīng)網(wǎng)絡(luò),避免了再次循環(huán)計算導(dǎo)致的資源浪費。
需要說明的是,本實施例中,通過s310-s360執(zhí)行一種神經(jīng)網(wǎng)絡(luò)的優(yōu)化方法,僅是一個優(yōu)選實例,在其他實施例中,也可以是通過s310-s330以及s350執(zhí)行一種神經(jīng)網(wǎng)絡(luò)的優(yōu)化方法。
本實施例的技術(shù)方案,通過對神經(jīng)網(wǎng)絡(luò)進(jìn)行循環(huán)迭代,以優(yōu)化神經(jīng)網(wǎng)絡(luò)為基礎(chǔ),生成新的隨機權(quán)值序列,并進(jìn)一步篩選新的優(yōu)化神經(jīng)網(wǎng)絡(luò),逐漸提高神經(jīng)網(wǎng)絡(luò)權(quán)值的準(zhǔn)確度和合理性,降低了神經(jīng)網(wǎng)絡(luò)權(quán)值的隨機性,減少了隨機初始化對神經(jīng)網(wǎng)絡(luò)的影響,提高了神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)能力和預(yù)測能力。
在上述實施例的基礎(chǔ)上,在步驟s350之前,還包括:
確定神經(jīng)網(wǎng)絡(luò)的當(dāng)前迭代次數(shù)是否大于預(yù)設(shè)迭代次數(shù),其中,在確實優(yōu)化神經(jīng)網(wǎng)絡(luò)之后,將前一次的迭代次數(shù)加1,生成當(dāng)前迭代次數(shù);
若是,則停止循環(huán)確定新的優(yōu)化神經(jīng)網(wǎng)絡(luò),將當(dāng)前優(yōu)化神經(jīng)網(wǎng)絡(luò)確定為最終的優(yōu)化神經(jīng)網(wǎng)絡(luò)。
本實施例中,通過設(shè)置迭代次數(shù),避免由于無法生成滿足初始化條件的權(quán)值序列時,導(dǎo)致進(jìn)行死循環(huán)的問題。其中,在對神經(jīng)網(wǎng)絡(luò)進(jìn)行優(yōu)化之前,設(shè)置迭代次數(shù)為0,在生成優(yōu)化神經(jīng)網(wǎng)絡(luò)之后,將前一次的迭代次數(shù)加1,生成當(dāng)前迭代次數(shù)。
其中,預(yù)設(shè)迭代次數(shù)根據(jù)神經(jīng)網(wǎng)絡(luò)的優(yōu)化需求確定。例如,預(yù)設(shè)迭代次數(shù)可以是100,也可以是1000等。
本實施例中,若神經(jīng)網(wǎng)絡(luò)的當(dāng)前迭代次數(shù)大于預(yù)設(shè)迭代次數(shù),且優(yōu)化神經(jīng)網(wǎng)絡(luò)的訓(xùn)練誤差大于期望誤差,則將當(dāng)前的優(yōu)化神經(jīng)網(wǎng)絡(luò)確定為最終的優(yōu)化神經(jīng)網(wǎng)絡(luò)。
實施例四
圖5是本發(fā)明實施例四提供的一種神經(jīng)網(wǎng)絡(luò)的優(yōu)化裝置,該裝置具體包括:
神經(jīng)網(wǎng)絡(luò)建立模塊410,用于建立神經(jīng)網(wǎng)絡(luò),獲取神經(jīng)網(wǎng)絡(luò)的各神經(jīng)元的初始隨機權(quán)值;
隨機權(quán)值序列確定模塊420,用于根據(jù)初始隨機權(quán)值、預(yù)設(shè)隨機增量范圍確定預(yù)設(shè)數(shù)量的隨機權(quán)值序列;
優(yōu)化神經(jīng)網(wǎng)絡(luò)確定模塊430,用于根據(jù)初始隨機權(quán)值對應(yīng)的初始權(quán)值序列和隨機權(quán)值序列確實優(yōu)化神經(jīng)網(wǎng)絡(luò)。
本發(fā)明實施例提供的神經(jīng)網(wǎng)絡(luò)的優(yōu)化裝置可執(zhí)行本發(fā)明任意實施例所提供的神經(jīng)網(wǎng)絡(luò)的優(yōu)化方法,具備執(zhí)行神經(jīng)網(wǎng)絡(luò)的優(yōu)化方法相應(yīng)的功能模塊和有益效果。
實施例五
圖6為本發(fā)明實施例五提供的一種計算機設(shè)備的結(jié)構(gòu)示意圖。圖6示出了適于用來實現(xiàn)本發(fā)明實施方式的示例性計算機設(shè)備12的框圖。圖6顯示的計算機設(shè)備12僅僅是一個示例,不應(yīng)對本發(fā)明實施例的功能和使用范圍帶來任何限制。
如圖6所示,計算機設(shè)備12以通用計算設(shè)備的形式表現(xiàn)。計算機設(shè)備12的組件可以包括但不限于:一個或者多個處理器或者處理單元16,系統(tǒng)存儲器28,連接不同系統(tǒng)組件(包括系統(tǒng)存儲器28和處理單元16)的總線18。
總線18表示幾類總線結(jié)構(gòu)中的一種或多種,包括存儲器總線或者存儲器控制器,外圍總線,圖形加速端口,處理器或者使用多種總線結(jié)構(gòu)中的任意總線結(jié)構(gòu)的局域總線。舉例來說,這些體系結(jié)構(gòu)包括但不限于工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu)(isa)總線,微通道體系結(jié)構(gòu)(mac)總線,增強型isa總線、視頻電子標(biāo)準(zhǔn)協(xié)會(vesa)局域總線以及外圍組件互連(pci)總線。
計算機設(shè)備12典型地包括多種計算機系統(tǒng)可讀介質(zhì)。這些介質(zhì)可以是任何能夠被計算機設(shè)備12訪問的可用介質(zhì),包括易失性和非易失性介質(zhì),可移動的和不可移動的介質(zhì)。
系統(tǒng)存儲器28可以包括易失性存儲器形式的計算機系統(tǒng)可讀介質(zhì),例如隨機存取存儲器(ram)30和/或高速緩存存儲器32。計算機設(shè)備12可以進(jìn)一步包括其它可移動/不可移動的、易失性/非易失性計算機系統(tǒng)存儲介質(zhì)。僅作為舉例,存儲系統(tǒng)34可以用于讀寫不可移動的、非易失性磁介質(zhì)(圖6未顯示,通常稱為“硬盤驅(qū)動器”)。盡管圖6中未示出,可以提供用于對可移動非易失性磁盤(例如“軟盤”)讀寫的磁盤驅(qū)動器,以及對可移動非易失性光盤(例如cd-rom,dvd-rom或者其它光介質(zhì))讀寫的光盤驅(qū)動器。在這些情況下,每個驅(qū)動器可以通過一個或者多個數(shù)據(jù)介質(zhì)接口與總線18相連。存儲器28可以包括至少一個程序產(chǎn)品,該程序產(chǎn)品具有一組(例如至少一個)程序模塊,這些程序模塊被配置以執(zhí)行本發(fā)明各實施例的功能。
具有一組(至少一個)程序模塊42的程序/實用工具40,可以存儲在例如存儲器28中,這樣的程序模塊42包括——但不限于——操作系統(tǒng)、一個或者多個應(yīng)用程序、其它程序模塊以及程序數(shù)據(jù),這些示例中的每一個或某種組合中可能包括網(wǎng)絡(luò)環(huán)境的實現(xiàn)。程序模塊42通常執(zhí)行本發(fā)明所描述的實施例中的功能和/或方法。
計算機設(shè)備12也可以與一個或多個外部設(shè)備14(例如鍵盤、指向設(shè)備、顯示器24等)通信,還可與一個或者多個使得用戶能與該計算機設(shè)備12交互的設(shè)備通信,和/或與使得該計算機設(shè)備12能與一個或多個其它計算設(shè)備進(jìn)行通信的任何設(shè)備(例如網(wǎng)卡,調(diào)制解調(diào)器等等)通信。這種通信可以通過輸入/輸出(i/o)接口22進(jìn)行。并且,計算機設(shè)備12還可以通過網(wǎng)絡(luò)適配器20與一個或者多個網(wǎng)絡(luò)(例如局域網(wǎng)(lan),廣域網(wǎng)(wan)和/或公共網(wǎng)絡(luò),例如因特網(wǎng))通信。如圖所示,網(wǎng)絡(luò)適配器20通過總線18與計算機設(shè)備12的其它模塊通信。應(yīng)當(dāng)明白,盡管圖中未示出,可以結(jié)合計算機設(shè)備12使用其它硬件和/或軟件模塊,包括但不限于:微代碼、設(shè)備驅(qū)動器、冗余處理單元、外部磁盤驅(qū)動陣列、raid系統(tǒng)、磁帶驅(qū)動器以及數(shù)據(jù)備份存儲系統(tǒng)等。
處理單元16通過運行存儲在系統(tǒng)存儲器28中的程序,從而執(zhí)行各種功能應(yīng)用以及數(shù)據(jù)處理,例如實現(xiàn)本發(fā)明實施例所提供的神經(jīng)網(wǎng)絡(luò)的優(yōu)化方法。
所述方法包括:
建立神經(jīng)網(wǎng)絡(luò),獲取所述神經(jīng)網(wǎng)絡(luò)的各神經(jīng)元的初始隨機權(quán)值;
根據(jù)所述初始隨機權(quán)值、預(yù)設(shè)隨機增量范圍確定預(yù)設(shè)數(shù)量的隨機權(quán)值序列;
根據(jù)所述初始隨機權(quán)值對應(yīng)的初始權(quán)值序列和所述隨機權(quán)值序列確實優(yōu)化神經(jīng)網(wǎng)絡(luò)。
實施例六
本發(fā)明實施例六提供了一種計算機可讀存儲介質(zhì),其上存儲有計算機程序,該程序被處理器執(zhí)行時實現(xiàn)如本申請所有發(fā)明實施例提供的神經(jīng)網(wǎng)絡(luò)的優(yōu)化方法。所述方法包括:
建立神經(jīng)網(wǎng)絡(luò),獲取所述神經(jīng)網(wǎng)絡(luò)的各神經(jīng)元的初始隨機權(quán)值;
根據(jù)所述初始隨機權(quán)值、預(yù)設(shè)隨機增量范圍確定預(yù)設(shè)數(shù)量的隨機權(quán)值序列;
根據(jù)所述初始隨機權(quán)值對應(yīng)的初始權(quán)值序列和所述隨機權(quán)值序列確實優(yōu)化神經(jīng)網(wǎng)絡(luò)。
可以采用一個或多個計算機可讀的介質(zhì)的任意組合。計算機可讀介質(zhì)可以是計算機可讀信號介質(zhì)或者計算機可讀存儲介質(zhì)。計算機可讀存儲介質(zhì)例如可以是——但不限于——電、磁、光、電磁、紅外線、或半導(dǎo)體的系統(tǒng)、裝置或器件,或者任意以上的組合。計算機可讀存儲介質(zhì)的更具體的例子(非窮舉的列表)包括:具有一個或多個導(dǎo)線的電連接、便攜式計算機磁盤、硬盤、隨機存取存儲器(ram)、只讀存儲器(rom)、可擦式可編程只讀存儲器(eprom或閃存)、光纖、便攜式緊湊磁盤只讀存儲器(cd-rom)、光存儲器件、磁存儲器件、或者上述的任意合適的組合。在本文件中,計算機可讀存儲介質(zhì)可以是任何包含或存儲程序的有形介質(zhì),該程序可以被指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用。
計算機可讀的信號介質(zhì)可以包括在基帶中或者作為載波一部分傳播的數(shù)據(jù)信號,其中承載了計算機可讀的程序代碼。這種傳播的數(shù)據(jù)信號可以采用多種形式,包括——但不限于——電磁信號、光信號或上述的任意合適的組合。計算機可讀的信號介質(zhì)還可以是計算機可讀存儲介質(zhì)以外的任何計算機可讀介質(zhì),該計算機可讀介質(zhì)可以發(fā)送、傳播或者傳輸用于由指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用的程序。
計算機可讀介質(zhì)上包含的程序代碼可以用任何適當(dāng)?shù)慕橘|(zhì)傳輸,包括——但不限于——無線、電線、光纜、rf等等,或者上述的任意合適的組合。
可以以一種或多種程序設(shè)計語言或其組合來編寫用于執(zhí)行本發(fā)明操作的計算機程序代碼,所述程序設(shè)計語言包括面向?qū)ο蟮某绦蛟O(shè)計語言—諸如java、smalltalk、c++,還包括常規(guī)的過程式程序設(shè)計語言—諸如“c”語言或類似的程序設(shè)計語言。程序代碼可以完全地在用戶計算機上執(zhí)行、部分地在用戶計算機上執(zhí)行、作為一個獨立的軟件包執(zhí)行、部分在用戶計算機上部分在遠(yuǎn)程計算機上執(zhí)行、或者完全在遠(yuǎn)程計算機或服務(wù)器上執(zhí)行。在涉及遠(yuǎn)程計算機的情形中,遠(yuǎn)程計算機可以通過任意種類的網(wǎng)絡(luò)——包括局域網(wǎng)(lan)或廣域網(wǎng)(wan)—連接到用戶計算機,或者,可以連接到外部計算機(例如利用因特網(wǎng)服務(wù)提供商來通過因特網(wǎng)連接)。
注意,上述僅為本發(fā)明的較佳實施例及所運用技術(shù)原理。本領(lǐng)域技術(shù)人員會理解,本發(fā)明不限于這里所述的特定實施例,對本領(lǐng)域技術(shù)人員來說能夠進(jìn)行各種明顯的變化、重新調(diào)整和替代而不會脫離本發(fā)明的保護(hù)范圍。因此,雖然通過以上實施例對本發(fā)明進(jìn)行了較為詳細(xì)的說明,但是本發(fā)明不僅僅限于以上實施例,在不脫離本發(fā)明構(gòu)思的情況下,還可以包括更多其他等效實施例,而本發(fā)明的范圍由所附的權(quán)利要求范圍決定。