Transparência em Modelos de Inteligência Artificial: Estratégias para Explicar Decisões Complexas

Um revolucionário fundo de investimento financeiro que faz uso de Inteligência Artificial e de modelos de Aprendizagem Profunda apareceu. Tu, entusiasmado com a ideia, decides ir à reunião de apresentação e perguntar o porquê de o modelo ter decidido comprar a ação Y. Há alguns anos, o que provavelmente te seria respondido era um sincero “Não sei”, com um sorriso do apresentador, mas atualmente tudo mudou. 

A dificuldade de entender as decisões dos modelos de Aprendizagem Profunda foi e é um obstáculo à entrada destes decisores nos mercados onde esse entendimento é chave (por exemplo, nos serviços financeiros, na medicina e na justiça) o que leva à necessidade do aparecimento e aperfeiçoamento de processos e métodos capazes de explicar o que levou à decisão do modelo. 

Quando utilizados algoritmos de Machine Learning clássico, como a Regressão Linear ou Árvores de Decisão, as decisões conseguem ser explicadas pelo algoritmo em si visto estes serem os chamados “glass-boxes”

Regressão Linear 

y= β01x12x2+…+ βnxn

Na regressão linear, podemos basear-nos nos pesos (βk) que o modelo atribui a cada variável independente (xk), conseguindo perceber a magnitude em que influenciam a variável objetivo pelo valor absoluto de βk e em que sentido a influenciam pelo sinal de (βk). Para isso, necessitamos que cada variável independente (xk) não seja correlacionada a nenhuma outra e que a escala dos valores seja tida em conta. Voltando à história do fundo de investimento: 

  • Se X1 for a receita anual de uma empresa que tem como única fonte de rendimento a venda de um produto e X2 o número anual de vendas de produtos, não conseguiremos tirar conclusões dos pesos (β1 e β2) pois as variáveis terão uma correlação próxima de 1, o que é um fator de impedimento. 
  • Se X1 for a receita anual de uma empresa em milhares de euros e X2 for o gasto anual de uma empresa, em euros, imaginando β1 = 12 e β2 = -10000, pode-se erradamente pensar que X2 tem uma maior importância para o modelo, mas convertendo à mesma escala de “milhares de euros” temos β1 = 12 e β2 = -10, o que atribui maior importância a X1. 

Árvore de decisão 

Numa árvore de decisão, as decisões são tomadas com base numa série de divisões definidas com o objetivo de maximizar o ganho de informação a cada decisão que for feita, permitindo que cada decisão possa ser visualizada e entendida através da estrutura da árvore construída.  Por exemplo, na árvore apresentada na figura 1 conseguimos perceber o porquê de o modelo afirmar que deveríamos comprar uma ação Y com mais de 100M de receitas – o CEO não se demitiu no ano anterior! 

Um exemplar de uma árvore de decisão, um dos modelos mais usados para previsão

FIGURA 1 – Um exemplar de uma árvore de decisão, um dos modelos mais usados para previsão

No entanto quando avançamos até ao território dos modelos de Aprendizagem Profunda, tudo se complica devido à sua natureza de “black boxes”.         

Na rede neuronal simples apresentada na figura 2 podemos ver 3 camadas (camada de entrada, camada oculta e camada de saída), com 2, 4 e 1 neurónios, respetivamente. Cada neurónio, de cada camada que não a 1ª, calcula a soma ponderada das entradas (Wk  ⋅ Xk) usando um vetor de pesos Wk individual. Por exemplo, o primeiro neurónio da camada oculta só está conectado ao 1º neurónio da camada de entrada, o que faz com que o seu vetor de pesos apenas tenha 1 valor, enquanto os 2º e 3º neurónio estão conectados aos 2 neurónios da camada de entrada, o que faz com que o seu vetor de pesos tenha 2 valores.

FIGURA 2 – A arquitetura de uma rede neuronal simples

FIGURA 2 – A arquitetura de uma rede neuronal simples

Como esta rede neuronal é tão simples, à semelhança da regressão linear, facilmente se consegue perceber o que nos leva a ter maior peso numa decisão, mas como se procederia se a rede fosse mil milhões de vezes maior? Para se ter noção da magnitude do que falamos, esta rede tem 17 parâmetros, o GPT-3 tinha à data de lançamento 170 mil milhões de parâmetros, o que causa uma dificuldade inerente à capacidade de explicarmos a racionalidade do modelo face a uma decisão.

Para isso, houve a necessidade de investigar técnicas que nos permitissem essa explicação de uma forma eficaz e sem esforço. Serão apresentadas 3 das técnicas mais utilizadas no momento atual.

Local Interpretable Model-agnostic Explanations (LIME)

O LIME é uma técnica projetada para aumentar a transparência dos modelos de Machine Learning, principalmente daqueles considerados como “black boxes”, como as redes neuronais. O LIME fornece explicações locais para o comportamento de um modelo numa previsão específica, garantindo que esta se torne acessível à avaliação humana.

O processo de funcionamento é o seguinte:

  1. Seleção do Caso: O primeiro passo consiste na seleção do caso específico, no caso poderíamos considerar a decisão de não comprar a ação da empresa Y.
  • Perturbação de Dados: O LIME cria vários casos semelhantes ao escolhido, alterando ligeiramente os dados de entrada desse caso específico — por exemplo, ajustando o valor das receitas ou o valor da dívida da empresa.
  • Modelo Simples para Explicação: Usando os resultados obtidos no passo anterior, o LIME ajusta um modelo mais simples, como uma regressão linear, que permite uma análise à decisão mais fácil.
  • Interpretação dos Resultados: O LIME é agora capaz de indicar os fatores decisivos para a decisão baseando-se num modelo mais simples (nos pesos, por exemplo).

O LIME é vantajoso por ser agnóstico ao modelo, funcionando com qualquer tipo de modelo de Machine Learning, além de dar explicações acessíveis mesmo a quem não tem conhecimento da área. No entanto, a técnica tem algumas desvantagens, entre elas o facto de as explicações poderem mudar significativamente com pequenas alterações nos dados de entrada.

SHapley Additive exPlanations (SHAP)

O SHAP (SHapley Additive exPlanations) é outra técnica usada para explicar os resultados em modelos de Machine Learning, sendo que esta se baseia na Teoria de Jogos. A diferença principal entre o SHAP e o LIME é que enquanto o LIME apenas fornece explicações centradas num caso específico, o SHAP pode fornecer tanto explicações para casos específicos quanto para o modelo completo, dependendo de como é utilizado.

O conceito dos valores de Shapley na Teoria de jogo consiste na criação de “coligações” num ambiente cooperativo, que se traduz para esta técnica como sendo a criação de coligações de variáveis independentes a escolher. Após isso, assumindo um modelo v, para cada variável i calcula-se o aporte em cada coligação S onde i pertence através da fórmula v(S) – v(S – {i}), sendo o resultado o valor da contribuição de cada variável i ao modelo v.

Na figura 3, abaixo, podemos ver uma previsão do número de bicicletas alugadas num dia, onde se observa que o valor esperado (média de todos os valores previstos) seria de 4518, mas o modelo prevê apenas 2409. Ora, para entendermos o porquê de o modelo ter previsto este valor, 2108 bicicletas abaixo da média, podemos observar os números gerados pelo SHAP, onde o valor da humidade fez o modelo retirar cerca de 1100 bicicletas ao dia, o estado do tempo retira cerca de 600 bicicletas, enquanto a temperatura estar nos 17.5ºC fez o modelo adicionar 400 bicicletas ao resultado. Quando somamos todos os valores à média, obtemos o valor previsto para o dia.

Figura 3 – Os resultados da aplicação do modelo SHAP

Figura 3 – Os resultados da aplicação do modelo SHAP

A técnica de SHAP é uma das técnicas mais utilizadas por se basear em conceitos sólidos de teoria de jogos, garantindo fiabilidade e justiça aos resultados, fornecendo explicações consistentes. Os fatores que mais a prejudicam são o facto de se poder tornar computacionalmente muito cara para modelos com muitas variáveis independentes e de as versões agnósticas ao modelo não serem tão precisas quanto as versões específicas.

Layer-Wise Relevance Propagation (LRP)

A LRP (Layer-Wise Relevance Propagation) é uma técnica especialmente desenvolvida para redes neuronais, não sendo agnóstica ao modelo como o LIME ou o SHAP, consistindo no cálculo de um valor de “Relevância” baseando-se nos pesos de cada nodo que se vai propagando inversamente partindo da camada de saída até à camada de entrada.

No desenho da figura 4 e, com vista a facilitar o entendimento, assumimos uma função R em que R(O1) significa a relevância de O1. R(O1) é propagado para trás de acordo com os pesos das ligações, fazendo com que N1, que só tem uma ligação de saída fique com:

equation

 Já no caso de I1, ficamos com

No final deste processo na camada de entrada, ficamos com as relevâncias de cada um dos parâmetros que colocamos no neurónio correspondente.

Figura 4 – Rede neuronal legendada

Figura 4 – Rede neuronal legendada

Esta técnica não é aplicável a outros tipos de modelos de Machine Learning, podendo ser difícil de implementar para certas arquiteturas. Apesar disso, é especialmente usada para dados de imagem pois consegue destacar as regiões relevantes para a decisão do modelo.

A performance diminui com o aumento da profundidade (número de camadas) e da complexidade (número de neurónios) da arquitetura.


João Ferreira

Cientista de Dados