學習何時做分類決策,深度好奇提出強化學習模型Jumper
文字理解是自然語言處理領域的一個核心目標,最近取得了一系列的進展,包括機器翻譯、問答等。不過之前的工作大多數是關心最終的效果,而人們對於模型何時做出決定(或做決定的原因)卻知之甚少,這是一個對於理論研究和實際應用都非常重要的課題。
- 論文題目:JUMPER: Learning When to MakeClassificationDecisions in Reading
-
論文地址:https://www.ijcai.org/proceedings/2018/0589.pdf
深度好奇(DeeplyCurious.AI)最近在 IJCAI-2018 上展示了一個學習何時做分類決策的強化學習模型:Jumper,該論文將文字分類問題建模成離散的決策過程,並通過強化學習來優化,符號化表徵模型的決策過程具有很好的可解釋性,同時分類效果也達到最高水平。
本文提供了一種新的框架,將文字理解建模為一個離散的決策過程。通常在閱讀過程中,人們尋找線索、進行推理,並從文字中獲取資訊;受到人類認知過程的啟發,我們通過將句子逐個地遞送到神經網路來模仿這個過程。在每個句子中,網路基於輸入做出決策(也稱為動作),並且在該過程結束時,該決策序列可以視為是對文字有了一些「理解」。
特別一提的是,我們專注於幾個預定義子任務的文字分類問題。當我們的神經網路讀取一個段落時,每個子任務在開始時具有預設值「無」(None)。在每個決策步驟中,段落的句子按順序被遞送到神經網路;之後,網路來決定是否有足夠的信心「跳轉」到非預設值作為特定時間的預測。我們施加約束,即每次跳轉都是最終決定,它不可以在後面的閱讀中被更改。如圖 1 所示,給定一段話,有多個預先定義好的問題等待回答;模型按句子閱讀,在閱讀過程中,問題的答案陸續被找到。模型從預設決策到非預設決策都是一個「跳轉」的過程,正因此我們稱模型為 Jumper。在人類閱讀的過程中,人們通常會獲得一致的閱讀理解的結果,但是閱讀理解過程中的很多環節卻經常是微妙和難以捉摸的。同樣,我們也假設我們的訓練標籤僅包含最終結果,並且沒有給出關於模型應該做出決定的步驟的監督訊號。也就是說,我們通過強化學習在弱監督訊號情況下訓練 Jumper 模型。
圖 1 Jumper 模型在閱讀段落的決策過程
Jumper 模型主要由編碼層、控制器、符號輸出層構成。編碼層將句子編碼成定長的向量,控制器根據歷史和當前輸入產生當前的決定,符號輸出層使模型的輸出滿足跳轉約束,即每個決策過程最多隻能有一次跳轉。
圖 2 Jumper 模型的基本框架
跳轉約束的作用在於使模型更加慎重地決定何時跳轉。因此,Jumper 模型的優化目標有兩個,第一個是儘可能早地「跳轉」,第二個是儘可能預測準。假設 t* 是最佳的跳轉時間,那麼如果模型在 t* 時刻之前跳轉,則模型還沒有看到真正的 pattern,那麼得到的答案等同於隨機猜;如果模型在 t* 時刻之後跳轉,而 t* +1 句話可能不存在,因此沒有機會跳轉從而預測錯誤。
通過上述建模,論文把文字分類問題轉化為離散的決策過程,訓練好的 Jumper 輸出的離散決策過程就可以表達模型對文字的理解過程;而決策過程本身並沒有標籤,因此我們用 policy gradient強化學習演算法來訓練,如果最終的決定和分類標籤一致,就獎勵整個決策動作,如果不一致,則懲罰。
我們對三個任務評估了 Jumper,包括兩個基準資料集和一個實際工業應用。我們首先分析了 Jumper 的分類準確性,並與幾個基線進行了比較。表 1 顯示 Jumper 在所有這些任務上實現了相當或更好的效能,這表明將文字分類建模為順序決策過程不僅不會損害、甚至提高了分類準確性。
表 1 在電影評論資料集(MR)、新聞資料集(AG)和工傷資料集(OI)的測試集上的準確率
我們想指出,「準確性」並不是我們關注的唯一表現。更重要的是,提出的模型能夠減少閱讀過程,或者找到文字分類的關鍵支撐句。只要在閱讀過程中基於「跳轉約束」限制而看到足夠的證據,Jumper 就能做出決定,並且在預測之後不需要再閱讀之後的句子。在表 2 中可以看到,我們的模型與強基線相比達到了相似或更高的效能,與此同時,它還將文字讀取的長度縮減了 30-40%,從而加速了推斷預測。
表 2
除了準確率高和推斷速度快以外,我們更好奇 Jumper 是否能夠在資訊提取式任務(例如工傷級別分類任務)中找到正確的位置做出決策。我們在 400 個數據點中標註關鍵支撐句(即最佳跳轉位置)作為測試基礎。需要注意的是,在這個實驗中我們仍然沒有跳轉位置的訓練標籤。我們將 Jumper 與使用相同神經網路的層級 CNN-GRU 模型進行比較,但在訓練方法方面有所不同;層級 CNN-GRU 在訓練時,用段落末尾的交叉熵作為損失函式。在測試期間,我們將預測器應用於每個步驟並找到它做出預測的第一個位置。我們還列出了一個經典 CNN 的結果作為基線模型,並使用了最大池化操作(max-pooling)選擇的單詞最多的那些句子來作為測試資料。我們使用了跳轉動作的準確率來評測 Jumper。通過表 3 可知,Jumper 準確地找到了測試集中所有關鍵支撐句的位置,說明我們的單跳約束迫使模型更仔細地思考何時做出決策,也驗證了強化學習是學習決策正確位置的有效方法。
表 3 各模型在工傷等級分類任務(OI-Level)上尋找關鍵支撐句的效果統計。該任務的關鍵支撐句在文字中通常聚集於一處,不存在歧義,便於衡量各模型效果。CA:分類準確率,JA:跳躍準確率,OA:在分類準確條件下的跳躍準確率
圖 3 則顯示了 Jumper 在閱讀時做出決策的過程。其中,Jumper 在前六個句子中保持預設決策(不做跳轉),而在到達關鍵支撐句時突然跳轉,這體現了 Jumper 可以識別關鍵支撐句,從而找到最佳跳躍位置。因此,在這類關鍵支撐語句集中出現時,Jumper 可以在完成分類任務的同時找到關鍵支撐句,因此具有較強的可解釋性。
圖 3 Jumper 決策序列展示
總結
我們提出了一種新的模型 Jumper,它在閱讀段落時將文字分類建模為逐個句子的順序決策過程。我們通過強化學習訓練帶有跳轉約束的 Jumper,實驗表明:1) Jumper 的效能與基線相當或更高;2) 它在很大程度上減少了文字閱讀量;3) 如果所需資訊在文中的分佈是局域性的,它可以找到關鍵的支撐句子,具有很好的可解釋性。
ofollow,noindex" target="_blank">理論 深度好奇 強化學習 文字理解 自然語言處理