掃二維碼與項目經(jīng)理溝通
我們在微信上24小時期待你的聲音
解答本文疑問/技術(shù)咨詢/運營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流
自然語言處理是人工智能研究的核心問題之一。近日,已宣布被 Salesforce 收購的深度學(xué)習(xí)公司 MetaMind 在其官方網(wǎng)站上發(fā)表了一篇文章,深度剖析了 LSTM 和詞袋模型在自然語言處理上的應(yīng)用。

機器學(xué)習(xí)、深度學(xué)習(xí)和更廣義上的人工智能的興起是毫無疑問的,而且其已經(jīng)對計算機科學(xué)領(lǐng)域產(chǎn)生巨大的影響。你可能已經(jīng)聽說過,目前深度學(xué)習(xí)已經(jīng)在圖像識別和圍棋等很多任務(wù)上實現(xiàn)了對人類的超越。
深度學(xué)習(xí)社區(qū)目前將自然語言處理(NLP)看作是下一個研究和應(yīng)用的前沿。
深度學(xué)習(xí)的一大優(yōu)勢是其進(jìn)步往往是非常通用的。比如說,使深度學(xué)習(xí)在一個領(lǐng)域有效的技術(shù)往往不需要太多修改就能遷移到另一個領(lǐng)域。更具體而言,為圖像和語音識別所開發(fā)的構(gòu)建大規(guī)模、高計算成本的深度學(xué)習(xí)模型的方法也能被用于自然語言處理。最近的最先進(jìn)的翻譯系統(tǒng)就是其中一例,該系統(tǒng)的表現(xiàn)超越了所有以往的系統(tǒng),但所需的計算機能力也要多得多。這樣的高要求的系統(tǒng)能夠在真實世界數(shù)據(jù)中發(fā)現(xiàn)偶然出現(xiàn)的非常復(fù)雜的模式,但這也讓很多人將這樣的大規(guī)模模型用在各種各樣的任務(wù)上。這又帶來了一個問題:
是否所有的任務(wù)都具有需要這種模型才能處理的復(fù)雜度?
讓我們看看一個用于情感分析的在詞袋嵌入(bag-of-words embeddings)上訓(xùn)練的一個兩層多層感知器(two layered MLP)的內(nèi)部情況:
一個被稱為詞袋(bag-of-words)的簡單深度學(xué)習(xí)系統(tǒng)的內(nèi)部情況,其可以將句子分類為積極的(positive)或消極的(negative)。這張圖是來自在一個詞袋上的一個 2 層 MLP 最后一個隱藏層的一個 T-SNE。其中每個數(shù)據(jù)點對應(yīng)于一個句子,不同的顏色分別對應(yīng)于該深度學(xué)習(xí)系統(tǒng)的預(yù)測和真實目標(biāo)。實線框表示句子的不同語義內(nèi)容。后面你可以通過一張交互式圖表來了解它們。
上圖中的實線框提供了一些重要的見解。而真實世界數(shù)據(jù)的難度遠(yuǎn)不止此,一些句子可以被輕松分類,但另一些卻包含了復(fù)雜的語義結(jié)構(gòu)。在可以輕松分類的句子的案例中,高容量的系統(tǒng)可能并不是必需的。也許一個簡單得多的模型就能完成同樣的工作。這篇博客文章探討了這種情況是否屬實,并將說明我們其實往往使用簡單模型就能完成任務(wù)。
一、對文本的深度學(xué)習(xí)
大多數(shù)深度學(xué)習(xí)方法需要浮點數(shù)作為輸入,如果你沒使用過文本,你可能會疑問:
我怎么使用一段文本來進(jìn)行深度學(xué)習(xí)?
對于文本,其核心問題是在給定材料的長度的情況下如何表征任意大量的信息。一種流行的方法是將文本切分(tokenize)成詞(word)、子詞(sub-word)甚至字符(character)。然后每一個詞都可以通過 word2vec 或 Glove 等經(jīng)過了充分研究的方法而轉(zhuǎn)換成一個浮點向量。這種方法可以通過不同詞之前的隱含關(guān)系來提高對詞的有意義的表征。
取一個詞,將其轉(zhuǎn)換成一個高維嵌入(比如 300 維),然后使用 PCA 或 T-SNE(流行的降維工具,在這個案例中是降為 2 維),你就可以找到詞之間的有趣關(guān)系。比如,在上圖中你可以看到 uncle 與 aunt 之間的距離和 man 與 woman 之間的距離差不多相等(來自 Mikolov et al., 2013)
通過使用 tokenization 和 word2vec 方法,我們可以將一段文本轉(zhuǎn)換為詞的浮點表示的一個序列。
現(xiàn)在,一個詞表征的序列有什么用?
二、詞袋(bag-of-words)
現(xiàn)在我們來探討一下詞袋(BoW),這也許是最簡單的機器學(xué)習(xí)算法了!
取一些詞表征(圖下部的灰色框),然后通過加(sum)或平均(average)得到一個共同的表征(藍(lán)色框),這個共同表征(common representation)包含了每個詞的一些信息。在這篇文章中,該共同表征被用于預(yù)測一個句子是積極的還是消極的(紅色框)。
在每個特征維(feature dimension)上簡單地取詞的平均(mean)。事實證明簡單地對詞嵌入(word embedding)進(jìn)行平均(盡管這完全忽略了句子的順序)就足以在許多簡單的實際案例中取得良好的效果,而且也能在與深度神經(jīng)網(wǎng)絡(luò)結(jié)合時提供一個強大的基準(zhǔn)(后面會解釋)。
此外,取平均的計算成本很低,而且可以將句子的降維成固定大小的向量。
三、循環(huán)神經(jīng)網(wǎng)絡(luò)
一些句子需要很高的準(zhǔn)確度或依賴于句子結(jié)構(gòu)。使用詞袋來解決這些問題可能不能滿足要求。不過,你可以考慮使用讓人驚嘆的循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Networks)。
在每一個時間步驟(從左到右),一個輸入(比如一個詞)被饋送入 RNN(灰色框),并整合之前的內(nèi)部記憶(藍(lán)色框)。然后該 RNN 執(zhí)行一些計算,得到新的內(nèi)部記憶(藍(lán)色框),該記憶表示了所有之前見過的單元(如,所有之前的詞)。該 RNN 現(xiàn)在應(yīng)該已經(jīng)包含了一個句子層面的信息,讓其可以更好地預(yù)測一個句子是積極的還是消極的(紅色框)。
每個詞嵌入都按順序被送入一個循環(huán)神經(jīng)網(wǎng)絡(luò),然后該網(wǎng)絡(luò)可以存儲之前見過的信息并將其與新的詞結(jié)合起來。當(dāng)使用長短期記憶(LSTM)或門控循環(huán)單元(GRU)等著名的記憶單元來驅(qū)動 RNN 時,該 RNN 能夠記住具有很多個詞的句子中所發(fā)生的情況!(因為 LSTM 的成功,帶有 LSTM 記憶單元的 RNN 常被稱為 LSTM。)這類模型中最大的模型將這樣的結(jié)構(gòu)堆疊了 8 次。
都表示帶有 LSTM 單元的循環(huán)神經(jīng)網(wǎng)絡(luò)。它們也應(yīng)用了一些權(quán)衡的技巧,比如跳過 LSTM 層之間的連接和一種被稱為注意(attention)的方法。另外要注意綠色的 LSTM 指向了相反的方向。當(dāng)與一個普通的 LSTM 結(jié)合時,這被稱為雙向 LSTM(bidirectional LSTM),因為其可以在數(shù)據(jù)序列的兩個方向上都獲取信息。更多信息可參閱 Stephen Merity 的博客(即機器之心文章《深度 | 逐層剖析,谷歌機器翻譯突破背后的神經(jīng)網(wǎng)絡(luò)架構(gòu)是怎樣的?》)(來源:Wu et al., 2016)。
但是,和簡單的詞袋模型比起來,LSTM 的計算成本要高得多,而且需要經(jīng)驗豐富的深度學(xué)習(xí)工程師使用高性能的計算硬件來實現(xiàn)和提供支持。
四、例子:情感分析
情感分析(sentiment analysis)是一種量化主觀性文章的極性的文檔分類任務(wù)。給定一個句子,模型去評估它的情感是積極、消極還是中性的。
想要在事態(tài)嚴(yán)重前先發(fā)現(xiàn) Twitter 上的憤怒客戶嗎?那么,情感分析可能正是你想要的!
一個極佳的實現(xiàn)此目的的數(shù)據(jù)集(我們接下來會用到)是 Stanford sentiment treebank(SST):
https://nlp.stanford.edu/sentiment/treebank.html
我們已經(jīng)公開了一個 PyTorch 的數(shù)據(jù)加載器:
https://github.com/pytorch/text
STT 不僅可以給句子分類(積極、消極),而且也可以給每個句子提供符合語法的子短語(subphrases)。然而,在我們的系統(tǒng)中,我們不使用任何樹信息(tree information)。
原始的 SST 由 5 類構(gòu)成:非常積極、積極、中性、消極、非常消極。我們認(rèn)為二值分類任務(wù)更加簡單,其中積極與非常積極結(jié)合、消極與非常消極結(jié)合,沒有中性。
我們?yōu)槲覀兊哪P图軜?gòu)提供了一個簡略且技術(shù)化的描述。重點不是它到底如何被構(gòu)建,而是計算成本低的模型達(dá)到了 82% 的驗證精度,一個 64 大小的批任務(wù)用了 10 毫秒,而計算成本高的 LSTM 架構(gòu)雖然驗證精度達(dá)到了 88% 但是需耗時 87 毫秒才能處理完同樣的任務(wù)量(最好的模型大概精度在 88-90%)。
下面的綠色框表示詞嵌入,使用 GloVe 進(jìn)行了初始化,然后是取詞的平均(詞袋)和帶有 dropout 的 2 層 MLP。
下面的藍(lán)綠色框表示詞嵌入,使用 GloVe 進(jìn)行了初始化。在整個詞嵌入中沒有跟蹤梯度。我們使用了一個帶有 LSTM 單元的雙向 RNN,使用的方式類似于詞袋,我們使用了該 RNN 隱藏狀態(tài)來提取均值和最大值,之后是一個帶 dropout 的 2 層 MLP。
五、低計算成本的跳讀閱讀器(skim reader)
在某些任務(wù)中,算法可以展現(xiàn)出接近人類水平的精度,但是要達(dá)到這種效果,你的服務(wù)器預(yù)算恐怕得非常高。你也知道,不一定總是需要使用有真實世界數(shù)據(jù)的 LSTM,用低成本的詞袋(BoW)或許也沒問題。
當(dāng)然,順序不可知的詞袋(BoW)會將大量消極詞匯錯誤分類。完全切換到一個劣質(zhì)的詞袋(BoW)會降低我們的總體性能,讓它聽上去就不那么令人信服了。所以問題就變成了:
我們能否學(xué)會區(qū)分「簡單」和「困難」的句子。
而且為了節(jié)省時間,我們能否用低成本的模型來完成這項任務(wù)?
六、探索內(nèi)部
探索深度學(xué)習(xí)模型的一種流行的方法是了解每個句子在隱藏層中是如何表示的。但是,因為隱藏層常常是高維的,所以我們可以使用 T-SNE 這樣的算法來將其降至 2 維,從而讓我們可以繪制圖表供人類觀察。
上面兩張圖是原文中可交互的圖示的截圖。在原交互圖中,你可以將光標(biāo)移動、縮放和懸停在數(shù)據(jù)點上來查看這些數(shù)據(jù)點的信息。在圖中,你可以看到在詞袋(BoW)中的最后一個隱藏層。當(dāng)懸停在任何數(shù)據(jù)點上時,你可以看到表示該數(shù)據(jù)點的句子。句子的顏色取決于其標(biāo)簽(label)。
Predictions 標(biāo)簽頁:該模型的系統(tǒng)預(yù)測與實際標(biāo)簽的比較。數(shù)據(jù)點的中心表示其預(yù)測(藍(lán)色表示積極,紅色表示消極),周圍的線表示實際的標(biāo)簽。讓我們可以了解系統(tǒng)什么時候是正確的,什么時候是錯誤的。
Probabilities 標(biāo)簽頁:我們繪制了在輸出層中被預(yù)測的類別的概率。這表示了該模型對其預(yù)測的信息。此外,當(dāng)懸停在數(shù)據(jù)點上時,也將能看到給定數(shù)據(jù)點的概率,其顏色表示了模型的預(yù)測。注意因為該任務(wù)是二元分類,所以其概率是從 0.5 開始的,在這個案例中的最小置信度為 50/50.
T-SNE 圖容易受到許多過度解讀的破壞,但這可能能讓你了解一些趨勢。
七、T-SNE 的解讀
現(xiàn)在讓我們看看在 LSTM 上的相似的圖:
上面兩張圖是原文中可交互的圖示的截圖。在原交互圖中,你可以將光標(biāo)移動、縮放和懸停在數(shù)據(jù)點上來查看這些數(shù)據(jù)點的信息。設(shè)置和詞袋的交互圖類似,快來探索 LSTM 的內(nèi)部吧!
我們可以認(rèn)為其中許多觀察也對 LSTM 有效。但是,LSTM 只有相對較少的樣本,置信度也相對較低,而且句子中同時出現(xiàn)積極和消極的成分時,對 LSTM 來說的挑戰(zhàn)性也要低于對詞袋的挑戰(zhàn)性。
看起來詞袋可以聚類句子,并使用其概率來識別是否有可能給那個聚類中的句子提供一個正確的預(yù)測。對于這些觀察,可以做出一個合理的假設(shè):置信度更高的答案更正確。
為了研究這個假設(shè),我們可以看看概率閾值(probability thresholds)。
八、概率閾值
人們訓(xùn)練詞袋和 LSTM 為每一個類提供概率,以度量確定性。這是什么意思?如果詞袋返回一個 1,那么表示它對其預(yù)測很自信。通常在預(yù)測時我們采用由我們的模型提供且?guī)в凶罡呖赡苄缘念?。在這種二元分類的情況下(積極或消極),概率必須超過 0.5(否則我們會預(yù)測相反的類)。但是一個被預(yù)測類的低概率也許表明該模型存疑。例如,一個模型預(yù)測的積極概率為 0.51,消極概率為 0.49,那么說這個結(jié)論是積極的就不太可信。當(dāng)使用「閾值」時,我們是指將預(yù)測出的概率與一個值相比較,并評估要不要使用它。例如,我們可以決定使用概率全部超過 0.7 的句子。或者我們也可以看看 0.5-0.55 的區(qū)間給預(yù)測置信度帶來什么影響,而這正是在下圖所要精確調(diào)查的。
在這張閾值圖中,柱的高度對應(yīng)于兩個閾值內(nèi)的數(shù)據(jù)點的精確度;線表示當(dāng)所有的數(shù)據(jù)點超出給定的閾值時的類似的精確度。在數(shù)據(jù)數(shù)量圖中,柱的高度對應(yīng)于兩個閾值內(nèi) data reciding 的量,線則是每個閾值倉積累的數(shù)據(jù)。
從每個詞袋圖中你也許發(fā)現(xiàn)增加概率閾值性能也會隨之提升。當(dāng) LSTM 過擬合訓(xùn)練集并只提供置信度高的答案時,上述情況在 LSTM 圖中并不明顯就似乎很正常了。
| 在容易的樣本上使用 BoW,在困難的樣本上使用原始 LSTM |
因此,簡單使用輸出概率就能向我們表明什么時候一個句子是容易的,什么時候需要來自更強系統(tǒng)(比如強大的 LSTM)的指導(dǎo)。
我們使用概率閾值創(chuàng)建了一種「概率策略」(probability strategy),從而可為詞袋系統(tǒng)的概率設(shè)置閾值,并在所有沒有達(dá)到閾值的數(shù)據(jù)點上使用 LSTM。這樣做為我們提供了用于詞袋的那么多的數(shù)據(jù)(在閾值之上的句子)和一系列數(shù)據(jù)點,其中我們要么選擇 BoW(在閾值之上),要么選擇 LSTM(在閾值之下),我們可以用此發(fā)現(xiàn)一個精度和計算成本。接著我們會獲得 BoW 和 LSTM 之間的一個從 0.0(僅使用 LSTM)到 1.0(僅使用 BoW)的比率,并可借此計算精度和計算時間。
九、基線(Baseline)
為了構(gòu)建基線(baseline),我們需要考慮兩個模型之間的比率。例如詞袋(BoW)使用 0.1 的數(shù)據(jù)就相當(dāng)于 0.9 倍 LSTM 的準(zhǔn)確率和 0.1 倍 BoW 的準(zhǔn)確率。其目的是取得沒有指導(dǎo)策略(guided strategy)的基線,從而在句子中使用 BoW 或 LSTM 的選擇是隨機分配的。然而,使用策略時是有成本的。我們必須首先通過 BoW 模型處理所有的句子,從而確定我們是否該使用 BoW 或 LSTM。在沒有句子達(dá)到概率閥值(probability threshold)的情況下,我們可以不需要什么理由運行額外的模型。為了體現(xiàn)這一點,我們從以下方式計算策略成本與比率。
其中 C 代表著成本,p 代表著 BoW 使用數(shù)據(jù)的比例。
上圖是驗證集上的結(jié)果,其比較了 BoW、LSTM(紅線)和概率閥值策略(藍(lán)線)之間不同組合比率的精度和速度,最左側(cè)的數(shù)據(jù)點對應(yīng)于只使用 LSTM,最右邊的只使用 BoW,中間的對應(yīng)著使用兩者的組合。藍(lán)線代表著沒有指導(dǎo)策略的 CBOW 和 LSTM 組合,紅線描述了使用 BoW 概率作為策略指導(dǎo)哪個系統(tǒng)使用多大比例。注意最大的時間節(jié)省超過了 90%,因為其僅僅只使用了 BoW。有趣的是,我們發(fā)現(xiàn)使用 BoW 閥值要顯著優(yōu)于沒有使用指導(dǎo)策略(guided strategy)的情況。
我們隨后測量了曲線的均值,我們稱之為曲線下速度(Speed Under the Curve /SUC),其就如下表所示。
以上是在驗證集中離散地選擇使用 BoW 還是 LSTM 的策略結(jié)果。每一個模型會在不同 seed 的情況下計算十次。該表格中的結(jié)果是 SUC 的均值。概率策略(probability strategy)也會和比率(Ratio)相比較。
十、學(xué)習(xí)何時跳讀何時閱讀
知道什么時候在兩個不同模型之間轉(zhuǎn)換還不夠,因為我們要構(gòu)建一個更通用的系統(tǒng),學(xué)習(xí)在所有不同模型之間轉(zhuǎn)換。這樣的系統(tǒng)將幫助我們處理更復(fù)雜的行為。
在監(jiān)督學(xué)習(xí)中當(dāng)閱讀完勝于跳讀時,我們可以學(xué)習(xí)嗎?
LSTM 自左到右地「閱讀」我們,每一步都存儲一個記憶,而「跳讀」則使用 BoW 模型。在來自詞袋模型上的概率操作時,我們基于不變量做決策,這個不變量是指當(dāng)詞袋系統(tǒng)遭到質(zhì)疑時,更強大的 LSTM 工作地更好。但是情況總是如此嗎?
當(dāng)詞袋和 LSTM 關(guān)于一個句子是正確或錯誤的時候的「混淆矩陣」(confusion matrix)。相似于來自之前的詞袋和 LSTM 之間的混淆 T-SNE 圖。
事實上,結(jié)果證明這種情況只適用于 12% 的句子,而 6% 的句子中,詞袋和 LSTM 都錯了。在這種情況下,我們沒有理由再運行 LSTM,而只使用詞袋以節(jié)省時間。
十一、學(xué)習(xí)跳讀,配置
當(dāng) BoW 遭受質(zhì)疑時我們并不總是應(yīng)該使用 LSTM。當(dāng) LSTM 也犯錯并且我們要保留珍貴的計算資源時,我們可以使詞袋模型理解嗎?
讓我們再一次看看 T-SNE 圖,但是現(xiàn)在再加上 BoW 和 LSTM 之間的混淆矩陣圖。我們希望找到混淆矩陣不同元素之間的關(guān)系,尤其是當(dāng) BoW 錯誤時。
從對比圖中,我們發(fā)現(xiàn)當(dāng) BoW 是正確的,并遭受懷疑時,我們很容易判決出來。然而,當(dāng) LSTM 可能是對或錯時,BoW 與 LSTM 之間并沒有明確的關(guān)系。
1. 我們能學(xué)習(xí)這種關(guān)系嗎?
另外,因為概率策略依賴于二元決策并要求概率,其是有很大的限制性的。相反,我們提出了一個基于神經(jīng)網(wǎng)絡(luò)的可訓(xùn)練決策網(wǎng)絡(luò)(decision network)。如果我們查看混淆矩陣(confusion matrix),那么我們就能使用這些信息為監(jiān)督?jīng)Q策網(wǎng)絡(luò)生成標(biāo)簽。因此,我們就能在 LSTM 正確且 BoW 錯誤的情況下使用 LSTM。
為了生成數(shù)據(jù)集,我們需要一個句子集,其包含了詞袋和 LSTM 的真實、潛在的預(yù)測。然而在訓(xùn)練 LSTM 的過程中,其經(jīng)常實現(xiàn)了超過 99% 的訓(xùn)練準(zhǔn)確度,并顯然對訓(xùn)練集存在過擬合現(xiàn)象。為了避免這一點,我們將訓(xùn)練集分割成模型訓(xùn)練集(80% 的訓(xùn)練數(shù)據(jù))和決策訓(xùn)練集(余下 20% 的訓(xùn)練數(shù)據(jù)),其中決策訓(xùn)練集是模型之前所沒有見過的。之后,我們使用余下的 20% 數(shù)據(jù)微調(diào)了模型,并期望決策網(wǎng)絡(luò)能泛化到這一個新的、沒見過的但又十分相關(guān)的數(shù)據(jù)集,并讓系統(tǒng)更好一些。
詞袋和 LSTM 最初都是在「Model train」上先進(jìn)行訓(xùn)練(80% 訓(xùn)練數(shù)據(jù)),隨后這些模型被用于生成決策網(wǎng)絡(luò)的標(biāo)簽,再進(jìn)行完整數(shù)據(jù)集的訓(xùn)練。驗證集在這段時間一直被使用。
為了構(gòu)建我們的決策網(wǎng)絡(luò),我們進(jìn)入我們低成本的詞袋系統(tǒng)的最后一個隱藏層(用來生成 T-SNE 圖的同一層)。我們在模型訓(xùn)練集上的詞袋訓(xùn)練之上疊加一個兩層 MLP。我們發(fā)現(xiàn),如果我們不遵循這個方法,決策網(wǎng)絡(luò)將無法了解 BoW 模型的趨勢,并且不能很好地進(jìn)行泛化。
底部的長條狀代表詞袋系統(tǒng)的層,不包含 dropout。一個雙層的 MLP 被加在頂部,一個類用于是否選擇詞袋或卓越的 LSTM。
由決策網(wǎng)絡(luò)在驗證集上選擇的類別(在模型訓(xùn)練集上訓(xùn)練過的模型基礎(chǔ)上)接著被應(yīng)用于完全訓(xùn)練集上訓(xùn)練過但非常相關(guān)的模型上。為什么要應(yīng)用到一個完全訓(xùn)練集訓(xùn)練過的模型上?因為模型訓(xùn)練集上的模型通常較差,因此準(zhǔn)確度會比較低。該決策網(wǎng)絡(luò)是基于在驗證集上的 SUC 最大化而利用早停(early stopping)訓(xùn)練的。
2. 決策網(wǎng)絡(luò)的表現(xiàn)如何?
讓我們從觀察決策網(wǎng)絡(luò)的預(yù)測開始。
數(shù)據(jù)點和之前使用詞袋模型時的 T-SNE 圖相同。綠色點代表使用詞袋預(yù)測的句子,黃色點代表 LSTM。
注意:這有多近似詞袋的概率截止(probability cutoff)。讓我們看看決策網(wǎng)絡(luò)最后一個隱藏層的 T-SNE 是否能夠真的聚集一些關(guān)于 LSTM 什么時候正確或錯誤的信息。
3. 網(wǎng)絡(luò)如何執(zhí)行我們的決策?
讓我們從決策網(wǎng)絡(luò)的預(yù)測開始。
數(shù)據(jù)點基于決策網(wǎng)絡(luò)最后隱藏狀態(tài)的語句表征,源自驗證語句。顏色和之前的比較圖相同。
看起來決策網(wǎng)絡(luò)能夠從詞袋的隱藏狀態(tài)中拾取聚類。然而,它似乎不能理解何時 LSTM 可能是錯誤的(將黃色和紅色聚類分開)。
紫色曲線代表在驗證集上新引入的決策網(wǎng)絡(luò),注意決策網(wǎng)絡(luò)如何實現(xiàn)接近但略微不同于概率閾值的解決方案。從時間曲線和數(shù)據(jù)精度來看,決策網(wǎng)絡(luò)的優(yōu)勢并不明顯。
Bow 與 LSTM 在測試集和驗證集中的表現(xiàn)。SUC 基于準(zhǔn)確率與速度圖的平均值。每個模型都用不同種子計算了十次。表中結(jié)果來自 SUC 的平均數(shù)。標(biāo)準(zhǔn)偏差基于與比率的差異。
從預(yù)測圖、數(shù)據(jù)量、準(zhǔn)確率和 SUC 分?jǐn)?shù)中,我們可以推斷決策網(wǎng)絡(luò)很善于了解 BoW 何時正確,何時不正確。而且,它允許我們構(gòu)建一個更通用的系統(tǒng),挖掘深度學(xué)習(xí)模型的隱藏狀態(tài)。然而,它也表明讓決策網(wǎng)絡(luò)了解它無法訪問的系統(tǒng)行為是非常困難的,例如更復(fù)雜的 LSTM。
十二、討論
我們現(xiàn)在終于明白了 LSTM 的真正實力,它可以在文本上達(dá)到接近人類的水平,同時為了達(dá)到這一水平,訓(xùn)練也不需要接近真實世界的數(shù)據(jù)量。我們可以訓(xùn)練一個詞袋模型(bag-of-words model)用于理解簡單的句子,這可以節(jié)省大量的計算資源,整個系統(tǒng)的性能損失微乎其微(取決于詞袋閾值的大小程度)。
這個方法與平均相關(guān),該平均通常是當(dāng)類似于帶有高置信度的模型將被使用時而執(zhí)行的。但是,只要有一個可調(diào)整置信度的詞袋,并且不需要運行 LSTM,我們就可以自行權(quán)衡計算時間和準(zhǔn)確度的重要性并調(diào)整相應(yīng)參數(shù)。我們相信這種方法對于那些尋求在不犧牲性能的前提下節(jié)省計算資源的深度學(xué)習(xí)開發(fā)者會非常有幫助。
文章中有一些交互式圖示,感興趣的讀者可以瀏覽原網(wǎng)頁查閱。本文作者為 MetaMind 研究科學(xué)家 Alexander Rosenberg Johansen。據(jù)介紹,該研究的相關(guān)論文將會很快發(fā)布到 arXiv 上。
原文:https://metamind.io/research/learning-when-to-skim-and-when-to-read
【本文是專欄機構(gòu)機器之心的原創(chuàng)譯文,微信公眾號“機器之心( id: almosthuman2014)”】

我們在微信上24小時期待你的聲音
解答本文疑問/技術(shù)咨詢/運營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流