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