20 de ago de 2018

Discriminação algorítmica: entenda o que é e como criar algoritmos justos

Udacity Brasil

Você já sabe: os programas e sistemas de inteligência artificial existem basicamente para executar de forma eficaz e mais rápida aquelas tarefas que o ser humano levaria muito tempo – ou sequer conseguiria realizar sozinho.

Acontece que esses sistemas funcionam graças a algoritmos que, por sua vez, são criados por pessoas. Isso significa que os comandos obedecidos pelas máquinas são frutos da mente humana e, por isso mesmo, podem cometer erros, preconceitos e injustiças.

Um estudo recente da Dartmouth College, por exemplo, revelou que o programa COMPAS, adotado pela justiça americana para prever a reincidência criminal, é levemente menos eficaz do que as previsões feitas por seres humanos: os algoritmos acertaram 65% das previsões de reincidência contra 67% de acerto dos humanos.

Ou seja, embora os criadores do sistema argumentem que o big data e o machine learning avançado tornem as análises mais precisas e menos tendenciosas do que aquelas feitas por pessoas, o estudo mostrou que isso ainda não é tão verdade nesse caso.

Não para por aí: outro dado é que esse mesmo sistema tende a considerar, de maneira errônea, que pessoas negras teriam duas vezes mais chance de cometer novos crimes do que pessoas brancas.

Outro contexto em que injustiças costumam ser causadas pelos algoritmos é na contratação de funcionários. Por exemplo: se os dados conectados aos algoritmos de seleção sugerem que homens são mais produtivos do que mulheres, o sistema irá aprender que os candidatos do sexo masculino devem ser mais considerados para as vagas do que as candidatas do sexo feminino.

Quando os recrutadores confiam completamente nas máquinas, achando que a decisão automatizada é justa e sem vieses, tendem a não enxergar as discriminações feitas pelo sistema, resultando em práticas de contratação pouco adequadas.

Tudo isso tem sido chamado, em inglês, de algorithm bias, ou discriminação algorítmica.

Discriminação algorítmica: o que é?

O termo é relativamente novo, mas já tem sido amplamente usado por pesquisadores e profissionais da área da computação. O fato é que não é possível fingir que a situação não existe: a discriminação algorítmica é real e deve ser encarada com seriedade por todos aqueles que estão codificando sistemas.

"A discriminação algorítmica, assim como a discriminação feita por humanos, resulta em injustiça. No entanto, os algoritmos, como os vírus, podem espalhar seu preconceito em escala massiva, em ritmo acelerado", alertou em um Tedx a cientista da computação Joy Buolamwini, pesquisadora do MIT.

A pesquisadora afirma ainda que a discriminação algorítmica não se restringe ao mundo digital e geralmente culmina em experiências excludentes e práticas discriminatórias no mundo real.

Ela própria, que é negra, diz já ter se deparado com uma série de sistemas de reconhecimento facial que não conseguem detectar seu rosto porque tais sistemas foram projetados apenas para perceber faces de pele clara.

"O que podemos fazer a respeito? Podemos começar pensando como criar e empregar códigos mais inclusivos", sugere Joy Buolamwini. "Realmente começa com as pessoas."

Segundo ela, as pessoas que criam os códigos são muito importantes. "Estamos formando times de programadores com uma boa diversidade, para que um possa checar os pontos cegos do outro?", questiona Joy.

Leia: Tutorial de TensorFlow para iniciantes: aprenda a processar imagens

Pensamento crítico para minimizar preconceitos e injustiças

Um dos grandes desafios que permeiam esse tema é o seguinte paradoxo: como criar sistemas justos de inteligência artificial em um mundo injusto?

A professora e pesquisadora Tina Eliassi-Rad, da Northeastern University (EUA), acredita que uma das forma de abordar esse problema é colocar os cientistas da computação em contato direto com filósofos, especialistas em ética e outros profissionais de áreas que historicamente examinaram a justiça, a fim de antever os preconceitos que podem ser cometidos pelos algoritmos.

Esse tipo de ação ajudaria a diminuir casos constrangedores que vêm acontecendo por conta de sistemas que operam de forma tendenciosa. Outro exemplo? Um software de reconhecimento da facial da Nikon integrado a algumas câmeras, perguntava ao usuário “alguém piscou?” quando um usuário asiático era fotografado.

Mais uma situação-limítrofe aconteceu em 2015, quando o algoritmo de reconhecimento facial da Google identificou duas pessoas negras como "gorilas" em uma fotografia. Tina Eliassi-Rad acredita que esses e tantos outros casos são exemplos da falta de dados suficientemente diversificados usados ​​no treinamento do algoritmo. Para ela, tais incidentes poderiam ser evitados se o algoritmo de machine learning recebesse dados de treinamento mais equilibrados e se os programadores tivessem maiores discussões sobre o assunto.

Qual linguagem de programação aprender? Este infográfico mostra!

As características sensíveis e os dados

Como cada vez mais algoritmos têm tomado decisões no lugar dos seres humanos, é fundamental que eles estejam executando suas tarefas de maneira adequada e equilibrada, respeitando os direitos e a diversidade de pessoas que existe no mundo.

"Algoritmos podem embutir preconceitos quando suas decisões são baseadas nas chamadas 'características sensíveis', que incluem nacionalidade, raça, credo e orientação sexual, por exemplo", explica em entrevista à Udacity o professor André Carlos de Carvalho, do Instituto de Ciências Matemáticas e de Computação da USP.

Os algoritmos também são fortemente influenciados pelos dados utilizados no projeto. "Se esses dados possuem um viés que favorece ou prejudica um determinado perfil, o algoritmo vai incorporar esse viés. Por isso, é muito importante não apenas projetar com cuidado os algoritmos, mas também preparar e utilizar dados representativos e que não reforcem preconceitos e injustiças", alerta o professor.

Leia: O que é data mining? Entenda esse campo que envolve inteligência artificial e data science

Carvalho ressalta ainda que os problemas éticos com algoritmos podem envolver o vazamento de dados pessoais (em contradição ao direito à privacidade) e a falta de transparência sobre os critérios utilizados para tomada de decisão.

"Não é suficiente desejar criar algoritmos justos, éticos e sem preconceitos. Os algoritmos devem ser avaliados por pessoas diferentes daquelas que os criara, para garantir que eles realmente possuem essas características", resume Carvalho.

8 boas práticas para criar algoritmos justos

Para entender como criar algoritmos justos e sem preconceito, confira a seguir 8 boas práticas:

1. Times diversos

É fundamental investir na diversidade dos times. Quando a equipe que cria um sistema é composta por pessoas diferentes, naturalmente uma acaba cobrindo os pontos cegos das outras – desde questões raciais até identidade de gênero.

2. Reflexão e pensamento crítico

Todos os programadores devem buscar continuamente o pensamento crítico, seja a partir de leituras, estudo sobre o assunto ou o diálogo com profissionais que se dedicam à ética e à justiça. É necessário que cada programador tenha consciência da importância dos algoritmos que está criando e que entenda os impactos que os sistemas podem causar sobre as pessoas e a sociedade como um todo.

3. Cuidado com as características sensíveis

Informações como etnia, cor de pele, idade, gênero, orientação sexual, nacionalidade, credo, classe social, entre outras, têm sido amplamente utilizadas por diferentes sistemas de inteligência artificial. No entanto, é indispensável pensar de que maneira e com qual finalidade esse tipo de dado será adotado pela máquina na hora de uma tomada de decisão. Preconceitos enraizados nos seres humanos tendem a ser reproduzido nos algoritmos.

4. A qualidade dos dados

Garantir a veracidade e a qualidade do big data é condição básica para um sistema de sucesso e que funciona de maneira justa. Os dados utilizados devem ser curados e um especialista deve ser responsável por verificar sua autenticidade, qualidade e ausência de preconceitos ou informações que possam prejudicar quem disponibilizou seus dados pessoais.

5. Avaliações e auditorias

Os algoritmos devem ser avaliados e auditados por pessoas diferentes daquelas que os criaram. O objetivo disso é detectar falhas, injustiças e preconceitos. Isso deve ser feito, idealmente, antes de seu lançamento. Mas os que já estão no mercado e ainda não passaram por uma avaliação desse tipo também devem ser checados.

6. Ouvir feedbacks

É importante manter um canal aberto de comunicação com usuários dos sistemas para ouvir feedbacks e colher opiniões diversas. Dessa forma, se alguém notar algum tipo de injustiça sendo cometida pelos algoritmos, poderá reportar aos programadores, ajudando-os a melhorar o sistema.

7. Transparência e segurança

Os algoritmos devem ser transparentes para que esteja clara a forma como eles funcionam e os resultados que geram. Zelar pela proteção do grande volume de informação utilizado pelos sistemas também deve estar entre as prioridades dos programadores.

8. Falar sobre o assunto

Promover o debate e incentivar a troca de ideias são medidas que aumentam a conscientização sobre o tema. Uma vez alertadas sobre a existência de injustiças nos sistemas, todas as pessoas tendem a se tornar mais críticas – tanto as que utilizam os algoritmos no dia a dia como aquelas que os criam.

Leia também:

Sobre o autor
Udacity Brasil

A Udacity, conhecida como a "Universidade do Vale do Silício", é uma plataforma online e global que conecta educação e mercado para ensinar as habilidades do futuro – de data science e marketing digital à inteligência artificial e desenvolvimento. Hoje, há mais de 7 mil alunos ativos no país e 50 mil pelo mundo.