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