Aula 14: Removendo Viés com PCA
rências Adicionais {.scrollable} - Embedding Projector
Artigo: Bolukbasi, T., Chang, K. W., Zou, J. Y., Saligrama, V., & Kalai, A. T. (2016). Man is to computer programmer as woman is to homemaker? debiasing word embeddings. Advances in neural information processing systems, 29, 4349-4357.
Muitas aplicações recebem como entrada um conjunto de palavras
Muitas aplicações recebem como entrada um conjunto de palavras
Opção 1: usando “one hot” vectors Cada vetor tem o tamanho do vocabulário e apenas uma entrada não-nula, igual a 1
Opção 1: usando “one hot” vectors
Opção 1: usando “one hot” vectors
Vetores similares são úteis, p. ex., para auto-completar frases mesmo que sequência de palavras nunca tenha sido vistas
“Eu gostaria de tomar um suco de ________”
[laranja] [limão] [cupuaçú]
Opção 2: usando representações densas (conhecidas como “word vectors”, “word embeddings”, “word representations”)
Homem está para mulher assim como Rei está para ? \(e_{man} \rightarrow e_{woman}\) assim como \(e_{king} \rightarrow e_{?}\)
Como usar os embeddings para resolver essa questão?
\(e_{man} - e_{woman} \approxeq e_{king} - e_{?}\)
\(e_{man} - e_{woman} = \begin{bmatrix}-2\\ -0.01\\0.01\\ 0.08\end{bmatrix}\)
\(e_{?} \approxeq e_{king} - (e_{man} -e_{woman}) = \begin{bmatrix}-0.95\\ 0.93\\0.70\\ 0.02\end{bmatrix} - \begin{bmatrix}-2\\ -0.01\\0.01\\ 0.08\end{bmatrix}\)
\(e_{?} = \begin{bmatrix}1.05\\0.94\\0.69\\-0.06\end{bmatrix}\)
\(e_{?} \approxeq e_{king} - (e_{man} -e_{woman})\)
Encontre a palavra \(w\colon \text{arg}\max_w sim(e_w, e_{king} - e_{man} + e_{woman})\)
\(\longleftarrow \text{ média }\begin{cases}e_{he}-e_{she}\\e_{male} - e_{female}\\ \ldots\end{cases}\)
Identificação do viés: Na prática, a direção do viés é calculada usando-se PCA, em vez da média
Passo de neutralização:
Passo de equalização:
Como decidir que palavras devem ser neutralizadas? Autores treinaram classificador para identificar quais palavras são definicionais (em inglês, são uma minoria).
Quais pares equalizar? Em geral, podem ser escolhidos a mão
Os vetores diferença she - he, queen - king, etc não são exatamente iguais
Como encontrar subespaço que codifica gênero?
Agora que definimos o subespaço gênero, \[ \text{a reta } B = \{ag\colon a\in \mathbb R\}\]
Podemos definir o subespaço não-viesado ortogonal a ele:
\[S_{\perp B} = \{x \in \mathbb R^d\colon g^\top x = 0\}\] \[S_{\perp B}\colon g_1x_1 + g_2x_2 + \ldots + g_nx_n = 0\]
Neutralizar um embedding \(x\) equivale a
\[ x - x_B\]
\[ x \leftarrow x - (x\cdot g) g\]
\(e_{man} =(-0.50,0.87)\)
\(e_{woman}=(-0.87,0.50)\)
\(e_{doctor} = (0.87,-0.50)\)
Neutralize \(e_{doctor}\)
\(g = e_{man} - e_{woman}\)
\(g = (0.37, 0.37)\)
Queremos que ele seja unitário: \[ g = \frac{g}{\Vert g\Vert}_2 = (0.71, 0.71)\]
\[\begin{align} e_B &= (e_{doctor}\cdot g)g\\ &= (0.87 \times 0.71 - 0.50 \times 0.71)g\\ &= 0.26(0.71, 0.71)\\ &= (0.18, 0.18) \end{align}\]
\[\begin{align} e_{doctor} &= e_{doctor} - e_B \\ &= (0.87, -0.50) - (0.18, 0.18) \\ &= (0.69, -0.69) \end{align}\]
\(e_{doctor} = \frac{e_{doctor}}{\Vert e_{doctor}\Vert_2} = (0.71, -0.71)\)
Um par definicional \((v_a,v_b)\) deve ter a mesma distância do plano não-viesado:
Word embeddings são representações densas de palavras usadas em tarefas de ML