Como visualizar explicações para dados de imagem

O AI Explanations fornece recursos de visualização integrados para seus dados de imagem. Ao solicitar uma explicação sobre um modelo de classificação de imagem com uma visualização configurada, você acessará a classe prevista com uma superposição de imagem mostrando quais pixels ou regiões contribuíram para a previsão.

As imagens abaixo apresentam visualizações na imagem de um husky siberiano. A visualização à esquerda usa o método de gradientes integrados e destaca áreas de atribuição positiva. A visualização à direita usa um método XRAI com um gradiente de cor indicando áreas de influência menor (azul) e maior (amarelo) para fazer uma previsão positiva.

Uma visualização de atribuição de recursos de um husky siberiano usando gradientes integrados
Uma visualização de atribuição de recursos de um husky siberiano usando XRAI

O tipo de dados usado para trabalhar pode influenciar se você usa uma abordagem de gradientes integrados ou de XRAI para visualizar suas explicações.

  • O XRAI tende a ser melhor com imagens naturais e fornece um resumo de alto nível de insights, como mostrar que a atribuição positiva está relacionada à forma do rosto de um cachorro.
  • Gradientes integrados (IG, na sigla em inglês) tendem a fornecer detalhes no nível de pixel e são úteis para descobrir atribuições mais granulares.

Saiba mais sobre os métodos de atribuição na página de visão geral do AI Explanations.

Como começar

As visualizações são configuradas por modelo como parte do arquivo de metadados de explicação.

Para adicionar uma nova visualização para seu modelo, inclua um objeto visualization no inputs que você quer visualizar. No objeto visualization, é possível incluir opções como o tipo de sobreposição usado, as atribuições destacadas, a cor etc. Todas as configurações são opcionais.

Para criar outra visualização com o mesmo modelo, atualize as configurações no arquivo explanation_metadata.json e reimplante o modelo.

Opções de visualização

As configurações padrão e recomendadas dependem do método de atribuição (gradientes integrados ou XRAI). Veja abaixo uma lista de opções de configuração e como é possível usá-las. Para uma lista completa de valores de opções, consulte a referência da API.

  • type: o tipo de visualização usado. Para gradientes integrados, Outlines é definido por padrão e mostra as regiões de atribuição, já Pixels mostra a atribuição por pixel. Para XRAI, Pixels é a configuração padrão e mostra as áreas de atribuição. Outlines não é recomendado para XRAI.
  • polarity: a direcionalidade das atribuições destacadas. positive é definido por padrão, o que destaca as áreas com as atribuições positivas mais altas. Isso significa destacar os pixels que mais influenciaram a previsão positiva do modelo. Definir a polaridade como negative destaca as áreas que levam o modelo a não prever a classe positiva. Usar uma polaridade negativa pode ser útil para depurar seu modelo identificando regiões negativas falsas. Também é possível definir a polaridade como both, que mostra atribuições positivas e negativas.
  • clip_above_percentile: exclui as atribuições acima do percentil especificado das áreas destacadas. Usar os parâmetros de corte juntos pode ser útil para filtrar ruídos e facilitar a visualização de áreas de atribuição forte.
  • clip_below_percentile: exclui atribuições abaixo do percentil especificado das áreas destacadas.
  • color_map: o esquema de cores usado para as áreas destacadas. O padrão é pink_green para gradientes integrados, que mostra as atribuições positivas em verde e as negativas em rosa. Para visualizações XRAI, o mapa de cores é um gradiente. O padrão XRAI é viridis, que destaca as regiões mais influentes em amarelo e as menos influentes em azul.
  • overlay_type: como a imagem original é exibida na visualização. Ajustar a sobreposição poderá ajudar a aumentar a clareza visual se a imagem original dificultar a visualização.

Exemplos de configurações

Para começar, veja abaixo alguns exemplos de objetos visualization que é possível usar como ponto de partida e imagens que mostram um intervalo de configurações aplicadas.

Gradientes integrados

Para gradientes integrados, poderá ser necessário ajustar os valores de corte se as áreas de atribuição tiverem excesso de ruído.

visualization: {
"type": "Outlines", # Can also use "Pixels"
"polarity": "positive",
"clip_below_percentile": 70,
"clip_above_percentile": 99.9,
"color_map": "pink_green",
"overlay_type": "grayscale"
}

Veja abaixo duas visualizações usando os tipos Outlines e Pixels. As colunas "Apenas altamente previsível", "Moderadamente previsível" e "Quase todos" são exemplos de corte em diferentes níveis que podem ajudar a focar sua visualização.

Uma atribuição de recurso, a seguir, com contornos para atribuição de IG

Uma atribuição de recurso, a seguir, com pixels para atribuição de IG

XRAI

Para visualizações XRAI, recomendamos começar sem valores de corte para XRAI porque a sobreposição usa um gradiente para mostrar áreas de atribuição alta e baixa.

visualization: {
"type": "Pixels", # Only valid option for XRAI
"polarity": "positive",
"clip_below_percentile": 0,
"clip_above_percentile": 100,
"color_map": "viridis",
"overlay_type": "grayscale"
}

A imagem abaixo é uma visualização XRAI usando o mapa de cores padrão viridis e um intervalo de tipos de sobreposição. As áreas em amarelo indicam as regiões mais influentes que contribuíram de maneira positiva com a previsão.

Uma visualização de atribuição de recurso para atribuição XRAI

A seguir

Também é possível usar a Ferramenta What-If para visualizar suas explicações. Consulte os notebooks de exemplo para saber mais.