Introdução à Vertex Explainable AI

O Explainable AI integra atribuições de recursos à Vertex AI. Nesta página, apresentamos uma breve visão geral conceitual dos métodos de atribuição de recursos disponíveis com a Vertex AI. Para uma discussão técnica detalhada, consulte nosso whitepaper sobre o AI Explanations.

A IA explicável ajuda você a entender os resultados do seu modelo para tarefas de classificação e regressão. A Vertex AI informa o quanto cada recurso nos dados contribuiu para o resultado previsto. É possível usar essas informações para verificar se o modelo está se comportando conforme o esperado, reconhecer a tendência nos seus modelos e conseguir ideias para melhorar seu modelo e seus dados de treinamento.

A Vertex AI é compatível com a Explainable AI para os seguintes tipos de modelos:

  • Modelos tabulares do AutoML (somente modelos de classificação e regressão)
  • Modelos personalizados com base em dados tabulares
  • Modelos personalizados com base em dados de imagem

Para modelos tabulares do AutoML, as atribuições de recursos são exibidas no Console do Google Cloud como importância do recurso. É possível ver a importância do recurso de modelo para o modelo como um todo e a importância do recurso local para on-line e em lote.

Atribuições de recursos

As atribuições de recursos indicam o quanto cada elemento no seu modelo contribuiu para as previsões para cada instância determinada. Ao solicitar previsões, você recebe os valores previstos conforme apropriado para seu modelo. Quando você solicita explicações, recebe as previsões junto com as informações de atribuição de recursos.

As atribuições de recursos funcionam em dados tabulares e incluem recursos de visualização integrados para dados de imagem. Veja estes exemplos:

  • Uma rede neural profunda é treinada para prever a duração de um passeio de bicicleta, com base em dados meteorológicos e em dados anteriores de compartilhamento de carona. Se você solicitar apenas previsões desse modelo, as durações previstas de passeios de bicicleta serão calculadas em minutos. Se você solicitar explicações, receberá a previsão da duração do passeio de bicicleta, além de uma pontuação de atribuição para cada recurso na sua solicitação de explicações. As pontuações de atribuição mostram quanto o recurso afetou a alteração no valor de previsão, em relação ao valor de referência que você especificou. Escolha um valor de referência significativo que faça sentido para seu modelo. Nesse caso, a duração média do passeio de bicicleta. É possível traçar as pontuações de atribuição de recursos para ver quais recursos contribuíram mais para a previsão resultante:

    Um gráfico de atribuição de recursos para a duração prevista de um passeio de bicicleta

  • Um modelo de classificação de imagens é treinado para prever se uma determinada imagem contém um cão ou um gato. Se você solicitar previsões desse modelo em um novo conjunto de imagens, receberá uma previsão para cada imagem ("cão" ou "gato"). Se você solicitar explicações, receberá a classe prevista junto com uma sobreposição da imagem, mostrando quais pixels na imagem contribuíram mais para a previsão resultante:

    Uma foto de um gato com sobreposição de atribuição de recursos
    Uma foto de um gato com sobreposição de atribuição de recursos
    Uma foto de um cão com sobreposição de atribuição de recursos
    Uma foto de um cão com sobreposição de atribuição de recursos
  • Um modelo de classificação de imagem é treinado para prever as espécies de uma flor na imagem. Se você solicitar previsões a partir desse modelo em um novo conjunto de imagens, receberá uma previsão para cada imagem (margarida ou dente de leão). Se você solicitar explicações, receberá a classe prevista junto com uma superposição para a imagem, mostrando quais áreas na imagem contribuíram mais fortemente para a previsão resultante:

    Uma foto de uma margarida com sobreposição de atribuição de recurso
    Uma foto de uma margarida com sobreposição de atribuição de recursos

Vantagens

Se você inspecionar instâncias específicas e também agregar atribuições de recursos em todo o conjunto de dados de treinamento, poderá ter insights mais detalhados sobre o funcionamento do modelo. Considere as seguintes vantagens:

  • Depuração de modelos: as atribuições de recursos podem ajudar a detectar problemas nos dados que as técnicas padrão de avaliação de modelos geralmente não detectam.

    Por exemplo, um modelo de patologia de imagens teve resultados suspeitos em um conjunto de dados de teste de imagens de radiografia de tórax. As atribuições de recursos revelaram que a precisão alta do modelo dependia das marcas de caneta do radiologista na imagem. Para mais detalhes sobre este exemplo, consulte o whitepaper do AI Explanations.

  • Otimização de modelos: é possível identificar e remover recursos que são menos importantes, o que pode resultar em modelos mais eficientes.

Limitações conceituais

Considere as seguintes limitações de atribuições de recursos:

  • As atribuições de recursos, incluindo a importância do recurso local do AutoML, são específicas para previsões individuais. Inspecionar atribuições de recursos para uma previsão individual pode oferecer insights bons, mas o insight pode não ser generalizado para toda a classe dessa instância individual ou para todo o modelo.

    Para conseguir insights mais gerais para modelos do AutoML, consulte a importância do recurso do modelo. Para receber insights mais gerais para outros modelos, agregue atribuições em subconjuntos ao seu conjunto de dados ou em todo o conjunto de dados.

  • Ainda que as atribuições de recursos possam ajudar com a depuração do modelo, nem sempre indicam claramente se um problema surge no modelo ou nos dados em que o modelo é treinado. Use seu bom senso e diagnostique problemas comuns de dados para reduzir o espaço de causas possíveis.

  • As atribuições de recursos estão sujeitas a ataques adversários semelhantes, como previsões em modelos complexos.

Para mais informações sobre limitações, consulte a lista de limitações de alto nível e o whitepaper sobre o AI Explanations.

Comparar métodos de atribuição de recursos

A Explainable AI oferece três métodos a serem usados para atribuições de recursos: amostrad Shapley, gradientes integrados e XRAI.

Método Explicação básica Tipos de modelo recomendados Casos de uso de exemplo Recursos Model da Vertex AI compatíveis
Sampled Shapley Atribui crédito para o resultado a cada recurso e considera permutações diferentes dos recursos. Esse método oferece uma aproximação de amostragem dos valores exatos de Shapley. Modelos não diferenciais, como conjuntos de árvores e redes neurais
  • Classificação e regressão em dados tabulares
  • Modelos treinados personalizados (qualquer contêiner de previsão)
  • Modelos tabulares do AutoML
Gradientes integrados Um método com base em gradientes para computar com eficiência as atribuições de recursos com as mesmas propriedades axiomáticas do valor de Shapley. Modelos diferenciais, como redes neurais. Recomendado especialmente para modelos com grandes espaços de recursos.
Recomendado para imagens de baixo contraste, como raio-X.
  • Classificação e regressão em dados tabulares
  • Classificação em dados de imagem
modelos do TensorFlow treinados personalizados que usam um contêiner pré-criado do TensorFlow para exibir predições
XRAI (eXplanation with Ranked Area Integrals) Com base no método de gradientes integrados, o XRAI avalia regiões sobrepostas da imagem para criar um mapa de saliência, que destaca regiões relevantes da imagem em vez de pixels. Modelos que aceitam entradas de imagem. Recomendado especialmente para imagens naturais, que são cenas reais que contêm vários objetos.
  • Classificação em dados de imagem
modelos do TensorFlow treinados personalizados que usam um contêiner pré-criado do TensorFlow para exibir predições

Para uma comparação mais detalhada dos métodos de atribuição, consulte o whitepaper sobre explicações do AI (em inglês).

Modelos diferenciais e não diferenciais

Em modelos diferenciais, é possível calcular a derivada de todas as operações no seu gráfico do TensorFlow. Essa propriedade ajuda a possibilitar a retropropagação nesses modelos. Por exemplo, as redes neurais são diferenciais. Para conseguir atribuições de recursos para modelos diferenciais, use o método de gradientes integrados.

O método integrado de gradientes não funciona para modelos não diferenciais. Saiba mais sobre a codificação de entradas não diferenciais para trabalhar com o método de gradientes integrados.

Os modelos não diferenciais incluem operações não diferenciais no gráfico do TensorFlow, como operações que executam tarefas de decodificação e arredondamento. Por exemplo, um modelo criado como um conjunto de árvores e redes neurais é não diferenciável. Para conseguir atribuições de recursos para modelos não diferenciais, use o método Sampled Shapley. O Sampled Shapley também funciona em modelos diferenciais, mas, nesse caso, ele é computacionalmente mais caro do que o necessário.

Métodos de atribuição de recursos

Cada método de atribuição de recurso é baseado em valores de Shapley: um algoritmo cooperativo de teoria de jogos que atribui crédito a cada jogador em um jogo para um determinado resultado. Aplicado a modelos de aprendizado de máquina, cada recurso do modelo é tratado como um "jogador" no jogo. A Vertex Explainable AI explicável atribui crédito proporcional a cada recurso para o resultado de uma previsão específica.

Método de amostra de Shapley

O método amostra de Shapley fornece uma amostra de valores exatos de Shapley. Os modelos tabulares do AutoML usam o método Sampled Shapley para importar atributos. A amostra do Shapley funciona bem para esses modelos, que são metagentes de árvores e redes neurais.

Para informações detalhadas sobre como o método Sampled Shapley funciona, leia o artigo Como limitar o erro de estimativa da aproximação do valor de Shapley com base em amostragem.

Método dos gradientes integrados

No método de gradientes integrados, o gradiente da saída de previsão é calculado em relação aos elementos da entrada, ao longo de um caminho integral.

  1. Os gradientes são calculados em intervalos diferentes de um parâmetro de escalonamento. Para dados de imagem, imagine esse parâmetro de escalonamento como um "controle deslizante" que está escalonando todos os pixels da imagem para preto.
  2. Os gradientes são "integrados":
    1. Os gradientes são calculados com base na média.
    2. O produto elementar dos gradientes médios e da entrada original é calculado.

Para uma explicação intuitiva desse processo aplicado às imagens, consulte a postagem do blog "Como atribuir uma previsão de rede profunda aos recursos de entrada" (em inglês). Os autores do documento original sobre gradientes integrados (Atribuição axiomática para redes profundas, em inglês) mostram na postagem anterior do blog como são as imagens em cada etapa do processo.

Método XRAI

O método XRAI combina o método de gradientes integrados com etapas extras para determinar quais regiões da imagem contribuem mais para uma determinada previsão de classe.

  1. Atribuição no nível do pixel: o XRAI executa a atribuição no nível do pixel para a imagem de entrada. Nesta etapa, o XRAI usa o método de gradientes integrados com um valor de referência preto e um valor de referência branco.
  2. Supersegmentação: independentemente da atribuição no nível de pixel, o XRAI supersegmenta a imagem para criar uma colcha de retalhos de pequenas regiões. A XRAI usa o método baseado em gráficos de Felzenswalb (em inglês) para criar os segmentos de imagem.
  3. Seleção de região: o XRAI agrega a atribuição em nível de pixel em cada segmento para determinar sua densidade de atribuição. Usando esses valores, o XRAI classifica cada segmento e depois ordena os segmentos de mais positivo ao menos positivo. Isso determina quais áreas da imagem são mais salientes ou contribuem mais fortemente para uma determinada previsão de classe.

Imagens que mostram as etapas do algoritmo XRAI

Referências

As implementações de amostras de Shapley, gradientes integrados e XRAI são baseadas nas referências a seguir, respectivamente:

Saiba mais sobre a implementação da IA explicável lendo o whitepaper sobre explicações da IA.

Recursos educacionais

Os seguintes recursos oferecem materiais educacionais úteis:

A seguir