O AI Explanations integra atribuições de recursos ao AI Platform Prediction. Nesta página, apresentamos uma breve visão geral conceitual dos métodos de atribuição de recursos disponíveis com o AI Platform Prediction. Para uma discussão técnica detalhada, consulte nosso whitepaper sobre o AI Explanations.
O AI Explanations ajuda a entender os resultados do seu modelo para tarefas de classificação e regressão. Sempre que você solicitar uma previsão no AI Platform, o AI Explanations informará 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.
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 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:
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:
Vantagens e casos de uso
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 os casos de uso e as vantagens a seguir:
- 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 bons 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.
- 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 são específicas para previsões individuais. Inspecionar uma atribuição 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 receber insights mais generalizáveis, agregue atribuições sobre subconjuntos sobre seu conjunto de dados ou 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.
Como comparar os métodos de atribuição de recursos
O AI Explanations oferece três métodos para atribuições de atributos: amostra de Shapley, gradientes integrados e XRAI.
Método | Explicação básica | Tipos de modelo recomendados | Casos de uso de exemplo |
---|---|---|---|
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. |
|
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. |
|
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 neurais1 |
|
Noções básicas sobre os 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 machine learning, cada recurso do modelo é tratado como um "jogador" no jogo, e o AI Explanations atribui crédito proporcional a cada recurso para o resultado de uma previsão específica.
Com o AI Explanations, é possível "escolher" seus jogadores, por assim dizer, selecionando os recursos exatos para a solicitação de explicações.
Método de amostra de Shapley
O método amostra de Shapley fornece uma amostra de valores exatos de Shapley.
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.
- 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.
- Os gradientes são "integrados":
- Os gradientes são calculados com base na média.
- 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.
- 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.
- 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.
- 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.
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.
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.
Referências
As implementações de amostras de Shapley, gradientes integrados e XRAI são baseadas nas referências a seguir, respectivamente:
- Limitação do erro de estimativa da aproximação do valor de Shapley baseado em amostragem (em inglês)
- Atribuição axiomática para redes profundas
- XRAI: melhores atribuições por meio de regiões (em inglês)
Para saber mais sobre a implementação do AI Explanations, leia o whitepaper sobre a ferramenta.
Recursos educacionais
Os seguintes recursos oferecem materiais educacionais úteis:
- Aprendizado de máquina interpretável: valores de Shapley (em inglês)
- Repositório do GitHub de gradientes integrados de Ankur Taly (em inglês).
- A biblioteca SHAP (SHapley Additive exPlanations) (em inglês)
- Introdução aos valores de Shapley (em inglês)