(一)主动学习概念与技术
主動(dòng)學(xué)習(xí)背景介紹
機(jī)器學(xué)習(xí)的研究領(lǐng)域包括有監(jiān)督學(xué)習(xí)(Supervised Learning),無監(jiān)督學(xué)習(xí)(Unsupervised Learning),半監(jiān)督學(xué)習(xí)(Semi-supervised Learning)和強(qiáng)化學(xué)習(xí)(Reinforcement Learning)等諸多內(nèi)容。針對(duì)有監(jiān)督學(xué)習(xí)和半監(jiān)督學(xué)習(xí),都需要一定數(shù)量的標(biāo)注數(shù)據(jù),也就是說在訓(xùn)練模型的時(shí)候,全部或者部分?jǐn)?shù)據(jù)需要帶上相應(yīng)的標(biāo)簽才能進(jìn)行模型的訓(xùn)練。但是在實(shí)際的業(yè)務(wù)場(chǎng)景或者生產(chǎn)環(huán)境中,工作人員獲得樣本的成本其實(shí)是不低的,甚至在某些時(shí)候是相對(duì)較高的,那么如何通過較少成本來獲得較大價(jià)值的標(biāo)注數(shù)據(jù),進(jìn)一步地提升算法的效果就是值得思考的問題了。
機(jī)器學(xué)習(xí)
在工業(yè)界的圖像標(biāo)注領(lǐng)域,雖然有 ImageNet 這個(gè)學(xué)術(shù)界和工業(yè)界都在使用的圖像數(shù)據(jù)庫,但是在很多特殊的業(yè)務(wù)場(chǎng)景上,從業(yè)人員依舊需要想盡辦法去獲取業(yè)務(wù)標(biāo)注數(shù)據(jù)。在安全風(fēng)控領(lǐng)域,黑產(chǎn)用戶相對(duì)于正常用戶是偏少的,因此,如何通過極少的黑產(chǎn)用戶來建立模型則是值得思考的問題之一。在業(yè)務(wù)運(yùn)維領(lǐng)域,服務(wù)器,app 的故障時(shí)間相對(duì)于正常運(yùn)行的時(shí)間也是偏少的,必然會(huì)出現(xiàn)樣本不均衡的情況。因此,在這些業(yè)務(wù)領(lǐng)域,要想獲得樣本和構(gòu)建模型,就必須要通過人力的參與。那么如何通過一些機(jī)器學(xué)習(xí)算法來降低人工標(biāo)注的成本就是從業(yè)者需要關(guān)注的問題了。畢竟需要標(biāo)注 100 個(gè)樣本和需要標(biāo)注成千上萬的樣本所需要的人力物力是截然不同的。
在學(xué)術(shù)界,同樣有學(xué)者在關(guān)注這方面的問題,學(xué)者們通過一些技術(shù)手段或者數(shù)學(xué)方法來降低人們標(biāo)注的成本,學(xué)者們把這個(gè)方向稱之為主動(dòng)學(xué)習(xí)(Active Learning)。在整個(gè)機(jī)器學(xué)習(xí)建模的過程中有人工參與的部分和環(huán)節(jié),并且通過機(jī)器學(xué)習(xí)方法篩選出合適的候選集給人工標(biāo)注的過程。主動(dòng)學(xué)習(xí)(Active Learning)的大致思路就是:通過機(jī)器學(xué)習(xí)的方法獲取到那些比較“難”分類的樣本數(shù)據(jù),讓人工再次確認(rèn)和審核,然后將人工標(biāo)注得到的數(shù)據(jù)再次使用有監(jiān)督學(xué)習(xí)模型或者半監(jiān)督學(xué)習(xí)模型進(jìn)行訓(xùn)練,逐步提升模型的效果,將人工經(jīng)驗(yàn)融入機(jī)器學(xué)習(xí)的模型中。
在沒有使用主動(dòng)學(xué)習(xí)(Active Learning)的時(shí)候,通常來說系統(tǒng)會(huì)從樣本中隨機(jī)選擇或者使用一些人工規(guī)則的方法來提供待標(biāo)記的樣本供人工進(jìn)行標(biāo)記。這樣雖然也能夠帶來一定的效果提升,但是其標(biāo)注成本總是相對(duì)大的。
用一個(gè)例子來比喻,一個(gè)高中生通過做高考的模擬試題以希望提升自己的考試成績(jī),那么在做題的過程中就有幾種選擇。一種是隨機(jī)地從歷年高考和模擬試卷中隨機(jī)選擇一批題目來做,以此來提升考試成績(jī)。但是這樣做的話所需要的時(shí)間也比較長,針對(duì)性也不夠強(qiáng);另一種方法是每個(gè)學(xué)生建立自己的錯(cuò)題本,用來記錄自己容易做錯(cuò)的習(xí)題,反復(fù)地鞏固自己做錯(cuò)的題目,通過多次復(fù)習(xí)自己做錯(cuò)的題目來鞏固自己的易錯(cuò)知識(shí)點(diǎn),逐步提升自己的考試成績(jī)。其主動(dòng)學(xué)習(xí)的思路就是選擇一批容易被錯(cuò)分的樣本數(shù)據(jù),讓人工進(jìn)行標(biāo)注,再讓機(jī)器學(xué)習(xí)模型訓(xùn)練的過程。
那么主動(dòng)學(xué)習(xí)(Active Learning)的整體思路究竟是怎樣的呢?在機(jī)器學(xué)習(xí)的建模過程中,通常包括樣本選擇,模型訓(xùn)練,模型預(yù)測(cè),模型更新這幾個(gè)步驟。在主動(dòng)學(xué)習(xí)這個(gè)領(lǐng)域則需要把標(biāo)注候選集提取和人工標(biāo)注這兩個(gè)步驟加入整體流程,也就是:
機(jī)器學(xué)習(xí)模型:包括機(jī)器學(xué)習(xí)模型的訓(xùn)練和預(yù)測(cè)兩部分;
待標(biāo)注的數(shù)據(jù)候選集提取:依賴主動(dòng)學(xué)習(xí)中的查詢函數(shù)(Query Function);
人工標(biāo)注:專家經(jīng)驗(yàn)或者業(yè)務(wù)經(jīng)驗(yàn)的提煉;
獲得候選集的標(biāo)注數(shù)據(jù):獲得更有價(jià)值的樣本數(shù)據(jù);
機(jī)器學(xué)習(xí)模型的更新:通過增量學(xué)習(xí)或者重新學(xué)習(xí)的方式更新模型,從而將人工標(biāo)注的數(shù)據(jù)融入機(jī)器學(xué)習(xí)模型中,提升模型效果。
主動(dòng)學(xué)習(xí)的流程
通過這種循環(huán)往復(fù)的方法,就可以達(dá)到人工調(diào)優(yōu)模型的結(jié)果。其應(yīng)用的領(lǐng)域包括:
個(gè)性化的垃圾郵件,短信,內(nèi)容分類:包括營銷短信,訂閱郵件,垃圾短信和郵件等等;
異常檢測(cè):包括但不限于安全數(shù)據(jù)異常檢測(cè),黑產(chǎn)賬戶識(shí)別,時(shí)間序列異常檢測(cè)等等。
主動(dòng)學(xué)習(xí)的模型分類包括兩種,第一種是流式的主動(dòng)學(xué)習(xí)(Sequential Active Learning),第二種是離線批量的主動(dòng)學(xué)習(xí)(Pool-based Active Learning)。在不同的場(chǎng)景下,業(yè)務(wù)人員可以選擇不同的方案來執(zhí)行。
主動(dòng)學(xué)習(xí)的三種場(chǎng)景
而查詢策略(Query Strategy Frameworks)就是主動(dòng)學(xué)習(xí)的核心之處,通常可以選擇以下幾種查詢策略:
不確定性采樣的查詢(Uncertainty Sampling);
基于委員會(huì)的查詢(Query-By-Committee);
基于模型變化期望的查詢(Expected Model Change);
基于誤差減少的查詢(Expected Error Reduction);
基于方差減少的查詢(Variance Reduction);
基于密度權(quán)重的查詢(Density-Weighted Methods)。
不確定性采樣(Uncertainty Sampling)
顧名思義,不確定性采樣的查詢方法就是將模型中難以區(qū)分的樣本數(shù)據(jù)提取出來,提供給業(yè)務(wù)專家或者標(biāo)注人員進(jìn)行標(biāo)注,從而達(dá)到以較快速度提升算法效果的能力。而不確定性采樣方法的關(guān)鍵就是如何描述樣本或者數(shù)據(jù)的不確定性,通常有以下幾種思路:
置信度最低(Least Confident);
邊緣采樣(Margin Sampling);
熵方法(Entropy);
Least Confident
對(duì)于二分類或者多分類的模型,通常它們都能夠?qū)γ恳粋€(gè)數(shù)據(jù)進(jìn)行打分,判斷它究竟更像哪一類。例如,在二分類的場(chǎng)景下,有兩個(gè)數(shù)據(jù)分別被某一個(gè)分類器預(yù)測(cè),其對(duì)兩個(gè)類別的預(yù)測(cè)概率分別是:(0.9,0.1) 和 (0.51, 0.49)。在此情況下,第一個(gè)數(shù)據(jù)被判定為第一類的概率是 0.9,第二個(gè)數(shù)據(jù)被判定為第一類的概率是 0.51,于是第二個(gè)數(shù)據(jù)明顯更“難”被區(qū)分,因此更有被繼續(xù)標(biāo)注的價(jià)值。所謂 Least Confident 方法就是選擇那些最大概率最小的樣本進(jìn)行標(biāo)注,用數(shù)學(xué)公式描述就是:
,
其中,這里的表示一個(gè)已經(jīng)訓(xùn)練好的機(jī)器學(xué)習(xí)模型參數(shù)集合。對(duì)于而言是模型預(yù)測(cè)概率最大的類別。Least Confident 方法考慮那些模型預(yù)測(cè)概率最大但是可信度較低的樣本數(shù)據(jù)。
Margin Sampling
邊緣采樣(margin sampling)指的是選擇那些極容易被判定成兩類的樣本數(shù)據(jù),或者說這些數(shù)據(jù)被判定成兩類的概率相差不大。邊緣采樣就是選擇模型預(yù)測(cè)最大和第二大的概率差值最小的樣本,用數(shù)學(xué)公式來描述就是:
,
其中和分別表示對(duì)于而言,模型預(yù)測(cè)為最大可能類和第二大可能類。
特別地,如果針對(duì)二分類問題,least confident 和 margin sampling 其實(shí)是等價(jià)的。
Entropy
在數(shù)學(xué)中,可以使用熵(Entropy)來衡量一個(gè)系統(tǒng)的不確定性,熵越大表示系統(tǒng)的不確定性越大,熵越小表示系統(tǒng)的不確定性越小。因此,在二分類或者多分類的場(chǎng)景下,可以選擇那些熵比較大的樣本數(shù)據(jù)作為待定標(biāo)注數(shù)據(jù)。用數(shù)學(xué)公式表示就是:
,
相較于 least confident 和 margin sample 而言,entropy 的方法考慮了該模型對(duì)某個(gè)的所有類別判定結(jié)果。而 least confident 只考慮了最大的概率,margin sample 考慮了最大的和次大的兩個(gè)概率。
不確定性采樣的差異性
基于委員會(huì)的查詢(Query-By-Committee)
除了考慮單個(gè)模型的不確定性采樣方法之外,還可以考慮多個(gè)模型的場(chǎng)景,這就是類似集成學(xué)習(xí)的方法。通過多個(gè)模型投票的模式,來選擇出那些較“難”區(qū)分的樣本數(shù)據(jù)。在 QBC(Query-By-Committee)的技術(shù)方案中,可以假設(shè)有個(gè)模型,其參數(shù)分別是,并且這些模型都是通過數(shù)據(jù)集的訓(xùn)練得到的。
如果不需要考慮每個(gè)模型的檢測(cè)效果,其實(shí)可以考慮類似不確定性采樣中的 least confident 和 margin sampling 方法。可以選擇某一個(gè)分類器難以區(qū)分的樣本數(shù)據(jù),也可以選擇其中兩三個(gè)分類器難以區(qū)分的數(shù)據(jù)。但是如果要考慮所有模型的分類效果的時(shí)候,則還是需要熵(Entropy)或者 KL 散度等指標(biāo)。因此,QBC 通常也包括兩種方法:
投票熵(Vote Entropy):選擇這些模型都無法區(qū)分的樣本數(shù)據(jù);
平均 KL 散度(Average Kullback-Leibler Divergence):選擇 KL 散度較大的樣本數(shù)據(jù)。
投票熵(Vote Entropy)
對(duì)于這種多模型的場(chǎng)景而言,可以用熵來衡量樣本數(shù)據(jù)被這些分類器區(qū)分的難易程度,如果這些分類器都把樣本數(shù)據(jù)劃分到某一類,則容易區(qū)分;如果分類器把樣本數(shù)據(jù)劃分到多類,則表示難以區(qū)分,需要重點(diǎn)關(guān)注。用數(shù)學(xué)公式表達(dá)就是:
,
其中表示第類,求和符號(hào)表示將所有的類別相加,表示投票給的分類器個(gè)數(shù),表示分類器的總數(shù),并且。
平均 KL 散度(Average KL Divergence)
KL 散度可以衡量?jī)蓚€(gè)概率之間的“距離”,因此可以用 KL 散度計(jì)算出那些偏差較大的數(shù)據(jù)樣本。用數(shù)學(xué)公式來描述就是:
其中也是概率分布,表示兩個(gè)概率的 KL 散度。
期望模型變化(Expected Model Change)
模型變化最大其實(shí)可以選擇那些使得梯度變化最大的樣本數(shù)據(jù)。
期望誤差減少(Expected Error Reduction)
可以選擇那些通過增加一個(gè)樣本就使得 loss 函數(shù)減少最多的樣本數(shù)據(jù)。
方差減少(Variance Reduction)
選擇那些方差減少最多的樣本數(shù)據(jù)。
基于密度權(quán)重的選擇方法(Density-Weighted Methods)
有的時(shí)候,某個(gè)數(shù)據(jù)點(diǎn)可能是異常點(diǎn)或者與大多數(shù)數(shù)據(jù)偏差較大,不太適合做樣本選擇或者區(qū)分,某些時(shí)候考慮那些稠密的,難以區(qū)分的數(shù)據(jù)反而價(jià)值更大。于是,可以在使用不確定性采樣或者 QBC 方法的時(shí)候,將樣本數(shù)據(jù)的稠密性考慮進(jìn)去。用數(shù)學(xué)公式表示就是:
,
在這里,表示某個(gè)不確定性采樣方法或者 QBC 方法,表示指數(shù)參數(shù),表示第類的代表元,表示類別的個(gè)數(shù)。加上權(quán)重表示會(huì)選擇那些與代表元相似度較高的元素作為標(biāo)注候選集。
B 附近的點(diǎn)信息量會(huì)大于 A 附近的點(diǎn)
總結(jié)
在主動(dòng)學(xué)習(xí)(Active Learning)領(lǐng)域,其關(guān)鍵在于如何選擇出合適的標(biāo)注候選集給人工進(jìn)行標(biāo)注,而選擇的方法就是所謂的查詢策略(Query Stategy)。查詢策略基本上可以基于單個(gè)機(jī)器學(xué)習(xí)模型,也可以基于多個(gè)機(jī)器學(xué)習(xí)模型,在實(shí)際使用的時(shí)候可以根據(jù)情況來決定。整體來看,主動(dòng)學(xué)習(xí)都是為了降低標(biāo)注成本,迅速提升模型效果而存在的。主動(dòng)學(xué)習(xí)的應(yīng)用場(chǎng)景廣泛,包括圖像識(shí)別,自然語言處理,安全風(fēng)控,時(shí)間序列異常檢測(cè)等諸多領(lǐng)域。后續(xù)筆者將會(huì)持續(xù)關(guān)注這一領(lǐng)域的發(fā)展并撰寫相關(guān)文檔。
參考資料
Settles, Burr. Active learning literature survey. University of Wisconsin-Madison Department of Computer Sciences, 2009.
Aggarwal, Charu C., et al. “Active learning: A survey.” Data Classification: Algorithms and Applications. CRC Press, 2014. 571-605.
https://zr9558.com/2020/09/13/activelearning-2/
https://zhuanlan.zhihu.com/p/239756522
總結(jié)
以上是生活随笔為你收集整理的(一)主动学习概念与技术的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SAP Spartacus popove
- 下一篇: 乌克兰钱兑换人民币,双向兑换利率一览