什么是主動學習? 原創(chuàng)
如果數(shù)據(jù)是無標簽的,我們很難構(gòu)建一個監(jiān)督學習系統(tǒng)。
使用無監(jiān)督技術(shù)是一種可行的解決方案,但它們能完成的任務類型有限。
另一種可能的方法,是依賴自監(jiān)督學習。
自監(jiān)督學習是指我們有一個無標簽的數(shù)據(jù)集,但我們通過某種方式能夠從中構(gòu)建一個監(jiān)督學習模型。
這通常依賴于任務的固有屬性。
例如,ChatGPT自回歸地基于當前詞預測下一個單詞。
這樣我們就可以簡單地將文本左移一位在海量文本上構(gòu)造訓練數(shù)據(jù)集。
輸入:"The cat sat on"
標簽:"cat sat on the"
或者像BERT那樣,通過將文本中的某些單詞替換為占位符,并預測這些占位符的單詞。
"The cat sat on the [MASK]。"
"I went to the [MASK] to buy some milk."
但并不是所有任務都有這種屬性,所以它的應用場景也有限。
現(xiàn)在唯一能想到的方法就是標注數(shù)據(jù)集。然而,數(shù)據(jù)標注既困難、昂貴、耗時,又枯燥乏味。
主動學習是一種相對簡單、便宜、快速且有趣的解決方法。
顧名思義,它的想法是通過主動獲取人工反饋,幫助模型改進其在難以處理樣本上的表現(xiàn)。下圖總結(jié)了這一過程:
讓我們看下細節(jié)。
我們先手動標注一小部分數(shù)據(jù)。
根據(jù)經(jīng)驗,標注約1%的數(shù)據(jù)集是個不錯的選擇。
接下來,在這個小的標注數(shù)據(jù)集上訓練一個模型。
當然,這個模型不會是完美的,但沒關(guān)系。
接下來,使用訓練好的模型在未標注的數(shù)據(jù)上生成預測:
很明顯,我們無法確定這些預測是否正確,因為我們沒有標簽。
但我們可以得到這些預測的置信度。
因為在主動學習中,我們通常會選擇能夠在其預測中提供置信水平的模型。
概率模型(即為每個類別提供概率估計的模型)通常在這里是一個很好的選擇。
這是因為可以從概率輸出中確定置信度的水平。
在上述兩個例子中,考慮第1和第2大概率之間的差距:
● 在例子#1中,差距較大。這可能表示模型對它的預測非常有信心。
● 在例子#2中,差距較小。這可能表示模型對它的預測信心不足。
現(xiàn)在,回到上面生成的預測,并按照置信度的大小對它們進行排名:
在上面的圖像中:
● 模型已經(jīng)對前兩個實例非常有信心。沒有必要再檢查它們了。
● 相反,最好由我們(人類)來標注模型信心最弱的實例。
為了更好地理解,考慮下面的圖像。從邏輯上講,哪個數(shù)據(jù)點的人工標簽將為模型提供更多信息?我知道你已經(jīng)知道答案。
因此,在下一步中,我們對置信度低的預測進行人工標注,并將其與先前標注的數(shù)據(jù)集一起去繼續(xù)改進模型。
多次重復這個過程,直到你對模型的表現(xiàn)感到滿意為止。
根據(jù)我的經(jīng)驗,主動學習是處理無標注數(shù)據(jù)集的一個極大節(jié)省時間的辦法。唯一需要小心的是生成置信度度量。
如果你搞錯了這一步,它會影響之后的每一個訓練步驟。
另外,除了人工標注的低置信度數(shù)據(jù)和種子數(shù)據(jù),還可以使用高置信度數(shù)據(jù)。它們的標簽將是模型的預測結(jié)果。
這種主動學習的變體稱為合作學習。
本文轉(zhuǎn)載自公眾號人工智能大講堂
