HippoRAG:基于海馬體記憶索引理論的知識(shí)密集型任務(wù)新突破

在自然語(yǔ)言處理領(lǐng)域,大語(yǔ)言模型(LLMs)已經(jīng)取得了令人矚目的成就。然而,當(dāng)面對(duì)知識(shí)密集型任務(wù)時(shí),例如科學(xué)文獻(xiàn)綜述、法律案件簡(jiǎn)報(bào)或醫(yī)療診斷,這些模型往往顯得力不從心。它們難以有效地整合新的或特定領(lǐng)域的知識(shí),而現(xiàn)有的檢索增強(qiáng)生成(RAG)方法也因無(wú)法滿足復(fù)雜的跨段落或文檔的知識(shí)整合需求而受到限制。
為了解決這一問(wèn)題,研究人員提出了 HippoRAG,這是一種受到海馬體記憶索引理論啟發(fā)的檢索增強(qiáng)生成方法,旨在增強(qiáng)語(yǔ)言模型處理知識(shí)密集型任務(wù)的能力,并優(yōu)化信息檢索過(guò)程。
論文地址:https://arxiv.org/abs/2405.14831

1、海馬體記憶索引理論
海馬體記憶索引理論是描述人類長(zhǎng)期記憶的一個(gè)成熟理論,由 Teyler 和 Discenna 提出。該理論解釋了人腦中負(fù)責(zé)長(zhǎng)期記憶的不同組件和電路如何協(xié)同工作,以完成兩個(gè)主要目標(biāo):模式分離和模式完成。
海馬記憶索引理論是一個(gè)描述人類長(zhǎng)期記憶的成熟理論,由 Teyler 和 Discenna提出,解釋了人腦中負(fù)責(zé)長(zhǎng)期記憶的不同組件和電路如何協(xié)同工作以完成兩個(gè)主要目標(biāo):模式分離(pattern separation)和模式完成(pattern completion)。
- 模式分離:在記憶編碼過(guò)程中,新皮層接收和處理感知刺激,將其轉(zhuǎn)換為高級(jí)特征,然后傳遞到海馬體進(jìn)行索引。海馬體中的顯著信號(hào)被納入索引,并相互關(guān)聯(lián)。這一過(guò)程確保了不同感知體驗(yàn)的記憶表示是唯一的。
- 模式完成:在記憶檢索過(guò)程中,海馬體接收到部分感知信號(hào)后,利用其基于上下文的記憶系統(tǒng)識(shí)別索引中的完整且相關(guān)記憶,并將其回傳到新皮層進(jìn)行模擬。即使提供的線索并不完整或精確,海馬體中的索引也能幫助定位相關(guān)的記憶條目。
海馬體在這個(gè)過(guò)程中扮演著關(guān)鍵角色。在記憶編碼階段,它接收來(lái)自新皮層的感知信息,并將顯著的信息信號(hào)加入索引;在記憶檢索階段,它通過(guò)索引觸發(fā)模式完成的過(guò)程,從而實(shí)現(xiàn)從部分提示恢復(fù)完整記憶的能力。
2、HippoRAG
HippoRAG 的設(shè)計(jì)靈感來(lái)源于海馬體記憶索引理論,它模擬了人類大腦中模式分離和模式完成的過(guò)程,以更高效地處理需要復(fù)雜推理或大量背景知識(shí)的任務(wù)。

離線索引:構(gòu)建知識(shí)圖譜
- 使用 LLM 進(jìn)行開(kāi)放信息提取(OpenIE):在離線索引階段,HippoRAG 利用指令調(diào)優(yōu)的大語(yǔ)言模型(如 GPT-3.5 或 Llama-3.1)作為“人工新皮質(zhì)”,從檢索語(yǔ)料庫(kù)中提取知識(shí)圖譜(KG)三元組。以開(kāi)放信息抽取的方式,將文檔中的關(guān)鍵信息(如命名實(shí)體和關(guān)系)以離散的名詞短語(yǔ)形式提取出來(lái),而不是采用密集的向量表示。這種方式實(shí)現(xiàn)了更精細(xì)的模式分離,使得 HippoRAG 能夠更有效地處理長(zhǎng)文本和復(fù)雜關(guān)系。
- 構(gòu)建無(wú)模式的知識(shí)圖譜:將 OpenIE 提取的三元組存儲(chǔ)在無(wú)模式的知識(shí)圖譜中。該圖譜包含實(shí)體節(jié)點(diǎn)、關(guān)系邊和同義詞邊。同義詞邊連接相似但不同的名詞短語(yǔ),幫助 HippoRAG 在在線檢索階段更好地理解查詢。
- 使用檢索編碼器進(jìn)行索引:使用預(yù)先訓(xùn)練好的密集編碼器(如 ColBERTv2)為知識(shí)圖譜中的節(jié)點(diǎn)生成密集表示。這不僅有助于識(shí)別和添加同義詞邊,還能連接原本孤立但語(yǔ)義相似的節(jié)點(diǎn),從而提高知識(shí)圖譜的連通性。
在線檢索:高效的知識(shí)整合
- 使用 LLM 進(jìn)行命名實(shí)體識(shí)別(NER):在在線檢索階段,HippoRAG 模仿人腦的記憶檢索過(guò)程,使用 LLM 從查詢中提取命名實(shí)體。這些實(shí)體成為 HippoRAG 在知識(shí)圖譜中進(jìn)行檢索的起點(diǎn)。
- 選擇查詢節(jié)點(diǎn):使用檢索編碼器將查詢中的實(shí)體編碼成密集表示,并與知識(shí)圖譜中的節(jié)點(diǎn)表示進(jìn)行相似度計(jì)算,選擇最相似的節(jié)點(diǎn)作為查詢節(jié)點(diǎn)。這些節(jié)點(diǎn)代表了與查詢相關(guān)的實(shí)體,并作為 HippoRAG 進(jìn)行多跳推理的起點(diǎn)。
- 使用個(gè)性化 PageRank 進(jìn)行檢索:一旦確定了查詢節(jié)點(diǎn),HippoRAG 就可以開(kāi)始執(zhí)行模式完成的過(guò)程,這類似于人類記憶從部分提示恢復(fù)完整記憶的能力。具體來(lái)說(shuō),HippoRAG 采用個(gè)性化 PageRank(PPR)算法在知識(shí)圖譜上運(yùn)行,以找到與查詢最相關(guān)的節(jié)點(diǎn)及其鄰域。根據(jù)選定的查詢節(jié)點(diǎn),HippoRAG 設(shè)置 PPR 的個(gè)性化概率分布,其中查詢節(jié)點(diǎn)的概率設(shè)置為 1,其他節(jié)點(diǎn)的概率設(shè)置為 0。這意味著初始概率只集中在那些與查詢直接相關(guān)的節(jié)點(diǎn)上。隨著 PPR 算法的迭代,概率會(huì)沿著知識(shí)圖譜中的邊傳遞給其他節(jié)點(diǎn)。由于邊權(quán)重反映了節(jié)點(diǎn)間的關(guān)聯(lián)強(qiáng)度,因此更緊密相連的節(jié)點(diǎn)會(huì)獲得更高的概率值。除了直接關(guān)聯(lián)的節(jié)點(diǎn)外,PPR 還能夠探索幾跳之外的節(jié)點(diǎn),從而捕捉到更廣泛的上下文信息。這種單步多跳檢索的能力使得 HippoRAG 在處理復(fù)雜問(wèn)題時(shí)表現(xiàn)出色。
- 計(jì)算文檔得分并進(jìn)行檢索:經(jīng)過(guò) PPR 算法后,HippoRAG 獲得了每個(gè)節(jié)點(diǎn)的概率得分,這些得分指示了節(jié)點(diǎn)與查詢的相關(guān)性。然后,系統(tǒng)將這些節(jié)點(diǎn)概率聚合回原始文檔,為每個(gè)文檔計(jì)算一個(gè)綜合得分,用于最終的段落排名。對(duì)于出現(xiàn)在多個(gè)文檔中的相同節(jié)點(diǎn),HippoRAG 會(huì)將它們的概率得分累加到對(duì)應(yīng)的文檔上,形成段落級(jí)別的評(píng)分。根據(jù)段落評(píng)分,HippoRAG 對(duì)所有候選文檔進(jìn)行排序,挑選出最有可能包含正確答案的前幾個(gè)段落作為回答來(lái)源。
生成答案:自然語(yǔ)言生成與信息整合
最后,HippoRAG 利用檢索到的相關(guān)段落和知識(shí)圖譜結(jié)構(gòu),結(jié)合生成器模塊生成最終的答案。生成器可以根據(jù)提供的上下文生成自然語(yǔ)言的回答,確保答案不僅準(zhǔn)確而且易于理解。這一過(guò)程可能涉及模板填充、文本摘要或其他形式的語(yǔ)言生成技術(shù)。如果一個(gè)問(wèn)題需要整合來(lái)自不同段落的信息,生成器會(huì)巧妙地將這些片段組合成一個(gè)連貫的回答。
3、單步多跳高效解決復(fù)雜查詢
單步多跳是一種在信息檢索和問(wèn)答系統(tǒng)中用于解決復(fù)雜查詢的技術(shù),尤其是在需要跨多個(gè)文檔或段落進(jìn)行推理的多跳問(wèn)答(Multi-Hop QA)任務(wù)中。與傳統(tǒng)的多步多跳方法不同,單步多跳能夠在一次檢索操作中完成多跳推理,而不需要多次迭代檢索和生成步驟。
多跳問(wèn)答的背景
多跳問(wèn)答任務(wù)要求系統(tǒng)能夠通過(guò)多個(gè)文檔或段落中的信息進(jìn)行推理,以回答復(fù)雜的問(wèn)題。例如,問(wèn)題可能是:“哪位斯坦福大學(xué)的教授研究阿爾茨海默病?”要回答這個(gè)問(wèn)題,系統(tǒng)需要首先找到斯坦福大學(xué)的教授列表,然后找到研究阿爾茨海默病的教授,最后將這兩個(gè)信息結(jié)合起來(lái)找到答案。
傳統(tǒng)的多跳問(wèn)答系統(tǒng)通常采用多步檢索的方法,即系統(tǒng)首先檢索與問(wèn)題相關(guān)的第一個(gè)文檔,然后根據(jù)第一個(gè)文檔中的信息生成新的查詢,再進(jìn)行第二次檢索,依此類推,直到找到所有必要的信息。這種方法雖然有效,但存在以下問(wèn)題:
- 效率低:每次檢索都需要生成新的查詢并進(jìn)行檢索,增加了計(jì)算成本和時(shí)間。
- 誤差累積:每一步的檢索和生成都可能引入誤差,導(dǎo)致最終答案不準(zhǔn)確。
單步多跳的核心思想
單步多跳的核心思想是通過(guò)一次檢索操作完成多跳推理,而不需要多次迭代。具體來(lái)說(shuō),系統(tǒng)通過(guò)構(gòu)建一個(gè)知識(shí)圖譜(KG)或類似的圖結(jié)構(gòu),將文檔中的實(shí)體和關(guān)系表示為圖中的節(jié)點(diǎn)和邊。當(dāng)用戶提出一個(gè)多跳問(wèn)題時(shí),系統(tǒng)通過(guò)圖搜索算法(如個(gè)性化 PageRank,PPR)在圖中找到與查詢相關(guān)的節(jié)點(diǎn)和路徑,從而一次性檢索到所有必要的信息。
4、實(shí)驗(yàn)結(jié)果
為了驗(yàn)證 HippoRAG 的性能,研究人員在多個(gè)數(shù)據(jù)集上進(jìn)行了實(shí)驗(yàn),包括 MuSiQue、2WikiMultiHopQA 和 HotpotQA。這些數(shù)據(jù)集涵蓋了多跳問(wèn)答任務(wù)的不同場(chǎng)景,能夠全面評(píng)估 HippoRAG 的檢索和問(wèn)答能力。

單步檢索結(jié)果
HippoRAG 在 MuSiQue 和 2WikiMultiHopQA 數(shù)據(jù)集超越其他方法,在 2WikiMultiHopQA 數(shù)據(jù)集上,R@2 和 R@5 提升顯著。在 HotpotQA 數(shù)據(jù)集上,HippoRAG 的性能與 ColBERTv2 相當(dāng)。作者認(rèn)為,2WikiMultiHopQA 的實(shí)體中心設(shè)計(jì)特別適合 HippoRAG,而 HotpotQA 的性能較低主要是因?yàn)槠鋵?duì)知識(shí)整合的要求較低,以及概念-上下文權(quán)衡的問(wèn)題。

多步檢索結(jié)果
IRCoT(Iterative Retrieval with Contextualized Objectives and Training)是一種迭代檢索方法,旨在通過(guò)多輪次的檢索過(guò)程來(lái)逐步精煉和聚焦于最相關(guān)的文檔或段落,以提高信息檢索和問(wèn)答系統(tǒng)的準(zhǔn)確性。實(shí)驗(yàn)結(jié)果表明,IRCoT 和 HippoRAG 是互補(bǔ)的。

問(wèn)答結(jié)果
實(shí)驗(yàn)表明,HippoRAG 的檢索改進(jìn)直接轉(zhuǎn)化為了更好的問(wèn)答性能。特別是在依賴復(fù)雜推理和多源信息整合的問(wèn)題上,HippoRAG 提供的支持使得生成的回答更加準(zhǔn)確和詳盡。

消融實(shí)驗(yàn)
OpenIE替代方案:通過(guò)測(cè)試使用不同OpenIE模型(如REBEL和Llama-3.1)對(duì)HippoRAG性能的影響。結(jié)果表明,GPT-3.5在生成知識(shí)圖譜(KG)時(shí)表現(xiàn)最佳,尤其是在生成三元組數(shù)量上遠(yuǎn)超REBEL。Llama-3.1-70B在某些數(shù)據(jù)集上表現(xiàn)與GPT-3.5相當(dāng),甚至更好,表明開(kāi)源模型可以作為低成本替代方案。
PPR替代方案:通過(guò)比較PPR算法與其他簡(jiǎn)單的圖搜索方法,發(fā)現(xiàn)PPR在檢索關(guān)聯(lián)信息時(shí)更為有效,尤其是在多跳推理任務(wù)中。
消融實(shí)驗(yàn):通過(guò)消融實(shí)驗(yàn),發(fā)現(xiàn)節(jié)點(diǎn)特異性(Node Specificity)和同義詞邊(Synonymy Edges)對(duì)檢索性能有顯著影響。節(jié)點(diǎn)特異性在MuSiQue和HotpotQA數(shù)據(jù)集上表現(xiàn)較好,而同義詞邊在2WikiMultiHopQA數(shù)據(jù)集上效果顯著。

單步多跳檢索:HippoRAG的一個(gè)主要優(yōu)勢(shì)是能夠在單步檢索中完成多跳推理任務(wù),而傳統(tǒng)RAG方法需要多次迭代。實(shí)驗(yàn)表明,HippoRAG在檢索所有支持文檔的成功率上顯著優(yōu)于其他方法,尤其是在2WikiMultiHopQA數(shù)據(jù)集上,HippoRAG的改進(jìn)幅度更大。

路徑發(fā)現(xiàn)多跳問(wèn)題:HippoRAG在處理路徑發(fā)現(xiàn)多跳問(wèn)題時(shí)表現(xiàn)出色,這類問(wèn)題需要在不同段落之間找到相關(guān)實(shí)體,而傳統(tǒng)方法難以解決。HippoRAG通過(guò)其關(guān)聯(lián)圖和圖搜索算法,能夠有效識(shí)別相關(guān)實(shí)體并檢索出正確的段落。

5、總結(jié)
從實(shí)驗(yàn)結(jié)果來(lái)看,HippoRAG 確實(shí)在知識(shí)密集型任務(wù)的處理上展現(xiàn)出獨(dú)特優(yōu)勢(shì)。盡管文中提到未與 GraphRAG、GraphReader 等對(duì)比,且 QA 問(wèn)答評(píng)估表現(xiàn)不如 GraphReader,并且從HippoRAG的方法細(xì)節(jié)中,可以了解到,HippoRAG對(duì)于信息的提取和表示相對(duì)粗糙,也是未來(lái)可以優(yōu)化的地方。
在眾多引入 graph 的方法中,HippoRAG 引入海馬體記憶索引理論,無(wú)疑是故事講的最好的一個(gè)。其實(shí),無(wú)論哪種方法,最重要的是實(shí)用性、工程性,期待各個(gè)方法的落地。
























