# Transparência em algoritmos

Com os avanços recentes na computação, principalmente em áreas como Inteligência Artificial e Aprendizagem de Máquina, a autonomia embutida em softwares e sistemas computacionais está atingindo níveis cada vez mais altos. Técnicas como o aprendizado supervisionado e o aprendizado não supervisionado são utilizadas pelos desenvolvedores para ensinar os sistemas a tomar decisões diante de determinadas situações. Este tipo de tecnologia hoje dá suporte à criação de tipos de aplicações inteligentes diversas e extremamente avançadas, como é o caso de aplicações em carros autônomos, drones não tripulados e aplicações para realização de diagnósticos médicos.
Com toda a autonomia que está sendo empregada nos softwares e com toda a complexidade que estes algoritmos estão atingindo, o tema da transparência em algoritmos se torna cada vez mais atual e a sua discussão se torna praticamente obrigatória. A transparência nos algoritmos visa propiciar um entendimento sobre o que se passa internamente nos softwares que são executados em sistemas computacionais e que muitas vezes ficam ocultos como se fossem caixas pretas. Essa incerteza sobre o comportamento de determinados programas abre espaço para discussões a respeito da moralidade e da ética nas ações tomadas por aquele algoritmo. Por exemplo, um algoritmo que possui certo nível de autonomia precisa, recorrentemente, tomar certas decisões. Caso essas decisões venham a prejudicar um indivíduo em detrimento de outro, por conta de alguma imparcialidade embutida no algoritmo, isso acontecerá porque tal sistema foi desenvolvido para agir dessa maneira, e quanto maior for a transparência nesse tipo de programa, mais simples é prever o comportamento daquele sistema e mais fácil é realizar a responsabilização por possíveis comportamentos ilegais ou antiéticos.

## Definições
### Algoritmo

Um algoritmo nada mais é do que uma receita que mostra passo a passo os procedimentos necessários para a resolução de uma tarefa. É uma sequência lógica, finita e definida de instruções que devem ser seguidas para resolver um problema ou executar uma atividade. O conceito de algoritmo é frequentemente ilustrado pelo exemplo de uma receita culinária, embora muitos algoritmos sejam mais complexos. Eles podem repetir passos, fazer iterações ou necessitar de decisões até que a tarefa seja completada. Um algoritmo corretamente executado não irá resolver um problema se estiver implementado incorretamente ou se não for apropriado ao problema em questão.

### Inteligência Artificial

A inteligência artificial é uma área da computação que está relacionada à capacidade das máquinas de pensarem como seres humanos - de terem o poder de aprender, raciocinar, perceber, deliberar e decidir de forma racional e inteligente. Para realizar a aplicação real de inteligência artificial em sistemas os computadores precisam basicamente de três elementos: bons modelos de dados para classificar, processar e analisar os dados de forma inteligente; acesso a grande quantidade de dados não processados para alimentar os modelos, para que continuem a se aprimorar; e computação de grande potência com custo acessível para que seja possível o processamento rápido e eficiente dos dados.

### Machine Learning

Método de análise de dados que automatiza a construção de modelos analíticos. É um ramo da inteligência artificial baseado na ideia de que sistemas podem aprender com dados, identificar padrões e tomar decisões com o mínimo de intervenção humana. Este ramo da computação evoluiu a partir do estudo de reconhecimento de padrões e da teoria do aprendizado computacional em inteligência artificial. Envolve basicamente três categorias amplas, de acordo com a natureza do aprendizado disponível, que são: Aprendizado Supervisionado, Aprendizado Não Supervisionado e Aprendizado por Reforço. Possui profunda relação com a estatística para a realização de previsões e de classificações com os dados trabalhados pelos modelos.

### Ética

Ramo da filosofia dedicado aos assuntos morais. Aquilo que pertence ao caráter. Representa um conjunto de valores morais e princípios que norteiam a conduta humana na sociedade. A ética serve para que haja um equilíbrio e bom funcionamento social, possibilitando que ninguém saia prejudicado. Embora a ética não possa ser confundida com as leis, está relacionada com o sentimento de justiça social, já que é construída por uma sociedade com base em seus valores históricos e culturais.

## Transparência em Algoritmos, Ética e Inteligência Artificial

É claro que, quanto maiores são os avanços na área de Inteligência Artificial e de Aprendizagem de Máquina, maiores são os níveis de autonomia alcançados pelos sistemas computacionais. Apesar disso, mais difícil fica de se alcançar a transparência nesses tipos de algoritmos, já que, quanto mais complexos eles se tornam, mais similares a caixas pretas eles ficam. É sabido que os avanços na área de Inteligência Artificial têm dado suporte ao surgimento de diversas aplicações bastante úteis e eficientes em diversas áreas da atuação humana. Tais aplicações variam de simples assistentes virtuais de smartphones - como é o caso da Siri e da Google Assistant - até drones militares não tripulados e robôs para exploração espacial. Apesar de todo esse avanço, quanto maior a autonomia e poder de decisão proporcionado para um sistema computacional, mais esses sistemas tendem a se deparar com decisões que, em outros tempos, só poderiam ser tomadas por seres humanos, e é nesse ponto que a discussão ética entra em pauta. A ética basicamente consiste em um conjunto de valores morais e princípios que norteiam a conduta humana na sociedade. Esse conjunto de valores está diretamente relacionado ao processo de tomada de decisão dos seres humanos que vivem em sociedade. A partir do momento em que um sistema computacional toma uma decisão em prol do favorecimento de determinado indivíduo em detrimento de outro por motivos de gênero, religião, raça ou qualquer outra característica pessoal, este sistema estará tomando um tipo de decisão eticamente incorreta e reprovável. Nesse ponto a transparência dos algoritmos é fundamental.
Em muitas situações, algoritmos computacionais podem enrustir ideologias do seu programador. É complicado, levando em conta um programa cujo código fonte tenha milhares ou até milhões de linhas, determinar o motivo específico pelo favorecimento predominante de pessoas do sexo masculino, ou de pessoas da religião budista, ou até de pessoas heterossexuais. Evitar estes tipos de discriminação é o maior objetivo da transparência em algoritmos. Da mesma forma que seres humanos são punidos quando realizam determinados tipos de atitudes julgadas como preconceituosas, deve haver algum tipo de responsabilização para sistemas computacionais cuja execução envolva algum tipo de ação ou decisão nesse sentido. E quanto maior a transparência do comportamento desses algoritmos, principalmente os algoritmos inteligentes, maior será o controle nesse tipo de situação constrangedora e vexatória para determinados indivíduos. Apesar de parecer algo distante, já existem alguns casos nos quais aplicações realizaram ações eticamente reprováveis e que causaram situações constrangedoras para determinados indivíduos.

## Casos Práticos
### Gaydar

O site Gaydar criado em 1999 como uma ferramenta para conectar homens homossexuais e bissexuais ao redor do mundo para amizades, encontros e relacionamentos. O Gaydar é o caso de uma aplicação transparente. Foi criado pelo casal Gary Frisch e Henry Badenhorst com o intuito de oferecer aos homens homossexuais uma possibilidade de encontrar outros homens com a mesma orientação sexual para um encontro ou uma relação mais íntima. Apesar de o objetivo da aplicação ser claro e transparente, o Gaydar acabou afetando de maneira negativa alguns de seus usuários. O fato de ser uma plataforma baseada em perfis de usuários, o Gaydar mantinha o registro de várias informações de seus usuários - fotos, informações pessoais, características - e tal perfil podia ser visitado por qualquer outra pessoa que acessasse o website. Neste quesito, apesar de os usuários possuírem perfis por livre e espontânea vontade, a forma como o website foi construído fazia com que houvesse uma exposição demasiada dos usuários, já que fotos e informações pessoais ficavam expostas para qualquer um que acessasse seu perfil. Essa exposição abria possibilidades para a realização de represálias contra esses usuários por motivos de preconceito e discriminação de gênero. O Gaydar é um exemplo de aplicação que, apesar de ser bem claro e transparente quanto ao seu objetivo, dá aberturas para que situações indesejáveis aconteçam, já que não havia uma forma de controle mais rigorosa quanto à exposição de informações de seus usuários.

### Compas

O COMPAS - Correctional Offender Management Profiling for Alternative Sanctions é um software desenvolvido por uma empresa chamada Equivant que tem como objetivo prever o risco de um réu num processo judicial cometer outro crime. Seu funcionamento é baseado em um algoritmo que considera algumas das respostas dadas para um questionário de 137 itens. Entre os contextos de uso deste aplicativo pode-se destacar a previsão de pontos críticos em crimes violentos, a determinação dos tipos de supervisão que os presos podem precisar de acordo com o seu perfil e principalmente o fornecimento de informações sobre o réu que podem ser úteis no processo de condenação judicial.
Em um caso específico, um homem foi encontrado dirigindo um carro que havia sido usado em um tiroteio. Ele foi preso e declarado culpado. Ao emitir sua sentença judicial, o juiz não considerou apenas o seu registro criminal, mas também a pontuação atribuída ao réu pelo aplicativo COMPAS. O réu recorreu da decisão alegando que o juiz, ao considerar o resultado de um algoritmo cujo funcionamento interno era sigiloso e que não podia ser examinado, violava o princípio do devido processo legal.
Esta é uma situação clara onde a falta de transparência em um algoritmo pode prejudicar indivíduos de maneira deliberada. Como o algoritmo do COMPAS é um algoritmo sigiloso e proprietário, não é possível saber como acontece o processo de tomada de decisões e de avaliação de cada réu. Essa característica abre a possibilidade de o algoritmo possuir ideologias do seu desenvolvedor de maneira enrustida o que pode fazer com que o programa favoreça um determinado individuo em detrimento de outro por conta de características pessoais que não deveriam ser levadas em consideração. Em situações críticas, como é o caso de um processo judicial que vai decidir sobre a liberdade ou não de um determinado indivíduo, caso sejam utilizados algoritmos, esses algoritmos devem ser totalmente transparentes de forma que todo o seu comportamento possa ser mapeado para que não haja nenhuma ação ou decisão ilegal ou eticamente incorreta.

### Veículos Autônomos

O investimento em pesquisa e desenvolvimento de componentes de carros autônomos tem sido foco de várias empresas do setor tecnológico e automobilístico. A produção desse tipo de veículo demanda tecnologia bastante desenvolvida em diversas áreas como redes de sensores, engenharia mecânica e inteligência artificial. Esses carros são guiados por softwares que interagem com o meio ambiente em tempo real, coletando dados e informações para poder tomar decisões básicas como acelerar e frear o carro.
Quando um ser humano está conduzindo um automóvel, é comum que esteja em um nível de concentração elevado para poder tomar decisões em um curto espaço de tempo, já que, muitas vezes, é necessário que as ações sejam tomadas rapidamente para que acidentes possam ser evitados. Muitas dessas decisões não são triviais. Por exemplo, decidir se cai de um grande buraco na rua ou se bate no carro que está transitando na faixa ao lado. Este tipo de decisão é recorrente e as pessoas que costumam conduzir carros estão, de certa forma, habituados a tomá-las. Apesar disso, existem situações em que a decisão tomada pode influenciar diretamente na vida de uma pessoa. Pode-se usar como exemplo uma situação em que a escolha consista em atropelar um pedestre ou tirar o carro da pista, com o perigo de perder o controle do mesmo e capotar. Esse tipo de situação é difícil para o ser humano e, dependendo escolha e das suas consequências fáticas, tais escolhas são passíveis de responsabilização e até mesmo de punição.
Diante de possíveis situações como as comentadas acima, quando se fala em um veículo totalmente conduzido por um software, as decisões a serem tomadas por este algoritmo se tornam de suma importância. Nesse quesito, a transparência do software é fundamental. É necessário saber como o programa que conduz o veículo se comportará em situações adversas. Sabe-se que este tipo de algoritmo precisa estar pronto para tomar decisões o mais rápido possível, e sua transparência faz total diferença para a segurança dos passageiros do veículo e até mesmo dos pedestres. É esse fator que torna o desenvolvimento de carros autônomos tão complexo. Muitas vezes é complicado prover a transparência total do algoritmo utilizado por questões de propriedade e até por questões técnicas mesmo, de não se saber ao certo como será o comportamento do veículo em determinadas situações.
Recentemente foram reportados alguns acidentes com carros autônomos desenvolvidos por grandes empresas, principalmente o caso da Uber. Nesta situação, o carro atropelou uma pedestre que acabou falecendo. Não é simples levar em consideração todas as possibilidades com as quais o sistema do carro teve que lidar para tomar a decisão de não frear ao detectar a presença da pedestre. Apesar disso, é necessário que o algoritmo seja transparente o suficiente para que este tipo de comportamento possa ser previsto e, consequentemente, situações indesejadas como esta possam ser evitadas. Devido a tamanha complexidade e ao risco envolvido na pesquisa e desenvolvimento de carros autônomos, após o acidente a Uber suspendeu o programa de desenvolvimento de carros autônomos.