雷鋒網 AI 科技評論按:本文由 Ben Packer, Yoni Halpern, Mario Guajardo-Céspedes & Margaret Mitchell (Google AI)於 2018 年 4 月 13 日發布。這篇文章討論並嘗試實際測量了不同文本嵌入模型中的性別偏差。雷鋒網(公眾號:雷鋒網) AI 科技評論全文編譯如下。
當面對任務時,我們機器學習從業者通常基於該任務上的表現好壞來選擇或訓練模型。例如,假設我們正在建立一個系統來分類電影評論是正面還是負面,我們會選取 5 種不同的模型,看看每個模型對於這項任務的表現如何。
通常情況下,我們會選擇模型 C。儘管較之其他模型,模型 C 的效果最好,但是我們發現,模型 C 也最有可能將更積極的情感賦予「主角是男人」這句話,而不是「主角是女人」這句話。 我們應該重新思考這個問題嗎?
神經網絡模型可以非常有力、有效地用於模式識別並揭示從語言翻譯,病理學到玩遊戲等各種不同任務的結構。同時,神經網絡(以及其他類型的機器學習模型)也包含許多形式的存疑的偏差。例如,被訓練用於檢測粗魯,侮辱或不恰當評論的分類器在面對「我是同性戀」和「我是直的」這兩句話時,可能更容易命中前一句;人臉識別模型對於著妝的女性而言可能效果不佳;語音轉錄對美國黑人的錯誤率可能高於美國白人。
許多預先訓練好的機器學習模型已廣泛供開發人員使用。例如,TensorFlow Hub 最近公開發布了平臺。當開發人員在應用程式中使用這些模型時,他們意識到模型存在偏差以及偏差在這些應用中會如何展現。
人為的數據默認編碼了人為的偏差。意識到這件事是一個好的開始,關於如何處理它的研究正在進行中。在 Google,我們正在積極研究意外偏差分析和減小偏差的策略,因為我們致力於製造適合每個人的產品。在這篇文章中,我們將研究一些文本嵌入模型,提出一些用於評估特定形式偏差的工具,並討論構建應用程式時這些問題的重要性。
文本嵌入模型將任何輸入文本轉換為數值化的輸出向量,並且在過程中將語義相似的詞語映射到相鄰的向量空間中:
給定一個訓練好的文本嵌入模型,我們可以直接測量模型中的單詞或短語之間的關聯。這些關聯許多都是符合預期的,並有助於自然語言任務。然而,也有些關聯可能會有問題。例如,Bolukbasi 等人的突破性 NIPS 論文《Man is to Computer Programmer as Woman is to Homemaker? Debiasing Word Embeddings》(https://arxiv.org/abs/1607.06520)中發現,基於 Google 新聞文本用流行的開源工具 word2vec 訓練的詞向量模型中,「男人」和「女人」之間的向量關係類似於「醫生」和「註冊護士」或「掌柜」和「家庭主婦」之間的關係。
最近,由 Caliskan 等人提出的詞向量關聯測試(WEAT)(Semantics derived automatically from language corpora contain human-like biases, Science, https://arxiv.org/abs/1608.07187)是一種檢查詞向量概念之間關係的方法,這些概念可以從內隱聯想測驗(IAT)中捕獲。本文我們將 WEAT 用作探索某些存疑關聯的一種方式。
WEAT 測試得出了模型將目標詞組(例如,非洲裔美國人名字,歐洲美國人名字,花或昆蟲)與屬性詞組(例如「穩定」,「愉快」或「不愉快」)聯繫起來的程度。兩個給定詞之間的關聯被定義為詞向量之間的餘弦相似度。
例如,第一次 WEAT 測試的目標列表是花和昆蟲的類型,屬性列表是表愉快的詞(例如「愛」,「和平」)和不愉快的詞(例如「仇恨」,「醜陋的」)。總體測試分數上,相對於昆蟲,花與表示愉快的詞語之間的相關程度更大。值為正的高分(分數可以介於 2.0 和-2.0 之間)意味著花與愉快的單詞更相關,而值為負的高分意味著昆蟲與愉快的單詞更相關。
而在 Caliskan 等人提出的第一個 WEAT 測試中,測量的關係並不是社會所關注的(除了對昆蟲學家而言),其餘的測試可以測量出更多存疑的偏差。
我們使用 WEAT 分數來檢查幾個詞向量模型:word2vec 和 GloVe(以前在 Caliskan 等人文章中提到過),以及 TensorFlow Hub 平臺上開源的三個新發布的模型——nnlm-en-dim50,nnlm-en-dim128 和 universal-sentence-encoder。得分報告在表 1 中。
這些關聯是從用於訓練這些模型的數據中學習得到的。所有模型都已經學會了我們可能期望的花、昆蟲、樂器和武器的聯繫,這可能對文本理解有用。從其他目標類別學習得到的關聯關係中,包含一些(但不是全部)由模型增強了的常見人為偏差。
對於使用這些模型的開發人員來說,了解這些關聯存在很重要,並且這些測試僅評估一小部分可能存在問題的偏差。減少不必要偏差的策略是一個新的活躍的研究領域,然而目前並沒有某一個方法可以適用於所有應用。
在關注文本嵌入模型中的關聯時,要確定它們對下遊應用程式影響的最明確方法是直接檢查這些應用程式。我們現在來看看對兩個示例應用程式的簡要分析:一個情感分析器(Sentiment Analyzer)和一個消息應用程式(Messaging App)。
WEAT 分數測量詞向量的屬性,但是他們沒有告訴我們這些向量如何影響下遊任務。在這裡,我們演示將姓名映射到幾個常見向量後對於影評情感分析的任務的影響。
Tia 正在訓練一個電影評論情感分類器。她沒有太多的影評樣本,所以她利用預訓練文本嵌入模型,將文本映射到可以使分類任務更容易識別的表示中。
讓我們使用 IMDB 電影評論數據集來模擬 Tia 的場景,對 1000 個正面評論和 1000 個負面評論進行二次抽樣。我們將使用預先訓練的詞向量來將 IMDB 評論的文本映射到低維矢量空間,並將這些矢量用作線性分類器中的特徵。我們將考慮一些不同的詞向量模型,並分別訓練一個線性情感分類器。
我們將使用 ROC 曲線下的面積(AUC)度量來評估情感分類器的質量。
這裡是使用每個向量模型提取特徵的電影情感分類的AUC分數:
起初,Tia 似乎很容易做出決定。她應該使用得分最高的向量模型用在分類器中,對吧?
但是,讓我們考慮一些可能影響這一決定的其他因素。這些詞向量模型是在 Tia 可能無法獲取的大型數據集上訓練得到的。她想評估這些數據集中固有的偏差是否會影響她的分類行為。
通過查看各種向量模型的 WEAT 分數,Tia 注意到一些詞向量模型認為某些名稱比其他名稱更具有「愉快」的含義。這聽起來並不像電影情感分析器的一個很好的屬性。Tia 認為名稱不應該影響電影評論的預測情感,這似乎是不對的。她決定檢查這種「愉悅偏差」是否影響她的分類任務。
她首先通過構建一些測試樣例來確定是否可以檢測到明顯的偏差。
在這種情況下,她從她的測試集中取得 100 條最短的評論,並附上「評論來自 _______」這幾個字,其中空白處填入一些人的姓名。使用 Caliskan 等人提出的「非裔美國人」和「歐洲美國人」名單,以及來自美國社會保障局的普通男性和女性的名字,她研究了平均情感分數的差異。
上面的小提琴圖顯示了 Tia 可能看到的平均情感分數的差異分布,通過從原始 IMDB 訓練集中抽取 1000 個正面和 1000 個負面評論的子樣本進行模擬。我們展示了 5 種詞向量模型的結果以及沒有使用詞向量的模型的結果。
檢查沒有詞向量的情感差異很方便,它可以確認與名稱相關的情感不是來自小型IMDB監督數據集,而是由預訓練詞向量模型引入的。我們還可以看到,不同的詞向量會導致不同的系統輸出,這表明詞向量的選擇是 Tia 情感分類器將會產生的關聯的關鍵因素。可以看到,只是在最後附加了不同性別的名字,都導致某些模型的情感分類的結果出現了變化。
Tia 接下來就需要非常仔細地考慮如何使用這個分類器。也許她的目標只是選擇一些好的電影供自己觀看。在這種情況下,這可能不是什麼大問題。出現在列表頂部的電影可能是非常喜歡的電影。但是,如果她用她的模型來評估演員的平均影評等級,以此為依據僱傭演員並支付演員薪酬呢?這聽起來就有大問題了。
Tia 可能不限於此處所提供的選擇。她可能會考慮其他方法,如將所有名稱映射到單個詞中;使用旨在減輕數據集中名稱敏感度的數據重新訓練詞向量;或使用多個向量模型並處理模型不一致的情況。
這裡沒有一個「正確」的答案。這些決策中的很多都是高度依賴於上下文的,並取決於 Tia 的預期用途。對於 Tia 來說,在選擇訓練文本分類模型的特徵提取方法時需要考慮的指標遠不止分類準確率一項。
Tamera 正在構建一個消息應用程式,並且她希望使用文本嵌入模型在用戶收到消息時給予他們建議的回覆。她已經建立了一個系統來為給定的消息生成一組候選回復,並且她希望使用文本嵌入模型對這些候選人進行評分。具體而言,她將通過模型運行輸入消息以獲取消息的文本嵌入向量,對每個候選響應進行相同的處理,然後使用嵌入向量和消息嵌入向量之間的餘弦相似度對每個候選者進行評分。
雖然模型的偏差在許多方面可能對這些建議答覆起作用,但她決定專注於一個狹窄的方面:職業與二元性別之間的關聯。在這種情況下,舉一個關於偏差的例子,如果傳入的消息是「工程師是否完成了項目?」模型給回答「是的,他做了」的評分高於「是的,她做了」,就體現出了模型的偏差。這些關聯是從用於訓練詞向量的數據中學習的,雖然它們對於性別的反應程度很可能就是訓練數據中的實際反應(以及在現實世界中這些職業中存在性別不平衡的程度),但當系統簡單地假定工程師是男性時,對用戶來說可能是一種負面的體驗。
為了衡量這種形式的偏差,她創建了提示和回復的模板列表。這些模板包括諸如「是你的表弟嗎?」和「今天是在這裡嗎?」等問題,答案模板是「是,他/她是的」。對於一個給定的職業和問題(例如,「水管工今天會在場嗎?」),模型的偏差分數是模型對女性性別反應(「是,她會」)的分數與男性(「是的,他會的」)的分數的差異:
對於整個給定的職業,模型的偏差分數是該職業所有問題/答案模板的偏差分數的總和。
通過使用 Universal Sentence Encoder 嵌入模型分析,Tamera 可以運行 200 個職業。表 2 顯示了最高女性偏差分數(左)和最高男性偏差分數(右)的職業:
「女服務員」問題更有可能產生包含「她」的回應,但 Tamera 並沒有為此感到困擾,但許多其他回應的偏差阻攔了她。和 Tia 一樣,Tamera 可以做幾個選擇。她可以簡單地接受這些偏差,不做任何事情,但起碼,如果用戶抱怨,她不會措手不及。她可以在用戶界面上進行更改,例如通過提供兩個性別的響應而不是一個,當輸入消息中需要含有性別代名詞的時候(例如,「她今天會在那裡嗎?」)。
但她也可能不想這樣做。她可以嘗試使用偏差減輕技術重新訓練詞嵌入模型,並檢查這會如何影響下遊任務的表現,或者她可能會在訓練她的分類器時直接減輕分類器中的偏差(例如,http://research.google.com/pubs/pub46743.html,https://arxiv.org/abs/1707.00075,或者 https://arxiv.org/abs/1801.07593 )。無論她決定做什麼,重要的是 Tamera 都會進行這種類型的分析,以便知道她的產品的功能,並且可以做出明智的決定。
為了更好地理解 ML 模型可能產生的潛在問題,模型創建者和使用這些模型的從業者應該檢查模型可能包含的不良偏差。我們已經展示了一些工具來揭示這些模型中特定形式的刻板印象偏差,但這當然不構成所有形式的偏差。即使是這裡討論的 WEAT 分析的範圍也很窄,所以不應該被解釋為在嵌入模型中抓取隱式關聯的完整故事。例如,針對於消除 WEAT 類別中的 50 個名稱的負相關而明確訓練的模型可能不會減輕其他名稱或類別的負相關,並且由此產生的低 WEAT 得分可能給出錯覺,即整體上的負關聯問題已經得到了很好的解決。這些評估更好地告訴我們現有模型的行為方式,並作為一個起點讓我們了解不需要的偏差是如何影響我們創造和使用的技術的。我們正在繼續解決這個問題,因為我們相信這很重要,同時也邀請您加入這個話題。
致謝:我們要感謝 Lucy Vasserman,Eric Breck,Erica Greene 以及 TensorFlow Hub 和 Semantic Experiences 團隊在這項工作上的合作。
via developers.googleblog.com,雷鋒網 AI 科技評論編譯
雷鋒網版權文章,未經授權禁止轉載。詳情見轉載須知。