當前位置:
首頁 > 新聞 > UT Austin博士生沈彥堯:基於深度主動學習的命名實體識別|分享總結

UT Austin博士生沈彥堯:基於深度主動學習的命名實體識別|分享總結

雷鋒網 AI 科技評論按:眾所周知,深度學習在多種實際應用中取得了突破,其背後的主要推動力來自於大數據、大模型及演算法。在很多問題中,獲取標註準確的大量數據需要很高的成本,這也往往限制了深度學習的應用。而主動學習通過對未標註的數據進行篩選,可以利用少量的標註數據取得較高的學習準確度。因此,深度學習中的主動學習方法也成為了研究的熱點。

近期,在雷鋒網 GAIR 大講堂上,來自德州大學奧斯汀分校的在讀博士沈彥堯基於亞馬遜實習項目延伸探討了主動學習在深度學習中的應用與思考,並分享了多篇深度主動學習的 ICLR,ICML 文章。視頻回放地址:http://www.mooc.ai/course/487/learn#lesson/2671

沈彥堯,德州大學奧斯汀分校博士生,第三年在讀;清華大學電子工程系本科畢業,主要研究方向為機器學習理論及其應用,曾在亞馬遜,微軟亞研院實習。

分享主題:主動學習在深度學習中的應用與思考

分享提綱

  • 主動學習的背景介紹及研究意義

  • 主動學習相關理論

  • 主動學習在深度學習中的前沿研究及方法

  • 主動學習在深度學習中的挑戰

分享內容:

本次分享基於本人去年在亞馬遜的實習項目「基於深度主動學習的命名實體識別 Deep Active Learning for Named Entity Recognition」而展開,關於該項目的論文「Deep Active Learning for Named Entity Recognition. ICLR, 2018.Shen et al.」已被深度學習領域頂會 ICLR 2018 接收。本文基於該項目,並延伸探討了深度主動學習在各類人工智慧或者機器學習問題中扮演的角色。

主動學習的背景介紹及研究意義

主動學習和強化學習、半監督學習、在線學習類似,它們都介於監督學習和無監督學習之間,但主動學習又和該三項概念有所不同,可以藉助下方圖例來具體理解主動學習。

UT Austin博士生沈彥堯:基於深度主動學習的命名實體識別|分享總結

對比監督學習、半監督學習和主動學習的概念圖例,可以看到:在主動學習中,模型 (learner) 會主動向 worker 提供想標記的數據,而非由 worker 提供。下圖最後一欄中從模型 (learner) 到 worker 的藍線即為主動學習的主動部分,在該階段模型會主動甄別需要標記的數據,判斷哪些樣本值得學習,哪些不值得學習。

UT Austin博士生沈彥堯:基於深度主動學習的命名實體識別|分享總結

主動學習具有 membership query synthesis,stream-based selective sampling 和 pool-based sampling 三種情景(方法)。

UT Austin博士生沈彥堯:基於深度主動學習的命名實體識別|分享總結

pool-based sampling,顧名思義,即所有的數據均存在於一個池子中。我們的工作就是在該池子中選出一些樣本進行標記。在這樣的設定下,所有樣本都提供給模型,模型來選擇一部分樣本進行標記。在實際中,pool-based sampling 在三種方法中所使用的最多。

相較於 pool-based sampling,其他的兩種設定更類似人來學習事物的方式。

  • membership query synthesis,是指模型可以生成新的樣本,即模型可以操控樣本的生成。這類似於人在學習的過程中進行舉一反三,自己生成一些新的問題,然後通過更深入的研究新問題來提高自己的認知。

  • stream-based selective sampling,是指樣本不在池子中,而是按一定次序被模型看到,而模型需要決定是否對每個新看到的樣本進行標記。這一過程類似於人每天都在接受新的概念和定義並從中選擇出需要的內容進行專門學習,不需要的則拋棄或忘記。

概括來講,最近十多年或者二十多年來的研究中,主動學習領域大部分文章和方法主要基於 pool-based sampling,但實際上要真正進行主動學習,我們更需要模型能夠適應 membership query synthesis 和 stream-based selective sampling 這兩種和人類學習模式更為相似的情景。

UT Austin博士生沈彥堯:基於深度主動學習的命名實體識別|分享總結

註:關於名詞和公式的詳細解讀大家可以觀看回放視頻中的 Active Learning Framework 部分

在主動學習框架中,模型具有 query strategy(即判斷哪些樣本需要進行標記的方法)。在主動學習過程中,模型會持續進行上圖的循環操作,模型的準確率也會隨之不斷提高,並且通過 query strategy 的設定模型準確率可能好於隨機選取數據進行標記,當在準確率達到一定程度之後,即可停止標記。

接下來講解主動學習的一種廣泛使用的 query strategy,即基於不確定性的採樣方法(Uncertainly Sampling Methods)。它基於一個簡單概念,即當有一個分類器或者模型時,選取那些在概率上最不確定的樣本進行標註。「概率上最不確定」存在多種定義方式,最常用的幾種定義方式列在下圖中。

UT Austin博士生沈彥堯:基於深度主動學習的命名實體識別|分享總結

註:具體的各方法解讀,大家可查看回放視頻的該部分

常用的幾種定義方式包括 Least confidence、Margin(主要存在於多分類問題)、Token entropy、Sequence entropy 以及 N-best SE 等。

需要注意的是,上面提及的基於不確定性方法來採樣(Uncertainly Sampling Methods)僅是諸多主動學習經驗方法中的一種。接下來的內容中還會提及另一種(即 Query-by-Committee),另外還有基於所有點之間距離關係的一種採樣方法(選擇最具表現性的點,而非只針對每一個點來判斷它的不確定性多高)。總體而言,大家可以提出很多種類似的經驗方法。另一方面,也有很多人在進行主動學習的理論研究。下面我們就簡單了解一下這些相關理論的基本原理。

主動學習相關理論

下面來簡單介紹主動學習的相關理論。

Query-by-Committee 是一種很重要的演算法,它在 1992 年被提出(前面提到的 Uncertainly Sampling Methods 也在同時期被提出)。

UT Austin博士生沈彥堯:基於深度主動學習的命名實體識別|分享總結

關於 Query-by-Committee 最初想法和基本理論,我們藉助下面這個圖例進行解釋。

UT Austin博士生沈彥堯:基於深度主動學習的命名實體識別|分享總結

線性分類的問題中,綠點和紅點為已標記的點,列出的幾條線代表可能的分類方法(這幾條線是假設空間的採樣,假設空間可由斜率連續變動的一組線表示,其中每一條線都正確的區分開了綠點和紅點)。根據 QBC 演算法,當有一個新的樣本進來(圖示標記),我們隨機挑選兩條線並通過這兩個假設來判斷該點屬於哪一類(紅或綠),當兩條線得出的分類表現一致時(都分類為紅點時),就不選擇標記該點。隨後再選擇下一個樣本,這時再次隨機挑選兩條線,如果一條線預測為紅點,另一條線預測為綠點的情況出現時(即結果不一致),模型就會嘗試標記這個點(標記為紅色)並通過刪除錯誤的假設縮小假設空間(去掉那些預測為綠點的線)。

假設空間會根據這個點來淘汰很多線性分類器,該過程持續循環,即當樣本落在該區域內再選擇進行標記。假設空間的大小會逐漸變小,並最終生成一個十分準確的模型。

UT Austin博士生沈彥堯:基於深度主動學習的命名實體識別|分享總結

這裡,我們來總結主動學習理論中常用的幾種假設:首先,假設分類器是 linear separable,即存在一條可以完美分類所有樣本的線性分類器。其次,假設二分類任務而非多分類任務,第三,假設樣本沒有雜訊。第四,維持一個假設空間是可行的。

UT Austin博士生沈彥堯:基於深度主動學習的命名實體識別|分享總結

部分文獻中會對這四點中的一點進行鬆弛並研究,但是我們實際中遇到的問題屬於以上四個假設均不滿足的情況,這就導致大家更傾向於在實際中使用不確定性的採樣方法之類的經驗方法。因此,主動學習理論對於實際應用中的演算法設計缺乏指導性的原因可以總結為以下三個原因:

  1. 維持一個假設空間十分難以承受

  2. 相較於假設理論常用的 stream-based selective sampling,實際中更偏向使用 pool-based sampling

  3. 實際任務分類複雜程度遠超二分類任務

主動學習在深度學習中的前沿研究及方法

以上所提及的這些問題因深度學習的到來而愈加關鍵。我們可以看到,深度學習取得明顯效果的幾個應用均具有複雜的模型和巨大的數據量,同時因模型的非線性導致維持一個假設空間十分難以承受。這些應用包括了下圖中我們最熟悉的、已經廣泛運用深度學習模型的兩類應用:CV 和 NLP。

UT Austin博士生沈彥堯:基於深度主動學習的命名實體識別|分享總結

基於以上兩種模型,近期有兩篇文章研究了在以上兩種深度學習模型中的主動學習。它們主要探討如何利用 Convolution 中學習出來的中間層來更好的選擇樣本(比如該中間層是否會提供更豐富的 embedding 信息來判斷樣本與樣本之間是否相似等)。

深度主動學習並不只包含解決以上這兩個任務,它們只是圖像和語言中最容易建模的兩種問題:它們都被建模成了簡單的分類問題。

而我們在實際應用中遇到的深度學習應用任務更加複雜,例如序列問題(sequential problems)。在複雜任務中,有兩點問題顯得尤為突出:

  1. 深度模型訓練速度很慢(預測的速度同樣慢或更慢)

  2. 此前的經驗方法是否還能在複雜的問題中繼續發揮作用?

這就引出了去年在亞馬遜的實習項目「利用深度主動學習進行命名實體識別(Named Enity Recognition, NER)」。在這個項目中,我們需要在一個序列標記任務中來驗證深度主動學習的好處。NER 問題的一個應用場景是:給出亞馬遜用戶的一段評論,利用深度學習模型自動識別出代表人、組織、地點、時間等等多類具有實體名詞意義的辭彙。研究該問題有助於機器理解網站用戶留言的含義,這也是很多 NLP 上層任務的一個基礎。我們可以想像,在收集有標註的數據集的時候,需要依靠大量的人工標註,準確的標註出正確的命名實體類別是非常耗時耗力的,這也是我們寄希望於深度主動學習能夠減少標註量的主要原因和動機。

UT Austin博士生沈彥堯:基於深度主動學習的命名實體識別|分享總結

首先,我們先了解一下在普通 NER 任務下,能夠取得最好預測結果的模型是怎樣設計的。下圖為訓練 NER 模型的一個十分流行的深度模型。該模型以 Bi-LSTM 為基礎,最後通過 CRF 來生成概率最高的預測序列。

UT Austin博士生沈彥堯:基於深度主動學習的命名實體識別|分享總結

除該典型模型之外,近幾年也出現了各種不同的模型,包括使用 Character-Level Encoder(字母級詞向量),Word-Level Encoder(詞向量),隨後使用 RNN 或者 CRF 來做最終的預測。各種不同的模型列在下圖中的表格內。

UT Austin博士生沈彥堯:基於深度主動學習的命名實體識別|分享總結

具體到本任務中,除去進行監督學習,我們的模型需要能夠迅速的對樣本進行預測和評估不確定度。為了能夠進一步加快主動學習中利用模型判斷不確定性的過程,我們進一步對深度模型進行加速,提出了一個基於 CNN-CNN-LSTM 結構的模型,即 Character-Level Encoder 和 Word-Level Encoder 我們都是用 CNN 進行學習,而最終利用 LSTM 而非 CRF 層進行預測。

UT Austin博士生沈彥堯:基於深度主動學習的命名實體識別|分享總結

如上圖所示,左邊是一個 Character-Level Embedding 模型;中間是 world-level embedding 模型;右邊是 LSTM 序列生成模型。

通過實驗,我們可以比較模型利用 CNN 作為 encoder 的效果,以及 LSTM 作為 decoder 的效果。可以看出,使用我們的 CNN-CNN-LSTM 結構顯著的提升了訓練以及預測時的速度。這對於我們使用和驗證深度主動學習演算法是非常重要的。

UT Austin博士生沈彥堯:基於深度主動學習的命名實體識別|分享總結

上圖左側是在一個較小的數據集上的測試結果(句子數量較少,且預測標籤僅為 4 類);右側是在一個較大數據集上的測試結果(幾十萬句子,預測標籤 18 種)。可以看到在兩個數據集下,encoder 使用 CNN 相比 LSTM 能得到較好的速度提升。右側提升速度更為明顯,達到了將近十倍的提升速度,並且不損失精度和準確度。這裡利用 LSTM 做 decoder 的速度要優於 CRF,因為 CRF 演算法的計算複雜度和標籤數量的平方呈正比,而 LSTM 只是正比於標籤數量 x 時間長度,當標籤數量多時,利用 LSTM 要優於 CRF。這也就是我們不用 CRF 來做機器翻譯的原因,其輸出可能性太多(光詞就有上萬種選擇)。

結構設計完畢之後,我們可以開始嘗試深度主動學習的方法。我們主要考慮了以下四種演算法,並通過實驗驗證各自的表現:

UT Austin博士生沈彥堯:基於深度主動學習的命名實體識別|分享總結

  1. 第一種即 Least Confidence(簡稱 LC),計算預測中最大概率序列的對應概率值。

  2. 第二種,Maximum Normalized Log-Probality(MNLP),基於 LC 並且考慮到生成中的序列長度對於不確定性的影響,我們做一個 normalization(即除以每個句子的長度),概率則是用每一個點概率輸出的 log 值求和來代替。

  3. 第三種是一個基於 Disagreement 的主動學習方法,主要利用 dropout 在深度學習中的另一個作用(dropout 本來的作用是在訓練中為了讓模型 generalize 得更好)。去年 Gal et al. 的一篇文章就告訴我們,如果在做 inference 的時候也用 dropout 實際上是等價於來計算模型的不確定性的。這裡我們也就需要在做 inference 的過程中也要同時做 dropout,在得到的 M 種結果中計算有多少是不一致的。

  4. 第四種方法是基於每一個點是否具有代表性的採樣方法,除去考慮每一個點的不確定性外,通過計算樣本與樣本之間的相似度,來進一步判斷該選擇那些樣本更具有代表性。這樣的方法在大量數據的情況下需要更加有效的計算方法。我們重新把它處理成一個 submodular maximization 的問題,並利用 streaming algorithm 得到近似最優解。

  5. 第五種方法是隨機生成樣本並且標記,作為 baseline。

為了檢測剛才提及的五種演算法的有效性,先做一個較簡單的檢驗。

UT Austin博士生沈彥堯:基於深度主動學習的命名實體識別|分享總結

三種顏色代表利用不同數據訓練出來的模型,隨後在所有未標記和未訓練的樣本中,利用不確定性的採樣方法(Uncertainly Sampling Methods)來計算出最不確定的 1000 個樣本和他們的分布。例如 nw 代表新聞,如果我們此前的訓練模型都未使用任何的 nw 樣本作為訓練信息(橙色模型),那麼通過不確定性的採樣方法我們就可以發現 nw 在前 1000 個不確定樣本中比例最高,這也間接證明了該演算法最有效。

最終結果可以參考下圖。

UT Austin博士生沈彥堯:基於深度主動學習的命名實體識別|分享總結

註:PPT 內容錯誤,LC 應為 MNLP

首先,baseline 方法遠低於其他分類方法。在各種方法上,我們跑了多次實驗來證明 NER 上的結果準確性,每一種方法跑 10 組,圖中也將標準差畫了出來,可以看到:LC 稍微差一點,MNLP 和 BALD 最優。儘管 BALD 與 MNLP 同樣很好,但是由於在計算 BALD 的實驗中需要對每一個樣本進行 100 次的 inference,計算代價要高於簡單的不確定性的採樣方法,因此 MNLP 是更值得採取的方法。另外,我們發現在深度主動學習的問題中,基於代表性的選擇方法並沒有取得相較 LC 而言任何的提高,我們認為其中的原因主要在於在序列問題任務中,很難學習到一個非常好的表示向量,也就是說 embedding 並沒有很好的表示真正的樣本之間的相似度。所以只需要預測每一個樣本的概率的不確定性,就已經能達到很好的效果了。

我們簡單介紹一下其他的幾篇關於深度主動學習的工作。在上述討論中提到的在 Inference 階段利用 dropout 可以估計模型的不確定性是 ICML 2017 的一篇文章,主要側重於深度模型本身的特點。另一篇 NIPS 2017 的文章其研究重點在於主動學習上,通過利用兩個 deep network 來模仿從假設空間中採樣這一過程,不斷更新這兩個 deep network,將更新後的 deep network 認定為兩個採樣假設,依次判斷樣本需不需要被標記。這相當於 QBC 演算法的一個變種,並利用了深度模型的強標示性。這些相關文章的具體題目和作者信息可參考 ppt 和視頻。

UT Austin博士生沈彥堯:基於深度主動學習的命名實體識別|分享總結

下面,我們再簡單回顧主動學習的基本框架。可以看出,我們現在針對的主要是第三種的 pool-based sampling,那麼有沒有針對另外兩種的研究呢?

近期有研究人員提出利用增強學習來模擬主動學習選擇樣本的過程,把選擇樣本進行標記看作是增強學習中的行為:標記或者不標記。ICML2017 的這篇文章就是用增強學習的 agent 來模擬主動學習選擇樣本的過程。ICLR2018 的這篇文章中,作者考慮在一個更為複雜的任務中,利用增強學習生成更有價值的問題的方法。這兩篇文章均屬於主動學習基本框架中的另外兩種情景。

UT Austin博士生沈彥堯:基於深度主動學習的命名實體識別|分享總結

主動學習在深度學習中的挑戰

最後一部分來介紹主動學習在深度學習中的挑戰。在一些傳統,定義得比較好的任務中,我們需要更快的訓練過程和更快的 Inference,而其中 inference 速度更為重要。因為在實際的序列任務中,訓練其實是相對較快的。而我們在沒有標記的句子中去判斷哪些句子更加重要這就比較困難。例如在機器翻譯中每翻譯一個句子是遠低於訓練一個句子,因為進行 inference 的過程是非並行的,這是深度主動學習需要研究的一個方面。

第二種就是主動學習和生成模型的結合,也就是剛才看到的三種模型框架,第一種是模型可以主動生成樣本,目前這一方面點研究很少且挑戰巨大。

第三種是優化,Optimization 是任何任務中都十分重要的一個環節,但還尚不清楚設計 network 和優化來讓深度模型更有效的來學習任務,深度主動學習其實是在 Optimization 之上的,所以 Optimization 也是主動學習需要關注的一個問題。

UT Austin博士生沈彥堯:基於深度主動學習的命名實體識別|分享總結

在研究深度主動學習的過程中我們可以借與人進行對比來思考深度主動學習的過程。拿公認較難的機器翻譯任務來舉例,目前機器學習在做機器翻譯任務的時候,需要幾百萬句子對的數據集來訓練模型,但該種過程與人為翻譯不同:主動學習在人翻譯的過程中扮演了一個十分重要的角色。思考機器和人在翻譯過程中的學習方式,我們可以發現主動學習(包括主動深度學習)尚有較大提升空間。再舉個例子,之前的 NER 任務中,模型通過計算生成出來的概率值來表示不確定性,但人無需計算概率性的精確值,人在看到一個句子時是通過簡單的模糊判讀來決定該樣本是否需要學習,即無需進入 decoder 那一層,在之前的 encoder 階段就可做出判斷。而這一點是目前的深度主動學習還無法解決的一項巨大挑戰。

以上就是本期嘉賓的全部分享內容。更多公開課視頻請到雷鋒網 AI 慕課學院觀看。關注微信公眾號:AI 科技評論,可獲取最新公開課直播時間預告。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 雷鋒網 的精彩文章:

企業辦公租賃免押金的第一步,芝麻信用「All in 消滅押金」的一大步
伯克利最新研究:GANs在字體風格遷移上的應用

TAG:雷鋒網 |