最后一批被AI替代的人,也要失業(yè)了
曾經(jīng),數(shù)據(jù)標注員總是被稱為“***一批被AI替代的人”。
開發(fā)機器學習應用程序的***瓶頸之一,是對培訓現(xiàn)代機器學習模型的大型標記數(shù)據(jù)集的海量需求。即使是頭部的AI創(chuàng)業(yè)公司,最關鍵的一環(huán)依然是從數(shù)據(jù)標注員開始的。目前手工標記的培訓集即昂貴又耗時,而數(shù)據(jù)的組裝、清理和調(diào)試是機器學習模型能否成功構建的源頭。
近日斯坦福大學和布朗大學合作進行了 “Snorkel Drybell:在工業(yè)規(guī)模上部署弱監(jiān)管的一個案例研究 ”,該研究探索了如何將組織中現(xiàn)有的知識用作更嘈雜、更高級別的監(jiān)管——弱監(jiān)管,來快速標記大型培訓數(shù)據(jù)集。在該研究采用了一個實驗性的內(nèi)部系統(tǒng)Snorkel Drybell,采用開源 Snorkel 框架來使用各種組織知識資源,如內(nèi)部模型、本體、遺留規(guī)則、知識圖等等,以便為全網(wǎng)域的機器學習模型生成訓練數(shù)據(jù)。這種方法的效果可以與人為標記成千上萬個數(shù)據(jù)點的效果相當,并揭示了如何在實踐中創(chuàng)建用于現(xiàn)代機器學習模型的訓練數(shù)據(jù)集的核心經(jīng)驗。
Snorkel DryBell非人為標記訓練數(shù)據(jù),而是通過編程方式編寫標記功能來標記訓練數(shù)據(jù)。在這個過程中,我們探索了這些標簽功能如何捕獲工程師的知識,如何使用現(xiàn)有的資源作為啟發(fā)式的弱監(jiān)督。例如,假設我們的目標是識別與名人相關的內(nèi)容??梢岳矛F(xiàn)有的命名實體識別 (NER)模型來完成這項任務,方法是:將不包含名人的內(nèi)容標記為與名人無關。
這說明了如何將現(xiàn)有的知識資源與簡單的編程邏輯結(jié)合起來,以標記新模型的訓練數(shù)據(jù)。更重要的是,這個標記函數(shù)在很多情況下會返回None——即棄權,因此只給數(shù)據(jù)的一小部分貼上了標簽。我們的總目標是使用這些標簽來訓練一個可以推廣到新數(shù)據(jù)的現(xiàn)代機器學習模型。
標記函數(shù)示例利用現(xiàn)有的知識資源(在本例中是NER模型(2)),而非人工標記數(shù)據(jù)點(1),以及一些用代碼(3)表示的簡單邏輯來啟發(fā)式地標記數(shù)據(jù)。
這個用于標注訓練數(shù)據(jù)的編程接口比人工標注單個數(shù)據(jù)點要快得多,也更靈活,但是生成的標簽的質(zhì)量明顯比人工指定的標簽低得多。這些標記函數(shù)生成的標簽常常會重疊和不一致,因為標記函數(shù)不僅可能有未知的準確性,還可能以任意的方式關聯(lián)(例如,共享一個公共數(shù)據(jù)源或啟發(fā)式)。
為了解決噪聲和相關的標簽的問題, Snorkel DryBell使用生成建模技術 來自動估計標記函數(shù)的精度和相關性(不使用任何地面實況訓練標簽),然后使用它來重新加權,并將輸出合并到每個數(shù)據(jù)點的單個概率標簽中。
在較高的層次,我們依賴于標記函數(shù)(協(xié)方差矩陣 )之間觀察到的一致性和不一致性,并使用一種新的矩陣補全式方法學習標記函數(shù)的精度和相關參數(shù),以***地解釋這種觀察到的輸出。得到的標簽可以用來訓練任意的模型(例如在 TensorFlow 中)。
1.利用多樣化的知識資源作為弱監(jiān)督
為了研究Snorkel Drybell的有效性,我們使用了三個生產(chǎn)任務和相應的數(shù)據(jù)集,目的是對網(wǎng)頁內(nèi)容中的主題進行分類,識別特定產(chǎn)品并檢測特定的實時事件。使用Snorkel DryBell,能夠利用各種現(xiàn)有的或快速指定的信息來源,如:
- 啟發(fā)法和規(guī)則:如關于目標領域中現(xiàn)有的人工編寫規(guī)則。
- 主題模型、標簽和分類器:如關于目標領域或相關領域的機器學習模型。
- 聚合的數(shù)據(jù):如目標領域的跟蹤指標。
- 知識或?qū)嶓w圖:如目標領域的事實數(shù)據(jù)庫。
在Snorkel DryBell中,目標是訓練一個機器學習模型(C),例如在web數(shù)據(jù)上進行內(nèi)容或事件分類。
在Snorkel DryBell中,用戶編寫表示各種組織知識資源的標記函數(shù)(A),然后自動重新加權和組合(B),而不是通過人工標記培訓數(shù)據(jù)來實現(xiàn)。
我們使用這些組織知識資源在基于MapReduce 模板的途徑中編寫標記函數(shù)。每個標記函數(shù)都接受一個數(shù)據(jù)點,對其刪除或輸出。其結(jié)果是一組大型的程序生成的培訓標簽。然而,這些標簽中有許多噪聲、彼此沖突(例如啟發(fā)式),或者對于我們的任務過于粗粒度(例如主題模型),導致需要Snorkel DryBell來進行自動清理標簽并將其集成到最終的培訓集中。
2.合并和重新利用現(xiàn)有資源來準確建模
為了處理這些嘈雜的標簽,下一階段Snorkel DryBell將標簽函數(shù)的輸出組合為一個單獨的、針對每個數(shù)據(jù)點的信心加權訓練標簽。技術方面的挑戰(zhàn)是,這必須在沒有任何基本事實標簽的情況下完成。我們使用生成式建模技術,只使用未標記的數(shù)據(jù)學習每個標記函數(shù)的準確性。這種技術通過觀察標記函數(shù)輸出之間的協(xié)議和分歧矩陣來學習,考慮到它們之間已知的(或統(tǒng)計估計的)相關結(jié)構。在Snorkel DryBell中,為了處理網(wǎng)頁規(guī)模的數(shù)據(jù),我們還用了這種建模方法的一個更快無需采樣的版本,該版本在TensorFlow中有應用。
通過將該程序在Snorkel DryBell中的標注功能輸出進行組合建模,可以生成高質(zhì)量的培訓標簽。事實上,在兩個可用的手工標記訓練數(shù)據(jù)進行比較的應用中,我們實現(xiàn)了與Snorkel DryBell的標簽一樣的預測準確性訓練,與 12000和80000個人工標記訓練數(shù)據(jù)點預測的準確性一致。
3.將不可服務的知識轉(zhuǎn)換為可服務的模型
在許多設置中,可用于生產(chǎn)的可提供特性和不可提供特性之間也有一個重要的區(qū)別。這些不可提供的特性可能具有非常豐富的信號,但普遍的問題是如何使用它們來培訓或幫助可在生產(chǎn)中部署的可提供模型。
在許多設置中,用戶編寫的標記函數(shù)利用了組織中不能在生產(chǎn)中提供的知識資源(a)-e.g.聚合統(tǒng)計數(shù)據(jù)、內(nèi)部模型或知識圖,這些數(shù)據(jù)、內(nèi)部模型或知識圖在生產(chǎn)中使用太慢或太昂貴,以便訓練只定義在可生產(chǎn)服務特性(b)之上的模型,例如廉價的實時網(wǎng)站信號。
在Snorkel DryBell中,我們發(fā)現(xiàn)用戶可以編寫標簽函數(shù),即表達他們的組織知識,通過一個不可提供的特性集,使用Snorkel DryBell輸出的培訓標簽,在另一個可提供的特性集上培訓一個定義的模型。
在創(chuàng)建的基準數(shù)據(jù)集上,這種跨特性轉(zhuǎn)換性能平均提高了52%。更廣泛地來說,它代表了一種簡單但功能強大的方法,可以使用過慢的資源(如昂貴的模型或聚合統(tǒng)計數(shù)據(jù))、私有的資源(如實體或知識圖),或者不適合部署的資源,來訓練可服務的模型使用廉價的實時特性。這種方法可以被看作是一種新型的轉(zhuǎn)移學習,不是在不同的數(shù)據(jù)集之間轉(zhuǎn)移模型,而是在不同的特性集之間轉(zhuǎn)移領域知識——這種方法不僅在工業(yè)領域有潛在的用例,而且在醫(yī)療領域和其他領域也有潛在的用例。