# Rethinking Common Assumptions To Mitigate Racial Bias in Face Recognition Datasets
[toc]
## introduction
+ 選擇這篇paper的原因是我已經label完data了, 要開始建立dataset了, 所以希望可以從dataset就能先初步減少demographic bias
+ 等一下related work也會提到其他從model的設計上或是用sampling strategy來減少demographic bias
+ 這篇paper主要是做實驗來分析不同的data distribution對於performance跟bias會有怎麼樣的影響, 因為都是以實驗為主, 所以就沒有method的部分
---
+ 如同剛剛所說, 這篇paper是要來探討data distribution對於performance跟bias的影響
+ 作者用實驗來推翻以往的想法: 如果要減少racial bias, 就必須使用balanced dataset
+ 
+ 作者先用一個小例子來說明, 上圖的上半部可以看到是用balanced dataset來training, 得到的mean accuracy是75%
+ 上圖的下半部作者把African的比例提高成30%, 其他三個種族是23.3%來做training, 可以看到mean accuracy一樣是75%, 但Caucasian的accuracy下降了一點, African的accuracy上升了一點
+ 所以整體來說, 下半部的standard deviation(bias)是比上半部還要低的
+ 這就可以簡單說明想要減少racial bias, 不一定要使用balanced dataset
+ 後面還有更多實驗以及說明實驗細節, 來支撐作者的觀點
---
+ 這篇paper主要有3個實驗, 所以得出了三個重點
1. 有些種族generalize的能力是比其他種族還要好的
2. imbalanced dataset減少racial bias的能力甚至比balanced dataset還要好
3. 當我們要增加dataset數量的時候, 加入現有的subjects對於accuracy的提升會比加入新的subject還要有幫助
## related work
### sampling strategy
+ 第一篇related work是針對sampling strategy
+ 作者提出了三種sampling strategy
1. equal: 每個class的weight都一樣, 在training過程中weight也都不會改變
2. adjusted: 每個class的weight不一樣, 在training過程中weight不會改變
3. dynamic: 每個class的weight會在training過程中根據作者提出的公式不斷改變
+ 作者實驗的結果確實有將bias減少, 將Africa跟Europe之間的FAR差距從63倍減少到2.5倍
+ 使用的是dynami strategy
+ 而且Africa的data數量只佔整體dataset的0.5%; Europe佔61.0%
+ 所以這裡也可以看出要減少racial bias, balanced dataset並不是一個必要條件
### model design
+ 第二篇是針對model的設計做調整, 這篇paper是我上次報告的paper
+ 作者提出了
+ adaptive convolution kernels
+ channel-wise attention maps
+ 每個種族都有它對應獨立的adaptive kernels以及attention maps, 所以當input image以及它的demographic label進到model之後, model就能根據demographic label得到它所對應的kernels跟maps來產生出最後的結果
+ 這個方法也將bias(standard deviation)從1.11下降至0.60
+ 
---
+ 接下來這篇paper也是針對model的設計來減少racial bias
+ 
+ 作者希望能將gender, age, race, identity這四個feature disentangle
+ 作者的做法是讓4個feature對應的4個classifier彼此做adversarial training, 因為要先讓classifier本身是unbiased, predict出來的結果也才能盡量保持unbiased
+ 假設有一個race feature要通過gender這個classifier, 會希望classifier predict出來的probability distribution跟uniform distribution越相近越好, 因為uniform distribution的randomness是最大的, 也就代表classifier對於這個feature是一無所知的狀態
+ 這樣就符合我們的預期, 因為classifier只能夠去辨認它所負責的那個feature, 它不能夠去辨認出其他feature, 這樣才符合unbiased classifier
### data augmentation
+ 再來這篇paper是採用data augmentation的方式
+ 
+ 上一篇的做法是使用disentangle, 但效果沒有到很好
+ 所以作者就想說, 既然不能把race這種sensitive information disentangle, 那不如讓sensitive information在各個中間做transfer
+ 所以作者使用cycle-GAN將一張image transfer到其他不同種族的domain上
+ 也就是說假設原本我們有一張African的image, 藉由cycle-GAN我就能轉換成Caucasian, Asian, Indian其他三個種族的image, 在data augmentation的同時, 又能創造出不同種族的image
### experiment analysis
+ 最後兩個related work跟我今天要報告的paper一樣, 都是用實驗來分析數據
+ 第一篇同樣也是想要打破謠言, 有人認為越深色的膚色會導致越高的False Match Rate
+ 作者使用Fitzpatrick skin type, 總共有6種, 從type 1最淺到type 6最深
+ 作者將實驗實作在African image上, 實驗結果說明越深的skin tone並不會導致Flase Match Rate的提高
+ 第二篇所提出的論點跟我今天要報告的這篇全不同, 這篇的作者認為balaced dataset才能減少racial bias
+ 但它的實驗結果並沒有特別好, 我自己認為是因為這篇paper提出BUPT dataset, 這個dataset等一下也會提到, 它的demographic distribution每個種族都相同, 也就是balanced dataset
+ 所以我認為它是為了要支撐這個dataset所以提出這個論點
+ 那接下來我們就來看作者的實驗是如何推翻這個論點
## experiment
+ 先來介紹實驗所使用的dataset
+ training dataset
+ BUPT
+ 4個種族(Caucasian, African, Asian, Indian)的distribution都相同
+ testing dataset
+ RFW(Racial Faces in the Wild)
+ performance metrics是使用paur-matching來得到test accuracy
+ 每個種族有相同數量的pairs
+ 
---
+ 實驗所使用到的model有以下4個
1. VGGFace2
2. CenterLoss
3. SphereFace
4. ArcFace
---
### generalizing from single race
+ 第一個實驗如同標題所說, 作者在training時只train在一個種族上, 再將model分別test在四個種族上
#### experiment setup
+ model: ArcFace, Centerloss, SphereFace, VGGFace2
+ race: Caucasian, African, Asian, Indian
+ 以上每個model都會分別用4個種族做training, 所以總共有16種組合
+ 每個組合會train 5次, 再將結果平均得到最後的accuracy
---
+ 
+ 上面這張圖可以得到兩個重點
1. train race dominates the accuracy
+ 先看到Caucasian那一行, 可以看到最上面的區塊是綠色的, 也就是train在Caucasian的情況, 對於Asian以及Indian那兩行也是, African雖然沒有很明顯但還是能夠看出紅色的accuracy是比較高
2. result tend to be grouped by train race, not by method
+ 我們一樣先看到Caucasian那行, 可以看到整行倍顏色分成一塊一塊的, 每個區塊的顏色都代表一個種族; 也就是說主要的差異是在於model被train在不同種族上, 而非使用不同method
+ 在face recognition領域中目前performance最好的method是ArcFace, 所以大家應該會認為不管我train在什麼種族上, 只要使用ArcFace performance應該都會排比較前面
+ 但實驗結果告訴我們, 在data distribution的安排上, 甚至比model的選擇還要更重要
---
+ 
+ 這張圖是將剛剛實驗的images都先切成4 x 4的grid, 然後隨機選取其中一個grid做Gaussian noise injection
+ 可以看到African跟Caucasian的accuracy都還有微幅提升
+ 而從這張圖跟上一張圖可以發現African跟Caucasian的accuracy都是比較高的, 所以感覺上African跟Caucasian有比較好的性質, 在後續會看到更多實驗結果證明這個觀點, 大家可以先稍微記得
---
+ 接下來作者實作了cluster analysis這個實驗
+ intra-race cosine distance
+ 作者先在feature space中找到每個種族的mean vector, 再將這個種族的每個image feature vector跟該種族的mean vector去算cosine distance
+ 
+ 先看到左上圖是train在單一個種族上, 再test在其他種族上所得到的average cosine distance
+ 我們先看對角線(train跟test在同一個種族), 可以看到African跟Caucasian他們的cosine distance是比較大的; 再來我們一列一列看, 基本上除了train跟test是同一個種族的cosine distance一定最大, 接下來第二大的就是test在Caucasian上面, 第三大的就是African
+ 接下來到右上圖, 一列一列看可以發現African跟Caucasian的average test accuracy是比較大的
+ 所以作者推論出一個論點: cosine distance越大, 會導致test accuracy越高
+ 我認為這個觀點是正確的, cosine distance越大代表這個種族在feature space中越分散; 在feature space中很分散就代表在各個角落都會有這個種族的點, 既然四散在各個角落那就代表這個種族的點很容易跟其他種族的點靠比較近, 那他們之間相似程度就越高, 就越不容易產生bias
+ unbias最理想的情況就是4個種族在feature space中都很分散, 代表在space中不管哪個區域我們去取點, 都能很平均取到4個種族的點, 也就不容易產生bias
### analyzing race distributions
#### race distribution setup
+ 這個實驗作者想要嘗試不同的data distribution對於accuracy以及bias會有什麼影響
+ 每個種族有5000個subject(person), 每個subject有18張照片
+ 下圖三角形中的每個點都是一個小dataset, 一個dataset有5000人, 從不同種族選取而來
+ 
+ (w, x, y, z): 括弧內代表不同種族所佔的比例
---
+ 這個圖有點難看懂, 它其實是一個正四面體, 像右下圖一樣, 但因為圖中有很多點, 畫成立體會比較難看懂, 所以作者把它畫成平面的; 大家可以想像把左下圖三角形的三個頂點往螢幕自己的方向摺起來, 就會變成右下圖的正四面體
+ 
+ 可以看到下面4張圖, 每往三角形內部縮一點, 頂點所代表的data distribution就會如同每張圖右邊的所示; 可以看到1個大三角型是由4個小三角形組成, 每個小三角形的最中間那個點所代表的data distribution為(25, 25, 25, 25), 就是balanced dataset
+ 
+ 
+ 
+ 
---
+ 
+ 上圖是train在不同種族test在各種data distribution的結果, 以及mean accuracy和variance
+ 左上角的African Accuracy就代表只train在African這個種族上, 然後test在不同data distribution(每個點都代表不同data distribution)上
+ 這邊我們可以得到三個重點
1. 有包含Caucasian跟African的performance(accuracy)都比較高
+ 大家可以觀察一下, 在每張圖中靠近Csn或是Afn的點, 顏色都是黃綠色的, 也就是accuracy比較高的
+ 這邊就可以呼應前面所說的, Caucasian跟African有比較好的性質
+ 
+ 我們可以看到上圖Caucasian跟African那行, test在Indian(紫色)所得到的accuracy甚至比train跟test都在Indian的accuracy還要高; 對於Asian(藍色)也是
+ 由此可見Caucasian跟African在accuracy的表現上真的比其他兩個種族還好
2. balanced dataset在mean accuracy以及variance的表現上都不是最好的
+ 可以看到不管在6個三角形的哪一個, 任何一個大三角形的4個小三角形的最中間點(balanced dataset)的accuracy或variance都不是最好的
3. 有包含African images的variance都比較低
+ 在Race Accuracy Variance那個三角形中, 以Afn為中心, 附近的點的顏色都是偏淺綠色的(variance低); 即使整個圖中variance最低的點是比較靠近Asn(黃色的點), 但Asn跟Csn那條線上的點的顏色都偏藍紫色(variance高), 所以平均起來還是African周圍的variance比較低, 而且那個黃色的點也有部分包含Afn的images(在Asn跟Afn的連線上)
### increasing dataset size
#### experiment setup
+ 這個實驗想要研究哪一種增加dataset size的方式對於accuracy比較有幫助
+ 每個種族有2500個subjects, 每個subject有10張images
+ 每次增加data都只針對一個種族來增加
1. existing sujects
+ 這個方法每次針對現有的subject每人增加5張images
2. adding new subjects
+ 這個方法每次增加1250個新的subjects, 每個subject增加10張images
---
+ 
+ 從上圖可以很明顯看出綠色增加的accuracy比紅色多, 也就是增加原有的subject images會更有幫助
+ 也可以觀察到坐下角增加Caucasian照片對於4個種族的accuracy提升量是蠻平均的
+ 右下角增加Indian照片, 除了Asian之外對於其他三個種族的提升野蠻平均的
+ 所以觀察這個結果可以發現, 就算增加單一個種族的data, 對於其他種族的accuracy也是有提昇的, 不是說增加某個種族的images, 就只有那個種族的accuracy提升, 所以balanced dataset對於減少racial bias不一定有效
## conclusion
+ 這篇paper藉由實驗推翻了balanced dataset可以減少racial bias這個說法, 從我們剛剛的實驗數據就能很明顯觀察到這點
+ 有包含African images對於減少racial bias的效果比balanced dataset還要好, 我們剛剛也有提到如果包含多一點African images對於accuracy以及bias的效果都是很好的
+ 如果要增加dataset size, 增加現有subject的images對於accuracy的提升會比增加新的subject的效果還要好