本發(fā)明涉及數(shù)據(jù)存儲領(lǐng)域,具體涉及一種神經(jīng)網(wǎng)絡數(shù)據(jù)存儲器、數(shù)據(jù)存儲方法及數(shù)據(jù)查找方法。
背景技術(shù):
目前已有的存儲器和存儲方法采用基于地址的存儲方式,其特點是存儲的數(shù)據(jù)量越大,則查找數(shù)據(jù)時需要使用的時間越長。并且在數(shù)據(jù)庫中進行檢索時,檢索字段需要包括主鍵內(nèi)容,否則查找時間會非常長。因此需要一種新的存儲器、存儲方法,來解決現(xiàn)有技術(shù)的缺陷。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的是為了解決現(xiàn)有的數(shù)據(jù)存儲器和存儲方法的數(shù)據(jù)查找計算量隨著數(shù)據(jù)存儲量的增加而增加,需要使用主鍵作為檢索字段的缺點,而提出一種神經(jīng)網(wǎng)絡數(shù)據(jù)存儲器、數(shù)據(jù)存儲方法及數(shù)據(jù)查找方法。
一種神經(jīng)網(wǎng)絡數(shù)據(jù)存儲器,所述神經(jīng)網(wǎng)絡存儲器是包括如下特征的神經(jīng)網(wǎng)絡模型:
n個輸入節(jié)點;
n個輸出節(jié)點;
連接于輸入節(jié)點與輸出節(jié)點間的第一隱節(jié)點組;其中第一隱節(jié)點組為2層,每層2個隱節(jié)點;第一隱節(jié)點組中隱節(jié)點的網(wǎng)絡權(quán)值為(-1,1)區(qū)間內(nèi)的隨機數(shù);
連接于輸入節(jié)點與輸出節(jié)點間的第二隱節(jié)點組;其中第二隱節(jié)點組為1層,其中的隱節(jié)點個數(shù)依據(jù)存儲數(shù)據(jù)的規(guī)模而定;第二隱節(jié)點組中隱節(jié)點的網(wǎng)絡權(quán)值是可調(diào)的。
一種神經(jīng)網(wǎng)絡數(shù)據(jù)存儲方法,包括:
步驟一、將待存儲數(shù)據(jù)分為p組,每組值代表一個待存儲字段;
步驟二、通過輸入節(jié)點輸入至如權(quán)利要求2所述的神經(jīng)網(wǎng)絡數(shù)據(jù)存儲器中;
步驟三、使用梯度法調(diào)整所述神經(jīng)網(wǎng)絡存儲器中第二隱節(jié)點組中的網(wǎng)絡權(quán)值使得網(wǎng)絡輸出在設定的精度下為0,即使得y={y1,y2,…,yn}={0,0,…,0}。
一種神經(jīng)網(wǎng)絡數(shù)據(jù)查詢方法,所述方法用于查詢通本發(fā)明的神經(jīng)網(wǎng)絡數(shù)據(jù)存儲方法進行存儲后的數(shù)據(jù),所述神經(jīng)網(wǎng)絡數(shù)據(jù)查詢方法包括:
步驟一、將輸入向量k={k1,k2,…,km}輸入至輸入節(jié)點;輸入向量k用于表示已知字段;輸入節(jié)點中未接收輸入向量的部分表示未知字段;
步驟二、通過梯度法調(diào)節(jié)未知字段對應的輸入節(jié)點的向量值,使得輸出節(jié)點的值均為0;
步驟三、獲取此時未知未知字段對應的輸入節(jié)點的向量值,作為待查詢數(shù)據(jù)。
本發(fā)明的有益效果為:1、使用這樣的存儲結(jié)構(gòu),使得數(shù)據(jù)查找的計算量不隨著存儲量的增加而增加,查詢速度非???,當字段數(shù)量為2時,已知一個字段查詢另一個字段,查詢速度最快可為10ms;2、可以實現(xiàn)按照數(shù)據(jù)的一部分內(nèi)容查找數(shù)據(jù),這一過程模擬了人腦的記憶聯(lián)想功能,是現(xiàn)有計算機存儲器不具備的能力。因此該神經(jīng)網(wǎng)絡數(shù)據(jù)存儲器可用于人工智能系統(tǒng)的知識和信息的存儲。
附圖說明
圖1為本發(fā)明的神經(jīng)網(wǎng)絡數(shù)據(jù)存儲器的結(jié)構(gòu)示意圖;
圖2為本發(fā)明的具體實施方式五中神經(jīng)網(wǎng)絡數(shù)據(jù)查詢方法的示意圖。
具體實施方式
具體實施方式一:本實施方式提供了一種神經(jīng)網(wǎng)絡數(shù)據(jù)存儲器,如圖1所示,它是包括如下特征的神經(jīng)網(wǎng)絡模型:
n個輸入節(jié)點。
n個輸出節(jié)點。
連接于輸入節(jié)點與輸出節(jié)點間的第一隱節(jié)點組;其中第一隱節(jié)點組為2層,每層2個隱節(jié)點;第一隱節(jié)點組中隱節(jié)點的網(wǎng)絡權(quán)值為(-1,1)區(qū)間內(nèi)的隨機數(shù)。
連接于輸入節(jié)點與輸出節(jié)點間的第二隱節(jié)點組;其中第二隱節(jié)點組為1層,其中的隱節(jié)點個數(shù)依據(jù)存儲數(shù)據(jù)的規(guī)模而定,例如10或100個節(jié)點;第二隱節(jié)點組中隱節(jié)點的網(wǎng)絡權(quán)值是可調(diào)的。
本實施方式的神經(jīng)網(wǎng)絡數(shù)據(jù)存儲器實質(zhì)上是一種神經(jīng)網(wǎng)絡模型,在使用時,將待存儲數(shù)據(jù)輸入至輸入節(jié)點,經(jīng)過隱節(jié)點的處理后由輸出節(jié)點輸出結(jié)果。這個過程類似于神經(jīng)網(wǎng)絡模型的訓練過程,即待存儲數(shù)據(jù)相當于訓練數(shù)據(jù),隱節(jié)點的處理過程相當于訓練過程,輸出結(jié)果相當于分類結(jié)果。而如果不對隱節(jié)點的結(jié)構(gòu)進行改進,在查找時會出現(xiàn)查找到未存儲過的數(shù)據(jù)的情況。因此本發(fā)明對隱節(jié)點的結(jié)構(gòu)進行了限定,避免了這一情況。
具體實施方式二:本實施方式與具體實施方式一不同的是:
輸入節(jié)點的作用函數(shù)為:y(1)=x(1);y(1)為輸入節(jié)點的輸出量,x(1)為輸入節(jié)點的輸入量。
輸出節(jié)點的作用函數(shù)為:
第一隱節(jié)點組中隱節(jié)點的作用函數(shù)為:
其中x(2)i為第一隱節(jié)點組中的第i個輸入量;ai是xi到該隱節(jié)點的連接值,c是該隱節(jié)點的網(wǎng)絡權(quán)值,m為第一隱節(jié)點組中輸入量的個數(shù)。
第二隱節(jié)點組中隱節(jié)點的作用函數(shù)為:
其中y(4)為第二隱節(jié)點組中隱節(jié)點的輸出量;x(4)i為第二隱節(jié)點組中隱節(jié)點的輸入量;ai是x(4)i到該隱節(jié)點的連接權(quán)值,b和c是該隱節(jié)點的網(wǎng)絡權(quán)值;x={x1,x2,…,xm}是該隱節(jié)點的輸入向量,d是該隱節(jié)點在其輸入向量空間的坐標向量;函數(shù)f的表達式為:
其中r0為窗口半徑。
窗口函數(shù)的作用是:在第二隱節(jié)點組中只有距離輸入數(shù)據(jù)小于半徑r0的隱節(jié)點才被激活,因為只有這些隱節(jié)點的輸出不為0。這就保證無論第二隱節(jié)點組的數(shù)目有多少,對一個數(shù)據(jù)的學習或搜索只激活距離該數(shù)據(jù)小于r0的隱節(jié)點,因此本存儲器數(shù)據(jù)查找的計算量不隨數(shù)據(jù)存儲量的增加而增加,適合大量數(shù)據(jù)的存儲和查詢。
其它步驟及參數(shù)與具體實施方式一相同。
具體實施方式三:本實施方式提供一種神經(jīng)網(wǎng)絡數(shù)據(jù)存儲方法,包括:
步驟一、將待存儲數(shù)據(jù)分為q組,每組值代表一個待存儲字段。
步驟二、通過輸入節(jié)點輸入至具體實施方式二的神經(jīng)網(wǎng)絡數(shù)據(jù)存儲器中。需要說明的是,每個輸入節(jié)點用于輸入什么樣的信息應當是確定的,例如一個神經(jīng)網(wǎng)絡存儲器用于存儲學生信息,其中第1至第5輸入節(jié)點用來接收學生的學籍號信息,那么后續(xù)的存儲也應如此,這樣在后續(xù)查詢的時候就能夠通過輸入節(jié)點的序號來確定查詢結(jié)果的含義。
步驟三、使用梯度法調(diào)整所述神經(jīng)網(wǎng)絡存儲器中第二隱節(jié)點組中的網(wǎng)絡權(quán)值使得網(wǎng)絡輸出在設定的精度下為0,即使得y(2)={y1,y2,…,yn}={0,0,…,0}。
其它步驟及參數(shù)與具體實施方式一或二相同。
具體實施方式四:本實施方式與具體實施方式一至三之一不同的是:
步驟二中,梯度下降法的公式為:
其中w代表第二隱節(jié)點組中隱節(jié)點的網(wǎng)絡權(quán)值;j=y(tǒng)12+y22+…+yn2是神經(jīng)網(wǎng)絡存儲器的目標函數(shù)。r是步長。
其它步驟及參數(shù)與具體實施方式一至三之一相同。
具體實施方式五:本實施方式提供一種神經(jīng)網(wǎng)絡數(shù)據(jù)查詢方法,如圖2所示,所述方法用于查詢通過具體實施方式四的方法進行存儲后的數(shù)據(jù),所述神經(jīng)網(wǎng)絡數(shù)據(jù)查詢方法包括:
步驟一、將輸入向量k={k1,k2,…,km}輸入至輸入節(jié)點;輸入向量k用于表示已知字段;輸入節(jié)點中未接收輸入向量的部分表示未知字段。未知字段在圖2中用z表示。
步驟二、通過梯度法調(diào)節(jié)未知字段對應的輸入節(jié)點的向量值,使得輸出節(jié)點的值均為0。
步驟三、獲取此時未知字段對應的輸入節(jié)點的向量值,作為待查詢數(shù)據(jù)。
例如,已知字段是學生的學籍號信息,未知字段的信息為學生的姓名信息,將學籍號信息輸入至輸入節(jié)點,通過調(diào)節(jié)其他字段(即待查詢字段)使得輸出節(jié)點的向量值為0,此時的輸入節(jié)點的向量值即為待查詢的學生姓名信息。
具體實施方式六:本實施方式的神經(jīng)網(wǎng)絡數(shù)據(jù)查詢方法與具體實施方式五不同的是,步驟二中,通過梯度法調(diào)節(jié)未知字段對應的輸入節(jié)點的網(wǎng)絡權(quán)值所使用的公式為:
其中i=1,2,3,…,p,p為未知字段對應的輸入節(jié)點的個數(shù)。zi為未知字段的第i個輸入節(jié)點。
其它步驟及參數(shù)與具體實施方式五相同。
本發(fā)明還可有其它多種實施例,在不背離本發(fā)明精神及其實質(zhì)的情況下,本領(lǐng)域技術(shù)人員當可根據(jù)本發(fā)明作出各種相應的改變和變形,但這些相應的改變和變形都應屬于本發(fā)明所附的權(quán)利要求的保護范圍。