999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于深度學習的可學習索引研究

2022-08-17 03:59:32彭永鑫
微型電腦應(yīng)用 2022年7期
關(guān)鍵詞:深度模型

彭永鑫

(商洛學院, 數(shù)學與計算機應(yīng)用學院, 陜西, 商洛 726000)

0 引言

現(xiàn)實世界中數(shù)據(jù)的積累越來越多,如何在海量數(shù)據(jù)中高效查找到互相關(guān)聯(lián)的數(shù)據(jù),成為人們越來越關(guān)注的話題。作為數(shù)據(jù)檢索的一種重要方法,使用索引進行數(shù)據(jù)查找是最廣泛的應(yīng)用之一。傳統(tǒng)索引結(jié)構(gòu)雖然可以廣泛應(yīng)用于數(shù)據(jù)庫的增刪改查中,但不能很好的解決最近鄰查找問題。作為精確最近鄰查找的代表性方法,樹形結(jié)構(gòu)例如KD樹[1]等被廣泛使用。基于樹形結(jié)構(gòu)的查找雖然結(jié)果準確,但需要較大的存儲空間,同時容易受到高維度數(shù)據(jù)的制約,造成查找效率的降低。由于在某些情況下往往不需要很高的查找精度,因此犧牲一定的查找準確率以換取更高的查找效率,即將最近鄰查找轉(zhuǎn)換為近似最近鄰查找成為一種可行的方法。常用的近似最近鄰算法有局部敏感哈希算法LSH[2]等。這類算法運行速度較快,但查找精度有待提高。找到一種既能解決高維數(shù)據(jù)的最近鄰查詢困難問題同時不會犧牲過多查詢精度的算法成為新的研究方向。

Google的研究[3]是使用深度學習算法代替?zhèn)鹘y(tǒng)索引結(jié)構(gòu)的一次嘗試,展現(xiàn)出了較好的結(jié)果。一般的哈希算法通過人為設(shè)定好的方式運行,不會考慮函數(shù)本身和數(shù)據(jù)分布之間的關(guān)系。而使用深度學習算法構(gòu)建的哈希函數(shù),會對輸入數(shù)據(jù)進行多次的訓練,整個過程需要數(shù)據(jù)的參與,不用人為設(shè)定一個固定的映射函數(shù),可以充分學習到數(shù)據(jù)內(nèi)部潛在的關(guān)系從而獲得更好的性能。在此基礎(chǔ)上,LISA[4]的提出使得查找任意空間數(shù)據(jù)集中的最近鄰查找成為可能;而ALEX[5]重點研究了查找策略的優(yōu)化;Ali Hadian等[6]則討論了數(shù)據(jù)更新對模型的影響。本文將從具體的數(shù)據(jù)結(jié)構(gòu)入手,探討構(gòu)建可學習索引的一般方式,并通過實驗初步驗證可學習索引代替其他傳統(tǒng)索引結(jié)構(gòu)的優(yōu)越性。

1 可學習索引結(jié)構(gòu)的構(gòu)建

由文獻[3]可知,可以用深度學習算法整體或局部替代現(xiàn)有索引結(jié)構(gòu)的某些結(jié)構(gòu),如圖1所示。基于深度學習的可學習索引通過學習數(shù)據(jù)的分布,能夠建立比傳統(tǒng)索引更為高效的數(shù)據(jù)結(jié)構(gòu)。深度學習在處理特征向量方面具有強大的能力,而高維度數(shù)據(jù)和詞向量數(shù)據(jù)等可以根據(jù)自身的數(shù)據(jù)類型通過自編碼網(wǎng)絡(luò)等方法進行降維處理。將深度學習和這些降維方法等結(jié)合能夠發(fā)揮神經(jīng)網(wǎng)絡(luò)在運算速度方面的巨大優(yōu)勢。

傳統(tǒng)哈希索引

可學習索引圖1 可學習索引的架構(gòu)

哈希函數(shù)模型和可學習索引模型都是基于鍵值對的模型。對于一個輸入的關(guān)鍵字,兩者都會輸出與其對應(yīng)的索引位置。Google使用累積分布函數(shù)CDF[3]來描述給定的輸入數(shù)據(jù)的關(guān)鍵字的值與其對應(yīng)的索引位置之間的函數(shù)映射關(guān)系。傳統(tǒng)的哈希函數(shù)模型和可學習索引模型都可以看作是一種累積分布函數(shù),利用累積分布函數(shù)計算輸入數(shù)據(jù)映射后的索引位置。

圖2 累積分布函數(shù)

如圖2所示是某一個樣本數(shù)據(jù)的累積分布函數(shù)示意圖。其中橫坐標表示的是所有數(shù)據(jù)的關(guān)鍵字,縱坐標表示每個關(guān)鍵字對應(yīng)的位置值。對于一個給定的關(guān)鍵字Key,相應(yīng)的位置值Pos可以表示為

Pos=CDF(Key)×N

(1)

其中,CDF(x)表示累積分布函數(shù),N是數(shù)據(jù)集的大小。可學習索引實際上是用深度學習的方法對數(shù)據(jù)樣本的累積分布函數(shù)進行擬合,可以用公式表示如下:

Pos=f(Key)×N

(2)

其中,f(x)表示選定的一種深度學習算法或者代表某種運算過程。基于此,在構(gòu)建可學習索引結(jié)構(gòu)的過程中,第一步要做的是找到輸入數(shù)據(jù)和對應(yīng)位置之間的關(guān)系,構(gòu)建一個累積分布函數(shù),其次構(gòu)建神經(jīng)網(wǎng)絡(luò),利用深度學習對已經(jīng)構(gòu)造好的累積分布函數(shù)進行訓練和擬合,最后進行參數(shù)的調(diào)整以達到一個較好的結(jié)果,從而讓可學習索引模型能夠完成關(guān)鍵字映射到索引位置這樣一個過程。

2 可學習索引的框架

對每一個具體的可學習索引結(jié)構(gòu)來說,基本上都可以用以下幾個階段去構(gòu)建完成。分別是特征提取和輸入層、神經(jīng)網(wǎng)絡(luò)層、索引層和輸出層。每個階段分別如下:

(1) 特征提取和輸入層,這個階段主要完成對輸入數(shù)據(jù)的預(yù)處理和數(shù)據(jù)的輸入,包含了噪音清除、數(shù)據(jù)降維等過程。經(jīng)過特征提取后的數(shù)據(jù)一般為較低維度的特征向量,方便神經(jīng)網(wǎng)絡(luò)的處理,同時剔除了噪聲的不良影響,能夠使得結(jié)果更加準確。目前有很多特征處理的方法,例如SIFT與GIST等通常用于圖像的處理,word2vector能夠有效的提取語言文字的抽象表征。如果數(shù)據(jù)本身就是特征向量或者維度較低的數(shù)據(jù),則可以將其直接輸入到之后的神經(jīng)網(wǎng)絡(luò)層。

(2) 神經(jīng)網(wǎng)絡(luò)層是整個可學習索引模型構(gòu)建過程中最為重要的一個部分。可學習索引學習對象的不同,神經(jīng)網(wǎng)絡(luò)的模型也會不同。對于某些數(shù)據(jù)結(jié)構(gòu),使用簡單的全連接網(wǎng)絡(luò)便能學習到數(shù)據(jù)的內(nèi)在聯(lián)系。當數(shù)據(jù)集的數(shù)據(jù)量較多或者本身難以被學習時,需要設(shè)計和利用更為復(fù)雜的網(wǎng)絡(luò)結(jié)構(gòu),例如將一個深度神經(jīng)網(wǎng)絡(luò)模型擴展為多個。不同的模型可以擁有不同的神經(jīng)網(wǎng)絡(luò)層數(shù)和節(jié)點數(shù)。通過并行計算,各個模型互不干擾,能夠提高網(wǎng)絡(luò)的運行效率。神經(jīng)網(wǎng)絡(luò)參數(shù)的更新也在這個階段進行。訓練過程中,對于有多個模型的神經(jīng)網(wǎng)絡(luò),將所有子網(wǎng)絡(luò)輸出的結(jié)果向量拼接為矩陣后,當成整個神經(jīng)網(wǎng)絡(luò)模型的輸出,和輸入標簽放在一起計算損失。

(3) 索引層主要是對神經(jīng)網(wǎng)絡(luò)輸出的結(jié)果進行處理。由于神經(jīng)網(wǎng)絡(luò)的輸出通常是一些待轉(zhuǎn)換的編碼,不能直接使用得到結(jié)果,甚至可能這些編碼形式比較復(fù)雜,因此在索引層需要進行二次或者更多次的映射操作。

(4) 整個結(jié)構(gòu)的最后一層是輸出層。當映射完成后,需要將得到的結(jié)果進行最終的計算、對比和排序,才能輸出精確最近鄰點或者近似最近鄰點。

對于精確最近鄰查找,在訓練過程中,需要著重提高的是神經(jīng)網(wǎng)絡(luò)的運算速度,方式是選擇具有較好模型和結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò);而局部敏感哈希這類的近似的最近鄰查找,為了提高準確率需要選擇或者設(shè)計較好的損失函數(shù)。

3 結(jié)果與分析

本節(jié)將會在可學習索引模型的基礎(chǔ)上,將其應(yīng)用于具體的索引結(jié)構(gòu)——局部敏感哈希,針對最近鄰查找問題,驗證可學習索引模型的優(yōu)越性。實驗均使用Python編寫的代碼在Intel(R)Core(TM)i7-4770上完成。深度學習框架則選用的是目前較為常見的TensorFlow,版本號為1.13。TensorFlow能便捷地對神經(jīng)網(wǎng)絡(luò)模型進行訓練,而且能夠?qū)⒛P蛥?shù)和模型結(jié)構(gòu)進行固化后保存在特定類型的文件中方便后續(xù)的預(yù)測過程。

圖3是在相同的環(huán)境和條件下,采用監(jiān)督學習的方式,將神經(jīng)網(wǎng)絡(luò)訓練好之后,可學習局部敏感哈希算法和傳統(tǒng)局部敏感哈希算法以及KD樹的對比結(jié)果。其中,橫坐標為待查找的數(shù)據(jù)量大小,分別為1×104,2×104,3×104,4×104和5×104。所使用的數(shù)據(jù)集是符合正態(tài)分布的生成數(shù)據(jù)集,維度均為50維;縱坐標為查找的準確率。從圖3中可以看出,可學習局部敏感哈希在查找準確率上具有明顯的優(yōu)勢,甚至比傳統(tǒng)的樹形結(jié)構(gòu)還要高,最高能達到接近95%的準確率;同時,準確率相比較于傳統(tǒng)的局部敏感哈希也要高出10%左右。

表1是從查找時間的角度出發(fā)對比三者的差異。可以看出,無論是可學習的局部敏感哈希還是傳統(tǒng)的局部敏感哈希,相對于樹形結(jié)構(gòu)KD樹,在查找速度上都具有巨大的優(yōu)勢,且隨著查找數(shù)據(jù)量的增加,其優(yōu)勢越來越明顯。與局部敏感哈希相比,可學習的局部敏感哈希在查找速度上更快,領(lǐng)先達到2倍左右。總的來說,基于可學習索引的可學習局部敏感哈希,無論是在查找準確率還是查找時間上都要優(yōu)于傳統(tǒng)的局部敏感哈希和KD樹。

圖3 數(shù)據(jù)量對準確率的影響

表1 數(shù)據(jù)量對查找時間的影響

4 總結(jié)

本文針對目前最近鄰查找存在的問題,提出了新的解決方案,表現(xiàn)出了一定的優(yōu)越性。在建立可學習索引模型的基礎(chǔ)上,將其應(yīng)用于一種具體的數(shù)據(jù)結(jié)構(gòu)——局部敏感哈希。在之后的工作中,將繼續(xù)研究其在真實數(shù)據(jù)集上的效果。

猜你喜歡
深度模型
一半模型
深度理解一元一次方程
重要模型『一線三等角』
重尾非線性自回歸模型自加權(quán)M-估計的漸近分布
深度觀察
深度觀察
深度觀察
深度觀察
3D打印中的模型分割與打包
FLUKA幾何模型到CAD幾何模型轉(zhuǎn)換方法初步研究
主站蜘蛛池模板: 久久国产乱子| 亚洲日本中文字幕乱码中文| 97国产精品视频自在拍| 国产一区二区色淫影院| 久久精品无码一区二区国产区| 婷婷激情亚洲| 欧美一级视频免费| 国产精品真实对白精彩久久| 亚洲永久视频| 秋霞国产在线| 国产福利免费在线观看| 欧美一区精品| 久久99国产综合精品女同| 国产精品欧美日本韩免费一区二区三区不卡 | 人人艹人人爽| 国产超薄肉色丝袜网站| 91精品小视频| 夜色爽爽影院18禁妓女影院| 欧洲欧美人成免费全部视频| 久久久噜噜噜久久中文字幕色伊伊| 日韩精品久久久久久久电影蜜臀| 亚洲男人天堂2020| 国产99视频精品免费观看9e| 国产精品视频猛进猛出| 亚洲女人在线| 欧美综合成人| 99这里只有精品6| 婷婷亚洲天堂| 免费又黄又爽又猛大片午夜| 久久视精品| 欧美日韩第三页| A级毛片高清免费视频就| 精品人妻无码中字系列| 国产另类乱子伦精品免费女| 在线欧美日韩| 欧美成人aⅴ| 狠狠亚洲婷婷综合色香| 黑人巨大精品欧美一区二区区| 色婷婷色丁香| 日韩一级二级三级| 宅男噜噜噜66国产在线观看| 国产成人调教在线视频| 国产免费观看av大片的网站| 性视频一区| 青青草91视频| 天天综合网色| 国产理论一区| 国产永久无码观看在线| 国产成人8x视频一区二区| 午夜精品影院| 亚洲永久精品ww47国产| 热思思久久免费视频| 1769国产精品免费视频| 69视频国产| 国产欧美性爱网| 色视频久久| 麻豆国产精品一二三在线观看| a色毛片免费视频| 最新国产成人剧情在线播放| 婷婷激情五月网| 午夜啪啪网| 伊在人亚洲香蕉精品播放| 亚洲一区二区视频在线观看| 精品国产网| 国产精品视频白浆免费视频| 成人国产精品网站在线看| 欧美三級片黃色三級片黃色1| 色综合婷婷| 国产一级特黄aa级特黄裸毛片| 欧美国产日产一区二区| 欧美日韩国产精品va| 99久久无色码中文字幕| 国产簧片免费在线播放| 久久久91人妻无码精品蜜桃HD| 久久这里只有精品2| 久久一日本道色综合久久| 精品久久久久久成人AV| 国产成a人片在线播放| 国产嫩草在线观看| 99re热精品视频国产免费| 国产地址二永久伊甸园| 99久久免费精品特色大片|