目錄

D-CALM: A Dynamic Clustering-based Active Learning Approach for Mitigating Bias

Introduction

Background

我們平常在做文本分類或是情感分類時,常常需要大量且有標註的資料來訓練模型,但是在現實世界中,我們拿到的往往只有一小部分有標註的資料集。為了拿到更多有標註的資料集,我們還要耗費很多成本和時間請專家幫忙標記資料。

為了解決這個問題,我們希望透過主動學習,從未標注的資料集中,找出最有代表性的資料來幫助我們訓練模型。

./Untitled.png

主動學習-概念

是一種篩選未標註資料的方法,讓模型選擇有代表性、多樣性的未標記樣本進行標注,標記完之後再重新訓練模型,以此來提昇模型的性能。這種有策略性挑選樣本的方法也可以降低標記資料的成本。

./Untitled%201.png

但是這個方法也有缺點,因為在選擇樣本時是依賴分類器的判斷,因此在選擇樣本時可能會有偏見或偏差,這會導致模型在某些情感或主題上的分類效果很好,但是在其他方面卻很差。

偏差 - Bias

前面說到選擇樣本會有偏差,這裡來說明一下什麼是偏差。

當我們拿一個不平衡的資料集去訓練一個分類器後,再拿去預測有label的data,分類器會傾向預測在訓練集中,看過有較多樣本的類別。也就是如果女性(正方形)和猶太人(五邊形)的資料在訓練集中比較多,而有色人種(三角形)的資料量很少,會導致模型學不到有色人種資料的特徵,因此預測的錯誤率會提高。

./Untitled%202.png

我們希望能透過主動學習,從unlabel的資料中找出更多有色人種的資料來幫助模型學習

  • 女性和猶太人的資料幾乎都預測正確,代表有學到那些資料的特徵。
  • 殘疾的資料只有三筆,兩筆預測錯誤。
  • 有色人種共有五筆資料,全部預測錯誤
  • 移民的資料有五筆,但只有一筆是錯誤

看起來模型學不好的地方是有色人種和殘疾,其餘都學得不錯。因此假設有色人種和殘疾的資料在訓練時偏少,導致模型學得不好,產生偏差。

bias Induction

我們透過主動學習,希望從unlabel pool中找出更多有關有色人種的資料,但如果使用的方法不對,有可能會造成更嚴重的偏差。

假設訓練資料中,有色人種的資料比較少,我們拿這個資料集去訓練出一個模型。前面提到,我們希望透過主動學習,從unlabel data裡面找出更多具有代表性的資料來消除偏差。

因此我們拿模型去預測unlabel pool,希望能從裡面找出一些有價值的資料。但是也有可能模型找到的資料大多數都是其他類型的資料,而不是有色人種的資料,這些經過專家標注後在放到資料集重新訓練一個分類器,會導致分類器更加的偏差。

./Untitled%203.png

Effective batch selection

我們使用主動學習,是希望能從unlabel pool裡面挑出一些有價值的樣本來訓練模型。在現實需要解決的任務中,不太可能每一輪只從unlabel裏面挑出一筆資料,讓專家label完再重新訓練分類器,因為這樣太花費時間和人力成本。

因此一定是每一輪從unlabel pool中抽出一批資料來讓專家標註。如果使用最簡單的隨機抽樣,且我們在每一輪需要抽出的資料筆數越大,有可能抽到的資料大多數都不具有代表性或多樣性,用這些資料再重新訓練模型,會造成模型學習的偏差。

如果有策略的挑選,例如從unlabel pool中挑選前N個最具有代表性的資料,或是先經過cluster後再使用topN來挑選,這些方法雖然可以把選取樣本的範圍縮小一點,在某種程度上能緩解偏差。

./Untitled%204.png

但如果我們想從unlabel挑出來的樣本數量很大的時候,這些方法還是會有機會讓模型的偏差變得更嚴重。

因此,我們希望把透過一些方法,讓選取樣本的範圍縮小,這樣做可以降低抽到不具有代表性樣本的機率。

D-CALM

我們希望能降低從unlabel pool中選到不具有代表性的樣本,因此需要將選取樣本的範圍縮小。這篇論文提出基於動態聚類的方法。

將原本的unlabel data先做分群,把相似的資料分在同一群,從每一群中去抽樣本,可以提高樣本的多樣性。但是這樣還不夠,我們需要讓模型關注錯誤率高的類別,盡量從unlabel data裡面去找那些類別的資料,提高準確率。

因此為了讓模型提高對於某些類別的關注程度,這篇論文用了動態聚類,讓錯誤率較高的類別所在的群,能在分得更細。例如,黃色的群,他經過第二次的分群後,分為五群,因此會從每一個小群再抽出一筆資料。

./Untitled%205.png

Method

Query Strategy

我們在主動學習中,挑選樣本的時候,會挑選模型不容易區分、容易混淆的樣本,挑出來的樣本讓專家標注後,希望分類器能用這些資料學得更好。

那要怎麼挑選樣本,以及有幾種挑選的策略?

./Untitled%206.png

Query-Strategy - Least Confident

這裡有兩筆unlabel data,經過模型後,會有對於各類別的置信度。

首先,我們根據第一條公式,選擇最高置信度的類別,也就是紅色字體的類別。

./Untitled%207.png

因為我們要計算的是要找出最不確定的樣本,因此用1 去減掉置信度,就是不確定度。

再來就是找出最大的不確定度的樣本。這個範例中,最大的不確定度是下面藍色的樣本。

Query-Strategy - Smallest margin

這一個策略是用計算預測的置信度之間的差距。

如果很確定這個樣本屬於某個類別,則計算出來的數值應該會很大,表示很確定。

如果對於樣本很不確定,則算出來的數值會很小。

./Untitled%208.png

Query-Strategy - Entropy

這是在計算樣本的擾亂程度,如果entropy很大,表示這個樣本的擾亂程度很高,也等於不確定度很高。

./Untitled%209.png

Active Learning v.s. Clustering-based Active Learning

在說明這篇論文提出的方法之前,先比較傳統的主動學習和跟這篇論文作法類似的cluster-base的主動學習之間的差異。

./Untitled%2010.png

首先,主動學習的目的是從unlabel data裡面抽取有價值的樣本,那傳統的主動學習就單純地從一整個unlabel pool裡面抽樣。

而cluster base的主動學習,會先將unlabel pool的資料做一次聚類,目的是為了增加抽樣的多樣性,之後從各群中抽出有價值的樣本。

他們的差別在於有沒有先將資料做分群,再分別從群中抽出樣本

Dynamic Cluster AL v.s. Clustering-based AL

這篇提出來的是動態聚類,與普通聚類不同的地方是,他會根據每一群的錯誤率,來估算應該再分為多少小群,目的是為了讓模型更加關注錯誤率高的類別。

而動態是指每一次迭代,都會重新計算每一群的錯誤率,因為每次都是從不同群中抽取樣本,抽取的數量也都不是固定的,因此可以緩解偏差的問題。

./Untitled%2011.png

Algorithm for D-CALM

./D-CALM.drawio.png

Experiment

Dataset

這篇論文使用八個資料集,分別有

  • BOOK32 : 對書本的標題做分類
  • CONAN : 仇恨言論的句子
  • CARER : 情感檢測,如:憤怒、恐懼….
  • CoLA :可接受性的句子,應該是指句子文法的正確性
  • Hatespeech :推特上的仇恨言論
  • MRDA:對話行為的句子
  • Q-Type:對問題類型的句子做標註
  • Subjectivity:電影評論的片段,分為主觀性和客觀性

./Untitled%2012.png

D-CALM v.s. Baseline with BERT

這個實驗想要說明的是,D-CALM與其他方法的性能比較。模型都是使用BERT,抽樣的策略使用entropy。

./Untitled%2013.png

可以看到topN在MRDA和subjectivity兩個資料集上,當有標註的樣本增加,F1分數不增反減,或是只有小幅度的增加。但是DCALM在大多數資料集上保持著增加訓練資料,則分數增加的趨勢。

D-CALM v.s. Baseline with SVM

這個實驗使用SVM當作learner,相較於BERT,DCALM在SVM的改進幅度很小,但這不是DCALM的局限性,而是主動學習的局限性,因為其他方法的改進幅度也很小

./Untitled%2014.png

但是以SVM為模型來使用DCALM的方法,在大多數資料集上還是與其他方法有增進一些效能。因此DCALM是與模型無關的方法。

./Untitled%2015.png

Conclusion

  1. 這篇論文提出動態聚類的方法,可以透過錯誤率對未標記資料進行二次聚類,減少抽到不具有代表性資料的機率,也就可以將降低模型的偏差
  2. 從實驗中可以得知,DCALM的效果改進是與模型無關的