• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      稠密向量實體檢索模型的二值化提速壓縮

      2023-02-25 09:06:52王苑錚范意興張儒清郭嘉豐
      模式識別與人工智能 2023年1期
      關(guān)鍵詞:浮點(diǎn)漢明二值

      王苑錚 范意興 陳 薇 張儒清 郭嘉豐

      WANG Yuanzheng1,2, FAN Yixing1,2, CHEN Wei1,2, ZHANG Ruqing1,2, GUO Jiafeng1,2

      實體檢索是為了從大規(guī)模的實體庫中找到與查詢相關(guān)的實體[1],是很多自然語言處理任務(wù)的基礎(chǔ),如文本數(shù)據(jù)分析[2]、事實抽取與驗證[3]、問答系統(tǒng)[4-7]、信息檢索[8-11]、推薦系統(tǒng)[12]等.不同于常規(guī)的文檔檢索任務(wù),實體檢索任務(wù)的查詢是一個帶上下文的實體提及(Entity Mention),而實體庫除了可以是無結(jié)構(gòu)的實體描述文檔,也可以是結(jié)構(gòu)化、半結(jié)構(gòu)化的知識圖譜,并且查詢與實體間的“相關(guān)性”通常是明確的,即二者是否指代同一實體,而不是模糊的語義相似性,因此一個查詢通常只有一個目標(biāo)實體.當(dāng)實體庫規(guī)模很大時,為了能正確、高效檢索目標(biāo)實體,通常需要采用多階段檢索,其中包含召回階段和至少一個重排序階段.召回階段是從完整實體庫中篩選少數(shù)候選實體,要求高召回率和高效率.

      近年來,基于稠密向量表示的實體檢索模型被廣泛應(yīng)用于召回階段.在稠密向量檢索模型中,查詢與實體首先被獨(dú)立編碼為稠密語義向量,之后在稠密向量空間中通過簡單的相似度函數(shù)(如點(diǎn)乘、余弦、L2),利用K最近鄰(KNearest Neighbor,KNN)或近似近鄰(Approximate Nearest Neighbor,ANN)召回與查詢向量最接近的候選實體.稠密向量檢索模型優(yōu)點(diǎn)如下.1)稠密向量可有效建模查詢與實體的語義相似性,召回率高于傳統(tǒng)精確匹配模型;2)模型中的實體向量可離線計算好后再使用向量索引,可提高在線檢索的效率.

      為了有效建模查詢與文檔的語義,當(dāng)前的稠密向量通常是高維的,導(dǎo)致巨大的計算開銷,消耗大量存儲空間.一方面,稠密向量通常是高維的浮點(diǎn)數(shù)向量,導(dǎo)致計算向量相似度時,浮點(diǎn)運(yùn)算開銷很大,往往需要昂貴的GPU等設(shè)備;另一方面,存儲高維稠密的實體向量需要大量空間.例如:對于英文維基的500萬實體,如果使用1 024維32位浮點(diǎn)向量存儲,需要23 GB的空間,難以部署在存儲受限的小型設(shè)備上.因此,壓縮高維稠密向量、加快向量相似度計算,是稠密向量檢索亟需解決的問題.

      為了解決壓縮高維稠密向量、加快向量相似度計算的問題,本文分析3個當(dāng)前較優(yōu)的稠密向量檢索模型——BLINK[13]、LUKE(Language Understanding with Knowledge-Based Embeddings)[14]、MGAD(Multi-granularity Alignments Based Distillation)[15]的實體向量,發(fā)現(xiàn)高維空間中的實體向量分布具有“絕對稀疏、相對稠密” 的特點(diǎn).絕對稀疏體現(xiàn)在每個象限幾乎不超過一個實體,說明高維向量存在信息冗余.相對稠密體現(xiàn)在相似實體分布在更近的象限里,即向量各維度的正負(fù)號更相似,說明象限正負(fù)號是一種精煉、可體現(xiàn)相似度的語義特征.

      基于上述特點(diǎn),本文提出二值化的實體檢索方法(簡稱二值檢索),實現(xiàn)壓縮與加速.具體而言,先利用符號函數(shù)(sign)提取向量各維度的正負(fù)號,代替原本的高維浮點(diǎn)數(shù)向量,實現(xiàn)二值化壓縮.再使用漢明距離,檢索最近鄰的二值化實體向量,使用布爾運(yùn)算代替浮點(diǎn)運(yùn)算,實現(xiàn)相似度計算的加速.

      對二值檢索的有效性進(jìn)行理論分析和實驗驗證.在理論上,當(dāng)滿足一定前提時,二值檢索等價于乘積量化(Product Quantization,PQ)檢索[16],此時相比浮點(diǎn)值模型,召回的候選實體列表大概率保序,可保證較優(yōu)的檢索性能.首先在實體檢索的AIDA數(shù)據(jù)集[17]上進(jìn)行實驗,以二值化后效果最優(yōu)的MGAD為例,發(fā)現(xiàn)召回率損失較少,可大幅壓縮實體向量的存儲空間,加速向量相似度計算.進(jìn)一步,對實體向量的定性、定量分析性實驗驗證方法和理論的正確性.此外,若模型不滿足理論前提導(dǎo)致檢索性能損失較大,可通過隨機(jī)升維旋轉(zhuǎn)改善性能.

      1 相關(guān)知識

      1.1 基于稠密向量的實體檢索

      為了平衡性能與效率,實體檢索通常分為召回和重排序兩個階段.在召回階段,傳統(tǒng)方法是基于BM25[13]或?qū)嶓w別名表[18]的啟發(fā)式檢索方法.然而此類方法依賴于實體名與查詢的精確匹配,當(dāng)無法精確匹配時,召回率較低.近年來,神經(jīng)網(wǎng)絡(luò)被應(yīng)用于實體檢索任務(wù),取得比啟發(fā)式方法更優(yōu)的檢索性能.在召回階段,常用基于稠密向量的檢索模型.此類模型將查詢、實體獨(dú)立編碼為稠密向量,再通過簡單的向量相似度函數(shù)(如點(diǎn)積、L2),使用精確K近鄰或近似K近鄰算法召回K個最相似的實體.

      基于稠密向量的檢索模型按實體向量的表示方式不同,大致可分為3類:基于描述的方法、基于上下文的方法、混合式方法.基于描述的方法以BLINK為代表,使用BERT(Bidirectional Encoder Representa-tions from Transformers)[19]將實體描述文本直接編碼為向量.基于上下文的方法以LUKE為代表,從海量上下文中利用實體與其它單詞、實體的共現(xiàn)關(guān)系,抽取實體的分布語義向量.混合式方法以MGAD為代表,利用分布語義模型LUKE蒸餾實體描述編碼器,得到的實體向量同時具備描述和上下文的語義.

      BLINK、LUKE、MGAD為當(dāng)前性能較優(yōu)的三個稠密向量實體檢索方法,分別適合在實體描述豐富、實體上下文豐富、實體描述和實體上下文都豐富的場景下訓(xùn)練實體向量.相比傳統(tǒng)方法,稠密向量模型的語義匹配能力更強(qiáng),召回率更高,但缺點(diǎn)是時間復(fù)雜度和空間復(fù)雜度也更高.

      1.2 二值檢索

      二值檢索是使用0、1或±1的離散二值向量表示查詢與實體,然后使用漢明相似度檢索的方法,在圖像檢索和文本檢索中都有應(yīng)用.按照訓(xùn)練方式劃分,二值檢索可分為兩類:聯(lián)合優(yōu)化方法和后處理方法.在聯(lián)合優(yōu)化方法中,二值化是與向量的學(xué)習(xí)過程一起訓(xùn)練的,以文本檢索任務(wù)的BPR(Binary Passage Retriever)[20]為代表.BPR在訓(xùn)練過程中,使用可微的tanh函數(shù)近似sign函數(shù),訓(xùn)練接近二值向量的浮點(diǎn)值向量,在推斷時直接使用sign函數(shù)二值化.后處理方法直接使用其它模型訓(xùn)練好的浮點(diǎn)值向量,對浮點(diǎn)向量進(jìn)行一些簡單變換后再二值化,以圖像檢索任務(wù)的HE-WGC(Hamming Embedding and Weak Geometric Consistency)[21]和ITQ(Iterative Quantiza-tion)[22]為代表.在使用sign函數(shù)二值化前,HE-WGC對稠密向量進(jìn)行隨機(jī)旋轉(zhuǎn),ITQ通過迭代計算將稠密向量旋轉(zhuǎn)至量化誤差最小的方向上,但是兩者并未給出理論上的解釋.在這兩類二值檢索方法中,聯(lián)合優(yōu)化方法的檢索效果更優(yōu),但訓(xùn)練代價高昂.后處理方法的檢索效果略差于聯(lián)合優(yōu)化方法,但不需要重新訓(xùn)練模型,可直接在訓(xùn)練好的模型上應(yīng)用,泛用性更好.

      2 二值化的實體檢索方法

      本節(jié)首先形式化介紹基于稠密向量的召回階段實體檢索,再介紹針對稠密向量的二值化實體檢索.在實體召回階段,給定一個帶上下文的實體提及作為查詢q,目的是從一個大型實體庫E={e1,e2, …,eN}中,召回K個候選實體子集{e1,e2, …,eK},K?N.

      2.1 基于稠密向量的實體檢索

      基于稠密向量的實體檢索模型結(jié)構(gòu)如圖1所示,首先使用兩個獨(dú)立的編碼器將查詢、實體分別編碼為稠密向量,再召回與查詢向量最相似的K個候選實體.

      圖1 基于稠密向量的實體檢索模型結(jié)構(gòu)圖

      對于查詢q和實體e,對應(yīng)的稠密向量分別為:

      vq=f(q),ve=g(e),

      其中f、g表示兩個互相獨(dú)立的編碼器.以BLINK為例,f、g都采用BERT,將文本編碼為向量.關(guān)于查詢、實體編碼器的更多細(xì)節(jié),請參考BLINK、LUKE、MGAD的相關(guān)文獻(xiàn)[13-15].

      召回過程是利用KNN召回與查詢向量vq相似度最大或距離最小的K個候選實體.記s(·,·)為計算2個向量相似度的函數(shù),KNN召回過程形式化表述為

      常用的相似度函數(shù)s(·,·)有點(diǎn)乘相似度、余弦相似度、L2相似度(L2距離取反)等.本文與BLINK、LUKE、MGAD一樣,采用點(diǎn)乘相似度.

      稠密向量檢索模型可利用神經(jīng)網(wǎng)絡(luò)建模vq、ve的語義相似性,因此召回率超過傳統(tǒng)的精確匹配模型.但是,由于vq、ve通常都是高維浮點(diǎn)值向量,且ve需要預(yù)先計算并存儲,當(dāng)實體數(shù)量很多時,大規(guī)模浮點(diǎn)向量的存儲及相似度計算的開銷很大.為了解決該問題,本文提出二值化的實體檢索方法.

      2.2 二值化實體檢索

      二值化的實體檢索方法(簡稱二值檢索)簡化使用浮點(diǎn)值的稠密向量實體檢索(簡稱浮點(diǎn)值檢索),可壓縮向量存儲空間,加快相似度計算.二值檢索示意圖如圖2所示.

      圖2 二值檢索示意圖

      對于n維浮點(diǎn)值向量vq∈Rn,ve∈Rn,首先利用符號函數(shù)

      獲取每個浮點(diǎn)值的正負(fù)號,得到n維二值向量

      bq∈{1,-1}n,be∈{1,-1}n.

      假設(shè)原本每個浮點(diǎn)值需要使用mbit表示(m通常為32或64),而±1使用1 bit即可表示,因此存儲n維浮點(diǎn)向量需要n×mbit,而二值向量只需要nbit,二值化可將存儲壓縮至1/m.

      之后可利用漢明相似度sHam計算二值向量bq、be的相似度.定義漢明距離H(b1,b2)為b1∈{1,-1}n,b2∈{1,-1}n中不相同的bit的數(shù)量,則二值向量的漢明相似度sHam、L2相似度sL2、點(diǎn)乘相似度sdot、余弦相似度scos四者都可從漢明距離H計算得到,即

      (1)

      容易看出,4個相似度是等價的,因此實踐中使用漢明相似度即可.對于現(xiàn)代CPU,漢明距離H可僅用兩條指令計算:

      H(b1,b2)=POPCOUNT(XOR(b1,b2)),

      其中,XOR為按位異或,POPCOUNT(·)為統(tǒng)計值為1的bit數(shù)量.這兩條指令都是簡單的布爾運(yùn)算,計算速度快于復(fù)雜的浮點(diǎn)運(yùn)算.

      3 可行性分析

      本節(jié)從理論上分析使用二值檢索代替浮點(diǎn)檢索的可行性.首先,當(dāng)稠密向量滿足前提條件“各維度是均值為0的對稱分布”時,二值化檢索等價于一種特殊的PQ檢索[16].當(dāng)滿足此前提時,漢明相似度與L2相似度大概率保序,因此相比浮點(diǎn)值檢索,二值檢索的性能損失不大.

      3.1 二值檢索是一定前提下特殊的乘積量化檢索

      首先介紹PQ檢索的原理.PQ檢索首先將高維向量空間劃分為多個低維子空間,對每個子空間上的實體向量集合通過K-means聚類生成k個聚類中心,使用每個子空間上最近的聚類中心代替原本的實體向量(稱為量化).之后分別在每個子空間上,使用查詢向量到實體聚類中心的距離,最后組合這些子空間上的距離,得到一個查詢向量到實體向量的近似距離(稱為量化距離),其中最重要的是K-means聚類與量化距離的計算.

      給定n維實體向量的集合{ve}?Rn,先將ve切分為多段獨(dú)立的m維子向量的笛卡爾積:

      其中,d(·,·)為某種距離函數(shù),如L2距離,ci為使用K-means聚類后的第i個聚類中心.

      當(dāng)各維度是均值為0的對稱分布時,sign函數(shù)二值化等價于m=1,k=2的K-means聚類量化.這種K-means聚類的結(jié)果如圖3所示.記左右兩半的均值為±μ,則{c1,c2}=±μ就是K-means收斂時的聚類中心.若使用符號函數(shù)sign代替量化函數(shù)Q,則等價于指定聚類中心{c1,c2}=±1,此時左右兩簇的劃分結(jié)果,與以±μ為聚類中心是相同的.

      圖3 m=1,k=2的K-means聚類結(jié)果

      當(dāng)滿足可使用sign函數(shù)代替量化函數(shù)Q的條件時,漢明距離與對稱的量化距離等價.對稱的量化距離dQ,即對查詢向量vq、實體向量ve都量化后計算的距離定義為

      當(dāng)Q(·)為sign函數(shù),距離d(·,·)為L2距離時,由式(1)有dQ=2H,H為漢明距離,因此dQ與漢明距離等價.

      3.2 相似度的保序性

      本節(jié)將從理論上分析漢明相似度與L2相似度在Rn上大概率是保序的,所以二值檢索與浮點(diǎn)值的檢索性能相差不大.

      若滿足

      (2)

      l1=L2(x,y1),l2=L2(x,y2),

      記漢明距離

      h1=H(x,y1),h2=H(x,y2).

      由于漢明距離等于漢明相似度取反(L2距離同理),于是條件(2)等價于

      P(l1≥l2|h1

      (3)

      利用條件概率,

      P(l1≥l2|h1

      P(h1

      (4)

      說明條件(3)成立.

      對于漢明距離,給定x、y1,假設(shè)滿足h1

      對于L2距離,能滿足條件l1≥l2的點(diǎn)y2必須落在以x為球心、|x-y1|為半徑的球里.以圖4的二維空間為例,相比無限的二維空間,落在球內(nèi)的概率趨近于0,因此有

      圖4 P(l1≥l2)→0示意圖

      P(l1≥l2)→0.

      回到式(4),由于左邊

      P(h1

      右邊

      P(h1

      于是必須有

      P(l1≥l2|h1

      式(4)得證,因此漢明相似度到L2相似度大概率保序.

      4 實驗及結(jié)果分析

      4.1 實體檢索實驗

      本節(jié)通過實驗驗證sign函數(shù)+漢明距離的二值檢索方案可在檢索性能損失不大時,壓縮實體向量存儲,加快相似度計算.

      在實體鏈接的基準(zhǔn)數(shù)據(jù)集AIDA[17]上進(jìn)行實驗.除了BLINK、LUKE、MGAD,還對比如下2個傳統(tǒng)的啟發(fā)式檢索模型:1)Alias Table[18],可預(yù)先通過維基百科錨文本收集;2)BM25,使用實體名稱構(gòu)建索引[13].

      每個基于稠密向量的模型分為浮點(diǎn)值、二值化兩種版本.浮點(diǎn)值模型是按官方超參數(shù)在AIDA-train數(shù)據(jù)集上微調(diào)的原版模型,采用點(diǎn)乘相似度.二值化模型直接使用sign函數(shù)對浮點(diǎn)值模型的稠密向量二值化,并使用漢明相似度檢索,該過程不需要訓(xùn)練.為公平起見,所有模型的實體庫統(tǒng)一限定為LUKE編碼的約50萬英文維基實體.

      在AIDA-testB數(shù)據(jù)集上測試模型的檢索性能、計算速度、存儲空間.檢索性能指標(biāo)包括:MRR(Mean Reciprocal Rank)、Recall@K(K=1,10,30,100),后者簡記為R@K.

      實驗平臺的硬件配置如下:Intel(R)Xeon(R)Gold 5117 CPU @ 2.00 GHz,Tesla K80 GPU,12 GB顯存.

      各模型檢索性能如表1所示,其中-b表示二值檢索.由表可觀察到,MGAD、BLINK、LUKE的浮點(diǎn)值模型效果優(yōu)于Alias Table和BM25,這顯示稠密向量模型強(qiáng)大的語義匹配能力,并且在3種稠密向量中,使用上下文語義的MGAD和LUKE,效果優(yōu)于完全使用實體描述編碼稠密向量的BLINK.由表還可發(fā)現(xiàn),二值化的BLINK和MGAD都可以保持較高的召回率,其中MGAD在R@10上只損失0.8%,BLINK在R@30上只損失0.9%,這兩個模型二值化后依然性能優(yōu)于啟發(fā)式方法,且二值化MGAD性能甚至優(yōu)于浮點(diǎn)值BLINK.但是,二值化的LUKE性能下降非常嚴(yán)重,甚至差于啟發(fā)式檢索.總之,對于部分神經(jīng)檢索模型,二值化檢索可保持較高的檢索性能.

      表1 各模型檢索性能對比

      對于維度最高且二值檢索性能最優(yōu)的MGAD,在AIDA數(shù)據(jù)集上測試其實體向量的存儲空間及相似度計算速度,結(jié)果如表2所示.對于32位浮點(diǎn)的實體向量,二值化存儲可減至1/32,在CPU+內(nèi)存的配置下,相似度計算可加速約1.5倍,甚至快于GPU+顯存的浮點(diǎn)值模型.因此二值檢索可大幅壓縮存儲、加快計算,適合在低資源設(shè)備上部署.

      表2 AIDA數(shù)據(jù)集上MGAD的效率

      4.2 分析性實驗

      4.2.1 定性分析

      本節(jié)定性分析BLINK、LUKE、MGAD這3個稠密向量檢索模型中實體向量的分布特點(diǎn),以及如何利用這些特點(diǎn)實現(xiàn)二值化檢索.

      分析三者預(yù)訓(xùn)練好的實體向量.三者的實體都來自英文維基,但編碼的實體數(shù)量不同,最少的LUKE只編碼最高頻約10%實體,最多的BLINK編碼全部實體.此外3種實體向量的維度不同,BLINK為1 024維,MGAD為1 024維,LUKE為256維.本文發(fā)現(xiàn)如下2個特點(diǎn),并基于這2個特點(diǎn)提出二值檢索方法.

      特點(diǎn)1實體向量分布在互不相同的象限里

      使用sign函數(shù)提取浮點(diǎn)向量v每維的正負(fù)符號,得到n維±1向量b,表示v在n維直角坐標(biāo)系中所在的象限(n維空間有2n個象限).統(tǒng)計每個模型的實體向量分布在多少個象限里,統(tǒng)計結(jié)果如表3所示,表中all表示全量英文維基實體,top表示最高頻的約10%實體.由表可發(fā)現(xiàn):1)盡管3個模型編碼實體向量的方法不同,但對于高頻實體,每個實體向量都分布在不同象限里;2)對于編碼全部實體的BLINK,只有很少的情況下多個實體會出現(xiàn)在同個象限里,即每個象限里幾乎最多只有一個實體.

      表3 各模型的實體數(shù)量和向量象限數(shù)量

      本文發(fā)現(xiàn),只有在實體描述過于相似的情況下,才會出現(xiàn)一個象限中不止一個實體的現(xiàn)象.具體而言,這種實體可細(xì)分為3類:1)維基消歧頁;2)只有名字沒有描述;3)使用一套描述模板批量編寫的實體.這3類罕見情況屬于實體庫的噪聲.此外,實體向量確實都分布在互不相同的象限里,且高維空間本身的象限數(shù)遠(yuǎn)多于實體數(shù).例如:256維的LUKE共有2256≈1077個象限,遠(yuǎn)多于全量英文維基實體數(shù)(約106),而對于1 024維的BLINK和MGAD,其21024≈10308個象限甚至遠(yuǎn)超過全宇宙的原子數(shù)(約1080).因此對于這些高維稠密向量檢索模型,即使每個象限只有一個實體,容量依然足夠大.

      該特點(diǎn)說明使用浮點(diǎn)數(shù)的稠密向量存在大量信息冗余,僅保留象限(通過sign函數(shù)得到的二值向量)就可代替原本的浮點(diǎn)向量,從而壓縮存儲空間.

      特點(diǎn)2語義相似的實體向量所在象限也更近

      進(jìn)一步分析發(fā)現(xiàn),語義相近的實體會分布在更近的象限里(如象限(1,-1,1)離(-1,-1,1)更近,離(-1,1,1)更遠(yuǎn)).下面通過一個可視化的例子加以說明.

      本文選擇兩個實體:Java(programming language)和Switzerland,并從MGAD的浮點(diǎn)實體向量中分別選擇3個離它們距離最近的實體向量,得到兩組實體:

      {Python(programming language), Java(software platform), Lua(programming language)},

      {Switzerland football team,Swiss people,Switzerland in

      the Roman era}.

      可看出,每個實體都和自己組內(nèi)的實體語義更相似,和另一組實體的語義較遠(yuǎn).

      再將這兩組實體向量二值化,可視化效果如圖5所示,圖中每行表示一個1 024維的二值化實體向量(深灰色為1,淺灰色為-1),每列的維度一一對應(yīng).±1在各維度上的分布產(chǎn)生“條紋”,2個二值向量的條紋越相似,漢明距離也越小,即象限離得越近.由圖可看出,組內(nèi)語義較近的實體,向量更相似(漢明相似度更大,象限更近),組間語義較遠(yuǎn)的實體,向量更不相似(漢明相似度更小,象限更遠(yuǎn)).

      圖5 語義相似實體向量二值化的可視化效果

      基于此特點(diǎn),可使用計算速度更快的漢明相似度,衡量二值化后實體之間的語義相似度,從而替換原本的浮點(diǎn)值相似度.

      4.2.2 定量分析

      首先驗證各模型是否滿足二值化的理論前提,即“各維度是均值為0的對稱分布”,發(fā)現(xiàn)對稱分布基本成立(呈現(xiàn)為單峰對稱分布),但均值為0并不總成立.各模型各維度的均值(去除超過±0.15的值)如圖6所示.由圖可發(fā)現(xiàn),只有部分維度的均值在0附近(圖中±0.025內(nèi)),這些維度與理論較符合.考慮到高維向量本身的冗余性,及二值化的MGAD與BLINK召回性能并不差,本文認(rèn)為,只要“均值接近0的維度足夠多”,就能抵消其余維度的負(fù)面影響.

      再驗證依據(jù)理論推導(dǎo)的結(jié)論,即相似度的保序性.隨機(jī)采樣1 000個實體,使用第1種相似度召回k近鄰后,計算有多少鄰居在第2種相似度上保序.取k=3、10、100,并測試漢明相似度(簡記為Ham)、L2相似度(簡記為L2)、余弦相似度(簡記為cos)、點(diǎn)乘相似度(簡記為dot),保序性的實驗結(jié)果如表4所示.由表可發(fā)現(xiàn),相似度保序的概率

      表4 各模型相似度的保序概率

      MGAD > BLINK > LUKE,

      該排序與圖6中均值接近0的維度數(shù)量排序以及表5中二值化后的性能損失排序是一致的.此外以保序性最好的MGAD為例,還可發(fā)現(xiàn)除了漢明相似度到L2相似度之外,漢明相似度到余弦相似度、點(diǎn)乘相似度也是大概率保序的,反之余弦相似度、點(diǎn)乘相似度到漢明相似度也大概率保序.

      表5 各模型二值化后的性能損失

      圖6 各模型的各維度均值

      由此通過實驗驗證理論的正確性,得到一個更寬松的結(jié)論:當(dāng)各維度是對稱分布時,只要有足夠多維度的均值接近0,漢明相似度就大概率與L2相似度、余弦相似度、點(diǎn)乘相似度保序,從而保證二值檢索性能損失不大.進(jìn)一步地,均值接近0的維度越多,保序性越優(yōu),檢索性能損失越小.

      4.3 補(bǔ)充實驗

      從4.1節(jié)和4.2節(jié)實驗中發(fā)現(xiàn),LUKE由于不能較好滿足“有足夠多的維度均值接近0”的理論前提,導(dǎo)致二值化后相似度保序性較差,因此二值檢索效果不佳.受HE-WGC在圖像檢索任務(wù)中應(yīng)用隨機(jī)旋轉(zhuǎn)的啟發(fā),發(fā)現(xiàn)對稠密向量隨機(jī)升維旋轉(zhuǎn),可以讓更多維度均值接近0,提高二值檢索性能.

      給定向量v∈Rn,隨機(jī)升維旋轉(zhuǎn)即對v右乘一個隨機(jī)正交陣M∈Rn×m,其中m≥n(當(dāng)m=n時只旋轉(zhuǎn)不升維).旋轉(zhuǎn)可保證稠密向量的內(nèi)積相似度、L2相似度、點(diǎn)乘相似度都不變,而隨機(jī)的升維可讓各維度均值更接近0(作為對比,雖然中心化也能令均值為0,但這是一種平移變換,無法保證點(diǎn)乘相似度、余弦相似度不變).具體而言,設(shè)稠密向量集合的均值向量為μ,隨機(jī)升維旋轉(zhuǎn)不改變μ的模長,且變換后的μ均勻分布在半徑為|μ|的m維球面上,即

      (5)

      維度m越大,μi的期望越接近0.

      本節(jié)通過實驗驗證隨機(jī)升維旋轉(zhuǎn)確實可改善LUKE的二值化檢索性能,具體結(jié)果如表6所示,表中b-R×n表示維度乘以n倍的隨機(jī)升維旋轉(zhuǎn)并二值化.除了浮點(diǎn)值模型以外,其它行的數(shù)值是相對浮點(diǎn)值模型的性能損失.由表可發(fā)現(xiàn):1)即使不升維,只隨機(jī)旋轉(zhuǎn)(b-R×1),也可提高二值檢索性能;2)升維的倍數(shù)越大,二值化檢索效果越接近浮點(diǎn)值LUKE,升維16倍時各項指標(biāo)損失不到1%,已非常接近浮點(diǎn)值模型(由于二值化可壓縮至1/32,即使升維16倍,總存儲空間依然能減半).

      表6 對LUKE隨機(jī)升維旋轉(zhuǎn)后的二值檢索效果

      圖7 LUKE隨機(jī)升維旋轉(zhuǎn)后均值分布

      圖8 期望的理論值與統(tǒng)計值

      5 結(jié)束語

      對于基于稠密向量的實體檢索模型,它們的實體向量普遍具有2個特點(diǎn):1)絕大多數(shù)象限中不超過一個向量;2)語義相近實體向量分布在更接近的象限中.因此本文提出二值化的實體檢索方法.使用sign函數(shù)+漢明相似度對實體向量進(jìn)行二值檢索.對于BLINK和MGAD,該二值檢索方法可保持較高召回率、壓縮實體向量存儲、加快相似度計算.從理論上分析二值檢索方法在一定前提下的正確性.而對于二值檢索效果不佳的LUKE,可通過隨機(jī)升維旋轉(zhuǎn)使其更符合理論前提,從而提高檢索性能.今后將嘗試建立更精細(xì)的二值檢索理論,此外會聯(lián)合優(yōu)化二值化與稠密向量學(xué)習(xí)過程,得到更好的二值化表示.

      猜你喜歡
      浮點(diǎn)漢明二值
      LEO星座增強(qiáng)GNSS PPP模糊度浮點(diǎn)解與固定解性能評估
      混沌偽隨機(jī)二值序列的性能分析方法研究綜述
      支持CNN與LSTM的二值權(quán)重神經(jīng)網(wǎng)絡(luò)芯片
      基于浮點(diǎn)DSP的鐵路FSK信號檢測
      基于二值形態(tài)學(xué)算子的軌道圖像分割新算法
      視頻圖像文字的二值化
      媳婦管錢
      中年研究
      基于FPGA的浮點(diǎn)FIR濾波器設(shè)計
      改進(jìn)的Goldschmidt雙精度浮點(diǎn)除法器
      玛纳斯县| 贞丰县| 电白县| 于田县| 桃园县| 黄石市| 孝昌县| 遵义市| 贡嘎县| 迭部县| 开封县| 阳高县| 静宁县| 荆州市| 砀山县| 中阳县| 图们市| 大余县| 阳山县| 定西市| 南澳县| 嵊泗县| 汉川市| 卢湾区| 江孜县| 绵阳市| 乌鲁木齐市| 宁陵县| 娱乐| 固安县| 囊谦县| 湟源县| 青铜峡市| 囊谦县| 安顺市| 乳山市| 青州市| 绥中县| 安康市| 四会市| 蒲城县|