選單

神經網路連續知識的持續學習簡介

傳統的知識多表現為結構化的資訊,例如知識圖譜中的三元組表示的是實體與實體之間的關係資訊。因此,這些傳統的知識是易被人們理解和學習的,並且能被使用於很多專家系統中以提高其完成任務的能力。近些年來,隨著深度學習(Deep Learning,DL)時代的到來,人工智慧領域取得了長足的發展和進步,利用深度神經網路模型從資料中自動學習完成任務成為一種新的正規化。如果把人工智慧領域中的知識看作完成任務所需要的資訊,那麼一個神經網路模型透過學習從而完成某個任務的過程就是從資料中學習知識的過程。不同於傳統的知識,這種儲存在神經網路模型中的知識是連續的,它由模型的引數及其架構決定,一般難以被人理解。鑑於此,這種從資料中學習獲取,儲存於神經網路模型中的知識又稱為連續型知識。

連續型知識的儲存和管理

知識的產生無時無刻都在發生,隨著資訊化的蓬勃發展,如何儲存和管理知識變得至關重要。在計算機領域,一種最典型的知識儲存和管理技術手段稱為知識庫(Knowledge Base,KB),它是一種用於儲存和管理知識的特殊資料庫。傳統的知識庫(如DBpedia、WordNet和HowNet等)都依賴人工標註以形成高質量的結構化資訊庫。這類知識庫的優點是人類可理解且質量高,但同時存在著規模受限、構建代價高等缺點。近年來,隨著預訓練模型(如GPT和BERT)的興起,越來越多的研究者開始探究預訓練模型從資料中學習到了什麼知識,以及它們能在下游任務上表現好的原因。如果我們把神經網路模型儲存的語言理解能力看成一種連續型知識庫,那麼對於多種多樣的模型,如何儲存和管理這一類連續型知識成為一個新的問題和挑戰。

對於連續型知識的儲存與管理方法,大致可以分為三個類別。第一類是使用超大規模的資料和模型訓練出一個具有超強能力的預訓練模型,這種方法的目標是用一個模型學習所有的知識,這樣只要儲存一個模型就相當於儲存了所有的連續型知識,這種方法的優點是簡單有效,缺點是對計算資源和儲存資源的要求非常高,例如GPT-3模型使用了約1750億引數。第二類方法是藉助混合專家(Mixture of Experts,MoE)將多個模型合併為一個大模型,對不同的任務或輸入選擇不同的子模型進行處理。這種方法的優點是,對新增的模型可以很方便地將其融入現有的系統中;缺點是隨著模型數量的增加,對儲存的要求會非常高。最近由谷歌大腦團隊提出的Switch Transformers模型就是該方法的一個代表。前兩類方法都是透過儲存模型從而達到儲存和管理連續型知識的目的,第三類方法則是需要建立一個通用的連續型知識庫(Universal Continuous Knowledge Base,UCKB),然後將連續型知識從模型中匯入到該知識庫中。清華大學首次提出了通用連續型知識庫的概念並做了一些初步的探索工作。為了適配多種模型,該方法需要為不同的模型設計不同的介面來實現知識的匯入與匯出。這種將知識從模型中分離出來進行儲存和管理的方法可以藉助知識蒸餾(Knowledge Distillation,KD)完成知識的轉移。這類方法的優點在於其克服了直接儲存模型帶來的冗餘性,將多種模型的功能儲存到了一個通用的知識庫中;但同時也增加了儲存架構設計和介面設計的難度,如何管理不同模型的知識之間的融合與區分也是一個非常重要且棘手的問題。

與此同時,預訓練語言模型利用大規模文字資料進行無監督學習,在若干下游任務上均取得了突破性的效果。當前的預訓練模型使用給定的資料集,在預設的下游任務和確定的測試資料上進行評估。然而,我們所處的世界在不斷髮展和變化。一方面,未標註的語料每時每刻都在產生,如CommonCrawl語料庫從網際網路上爬取原始語料,每年的資料增量以TB量級計;另一方面,有研究指出,隨著時間的推移,舊資料上訓練得到的模型在越新的測試資料上表現越差。此外,在實際的產品環境中,機器學習模型往往每隔很短的時間就需要更新迭代並重新部署。因此,在流式資料和動態評估的環境下對模型進行持續學習已經成為新的挑戰。

神經網路連續知識的持續學習簡介

持續學習

持續學習(continual learning)是機器學習領域的重要問題,關注單一模型在持續而來的任務上的順序表現。持續學習中常出現的問題是災難性遺忘(catastrophic forgetting):當前任務的訓練結束後,模型在之前任務上的效能顯著變差。成功的持續學習不應出現災難性遺忘。相反地,在學習的過程中,模型應該具有知識遷移的能力:任務間的相關性使得模型在學習完相似的任務時,各自的效能相較模型學習單任務時都有所提升。具體地,一個持續學習模型應具有向前遷移(forward transfer)或向後遷移(backward transfer)的能力,分別代表後面任務的學習對前面任務具有正向作用,或前面任務的學習對後面任務具有正向作用。這一知識遷移的特性也存在於多工學習中。事實上,多工學習因其不會出現災難性遺忘的問題,往往作為持續學習的效能上界來衡量持續學習是否成功。

持續學習按方法大致分為三類。基於正則項的方法透過在損失函式中新增正則項,約束模型在切換任務前後,重要的引數儘量不發生較大改變,而允許較為靈活的引數部分發生變化。基於記憶的模型在持續學習過程中不斷記錄當前任務的訓練樣本,並在完成學習之後的任務時進行樣本回放來避免災難性遺忘;另一種模型採取生成式記憶(generative replay)的策略,不直接儲存樣本,而是訓練一個可以生成之前任務的訓練樣本的網路來進行樣本回放。模組化網路將不同任務對應的網路引數進行分離,為每個任務設定其專屬的資料流通路。在自然語言處理領域中,已經有一些初步的持續學習探索,包括語言模型、關係抽取、對話生成等。但整體來看,持續學習在自然語言處理乃至整個機器學習領域仍具有較大的發展空間,值得更多的探索。