Resumo Expandido¶
\chapter{Introdução}
Reconhecimento de Atributos Faciais (FAR) possui diversas aplicações, incluindo vigilância, propaganda personalizada, e pesquisas demográficas \cite{thom2020facial}. Modelos do estado-da-arte frequentemente requerem modificações artesanais e ajustes de parâmetros, incluindo realizar fine-tuning para datasets específicos \cite{thom2020facial}, tornando sua inplantação em aplicativos ou serviços inviável sem um conhecimento prévio substancial e dispendiosos recursos computacionais.
Grandes modelos de visão e linguagem (VLMs), como CLIP \cite{clip} e ALIGN \cite{align}, mostraram capacidades zero-shot e few-shot impressionantes em diversas tarefas, como classificação de imagens, recuperação de texto e imagem, geo-localização, e muito mais. Esses métodos utilizam contrastive learning \cite{contrastive_learning} e conjuntos de dados de grande escala com milhões ou bilhões de pares de imagem-texto automaticamente coletados de fontes públicas da web \cite{laion}, sendo capazes de identificar e compreender quase qualquer objeto ou contexto. Com o poder desses modelos, qualquer usuário pode preparar um sistema de reconhecimento biométrico simplesmente ao passar imagens de faces para esses modelos generativos e perguntando pelas características faciais presentes nelas.
Apesar das capacidades zero-shot promissoras dos VLMs, ainda existem muitas preocupações sobre os impactos sociais em aplicações reais \cite{robots_malignant}. Esses Grandes VLMs são treinados sem supervisão a partir de imagens e textos extraídos da web, e tendem a aprender correlações espúrias sobre eles. O design de classes com flexibilidade ilimitada destes modelos podem resultar em seu uso indevido, reduzindo sua performance e em alguns casos causando malefícios ao justificar preconceitos e amplificar pontos de vista estereotipados \cite{dark_side,gender_disparities}.
A natureza e os detalhes dos conjuntos de dados utilizados para treinar estes modelos são normalmente considerados segredos de negócios do mais alto nível pelas empresas privadas que os constróem, deixando pesquisadores e a sociedade no escuro. Até com os dados públicos como o conjunto de dados Laion-5B \cite{laion}, o vasto volume de dados faz com que um processo de curadoria manual seja virtualmente impossível, e até mesmo métodos automáticos para filtrar estes conjuntos massivos de dados se tornam inviáveis quando se possuí recursos de hardware limitados.
Esse trabalho explora os limites da classificação de gênero e raça das imagens do conjunto de dados FairFace \cite{fair_face} usando CLIP, um modelo de visão e linguagem treinado sobre 400 milhões de pares de imagens e textos coletados da internet. Nosso objetivo é entender melhor o impacto do escalamento dos dados e dos modelos nos VLMs e os potenciais danos de um design de classe ruim, como quando são utilizados rótulos estereotipados ou insultantes, em exacerbar o viés social inerentemente contido nestes modelos treinados sem supervisão na web \cite{dark_side}. Para isso, aproveitamos o repositório OpenCLIP, devido a sua vasta lista de modelos pré treinados disponíveis, com diferentes tamanhos e arquiteturas. Nós hipotetizamos que ao melhorarmos o prompt textual usando informações biométricas relevantes nós podemos melhorar os resultados enquanto reduzimos o viés de classificação, ao reduzirmos o intervalo entre a acurácia das classes.
Ao utilizarmos diferentes arquiteturas de modelos e fontes de dados de treinamento nós fomos capazes de avaliar as leis de escalabilidade para a classificação zero-shot de gênero e raça. Percebemos um aumento positivo na acurácia quando escalamos tanto os parâmetros dos modelos como as fontes de dados de treinamento, porém ainda estava abaixo da média necessária para implantação em cenários reais, mostrando que escalonamento puro não é suficiente para essas tarefas. Seguimos com um experimento de engenharia de prompt que combina diferentes atributos humanos (como gênero, etnia e idade) para construir o prompt, e observamos que estas informações adicionais melhoraram a acurácia da classificação zero-shot de genero e raça para todas as arquiteturas dos modelos, enquanto também reduzia o viés ao reduzir o intervalo entre a acurácia de cada classe, e entre a acurácia média e a acurácia do pior grupo. Dado o impacto do prompt de texto, finalizamos nossos experimentos ao aplicarmos um algoritmo de prompt tuning chamado Context Optimization (CoOp) \cite{coop}, capaz de aprender o prompt optimizado para uma tarefa específica, e notamos uma melhoria substancial se comparada com os nossos prompts feitos à mão, mostrando que com VLMs o melhor alinhamento texto-imagem nem sempre é lógico nem legível.
Nossas contribuições são como segue:
\begin{itemize} \item Um benchmark de escalonamento de dados e modelos para classificação zero-shot de gênero e raça \item Uma exploração de estratégias de engenharia de prompt usando adjetivos auxiliares \item A aplicação de prompt tuning usando CoOp \cite{coop} para classificação de raça e a avaliação do seu impacto sobre o viés de classificação.
\chapter{Metodologia e Resultados}
Nossa base e ponto de partida é utilizando o prompt de classificação de imagens padrão com os modelos CLIP originais \cite{clip} para predizer a raça e o gênero das faces contidas no conjunto de dados FairFace \cite{fair_face}, um dataset inovador que contém 108,501 imagens distribuídas entre 7 grupos étnicos, com rótulos relacionados à raça, gênero e idade. As imagens foram obtidas a partir do conjunto de dados YFCC-100M Flickr \cite{thomee2016yfcc100m}, e os rótulos de etnia presentes são: White, Black, Indian, East Asian, Southeast Asian, Middle Eastern e Hispanic Latino. Para os rótulos de gênero está disponível apenas os conceitos binários, Male e Female. Para idade, diversos intervalos estão presentes, desde 0-2 anos até mais de 70. As imagens possuem uma resolução fixa de 224 x 224 pixels, com duas opções de margem de corte, 0.25 e 1.25.
Esse prompt padrão pode ser definido como a versão ``pronta para uso'' que um usuário final poderia implantar imediatamente. A partir disso nós conduzimos nosso benchmark de escalonamento, ao expandirmos a arquitetura dos modelos e o tamanho dos conjuntos de treinamento, aproveitando o repositório recentemente disponibilizado do OpenCLIP \cite{open_clip_repo}.
Ainda que haja melhorias nestes escalonamentos, resultados ainda estão insuficientes para aplicações reais, então nós propomos um experimento de engenharia de prompt, onde melhoramos o prompt padrão de classificação de imagens com informações mais contextualizadas, na forma de adjetivos biométricos relacionados a idade, raça e gênero. Finalizamos os experimentos ao treinar um modelo de prompt tuning chamado CoOp \cite{coop} para aprender os melhores prompts para a tarefa de classificação de etnia.
A ideia principal do CLIP é utilizar um par de encoders de imagem e texto treinados para gerarem vetores de características alinhados, e existem diversas escolhas de encoders e conjuntos de treinamento, impactando fortemente nos resultados finais. Ainda que existam encoders convolucionais de imagens, os melhores resultados foram encontrados com os Vision Transformers, ou ViTs. Diferentes ViTs com um crescente número de parâmetros foram testados em \cite{clip}, como ViT-B (base) e ViT-L (large). Modelos ainda maiores como ViT-H (huge) e ViT-g (giant) foram treinados em \cite{open_clip}. Neste trabalho, consideramos todas essas variantes.
Para cada uma destas arquiteturas, há a opção de variados conjuntos de dados de treinamento, convencionalmente chamados aqui de \textit{fontes de dados}, contendo pares de imagens e seus correspondentes descritores textuais. O artigo original do CLIP \cite{clip} descreve brevemente o seu processo de aquisição de dados utilizado para criar o seu conjunto de dados privado chamado WebImageText (WIT-400M), que contém 400 milhões de pares de imagem/texto coletados da Internet. Além dele, também existem uma réplica de código aberto chamado LAION-400M \cite{laion400}, que contém 400 milhões de pares de imagem e texto coletados do repositório aberto Common Crawl \cite{common_crawl}, filtrados usando modelos CLIP para similaridade de imagem e texto. Baseado nesse esforço inicial, uma versão maior desse dataset foi construída, consistindo em 5.85 bilhões de pares de imagem e texto, filtradas utilizando o CLIP, sendo que 2.32B estão na língua inglesa. Tanto sua versão 400M como a de 2B estão sendo utilizadas no OpenCLIP \cite{open_clip} e são adotadas neste trabalho.
O prompt escolhido inicialmente como base foi o padrão para classificação de imagens, o a photo of a ...''. No nosso caso, esse prompt foi adaptado para
a photo of a
O princípio da classificação zero-shot com modelos pré treinados é encontrar o melhor alinhamento entre um conjunto de prompts de texto e uma imagem de entrada. Já que os conjuntos de treinamento são massivos e na sua maioria coletados da web, é quase impossível \textit{adivinhar} qual descritor textual foi usado para uma certa imagem. Nós hipotetizamos que prompts textuais mais completos, incluindo adjetivos relacionados à biometria, podem melhorar os resultados da classificação zero-shot. Mais precisamente, nós exploramos templates de prompts que incluem informação biométrica, ao combinarmos uma lista de palavras referentes a idade, raça e gênero. O prompt foi construído utilizando o prefixo mencionado anteriormente e uma combinação de raça + gênero, e idade + raça + gênero. Também adicionamos os prompts originais que possuem apenas o gênero e a raça. A lista de termos para cada atributo é apresentado abaixo.
\begin{minted}{python} age_list = ['young', 'old', 'middle-aged'] race_list = ['black', 'white', 'latino hispanic', 'indian', 'east asian', 'southeast asian', 'middle eastern'] gender_list = ['woman', 'man'] \end{minted}
Começamos nossos experimentos com a classificação de gênero, e para isso formulamos um prompt base chamado GP: \texttt{A photo of a man} e \texttt{A photo of a woman}. A partir disso, criamos um outro grupo de prompts com a adição das etnias, chamado RGP, com, por exemplo, o prompt \texttt{A photo of a black woman}. Finalmente, unimos todos os rótulos descritivos possíveis ao adicionarmos adjetivos de idade na mistura, formando um novo grupo de prompts chamados ARGP. Um exemplo de prompt desse grupo é \texttt{A photo of an old black woman}.
Nós conseguimos observar uma melhoria consistente em quase todas as métricas com o escalonamento dos modelos, corroborando as leis de escalonamento apresentados em \citeonline{open_clip}. ViT-H-14 apresentou a melhor acurácia, enquanto ViT-g-14 obteve a menor pontuação GDif, nossa métrica customizada que mede a distância entre a acurácia da classificação dos rótulos Male e Female, onde quanto mais próximo de zero, menos enviesado o modelo apresenta ser. Valores negativos de GDif foram observados em quase todos os modelos, indicando uma acurácia maior para o gênero feminino.
Nos subgrupos das etnias nós observamos que a classe Black obteve a menor acurácia, enquanto Middle Eastern obteve a maior. Ao explorarmos as imagens da etnia negra que o modelo classificou o gênero de forma errada, percebemos que mais da metade deles (65\%) pertenciam aos grupos etários mais jovens, dentre 0 e 19 anos. Isso era esperado já que traços normativos de cada gênero ainda estão indefinidos. Dentre esses exemplares haviam 14 imagens de baixa qualidade, e 18 imagens onde contiam mais de uma face presente, potencialmente confundindo o modelo.
Por outro lado, o subgrupo Middle Eastern obteve os melhores resultados, provavelmente devido a uma maior presença de pêlos faciais nos homens, e o uso de aparatos específicos de gênero como a burka nas mulheres.
Estas melhorias não foram observadas no escalonamento dos dados, onde o dataset original da OpenAI, o WIT, obteve um desempenho melhor do que as outras fontes de dados mesmo sendo um dos menores conjuntos disponíveis, demonstrando que a performance dos modelos não pode ser melhorada apenas com mais volumes de dados. Não é possível examinar de forma aprofundada a razão destes resultados por conta da natureza privada do dataset; podemos apenas imaginar que técnicas de coleta e filtragem complexas foram utilizadas para otimizar os modelos.
Depois destes testes iniciais, expandimos nossos experimentos para avaliarmos o reconhecimento de etnia, utilizando os rótulos de ``raça'' disponíveis no conjunto de dados FairFace. Existem sete classes diferentes para esse atributo: White, Black, Latino_Hispanic, East Asian, Southeast Asian, Indian, e Middle Eastern. Baseado nesses rótulos, nós criamos o prompt base para etnias (RP) com o seguinte template: \texttt{A photo of a
Ainda que o escalonamento dos modelos e dos dados tenha melhorado os resultados da classificação de etnias, os valores ainda estão muito abaixo daqueles observados nos resultados para gênero, sugerindo que o reconhecimento de etnia é uma tarefa muito mais complexa. Por isso decidimos explorar os efeitos dos adjetivos auxiliares presentes nos nossos prompts RGP e ARGP.
Para os modelos menores, especialmente para o ViT-B-16 e o ViT-L-14, observamos uma melhora significativa na acurácia, indo de 0.5886 e 0.5922 respectivamente utilizando os prompts RP originais, para 0.6558 e 0.6724 utilizando os prompts ARGP propostos.
Esta engenharia de prompts pode melhorar os resultados de classificação, porém são uma tarefa manual e normalmente laboriosa. Com isso, nós também exploramos a automatização da elaboração dos prompts ao adotarmos um algoritmo de prompt tuning chamado CoOp. Em modelos de visão e linguagem, aprendizado de prompts refere-se a uma técnica para adaptar modelos transformers de acordo com tarefas de visão, ao introduzir parâmetros treináveis no encoder de texto do modelo, enquanto mantém todo o backbone congelado. Esse novo tipo de fine-tuning demonstrou uma performance promissora enquanto utiliza menos de 1\% dos parâmetros dos modelos \cite{jia2022visual}.
Seguindo a linha de trabalho sobre o impacto do prompt textual na classificação zero-shot de atributos faciais, nós treinamos diversos modelos CoOp para verificarmos essas afirmações. Modelos CoOp aprendem qual é o template ideal para uma certa tarefa de classificação, ao introduzir na entrada de texto vetores de tokens optimizáveis chamados de vetores de contexto, ajustando-os a partir de uma função de custo. Nem sempre estes tokens são legíveis, mas eles são a mais próxima aproximação da distância contrastiva para um determinado rótulo alvo.
Estes prompts optimizados foram capazes de ultrapassar os nossos prompts manuais em 7 pontos, provando que os melhores prompts para uma determinada tarefa nem sempre são lógicos ou estão sujeitos à melhorias manuais.
\chapter{Conclusão}
Reconhecimento de gênero e etnia são uma parte vital em sistemas de reconhecimento automatizado de atributos faciais, com aplicações reais em vigilância, segurança e estudos demográficos. Porém, a adoção de modelos de visão e linguagem nestas tarefas continuam inexploradas. Com esse fim, nós conduzimos um benchmark de leis de escalonamento para a classificação zero-shot de gênero e etnia utilizando modelos OpenCLIP \cite{open_clip} no popular conjunto de dados FairFace \cite{fair_face}. Nossos resultados indicaram que o escalonamento puro não é suficiente, especialmente para classificação de etnias, com uma acurácia mediana de 0.68 com ViT-H-14 e exibindo sinais de viéses de classificação ao se mostrar incapaz de reconhecer corretamente o subgrupo Latino Hispanic'' (0.40 de acurácia no mesmo modelo ViT-H-14). Nós fomos capazes de melhorar a acurácia e reduzir estes viéses ao manufaturarmos prompts ricos em características, indo de 0.58 para 0.65 com ViT-B-16, e alcançamos os limites do prompting ao utilizarmos um algoritmo de prompt tuning para aprendermos os melhores prompts para esta tarefa de classificação. Este método foi capaz de mitigar alguns problemas sérios nos modelos base, como com o subgrupo
White'', melhorando a acurácia de 0.10 para 0.81 no modelo ViT-L-14, enquanto utiliza uma combinação incompreensível de palavras no seu template. Estes resultados indicam que avaliar o viés utilizando modelos tipo o CLIP é uma tarefa árdua, já que a escolha dos melhores prompts podem impactar consideravelmente os resultados da classificação.
Nós escolhemos explorar as capacidades reais dos modelos CLIP para as tarefas de classificação zero-shot, e por conta disso nós não pré processamos nem filtramos nenhuma das imagens do conjunto de dados FairFace. Ao fazermos isso, nós observamos algumas limitações qualitativas do conjunto de dados em si, como por exemplo imagens com ângulos ruins, qualidade baixa, ou apresentando mais de uma face. Nós esperamos expandir essa linha de trabalho ao explorarmos outros conjuntos de dados de imagens faciais, focando naqueles com auto identificação das informações pessoais como raça, gênero e idade. Pelo que sabemos, não há conjuntos de dados de face disponíveis publicamente que vão além das definições simplistas de gêneros binários, sugerind uma linha interessante de trabalho futuro.
Dado a natureza privada e a extrema escala das fontes de dados (que previnem curadoria humana), este trabalho espera ajudar a evidenciar o impacto do escalonamento dos dados e dos modelos, enquanto demonstra o papel crucial dos prompts de texto a fim de identificar corretamente imagens de faces, uma tarefa simples que os resultados promissores podem persuadir usuários à implantações reais. É para o bem de todos os grupos sociais marginalizados e em perigo que esse tipo de pesquisa se torna importante, dado o crescente interesse em modelos de visão e linguagem com recursos prontos para uso. Nós esperamos que, ao expandirmos essa linha de pesquisa, podemos ajudar a aumentar a consciência social no uso cuidadoso e justo de poderosas ferramentas como estas.
Como um trabalho futuro, planejamos explorar novas variações do CLIP que melhoram sua performance \cite{siglip2,li2023blip}, adaptam ele para línguas não inglesas \cite{santos2023capivara}, e o tornam mais justo \cite{fairer_clip,moreira2024fairpivara}.