本發(fā)明涉及深度學(xué)習(xí)(deeplearning)領(lǐng)域,具體涉及一種增廣神經(jīng)網(wǎng)架構(gòu)及其訓(xùn)練方法、計(jì)算機(jī)可讀存儲介質(zhì)。
背景技術(shù):
在深度學(xué)習(xí)的研究中,現(xiàn)有技術(shù)已經(jīng)開發(fā)出很多訓(xùn)練好的例如lenet、alexnet、vggnet、googlenet、resnet等卷積神經(jīng)網(wǎng)(convolutionalneuralnetwork,cnn)模型和前饋神經(jīng)網(wǎng)(fnn,feedforwardneuralnetwork)模型,這些模型往往要花費(fèi)大量的訓(xùn)練樣本、大量的時間來反復(fù)訓(xùn)練、優(yōu)化調(diào)試才能完善。
例如,卷積神經(jīng)網(wǎng)的每一個卷積層的形成都是采用一個卷積核與前一層的所有(或部分)輸出矩陣(也稱為特征圖,featuremap)對應(yīng)位置上的矩陣元素相乘,并進(jìn)行累加,再加偏置,最后通過一個非線性激活函數(shù)得到本層其中一個矩陣的元素。通常,前面的層為卷積層,用于特征提取,最后幾層為全互聯(lián)層,與傳統(tǒng)的前饋神經(jīng)網(wǎng)絡(luò)相同,用于識別不同的特征。對于一個已經(jīng)訓(xùn)練好的卷積神經(jīng)網(wǎng),在要求其具備識別新樣本的能力的情況下,如果仍采用原來的卷積神經(jīng)網(wǎng)來針對這些新樣本進(jìn)行訓(xùn)練,就極有可能導(dǎo)致原卷積神經(jīng)網(wǎng)的權(quán)重改變,使得它對原來的樣本的識別能力下降。對于前饋神經(jīng)網(wǎng),也存在同樣的問題。
技術(shù)實(shí)現(xiàn)要素:
根據(jù)本發(fā)明的第一方面,一種實(shí)施例提供一種增廣神經(jīng)網(wǎng)架構(gòu)的訓(xùn)練方法,所述增廣神經(jīng)網(wǎng)架構(gòu)包括第一神經(jīng)網(wǎng)絡(luò)模型和第二神經(jīng)網(wǎng)絡(luò)模型,所述第一神經(jīng)網(wǎng)絡(luò)模型是已經(jīng)采用樣本訓(xùn)練好的模型,第二神經(jīng)網(wǎng)絡(luò)模型是未經(jīng)樣本訓(xùn)練的模型,第一神經(jīng)網(wǎng)絡(luò)模型和第二神經(jīng)網(wǎng)絡(luò)模型的輸入端相連,所述方法包括如下過程:
將用于神經(jīng)網(wǎng)架構(gòu)學(xué)習(xí)的新樣本分別輸入第一神經(jīng)網(wǎng)絡(luò)模型和第二神經(jīng)網(wǎng)絡(luò)模型,第一神經(jīng)網(wǎng)絡(luò)模型和第二神經(jīng)網(wǎng)絡(luò)模型分別基于新樣本輸出第一結(jié)果和第二結(jié)果;
將期望結(jié)果減去第一結(jié)果后作為第二神經(jīng)網(wǎng)絡(luò)模型的目標(biāo)值;
基于目標(biāo)值對第二神經(jīng)網(wǎng)絡(luò)模型進(jìn)行訓(xùn)練。
根據(jù)本發(fā)明的第二方面,一種實(shí)施例提供一種計(jì)算機(jī)可讀存儲介質(zhì),其包括程序,所述程序能夠被處理器執(zhí)行以實(shí)現(xiàn)上述的方法。
根據(jù)本發(fā)明的第三方面,一種實(shí)施例提供一種增廣神經(jīng)網(wǎng)架構(gòu),包括第一神經(jīng)網(wǎng)絡(luò)模型,所述第一神經(jīng)網(wǎng)絡(luò)模型為已經(jīng)采用樣本訓(xùn)練好的模型;還包括根據(jù)上述方法訓(xùn)練得到的第二神經(jīng)網(wǎng)絡(luò)模型;所述第一神經(jīng)網(wǎng)絡(luò)模型與所述第二神經(jīng)網(wǎng)絡(luò)模型輸入端相連構(gòu)成所述增廣神經(jīng)網(wǎng)架構(gòu)。
本發(fā)明中,第一神經(jīng)網(wǎng)絡(luò)模型能夠識別原樣本集所涉及的樣本類型,不對第一神經(jīng)網(wǎng)絡(luò)模型進(jìn)行訓(xùn)練,從而第一神經(jīng)網(wǎng)絡(luò)模型的權(quán)重不發(fā)生改變,不會導(dǎo)致它對原來的樣本的識別能力下降。針對新樣本,第二神經(jīng)網(wǎng)絡(luò)模型具有良好的學(xué)習(xí)能力與識別能力,從而,本發(fā)明在保證對原樣本與新樣本都具備有效識別能力的同時,擴(kuò)展了增廣神經(jīng)網(wǎng)架構(gòu)整體可識別的樣本范圍。
附圖說明
圖1為實(shí)施例一的第一卷積神經(jīng)網(wǎng)模型示意圖;
圖2為實(shí)施例一的增廣卷積神經(jīng)網(wǎng)架構(gòu)示意圖;
圖3為實(shí)施例二的增廣卷積神經(jīng)網(wǎng)架構(gòu)示意圖。
具體實(shí)施方式
下面通過具體實(shí)施方式結(jié)合附圖對本發(fā)明作進(jìn)一步詳細(xì)說明。其中不同實(shí)施方式中類似元件采用了相關(guān)聯(lián)的類似的元件標(biāo)號。在以下的實(shí)施方式中,很多細(xì)節(jié)描述是為了使得本申請能被更好的理解。然而,本領(lǐng)域技術(shù)人員可以毫不費(fèi)力的認(rèn)識到,其中部分特征在不同情況下是可以省略的,或者可以由其他元件、材料、方法所替代。在某些情況下,本申請相關(guān)的一些操作并沒有在說明書中顯示或者描述,這是為了避免本申請的核心部分被過多的描述所淹沒,而對于本領(lǐng)域技術(shù)人員而言,詳細(xì)描述這些相關(guān)操作并不是必要的,他們根據(jù)說明書中的描述以及本領(lǐng)域的一般技術(shù)知識即可完整了解相關(guān)操作。
另外,說明書中所描述的特點(diǎn)、操作或者特征可以以任意適當(dāng)?shù)姆绞浇Y(jié)合形成各種實(shí)施方式。同時,方法描述中的各步驟或者動作也可以按照本領(lǐng)域技術(shù)人員所能顯而易見的方式進(jìn)行順序調(diào)換或調(diào)整。因此,說明書和附圖中的各種順序只是為了清楚描述某一個實(shí)施例,并不意味著是必須的順序,除非另有說明其中某個順序是必須遵循的。
本文中為部件所編序號本身,例如“第一”、“第二”等,僅用于區(qū)分所描述的對象,不具有任何順序或技術(shù)含義。而本申請所說“連接”、“聯(lián)接”,如無特別說明,均包括直接和間接連接(聯(lián)接)。
實(shí)施例一:
本實(shí)施例提供一種增廣卷積神經(jīng)網(wǎng)架構(gòu)及其訓(xùn)練方法,增廣卷積神經(jīng)網(wǎng)架構(gòu)包括并聯(lián)的第一卷積神經(jīng)網(wǎng)模型cnn1和第二卷積神經(jīng)網(wǎng)模型cnn2。
第一卷積神經(jīng)網(wǎng)模型cnn1是通過對原樣本進(jìn)行訓(xùn)練而已經(jīng)訓(xùn)練好的神經(jīng)網(wǎng)架構(gòu),如圖1所示,x0為原樣本集中的一個樣本,其輸入第一卷積神經(jīng)網(wǎng)模型cnn1即可以得到理想的輸出結(jié)果y0。因此,第一卷積神經(jīng)網(wǎng)模型cnn1可以很好地識別屬于原樣本集類型的圖像。
例如第一卷積神經(jīng)網(wǎng)模型cnn1可以采用alexnet,其能夠識別原樣本集imagenet中的1000多類航海用物體,但是,由于實(shí)際應(yīng)用的新需求,除了要識別上述1000多類物體以外,還要求增加識別新的2000多類海洋生物種類的物體,此時,如果仍采用第一卷積神經(jīng)網(wǎng)模型cnn1來針對這些新物體進(jìn)行樣本訓(xùn)練,就極有可能導(dǎo)致第一卷積神經(jīng)網(wǎng)模型cnn1的權(quán)重改變,使得它對原來的1000多類航海用物體的識別能力下降。
本實(shí)施例為解決上述問題提出了增廣卷積神經(jīng)網(wǎng)架構(gòu)的訓(xùn)練方法,主要包括如下過程:
st1、如圖2所示,將第二神經(jīng)網(wǎng)絡(luò)模型cnn2并聯(lián)到第一卷積神經(jīng)網(wǎng)模型cnn1上,從而第一卷積神經(jīng)網(wǎng)絡(luò)模型cnn1和第二卷積神經(jīng)網(wǎng)絡(luò)模型cnn2的輸入端相連;
st2、將用于神經(jīng)網(wǎng)架構(gòu)學(xué)習(xí)的新樣本x分別輸入第一神經(jīng)網(wǎng)絡(luò)模型才能耐和第二神經(jīng)網(wǎng)絡(luò)模型才能內(nèi),第一卷積神經(jīng)網(wǎng)絡(luò)模型cnn1和第二卷積神經(jīng)網(wǎng)絡(luò)模型cnn2分別基于新樣本x輸出第一結(jié)果y1和第二結(jié)果y2,例如,新樣本x來自2000多類海洋生物種類的物體樣本集;
st3、將期望結(jié)果y*減去第一結(jié)果y1后作為第二卷積神經(jīng)網(wǎng)絡(luò)模型cnn2針對該新樣本x的目標(biāo)值y*-y1;
st4、基于第二神經(jīng)網(wǎng)絡(luò)模型cnn2針對眾多新樣本的目標(biāo)值,采用反向傳播算法(backpropagationalgorithm,bp算法)對第二神經(jīng)網(wǎng)絡(luò)模型cnn2進(jìn)行訓(xùn)練。
反向傳播算法是目前用來訓(xùn)練人工神經(jīng)網(wǎng)的最常用且最有效的算法。其主要思想是,將訓(xùn)練集數(shù)據(jù)輸入到神經(jīng)網(wǎng)的輸入層,經(jīng)過隱藏層,最后達(dá)到輸出層并輸出結(jié)果,這是神經(jīng)網(wǎng)的前向傳播過程;由于神經(jīng)網(wǎng)的輸出結(jié)果與實(shí)際結(jié)果有誤差,則計(jì)算估計(jì)值與實(shí)際值之間的誤差,并將該誤差從輸出層向隱藏層反向傳播,直至傳播到輸入層;在反向傳播的過程中,根據(jù)誤差調(diào)整神經(jīng)網(wǎng)的各種參數(shù)的值;不斷迭代上述過程,直至收斂。
具體地,增廣卷積神經(jīng)網(wǎng)架構(gòu)的時機(jī)輸出為y=y(tǒng)1+y2,而y*是增廣卷積神經(jīng)網(wǎng)架構(gòu)的目標(biāo)值,則y*-y1即為第二卷積神經(jīng)網(wǎng)模型的目標(biāo)值,開始時,誤差e=(y*-y1-y2)2很大,經(jīng)過反向傳播算法訓(xùn)練之后,可以逐漸減少誤差e,最后每輸入一個樣本x,就得到接近目標(biāo)值y*的y。
從而,如圖2所示,第一卷積神經(jīng)網(wǎng)模型cnn1與第二卷積神經(jīng)網(wǎng)模型cnn2并聯(lián)構(gòu)成增廣卷積神經(jīng)網(wǎng)架構(gòu)。對于輸入的圖像,第一卷積神經(jīng)網(wǎng)模型cnn1和第二卷積神經(jīng)網(wǎng)模型cnn2可分別體現(xiàn)出對航海用物體與生物物種的識別優(yōu)勢。例如,若輸入為海洋生物物種圖像,則第一卷積神經(jīng)網(wǎng)模型cnn1不作出肯定其為生物物種的輸出(或不作出識別),而第二卷積神經(jīng)網(wǎng)模型cnn2的輸出則能確定其為海洋生物物種。即,當(dāng)輸入的一個被測樣本屬于第一個網(wǎng)絡(luò)訓(xùn)練好的樣本時,則輸出為y1對應(yīng)于該樣本的目標(biāo)值,這時y2接近于零;當(dāng)輸入的被測樣本屬于新增樣本時,輸出為y2對應(yīng)的目標(biāo)值。
本實(shí)施例中,對于普通的輸出,要求第一卷積神經(jīng)網(wǎng)模型cnn1的輸出與第二卷積神經(jīng)網(wǎng)模型cnn2的輸出為具有相同維度的矢量,使得y1+y2是有意義的,即可以相加。
第一卷積神經(jīng)網(wǎng)模型cnn1與第二卷積神經(jīng)網(wǎng)模型cnn2可以采用lenet、alexnet、vggnet、googlenet、lenet5或resnet等模型,且第一卷積神經(jīng)網(wǎng)模型cnn1與第二卷積神經(jīng)網(wǎng)模型cnn2既可以采用相同的模型,也可以采用不同的模型。例如本實(shí)施例中,經(jīng)過訓(xùn)練得到第一卷積神經(jīng)網(wǎng)模型cnn1與第二卷積神經(jīng)網(wǎng)模型cnn2分別為第一alexnet與第二alexnet,在本發(fā)明其它的實(shí)施方式中,經(jīng)過訓(xùn)練得到第一卷積神經(jīng)網(wǎng)模型cnn1與第二卷積神經(jīng)網(wǎng)模型cnn2還可以分別為第一alexnet與第二vggnet。
實(shí)施例二:
本實(shí)施例與實(shí)施例一的區(qū)別在于,實(shí)施例一的第一卷積神經(jīng)網(wǎng)模型cnn1為單一的卷積神經(jīng)網(wǎng),而本實(shí)施例采用第一卷積神經(jīng)網(wǎng)模型架構(gòu)替換第一卷積神經(jīng)網(wǎng)模型cnn1,第一卷積神經(jīng)網(wǎng)模型架構(gòu)為并聯(lián)了兩個或兩個以上的卷積神經(jīng)網(wǎng)的架構(gòu),例如,而本實(shí)施例的第一卷積神經(jīng)網(wǎng)模型架構(gòu)包括附一卷積神經(jīng)網(wǎng)模型cnn1’與附二卷積神經(jīng)網(wǎng)模型cnn1”,其中,附一卷積神經(jīng)網(wǎng)模型cnn1’能夠識別原樣本集imagenet中的1000多類航海用物體,附二卷積神經(jīng)網(wǎng)模型cnn1”能夠識別原樣本集imagenet中的3000多類日常物品,為了對新增加的2000多類海洋生物進(jìn)行識別且不破壞第一卷積神經(jīng)網(wǎng)模型架構(gòu),本實(shí)施例可以在第一卷積神經(jīng)網(wǎng)模型架構(gòu)的基礎(chǔ)上建立第二卷積神經(jīng)網(wǎng)模型cnn2。
本實(shí)施例采用與實(shí)施例一相同的方法,通過將第二神經(jīng)網(wǎng)絡(luò)模型并聯(lián)到第一卷積神經(jīng)網(wǎng)模型架構(gòu)上從而形成新的增廣卷積神經(jīng)網(wǎng)架構(gòu),向該增廣卷積神經(jīng)網(wǎng)架構(gòu)輸入新樣本x,算出第二神經(jīng)網(wǎng)絡(luò)模型針對該新樣本的目標(biāo)值為y*-y1,采用反向傳播算法對第二神經(jīng)網(wǎng)絡(luò)模型進(jìn)行訓(xùn)練,如圖3所示,從而得到第一卷積神經(jīng)網(wǎng)模型架構(gòu)與第二卷積神經(jīng)網(wǎng)模型cnn2并聯(lián)構(gòu)成的增廣卷積神經(jīng)網(wǎng)架構(gòu)。
附一卷積神經(jīng)網(wǎng)模型cnn1’、附二卷積神經(jīng)網(wǎng)模型cnn1”與第二卷積神經(jīng)網(wǎng)模型cnn2既可以采用相同的模型,也可以采用不同的模型。例如本實(shí)施例中,經(jīng)過訓(xùn)練得到附一卷積神經(jīng)網(wǎng)模型cnn1’、附二卷積神經(jīng)網(wǎng)模型cnn1”與第二卷積神經(jīng)網(wǎng)模型cnn2的模型均為alexnet。在本發(fā)明其它的實(shí)施方式中,經(jīng)過訓(xùn)練得到附一卷積神經(jīng)網(wǎng)模型cnn1’、附二卷積神經(jīng)網(wǎng)模型cnn1”與第二卷積神經(jīng)網(wǎng)模型cnn2的模型分別為alexnet、alexnet與lenet;第一卷積神經(jīng)網(wǎng)模型架構(gòu)可以包括更多神經(jīng)網(wǎng),例如,經(jīng)過訓(xùn)練得到附一卷積神經(jīng)網(wǎng)模型、附二卷積神經(jīng)網(wǎng)模型、附三卷積神經(jīng)網(wǎng)模型與第二卷積神經(jīng)網(wǎng)模型cnn2的模型分別為alexnet、alexnet、resnet與lenet。
通過本實(shí)施例提供的這種思路,可以把復(fù)雜的樣本類別分解成一些子類(例如把復(fù)雜樣本類分解為航海類物品、日常用物品、海洋生物),先訓(xùn)練第一卷積神經(jīng)網(wǎng)模型,用于識別第一子類,再增廣第二個用于識別第二子類的卷積神經(jīng)網(wǎng),再增廣第三個用于識別第三子類的卷積神經(jīng)網(wǎng),......直到卷積神經(jīng)網(wǎng)架構(gòu)能夠完成所有子類的識別。
對于前饋神經(jīng)網(wǎng),本發(fā)明的增廣前饋神經(jīng)網(wǎng)架構(gòu)及其訓(xùn)練方法與上述實(shí)施例的增廣卷積神經(jīng)網(wǎng)架構(gòu)及其訓(xùn)練方法原理相似,只是將采用卷積神經(jīng)網(wǎng)的部分替換為采用前饋神經(jīng)網(wǎng),故不再贅述。
在本發(fā)明的其它實(shí)施方式中,還提供一種計(jì)算機(jī)可讀存儲介質(zhì),其包括程序,該程序能夠被處理器執(zhí)行以實(shí)現(xiàn)上述的方法。
本發(fā)明的增廣神經(jīng)網(wǎng)架構(gòu)及其訓(xùn)練方法、計(jì)算機(jī)可讀存儲介質(zhì),第一神經(jīng)網(wǎng)絡(luò)模型能夠識別原樣本集所涉及的樣本類型(包括原樣本集中的樣本,以及屬于原樣本集同類型的其它樣本),對于新樣本,不對第一神經(jīng)網(wǎng)絡(luò)模型進(jìn)行訓(xùn)練,從而第一神經(jīng)網(wǎng)絡(luò)模型的權(quán)重不發(fā)生改變,不會導(dǎo)致它對原來的樣本的識別能力下降。針對新樣本(包括新樣本集中的樣本,以及屬于新樣本集同類型的其它樣本),第二神經(jīng)網(wǎng)絡(luò)模型具有良好的學(xué)習(xí)能力與識別能力,從而,本發(fā)明在保證對原樣本與新樣本都具備有效識別能力的同時,擴(kuò)展了增廣神經(jīng)網(wǎng)架構(gòu)整體可識別的樣本范圍。另外,在第一神經(jīng)網(wǎng)絡(luò)模型對原樣本具有良好的識別能力但不適合識別新增樣本的情況下,通過補(bǔ)充適合識別新增樣本的第二神經(jīng)網(wǎng)絡(luò)模型,使得最終得到的增廣神經(jīng)網(wǎng)架構(gòu)能對涉及原樣本集與新樣本集類型的物體都具有良好的識別能力。
以上應(yīng)用了具體個例對本發(fā)明進(jìn)行闡述,只是用于幫助理解本發(fā)明,并不用以限制本發(fā)明。對于本發(fā)明所屬技術(shù)領(lǐng)域的技術(shù)人員,依據(jù)本發(fā)明的思想,還可以做出若干簡單推演、變形或替換。