亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種構(gòu)建神經(jīng)網(wǎng)絡(luò)的方法及裝置與流程

文檔序號(hào):11323879閱讀:195來源:國知局
一種構(gòu)建神經(jīng)網(wǎng)絡(luò)的方法及裝置與流程

本發(fā)明涉及計(jì)算機(jī)領(lǐng)域,特別涉及一種構(gòu)建神經(jīng)網(wǎng)絡(luò)的方法及裝置。



背景技術(shù):

近幾年來,深度神經(jīng)網(wǎng)絡(luò)在諸多領(lǐng)域中取得了巨大的成功,如計(jì)算機(jī)視覺、自然語言處理等。然而,目前構(gòu)建深度神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)主要通過設(shè)計(jì)人員設(shè)計(jì)得到,若要設(shè)計(jì)出一個(gè)結(jié)構(gòu)緊湊、運(yùn)行速度快、效果好的深度神經(jīng)網(wǎng)絡(luò),不僅需要設(shè)計(jì)人員具有較強(qiáng)的專業(yè)知識(shí),而且還需要通過大量的實(shí)驗(yàn)來對(duì)深度神經(jīng)網(wǎng)絡(luò)進(jìn)行反復(fù)的調(diào)整,因此,現(xiàn)有的深度神經(jīng)網(wǎng)絡(luò)的構(gòu)建對(duì)設(shè)計(jì)人員的專業(yè)技能要求較高而且構(gòu)建效率低。

為解決現(xiàn)有技術(shù)構(gòu)建神經(jīng)網(wǎng)絡(luò)存在的前述問題,目前提出了一些如何構(gòu)建深度神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的解決方案:

方案1、haozhou在論文“l(fā)essismore:towardscompactcnns”中提出通過組稀疏約束來學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)中每層神經(jīng)元個(gè)數(shù)的方案,該方案在卷積神經(jīng)網(wǎng)絡(luò)的權(quán)重中加入組稀疏約束,即每一個(gè)神經(jīng)元的權(quán)重為一個(gè)組。由于組稀疏約束會(huì)將每個(gè)組內(nèi)的權(quán)重盡可能地全壓縮為0,因此當(dāng)一個(gè)神經(jīng)元的權(quán)重全為0時(shí),即可去掉該神經(jīng)元,由此即可學(xué)習(xí)得到神經(jīng)網(wǎng)絡(luò)的神經(jīng)元個(gè)數(shù)。

方案2、josem.alvarez在論文“l(fā)earningthenumberofneuronsindeepnetworks”中提出的解決方案與方案1基本一致,區(qū)別在于,該方案2中每一層神經(jīng)元用的組稀疏約束不同,即對(duì)不同層的神經(jīng)元其組約束的強(qiáng)度不同。

方案3、wenwei在論文“l(fā)earningstructuredsparsityindeepneuralnetworks”中提出的解決方案為利用組稀疏約束學(xué)習(xí)例如神經(jīng)元的個(gè)數(shù)、神經(jīng)元的形狀、跨層連接網(wǎng)絡(luò)層的深度等。

前述解決方案,均存在以下技術(shù)缺陷:

缺陷1、在權(quán)重上加組稀疏約束和權(quán)重衰減約束,后續(xù)的優(yōu)化過程較為困難,實(shí)現(xiàn)難度大;

缺陷2、需要在一個(gè)訓(xùn)練好的模型上進(jìn)行兩次重訓(xùn)練,一次重訓(xùn)練利用組稀疏約束確定不重要的結(jié)構(gòu),第二次重訓(xùn)練則將確定出的不重要的結(jié)構(gòu)去掉之后再次訓(xùn)練以恢復(fù)神經(jīng)網(wǎng)絡(luò)的精度,兩次重訓(xùn)練耗時(shí)較長,效率較低。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明提供一種構(gòu)建神經(jīng)網(wǎng)絡(luò)的方法及裝置,以解決現(xiàn)有技術(shù)構(gòu)建的神經(jīng)網(wǎng)絡(luò)訓(xùn)練難度大和效率低的技術(shù)問題。

本發(fā)明實(shí)施例,一方面提供一種構(gòu)建神經(jīng)網(wǎng)絡(luò)的方法,該方法包括:

構(gòu)建初始神經(jīng)網(wǎng)絡(luò),所述初始神經(jīng)網(wǎng)絡(luò)中預(yù)置的多個(gè)特定結(jié)構(gòu)分別設(shè)置有對(duì)應(yīng)的稀疏縮放算子,其中稀疏縮放算子用于對(duì)相應(yīng)特定結(jié)構(gòu)的輸出進(jìn)行縮放;

采用預(yù)置的訓(xùn)練樣本數(shù)據(jù)對(duì)所述初始神經(jīng)網(wǎng)絡(luò)的權(quán)重和特定結(jié)構(gòu)的稀疏縮放算子進(jìn)行訓(xùn)練,得到中間神經(jīng)網(wǎng)絡(luò);

將所述中間神經(jīng)網(wǎng)絡(luò)中稀疏縮放算子為零的特定結(jié)構(gòu)刪除,得到目標(biāo)神經(jīng)網(wǎng)絡(luò)。

本發(fā)明實(shí)施例,另一方面提供一種構(gòu)建神經(jīng)網(wǎng)絡(luò)的裝置,該裝置包括:

第一構(gòu)建單元,用于構(gòu)建初始神經(jīng)網(wǎng)絡(luò),所述初始神經(jīng)網(wǎng)絡(luò)中預(yù)置的多個(gè)特定結(jié)構(gòu)分別設(shè)置有對(duì)應(yīng)的稀疏縮放算子,其中稀疏縮放算子用于對(duì)相應(yīng)特定結(jié)構(gòu)的輸出進(jìn)行縮放;

訓(xùn)練單元,用于采用預(yù)置的訓(xùn)練樣本數(shù)據(jù)對(duì)所述初始神經(jīng)網(wǎng)絡(luò)的權(quán)重和特定結(jié)構(gòu)的稀疏縮放算子進(jìn)行訓(xùn)練,得到中間神經(jīng)網(wǎng)絡(luò);

第二構(gòu)建單元,用于將所述中間神經(jīng)網(wǎng)絡(luò)中稀疏縮放算子為零的特定結(jié)構(gòu)刪除,得到目標(biāo)神經(jīng)網(wǎng)絡(luò)。

本發(fā)明實(shí)施例提供的構(gòu)建神經(jīng)網(wǎng)絡(luò)的方法,首先,在構(gòu)建初始神經(jīng)網(wǎng)絡(luò)的過程中,預(yù)先為初始神經(jīng)網(wǎng)絡(luò)中的特定結(jié)構(gòu)設(shè)置稀疏縮放算子;其次,在訓(xùn)練過程中,通過訓(xùn)練樣本數(shù)據(jù)對(duì)初始神經(jīng)網(wǎng)絡(luò)中的權(quán)重和稀疏縮放算子一起訓(xùn)練以得到中間神經(jīng)網(wǎng)絡(luò);最后,將中間神經(jīng)網(wǎng)絡(luò)中稀疏縮放算子為零的特定結(jié)構(gòu)刪除以得到目標(biāo)神經(jīng)網(wǎng)絡(luò)。本發(fā)明技術(shù)方案,一方面,引入稀疏縮放算子來縮放不同特定結(jié)構(gòu)的輸出,不需要在權(quán)重上加入新的約束,權(quán)重和稀疏縮放算子可進(jìn)行獨(dú)立優(yōu)化,后續(xù)的優(yōu)化過程更加簡單,易于實(shí)現(xiàn);另一方面,稀疏縮放算子為零的特定結(jié)構(gòu)對(duì)神經(jīng)網(wǎng)絡(luò)的輸出結(jié)果沒有貢獻(xiàn),將稀疏縮放算子為零的特定結(jié)構(gòu)刪除,并不影響神經(jīng)網(wǎng)絡(luò)的精度,而且還能夠精簡神經(jīng)網(wǎng)絡(luò)以提高神經(jīng)網(wǎng)絡(luò)運(yùn)行速度,因此,本發(fā)明技術(shù)方案只需要采用訓(xùn)練樣本數(shù)據(jù)對(duì)初始神經(jīng)網(wǎng)絡(luò)進(jìn)行一次重訓(xùn)練即可得到目標(biāo)神經(jīng)網(wǎng)絡(luò),無需像現(xiàn)有技術(shù)需要進(jìn)行兩次重訓(xùn)練,因此,與現(xiàn)有技術(shù)相比,本方案能夠提高神經(jīng)網(wǎng)絡(luò)訓(xùn)練的效率。

附圖說明

附圖用來提供對(duì)本發(fā)明的進(jìn)一步理解,并且構(gòu)成說明書的一部分,與本發(fā)明的實(shí)施例一起用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的限制。

圖1為本發(fā)明實(shí)施例中構(gòu)建神經(jīng)網(wǎng)絡(luò)的方法流程圖;

圖2為本發(fā)明實(shí)施例中特定結(jié)構(gòu)為模塊的示意圖;

圖3為本發(fā)明實(shí)施例中特定結(jié)構(gòu)為殘差網(wǎng)絡(luò)中的殘差模塊的示意圖;

圖4為本發(fā)明實(shí)施例中特定結(jié)構(gòu)為模組的示意圖;

圖5為本發(fā)明實(shí)施例中特定結(jié)構(gòu)為神經(jīng)元的示意圖;

圖6為本發(fā)明實(shí)施例中構(gòu)建神經(jīng)網(wǎng)絡(luò)的裝置的結(jié)構(gòu)示意圖。

具體實(shí)施方式

為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明中的技術(shù)方案,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都應(yīng)當(dāng)屬于本發(fā)明保護(hù)的范圍。

實(shí)施例一

參見圖1,為本發(fā)明實(shí)施例中構(gòu)建神經(jīng)網(wǎng)絡(luò)的方法的流程圖,該方法包括:

步驟101、構(gòu)建初始神經(jīng)網(wǎng)絡(luò),所述初始神經(jīng)網(wǎng)絡(luò)中預(yù)置的多個(gè)特定結(jié)構(gòu)分別設(shè)置有對(duì)應(yīng)的稀疏縮放算子,其中稀疏縮放算子用于對(duì)相應(yīng)特定結(jié)構(gòu)的輸出進(jìn)行縮放。

步驟102、采用預(yù)置的訓(xùn)練樣本數(shù)據(jù)對(duì)所述初始神經(jīng)網(wǎng)絡(luò)的權(quán)重和特定結(jié)構(gòu)的稀疏縮放算子進(jìn)行訓(xùn)練,得到中間神經(jīng)網(wǎng)絡(luò)。

步驟103、將所述中間神經(jīng)網(wǎng)絡(luò)中稀疏縮放算子為零的特定結(jié)構(gòu)刪除,得到目標(biāo)神經(jīng)網(wǎng)絡(luò)。

優(yōu)選地,前述步驟101可通過以下步驟a1~步驟a3實(shí)現(xiàn):

步驟a1、選取神經(jīng)網(wǎng)絡(luò)模型。

本發(fā)明實(shí)施例,可從預(yù)置的神經(jīng)網(wǎng)絡(luò)模型集中選取一個(gè)與期望目標(biāo)神經(jīng)網(wǎng)絡(luò)所實(shí)現(xiàn)的功能(如圖像分割、物體檢測、人臉識(shí)別、自然語言處理等)對(duì)應(yīng)的神經(jīng)網(wǎng)絡(luò)模型,也可以根據(jù)期望目標(biāo)神經(jīng)網(wǎng)絡(luò)所實(shí)現(xiàn)的功能構(gòu)建一個(gè)對(duì)應(yīng)的神經(jīng)網(wǎng)絡(luò)模型。本申請(qǐng)不做嚴(yán)格的限定。

步驟a2、確定所述神經(jīng)網(wǎng)絡(luò)模型中需要設(shè)置稀疏縮放算子的特定結(jié)構(gòu)。

本發(fā)明實(shí)施例中,可由設(shè)計(jì)人員確定神經(jīng)網(wǎng)絡(luò)模型中的特定結(jié)構(gòu),例如:可將神經(jīng)網(wǎng)絡(luò)中的某一層或某些網(wǎng)絡(luò)層的全部或部分神經(jīng)元確定為特定結(jié)構(gòu)。和/或,將神經(jīng)網(wǎng)絡(luò)中具有以下特性的一個(gè)或多個(gè)模組確定為特定結(jié)構(gòu):特性1、包含一個(gè)以上網(wǎng)絡(luò)層(例如,該特定結(jié)構(gòu)包含兩個(gè)以上級(jí)聯(lián)的網(wǎng)絡(luò)層);特性2、與其他模組并聯(lián)或者該模組前后端具有跨層連接。和/或,將神經(jīng)網(wǎng)絡(luò)中具有以下特性的一個(gè)或多個(gè)模塊確定為特定結(jié)構(gòu):特性1、包含一個(gè)以上模組的模塊(例如,該特定結(jié)構(gòu)包含兩個(gè)以上并聯(lián)的模組);特性2、該模塊的前后端具有跨層連接。

步驟a3、對(duì)所述神經(jīng)網(wǎng)絡(luò)模型中的特定結(jié)構(gòu)設(shè)置初始稀疏縮放算子,得到所述初始神經(jīng)網(wǎng)絡(luò)。

本發(fā)明實(shí)施例中,各特定結(jié)構(gòu)的稀疏縮放算子的取值大于等于0。優(yōu)選地,初始稀疏縮放算子的取值接近1,例如可以直接取值為1。

優(yōu)選地,本發(fā)明實(shí)施例中,前述步驟102具體可通過以下步驟b1~步驟b3實(shí)現(xiàn):

步驟b1、構(gòu)建初始神經(jīng)網(wǎng)絡(luò)對(duì)應(yīng)的目標(biāo)函數(shù),所述目標(biāo)函數(shù)包含損失函數(shù)和稀疏正則函數(shù)。該目標(biāo)函數(shù)如式(1)所示:

式(1)中,所述w為神經(jīng)網(wǎng)絡(luò)的權(quán)重,λ為神經(jīng)網(wǎng)絡(luò)的稀疏縮放算子向量,n為訓(xùn)練樣本數(shù)據(jù)的數(shù)量,為神經(jīng)網(wǎng)絡(luò)在樣本數(shù)據(jù)xi上的損失,為稀疏正則函數(shù)。

步驟b2、采用所述訓(xùn)練樣本數(shù)據(jù)對(duì)所述初始神經(jīng)網(wǎng)絡(luò)進(jìn)行迭代訓(xùn)練。

步驟b3、當(dāng)?shù)?xùn)練次數(shù)達(dá)到閾值或者所述目標(biāo)函數(shù)滿足預(yù)置的收斂條件時(shí),得到所述中間神經(jīng)網(wǎng)絡(luò)。

優(yōu)選地,前述步驟b2具體實(shí)現(xiàn)可通過對(duì)初始神經(jīng)網(wǎng)絡(luò)進(jìn)行多次以下的迭代訓(xùn)練,以一次非首次迭代和非尾次迭代的迭代過程(以下稱為本次迭代訓(xùn)練)為例進(jìn)行描述,一次迭代訓(xùn)練包括以下步驟c1~步驟c3:

步驟c1、將前一次迭代訓(xùn)練得到的稀疏縮放算子作為所述目標(biāo)函數(shù)的常量,將所述權(quán)重作為所述目標(biāo)函數(shù)的變量,采用第一優(yōu)化算法對(duì)所述目標(biāo)函數(shù)進(jìn)行優(yōu)化,得到本次迭代訓(xùn)練的權(quán)重;

步驟c2、將本次迭代訓(xùn)練的權(quán)重作為所述目標(biāo)函數(shù)的常量,將稀疏縮放算子作為所述目標(biāo)函數(shù)的變量,采用第二優(yōu)化算法對(duì)所述目標(biāo)函數(shù)進(jìn)行優(yōu)化,得到本次迭代訓(xùn)練的稀疏縮放算子;

步驟c3、基于本次迭代訓(xùn)練的權(quán)重和稀疏縮放算子進(jìn)行下一次迭代訓(xùn)練。

首次迭代訓(xùn)練過程如下:將初始稀疏縮放算子作為所述目標(biāo)函數(shù)的常量,將所述權(quán)重作為所述目標(biāo)函數(shù)的變量,采用第一優(yōu)化算法對(duì)所述目標(biāo)函數(shù)進(jìn)行優(yōu)化,得到本次迭代訓(xùn)練的權(quán)重;將本次迭代訓(xùn)練的權(quán)重作為所述目標(biāo)函數(shù)的常量,將稀疏縮放算子作為所述目標(biāo)函數(shù)的變量,采用第二優(yōu)化算法對(duì)所述目標(biāo)函數(shù)進(jìn)行優(yōu)化,得到本次迭代訓(xùn)練的稀疏縮放算子;基于本次迭代訓(xùn)練的權(quán)重和稀疏縮放算子進(jìn)行第二次迭代訓(xùn)練。

尾次迭代訓(xùn)練過程如下:將前一次迭代訓(xùn)練得到的稀疏縮放算子作為所述目標(biāo)函數(shù)的常量,將所述權(quán)重作為所述目標(biāo)函數(shù)的變量,采用第一優(yōu)化算法對(duì)所述目標(biāo)函數(shù)進(jìn)行優(yōu)化,得到本次迭代訓(xùn)練的權(quán)重;將本次迭代訓(xùn)練的權(quán)重作為所述目標(biāo)函數(shù)的常量,將稀疏縮放算子作為所述目標(biāo)函數(shù)的變量,采用第二優(yōu)化算法對(duì)所述目標(biāo)函數(shù)進(jìn)行優(yōu)化,得到本次迭代訓(xùn)練的稀疏縮放算子;將包含本次迭代訓(xùn)練得到的稀疏縮放算子和權(quán)重的神經(jīng)網(wǎng)絡(luò)作為中間神經(jīng)網(wǎng)絡(luò)。

優(yōu)選地,本發(fā)明實(shí)施例中,所述第一優(yōu)化算法可以為但不僅限于為以下任意一種算法:隨機(jī)梯度下降算法、引入動(dòng)量的變種算法。

優(yōu)選地,本發(fā)明實(shí)施例中,所述第二優(yōu)化算法可以為但不僅限于為以下任意一種算法:加速鄰域梯度下降算法、鄰域梯度下降算法、交替方向乘子算法。

優(yōu)選地,在另一個(gè)實(shí)施例中,本發(fā)明實(shí)施例中目標(biāo)函數(shù)包含損失函數(shù)、權(quán)重正則函數(shù)和稀疏正則函數(shù),該目標(biāo)函數(shù)如式(2)所示:

式(2)中,所述w為神經(jīng)網(wǎng)絡(luò)的權(quán)重,λ為神經(jīng)網(wǎng)絡(luò)的稀疏縮放算子向量,n為訓(xùn)練樣本數(shù)據(jù)的數(shù)量,為神經(jīng)網(wǎng)絡(luò)在樣本數(shù)據(jù)xi上的損失,為權(quán)重正則函數(shù),為稀疏正則函數(shù)。

優(yōu)選地,本發(fā)明實(shí)施例中為權(quán)重為γ的稀疏正則,即當(dāng)然本領(lǐng)域技術(shù)人員還可將設(shè)置為更復(fù)雜的稀疏約束,例如非凸的稀疏約束。

為進(jìn)一步對(duì)本發(fā)明實(shí)施例中如何求解出目標(biāo)函數(shù)中的w和λ進(jìn)行詳細(xì)的描述,下面以目標(biāo)函數(shù)為公式(2)、為例,對(duì)一次迭代訓(xùn)練優(yōu)化目標(biāo)函數(shù)求解得到w和λ進(jìn)行描述。將記為記為

將λ作為常量,將w作為變量,則目標(biāo)函數(shù)換轉(zhuǎn)為采用隨機(jī)梯度下降算法即可求解得到w的取值,具體過程不再詳細(xì)描述。

將w作為常量,將λ作為變量,則目標(biāo)函數(shù)換轉(zhuǎn)為采用加速鄰域梯度下降算法求解λ的取值,具體可通過但不僅限于以下幾種方式得到:

方式1,采用下式(3)~式(5)得到λ:

其中ηt表示在第t次迭代訓(xùn)練時(shí)梯度下降的步長,為軟閾值算子,定義如下

方式2、由于前述方式1求解λ需要額外的前向后向計(jì)算來得到將該算法直接應(yīng)用到現(xiàn)有深度學(xué)習(xí)框架有點(diǎn)難度。因此,方式2對(duì)前述方式1的公式進(jìn)行變形,得到式(6)~式(8),根據(jù)式(6)~式(8)計(jì)算得到λ:

λt=λt-1+vt式(8)

方式3、本發(fā)明實(shí)施例為進(jìn)一步降低難度,提供更為簡單的下式(9)~(11)計(jì)算得到λ:

其中λ′t-1=λt-1+μt-1vt-1,μ為預(yù)設(shè)的固定值,并采用批量隨機(jī)梯度下降的形式來更新w和λ。

下面分別以特定結(jié)構(gòu)為模塊、模組和神經(jīng)元進(jìn)行詳細(xì)描述。

如圖2所示,假設(shè)神經(jīng)網(wǎng)絡(luò)包含n個(gè)模塊,每個(gè)模塊對(duì)應(yīng)一個(gè)稀疏縮放算子,且每個(gè)模塊的前后端具有跨層連接。

以一個(gè)具體為例,假設(shè)神經(jīng)網(wǎng)絡(luò)為殘差網(wǎng)絡(luò),設(shè)置特定結(jié)構(gòu)為殘差模塊,如上圖3所示,該殘差模塊前后端具有跨層連接,第i個(gè)殘差模塊對(duì)應(yīng)的稀疏縮放算子為λi,則:

若經(jīng)過訓(xùn)練之后,得到第三個(gè)殘差模塊的稀疏縮放算子λ3=0時(shí),則將殘差網(wǎng)絡(luò)中第3個(gè)殘差模塊刪除。

如圖4所示,假設(shè)神經(jīng)網(wǎng)絡(luò)包含n個(gè)模塊,每個(gè)模塊包含m個(gè)模組,每個(gè)模組包含多個(gè)級(jí)聯(lián)的網(wǎng)絡(luò)層,每個(gè)模組對(duì)應(yīng)一個(gè)稀疏縮放算子。

如圖5所示,假設(shè)神經(jīng)網(wǎng)絡(luò)包含l個(gè)網(wǎng)絡(luò)層,第l網(wǎng)絡(luò)層包含k神經(jīng)元,則該k個(gè)神經(jīng)元分別對(duì)應(yīng)一個(gè)稀疏縮放算子。

實(shí)施例二

基于前述實(shí)施例一提供的構(gòu)建神經(jīng)網(wǎng)絡(luò)方法相同的發(fā)明構(gòu)思,本發(fā)明實(shí)施例二提供一種構(gòu)建神經(jīng)網(wǎng)絡(luò)的裝置,該裝置的結(jié)構(gòu)如圖6所示,包括:

第一構(gòu)建單元61,用于構(gòu)建初始神經(jīng)網(wǎng)絡(luò),所述初始神經(jīng)網(wǎng)絡(luò)中預(yù)置的多個(gè)特定結(jié)構(gòu)分別設(shè)置有對(duì)應(yīng)的稀疏縮放算子,其中稀疏縮放算子用于對(duì)相應(yīng)特定結(jié)構(gòu)的輸出進(jìn)行縮放;

訓(xùn)練單元62,用于采用預(yù)置的訓(xùn)練樣本數(shù)據(jù)對(duì)所述初始神經(jīng)網(wǎng)絡(luò)的權(quán)重和特定結(jié)構(gòu)的稀疏縮放算子進(jìn)行訓(xùn)練,得到中間神經(jīng)網(wǎng)絡(luò);

第二構(gòu)建單元63,用于將所述中間神經(jīng)網(wǎng)絡(luò)中稀疏縮放算子為零的特定結(jié)構(gòu)刪除,得到目標(biāo)神經(jīng)網(wǎng)絡(luò)。

優(yōu)選地,所述第一構(gòu)建單元61,具體包括選取模塊、特定結(jié)構(gòu)確定模塊和構(gòu)建模塊,其中:

選取模塊,用于選取神經(jīng)網(wǎng)絡(luò)模型;

本發(fā)明實(shí)施例,選取模塊具體實(shí)現(xiàn)可如下:可從預(yù)置的神經(jīng)網(wǎng)絡(luò)模型集中選取一個(gè)與期望目標(biāo)神經(jīng)網(wǎng)絡(luò)所實(shí)現(xiàn)的功能(如圖像分割、物體檢測、人臉識(shí)別、自然語言處理等)對(duì)應(yīng)的神經(jīng)網(wǎng)絡(luò)模型,也可以根據(jù)期望目標(biāo)神經(jīng)網(wǎng)絡(luò)所實(shí)現(xiàn)的功能構(gòu)建一個(gè)對(duì)應(yīng)的神經(jīng)網(wǎng)絡(luò)模型。本申請(qǐng)不做嚴(yán)格的限定。

特定結(jié)構(gòu)確定模塊,用于確定所述神經(jīng)網(wǎng)絡(luò)模型中需要設(shè)置稀疏縮放算子的特定結(jié)構(gòu);

構(gòu)建模塊,用于對(duì)所述神經(jīng)網(wǎng)絡(luò)模型中的特定結(jié)構(gòu)設(shè)置初始稀疏縮放算子,得到所述初始神經(jīng)網(wǎng)絡(luò)。

本發(fā)明實(shí)施例中,各特定結(jié)構(gòu)的稀疏縮放算子的取值大于等于0且小于等于1。優(yōu)選地,初始稀疏縮放算子的取值接近1,例如可以直接取值為1。

優(yōu)選地,所述訓(xùn)練單元52,具體包括目標(biāo)函數(shù)構(gòu)建模塊、訓(xùn)練模塊和確定模塊,其中:

目標(biāo)函數(shù)構(gòu)建模塊,用于構(gòu)建初始神經(jīng)網(wǎng)絡(luò)對(duì)應(yīng)的目標(biāo)函數(shù),所述目標(biāo)函數(shù)包含損失函數(shù)和稀疏正則函數(shù);

訓(xùn)練模塊,用于采用所述訓(xùn)練樣本數(shù)據(jù)對(duì)所述初始神經(jīng)網(wǎng)絡(luò)進(jìn)行迭代訓(xùn)練;

確定模塊,用于當(dāng)?shù)?xùn)練次數(shù)達(dá)到閾值或者所述目標(biāo)函數(shù)滿足預(yù)置的收斂條件時(shí),得到所述中間神經(jīng)網(wǎng)絡(luò)。

優(yōu)選地,所述訓(xùn)練模塊具體用于:對(duì)所述初始神經(jīng)網(wǎng)絡(luò)進(jìn)行多次以下的迭代訓(xùn)練(該一次迭代訓(xùn)練為非首次和非尾次迭代訓(xùn)練):將前一次迭代訓(xùn)練得到的稀疏縮放算子作為所述目標(biāo)函數(shù)的常量,將所述權(quán)重作為所述目標(biāo)函數(shù)的變量,采用第一優(yōu)化算法對(duì)所述目標(biāo)函數(shù)進(jìn)行優(yōu)化,得到本次迭代訓(xùn)練的權(quán)重;將本次迭代訓(xùn)練的權(quán)重作為所述目標(biāo)函數(shù)的常量,將稀疏縮放算子作為所述目標(biāo)函數(shù)的變量,采用第二優(yōu)化算法對(duì)所述目標(biāo)函數(shù)進(jìn)行優(yōu)化,得到本次迭代訓(xùn)練的稀疏縮放算子;基于本次迭代訓(xùn)練的權(quán)重和稀疏縮放算子進(jìn)行下一次迭代訓(xùn)練。

首次迭代訓(xùn)練過程如下:將初始稀疏縮放算子作為所述目標(biāo)函數(shù)的常量,將所述權(quán)重作為所述目標(biāo)函數(shù)的變量,采用第一優(yōu)化算法對(duì)所述目標(biāo)函數(shù)進(jìn)行優(yōu)化,得到本次迭代訓(xùn)練的權(quán)重;將本次迭代訓(xùn)練的權(quán)重作為所述目標(biāo)函數(shù)的常量,將稀疏縮放算子作為所述目標(biāo)函數(shù)的變量,采用第二優(yōu)化算法對(duì)所述目標(biāo)函數(shù)進(jìn)行優(yōu)化,得到本次迭代訓(xùn)練的稀疏縮放算子;基于本次迭代訓(xùn)練的權(quán)重和稀疏縮放算子進(jìn)行第二次迭代訓(xùn)練。

尾次迭代訓(xùn)練過程如下:將前一次迭代訓(xùn)練得到的稀疏縮放算子作為所述目標(biāo)函數(shù)的常量,將所述權(quán)重作為所述目標(biāo)函數(shù)的變量,采用第一優(yōu)化算法對(duì)所述目標(biāo)函數(shù)進(jìn)行優(yōu)化,得到本次迭代訓(xùn)練的權(quán)重;將本次迭代訓(xùn)練的權(quán)重作為所述目標(biāo)函數(shù)的常量,將稀疏縮放算子作為所述目標(biāo)函數(shù)的變量,采用第二優(yōu)化算法對(duì)所述目標(biāo)函數(shù)進(jìn)行優(yōu)化,得到本次迭代訓(xùn)練的稀疏縮放算子;將包含本次迭代訓(xùn)練得到的稀疏縮放算子和權(quán)重的神經(jīng)網(wǎng)絡(luò)作為中間神經(jīng)網(wǎng)絡(luò)。

優(yōu)選地,所述第一優(yōu)化算法可以為但不僅限于為以下任意一種算法:隨機(jī)梯度下降算法、引入動(dòng)量的變種算法。

優(yōu)選地,所述第二優(yōu)化算法為加速鄰域梯度下降算法、鄰域梯度下降算法或者交替方向乘子算法。

優(yōu)選地,所述目標(biāo)函數(shù)為:

所述w為神經(jīng)網(wǎng)絡(luò)的權(quán)重,λ為神經(jīng)網(wǎng)絡(luò)的稀疏縮放算子向量,n為訓(xùn)練樣本數(shù)據(jù)的數(shù)量,為神經(jīng)網(wǎng)絡(luò)在樣本數(shù)據(jù)xi上的損失,為稀疏正則函數(shù)。

優(yōu)選地,在另一個(gè)實(shí)施例中,本發(fā)明實(shí)施例中目標(biāo)函數(shù)包含損失函數(shù)、權(quán)重正則函數(shù)和稀疏正則函數(shù),該目標(biāo)函數(shù)如下:

所述w為神經(jīng)網(wǎng)絡(luò)的權(quán)重,λ為神經(jīng)網(wǎng)絡(luò)的稀疏縮放算子向量,n為訓(xùn)練樣本數(shù)據(jù)的數(shù)量,為神經(jīng)網(wǎng)絡(luò)在樣本數(shù)據(jù)xi上的損失,為權(quán)重正則函數(shù),為稀疏正則函數(shù)。

優(yōu)選地,本發(fā)明實(shí)施例中為權(quán)重為γ的稀疏正則,即當(dāng)然本領(lǐng)域技術(shù)人員還可將設(shè)置為更復(fù)雜的稀疏約束,例如非凸的稀疏約束。

優(yōu)選地,所述特定結(jié)構(gòu)為一個(gè)神經(jīng)元;或者,所述特定結(jié)構(gòu)為包含一個(gè)以上網(wǎng)絡(luò)層的模組(例如,特定結(jié)構(gòu)包含兩個(gè)以上級(jí)聯(lián)的網(wǎng)絡(luò)層),且該模組與其他模組并聯(lián);或者,所述特定結(jié)構(gòu)為包含一個(gè)以上并聯(lián)模組的模塊(例如,特定結(jié)構(gòu)包含兩個(gè)以上并聯(lián)的模組),且該模塊的前后端具有跨層連接。

以上是本發(fā)明的核心思想,為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明實(shí)施例中的技術(shù)方案,并使本發(fā)明實(shí)施例的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖對(duì)本發(fā)明實(shí)施例中技術(shù)方案作進(jìn)一步詳細(xì)的說明。

顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1