Capacidade de interpretação do modelo

Este artigo descreve métodos que você pode usar para interpretabilidade de modelo no Aprendizado de Máquina do Azure.

Importante

Com o lançamento do painel de IA responsável, que inclui a interpretabilidade do modelo, recomendamos que você migre para a nova experiência, porque o painel de interpretabilidade do modelo de visualização do SDK v1 mais antigo não será mais mantido ativamente.

Por que a interpretabilidade do modelo é importante para a depuração do modelo

Quando você está usando modelos de aprendizado de máquina de maneiras que afetam a vida das pessoas, é extremamente importante entender o que influencia o comportamento dos modelos. A interpretabilidade ajuda a responder a perguntas em cenários como:

  • Depuração de modelo: Por que meu modelo cometeu esse erro? Como posso melhorar o meu modelo?
  • Colaboração humano-IA: Como posso entender e confiar nas decisões do modelo?
  • Conformidade regulamentar: O meu modelo satisfaz os requisitos legais?

O componente de interpretabilidade do painel de IA responsável contribui para o estágio de "diagnóstico" do fluxo de trabalho do ciclo de vida do modelo, gerando descrições compreensíveis por humanos das previsões de um modelo de aprendizado de máquina. Ele fornece várias visualizações sobre o comportamento de um modelo:

  • Explicações globais: Por exemplo, quais características afetam o comportamento geral de um modelo de alocação de empréstimos?
  • Explicações locais: Por exemplo, por que o pedido de empréstimo de um cliente foi aprovado ou rejeitado?

Você também pode observar explicações de modelo para uma coorte selecionada como um subgrupo de pontos de dados. Essa abordagem é valiosa quando, por exemplo, você está avaliando a equidade nas previsões do modelo para indivíduos em um determinado grupo demográfico. A guia Explicação local deste componente também representa uma visualização completa dos dados, o que é ótimo para uma visão geral dos dados e para observar as diferenças entre as previsões corretas e incorretas de cada coorte.

As capacidades deste componente são fundadas pelo pacote InterpretML, que gera explicações de modelo.

Use a interpretabilidade quando precisar:

  • Determine o quão confiáveis são as previsões do seu sistema de IA entendendo quais recursos são mais importantes para as previsões.
  • Aborde a depuração do seu modelo entendendo-o primeiro e identificando se o modelo está usando recursos saudáveis ou apenas correlações falsas.
  • Descubra potenciais fontes de injustiça entendendo se o modelo está baseando previsões em recursos sensíveis ou em recursos que estão altamente correlacionados com eles.
  • Construa a confiança do usuário nas decisões do seu modelo gerando explicações locais para ilustrar seus resultados.
  • Conclua uma auditoria regulatória de um sistema de IA para validar modelos e monitorar o impacto das decisões de modelos em humanos.

Como interpretar o seu modelo

No aprendizado de máquina, os recursos são os campos de dados que você usa para prever um ponto de dados de destino. Por exemplo, para prever o risco de crédito, você pode usar campos de dados para idade, tamanho da conta e idade da conta. Aqui, idade, tamanho da conta e idade da conta são recursos. A importância do recurso informa como cada campo de dados afeta as previsões do modelo. Por exemplo, embora você possa usar muito a idade na previsão, o tamanho e a idade da conta podem não afetar significativamente os valores de previsão. Por meio desse processo, os cientistas de dados podem explicar as previsões resultantes de maneiras que dão às partes interessadas visibilidade sobre os recursos mais importantes do modelo.

Usando as classes e métodos no painel de IA responsável e usando o SDK v2 e a CLI v2, você pode:

  • Explique a previsão do modelo gerando valores de importância de recurso para todo o modelo (explicação global) ou pontos de dados individuais (explicação local).
  • Obtenha a capacidade de interpretação do modelo em conjuntos de dados do mundo real em escala.
  • Use um painel de visualização interativo para descobrir padrões em seus dados e suas explicações no momento do treinamento.

Usando as classes e métodos no SDK v1, você pode:

  • Explique a previsão do modelo gerando valores de importância de recurso para todo o modelo ou pontos de dados individuais.
  • Alcance a interpretabilidade do modelo em conjuntos de dados do mundo real em escala durante o treinamento e a inferência.
  • Use um painel de visualização interativo para descobrir padrões em seus dados e suas explicações no momento do treinamento.

Nota

As classes de interpretabilidade de modelo são disponibilizadas por meio do pacote SDK v1. Para obter mais informações, consulte Instalar pacotes SDK para o Azure Machine Learning e azureml.interpret.

Técnicas de interpretabilidade de modelos suportadas

O painel de IA responsável e azureml-interpret usar as técnicas de interpretabilidade que foram desenvolvidas em Interpret-Community, um pacote Python de código aberto para treinar modelos interpretáveis e ajudar a explicar sistemas de IA de caixa opaca. Os modelos de caixa opaca são aqueles para os quais não temos informações sobre o seu funcionamento interno.

Interpret-Community serve como host para os seguintes explicadores suportados, e atualmente suporta as técnicas de interpretabilidade apresentadas nas próximas seções.

Suportado no painel de IA Responsável no Python SDK v2 e CLI v2

Técnica de interpretabilidade Description Type
Mimic Explainer (Substituto Global) + árvore SHAP O Mimic Explainer baseia-se na ideia de treinar modelos substitutos globais para imitar modelos de caixa opaca. Um modelo substituto global é um modelo intrinsecamente interpretável que é treinado para aproximar as previsões de qualquer modelo de caixa opaca com a maior precisão possível.

Os cientistas de dados podem interpretar o modelo substituto para tirar conclusões sobre o modelo de caixa opaca. O painel de IA responsável usa LightGBM (LGBMExplainableModel), emparelhado com o SHAP (SHapley Additive exPlanations) Tree Explainer, que é um explicador específico para árvores e conjuntos de árvores. A combinação de LightGBM e árvore SHAP fornece explicações globais e locais agnósticas de modelos de aprendizado de máquina.
Modelo agnóstico

Técnicas de interpretabilidade de modelo suportadas para modelos de texto

Técnica de interpretabilidade Description Type Tarefa de texto
Texto SHAP SHAP (SHapley Additive exPlanations) é um método de explicação popular para redes neurais profundas que fornece insights sobre a contribuição de cada recurso de entrada para uma determinada previsão. Baseia-se no conceito de valores Shapley, que é um método para atribuir crédito a jogadores individuais num jogo cooperativo. O SHAP aplica esse conceito aos recursos de entrada de uma rede neural, calculando a contribuição média de cada recurso para a saída do modelo em todas as combinações possíveis de recursos. Para texto especificamente, SHAP divide palavras de forma hierárquica, tratando cada palavra ou token como um recurso. Isso produz um conjunto de valores de atribuição que quantificam a importância de cada palavra ou token para a previsão dada. O mapa de atribuição final é gerado visualizando esses valores como um mapa de calor sobre o documento de texto original. SHAP é um método agnóstico de modelos e pode ser usado para explicar uma ampla gama de modelos de aprendizagem profunda, incluindo CNNs, RNNs e transformadores. Além disso, fornece várias propriedades desejáveis, como consistência, precisão e equidade, tornando-se uma técnica confiável e interpretável para entender o processo de tomada de decisão de um modelo. Modelo agnóstico Classificação Multiclasse de Texto, Classificação Multi-rótulo de Texto

Técnicas de interpretabilidade de modelo suportadas para modelos de imagem

Técnica de interpretabilidade Description Type Tarefa Visão
Visão SHAP SHAP (SHapley Additive exPlanations) é um método de explicação popular para redes neurais profundas que fornece insights sobre a contribuição de cada recurso de entrada para uma determinada previsão. Baseia-se no conceito de valores Shapley, que é um método para atribuir crédito a jogadores individuais num jogo cooperativo. O SHAP aplica esse conceito aos recursos de entrada de uma rede neural, calculando a contribuição média de cada recurso para a saída do modelo em todas as combinações possíveis de recursos. Para visão especificamente, o SHAP se divide na imagem de forma hierárquica, tratando as áreas de superpixels da imagem como cada recurso. Isso produz um conjunto de valores de atribuição que quantificam a importância de cada superpixel ou área de imagem para a previsão dada. O mapa de atribuição final é gerado visualizando esses valores como um mapa de calor. SHAP é um método agnóstico de modelos e pode ser usado para explicar uma ampla gama de modelos de aprendizagem profunda, incluindo CNNs, RNNs e transformadores. Além disso, fornece várias propriedades desejáveis, como consistência, precisão e equidade, tornando-se uma técnica confiável e interpretável para entender o processo de tomada de decisão de um modelo. Modelo agnóstico Classificação Multiclasse de Imagem, Classificação Multi-label de Imagem
Backprop guiado Guided-backprop é um método de explicação popular para redes neurais profundas que fornece insights sobre as representações aprendidas do modelo. Ele gera uma visualização dos recursos de entrada que ativam um determinado neurônio no modelo, calculando o gradiente da saída em relação à imagem de entrada. Ao contrário de outros métodos baseados em gradiente, o backprop guiado apenas retropropaga através de gradientes positivos e usa uma função de ativação ReLU modificada para garantir que gradientes negativos não influenciem a visualização. Isso resulta em um mapa de saliency mais interpretável e de alta resolução que destaca as características mais importantes na imagem de entrada para uma determinada previsão. O backprop guiado pode ser usado para explicar uma ampla gama de modelos de aprendizagem profunda, incluindo redes neurais convolucionais (CNNs), redes neurais recorrentes (RNNs) e transformadores. AutoML Classificação Multiclasse de Imagem, Classificação Multi-label de Imagem
GradCAM guiado O GradCAM guiado é um método de explicação popular para redes neurais profundas que fornece informações sobre as representações aprendidas do modelo. Ele gera uma visualização dos recursos de entrada que mais contribuem para uma classe de saída específica, combinando a abordagem baseada em gradiente de retropropagação guiada com a abordagem de localização do GradCAM. Especificamente, ele calcula os gradientes da classe de saída em relação aos mapas de feição da última camada convolucional na rede e, em seguida, pondera cada mapa de feição de acordo com a importância de sua ativação para essa classe. Isso produz um mapa de calor de alta resolução que destaca as regiões mais discriminativas da imagem de entrada para uma determinada classe de saída. O GradCAM guiado pode ser usado para explicar uma ampla gama de modelos de aprendizagem profunda, incluindo CNNs, RNNs e transformadores. Além disso, ao incorporar retropropagação guiada, garante que a visualização seja significativa e interpretável, evitando ativações espúrias e contribuições negativas. AutoML Classificação Multiclasse de Imagem, Classificação Multi-label de Imagem
Gradientes integrados Gradientes Integrados é um método de explicação popular para redes neurais profundas que fornece informações sobre a contribuição de cada recurso de entrada para uma determinada previsão. Ele calcula a integral do gradiente da classe de saída em relação à imagem de entrada, ao longo de um caminho reto entre uma imagem de linha de base e a imagem de entrada real. Este caminho é normalmente escolhido para ser uma interpolação linear entre as duas imagens, com a linha de base sendo uma imagem neutra que não tem características salientes. Ao integrar o gradiente ao longo desse caminho, os gradientes integrados fornecem uma medida de como cada recurso de entrada contribui para a previsão, permitindo que um mapa de atribuição seja gerado. Este mapa destaca os recursos de entrada mais influentes e pode ser usado para obter informações sobre o processo de tomada de decisão do modelo. Os gradientes integrados podem ser usados para explicar uma ampla gama de modelos de aprendizagem profunda, incluindo CNNs, RNNs e transformadores. Além disso, é uma técnica teoricamente fundamentada que satisfaz um conjunto de propriedades desejáveis, como sensibilidade, invariância de implementação e completude. AutoML Classificação Multiclasse de Imagem, Classificação Multi-label de Imagem
XRAI XRAI é um novo método de saliência baseado em regiões baseado em gradientes integrados (IG). Ele supersegmenta a imagem e testa iterativamente a importância de cada região, aglutinando regiões menores em segmentos maiores com base em pontuações de atribuição. Esta estratégia produz regiões de saliency de alta qualidade e fortemente limitadas que superam as técnicas de saliency existentes. O XRAI pode ser usado com qualquer modelo baseado em DNN, desde que haja uma maneira de agrupar os recursos de entrada em segmentos por meio de alguma métrica de similaridade. AutoML Classificação Multiclasse de Imagem, Classificação Multi-label de Imagem
D-ASCENSÃO D-RISE é um método agnóstico de modelos para criar explicações visuais para as previsões de modelos de deteção de objetos. Ao considerar os aspetos de localização e categorização da deteção de objetos, o D-RISE pode produzir mapas de saliência que destacam partes de uma imagem que mais contribuem para a previsão do detetor. Ao contrário dos métodos baseados em gradiente, o D-RISE é mais geral e não precisa de acesso ao funcionamento interno do detetor de objetos; requer apenas acesso às entradas e saídas do modelo. O método pode ser aplicado a detetores de um estágio (por exemplo, YOLOv3), detetores de dois estágios (por exemplo, Faster-RCNN) e transformadores de visão (por exemplo, DETR, OWL-ViT).
D-Rise fornece o mapa de saliency criando máscaras aleatórias da imagem de entrada e irá enviá-lo para o detetor de objetos com as máscaras aleatórias da imagem de entrada. Ao avaliar a mudança da pontuação do detetor de objetos, ele agrega todas as deteções com cada máscara e produz um mapa de saliência final.
Modelo agnóstico Deteção de Objetos

Suportado no Python SDK v1

Técnica de interpretabilidade Description Type
Explicador de árvore SHAP O SHAP Tree Explainer, que se concentra em um algoritmo polinomial, rápido e de estimativa de valor SHAP que é específico para árvores e conjuntos de árvores. Modelo específico
SHAP Explicador Profundo Com base na explicação do SHAP, o Deep Explainer é um "algoritmo de aproximação de alta velocidade para valores SHAP em modelos de aprendizagem profunda que se baseia em uma conexão com o DeepLIFT descrita no artigo SHAP NIPS. Os modelos TensorFlow e Keras usando o back-end TensorFlow são suportados (também há suporte preliminar para PyTorch)." Modelo específico
Explicador Linear SHAP O SHAP Linear Explainer calcula valores SHAP para um modelo linear, opcionalmente contabilizando correlações entre recursos. Modelo específico
Explicador do kernel SHAP O SHAP Kernel Explainer usa uma regressão linear local especialmente ponderada para estimar os valores SHAP para qualquer modelo. Modelo agnóstico
Mimic Explainer (Substituto Global) O Mimic Explainer baseia-se na ideia de treinar modelos substitutos globais para imitar modelos de caixa opaca. Um modelo substituto global é um modelo intrinsecamente interpretável que é treinado para aproximar as previsões de qualquer modelo de caixa opaca com a maior precisão possível. Os cientistas de dados podem interpretar o modelo substituto para tirar conclusões sobre o modelo de caixa opaca. Você pode usar um dos seguintes modelos interpretáveis como seu modelo substituto: LightGBM (LGBMExplainableModel), Regressão Linear (LinearExplainableModel), Modelo explicável de descida de gradiente estocástico (SGDExplainableModel) ou Árvore de Decisão (DecisionTreeExplainableModel). Modelo agnóstico
Explicador da importância do recurso de permutação A Importância da Característica de Permutação (PFI) é uma técnica usada para explicar modelos de classificação e regressão inspirada no artigo Random Forests de Breiman (ver secção 10). Em um alto nível, a maneira como ele funciona é embaralhando aleatoriamente os dados um recurso de cada vez para todo o conjunto de dados e calculando o quanto a métrica de desempenho de interesse muda. Quanto maior a mudança, mais importante é esse recurso. O PFI pode explicar o comportamento geral de qualquer modelo subjacente, mas não explica previsões individuais. Modelo agnóstico

Além das técnicas de interpretabilidade descritas na seção anterior, apoiamos outro explicador baseado em SHAP, chamado Explicador tabular. Dependendo do modelo, o Tabular Explainer usa um dos explicadores SHAP suportados:

  • Explicador de árvore para todos os modelos baseados em árvore
  • Deep Explainer para modelos de redes neurais profundas (DNN)
  • Explicador linear para modelos lineares
  • Kernel Explainer para todos os outros modelos

O Tabular Explainer também fez melhorias significativas de recursos e desempenho em relação aos explicadores SHAP diretos:

  • Resumo do conjunto de dados de inicialização: Quando a velocidade de explicação é mais importante, resumimos o conjunto de dados de inicialização e geramos um pequeno conjunto de amostras representativas. Essa abordagem acelera a geração de valores de importância de recursos gerais e individuais.
  • Amostragem do conjunto de dados de avaliação: Se você passar em um grande conjunto de amostras de avaliação, mas não precisar que todas elas sejam avaliadas, poderá definir o parâmetro de amostragem para true acelerar o cálculo das explicações gerais do modelo.

O diagrama a seguir mostra a estrutura atual dos explicadores suportados:

 Diagram of Machine Learning Interpretability architecture.

Modelos de aprendizagem automática suportados

O azureml.interpret pacote do SDK suporta modelos treinados com os seguintes formatos de conjunto de dados:

  • numpy.array
  • pandas.DataFrame
  • iml.datatypes.DenseData
  • scipy.sparse.csr_matrix

As funções de explicação aceitam modelos e pipelines como entrada. Se um modelo for fornecido, ele deve implementar a função predict de previsão ou predict_proba que esteja em conformidade com a convenção Scikit. Se o seu modelo não suportar isso, você pode envolvê-lo em uma função que gera o mesmo resultado que predict ou predict_proba no Scikit e usar essa função de wrapper com o explicador selecionado.

Se você fornecer um pipeline, a função de explicação assumirá que o script de pipeline em execução retorna uma previsão. Quando você usa essa técnica de encapsulamento, azureml.interpret pode dar suporte a modelos que são treinados por meio de PyTorch, TensorFlow, estruturas de aprendizado profundo Keras e modelos clássicos de aprendizado de máquina.

Destino de computação local e remoto

O azureml.interpret pacote foi projetado para trabalhar com destinos de computação locais e remotos. Se você executar o pacote localmente, as funções do SDK não contatarão nenhum serviço do Azure.

Você pode executar a explicação remotamente no Azure Machine Learning Compute e registrar as informações da explicação no Serviço de Histórico de Execução do Azure Machine Learning. Depois que essas informações são registradas, os relatórios e visualizações da explicação ficam prontamente disponíveis no estúdio do Azure Machine Learning para análise.

Próximos passos