Atribuições de funcionalidades para previsões

Introdução

Esta página oferece uma breve vista geral conceptual dos métodos de atribuição de funcionalidades disponíveis com o Vertex AI. Para uma discussão técnica detalhada, consulte o nosso documento técnico sobre as explicações de IA.

A importância das funcionalidades global (atribuições de funcionalidades do modelo) mostra como cada funcionalidade afeta um modelo. Os valores são uma percentagem para cada funcionalidade: quanto mais elevada for a percentagem, maior é o impacto que a funcionalidade teve no treino do modelo. Por exemplo, depois de rever a importância das funcionalidades global do seu modelo, pode chegar à seguinte conclusão: "O modelo vê que as vendas do mês anterior são normalmente o indicador mais forte das vendas do mês seguinte. Fatores como o número de clientes e as promoções são importantes, mas são menos importantes do que os números de vendas."

Para ver a importância global das funcionalidades do seu modelo, examine as métricas de avaliação.

As atribuições de caraterísticas locais para modelos de intervalos temporais indicam a contribuição de cada caraterística num modelo para uma inferência. Medem a contribuição de uma funcionalidade para uma inferência relativa a uma base de referência de entrada. Para funcionalidades numéricas, como as vendas, a entrada de base é a mediana das vendas. Para funcionalidades categóricas, como o nome do produto, a entrada de base é o nome do produto mais comum. A soma de todas as atribuições não é a inferência. A soma indica a diferença entre a inferência e a inferência de base (ou seja, todas as entradas são entradas de base).

As atribuições de funcionalidades são determinadas com base nas previsões feitas para os contrafactuais. Segue-se um exemplo de previsão: qual é a previsão se o valor do anúncio de TRUE em 2020-11-21 for substituído por FALSE, o valor mais comum? O número necessário de factos alternativos é proporcional ao número de colunas e ao número de caminhos (gerados pelo serviço). O número de inferências resultante pode ser ordens de magnitude superior ao de uma tarefa de inferência normal, e o tempo de execução esperado é ajustado em conformidade.

Pode usar a previsão com o AutoML ou o fluxo de trabalho tabular para previsão para gerar e consultar atribuições de caraterísticas locais. A previsão com o AutoML suporta apenas inferências em lote. O fluxo de trabalho tabular para previsões suporta inferências em lote e inferências online.

Vantagens

Se inspecionar instâncias específicas e também agregar atribuições de caraterísticas no conjunto de dados de preparação, pode obter estatísticas mais detalhadas sobre o funcionamento do modelo. Considere as seguintes vantagens:

  • Depurar modelos: as atribuições de funcionalidades podem ajudar a detetar problemas nos dados que as técnicas de avaliação de modelos padrão normalmente não detetariam.

  • Otimizar modelos: pode identificar e remover funcionalidades menos importantes, o que pode resultar em modelos mais eficientes.

Limitações conceptuais

Considere as seguintes limitações das atribuições de funcionalidades:

  • As atribuições de funcionalidades, incluindo a importância das funcionalidades locais para o AutoML, são específicas das inferências individuais. A inspeção das atribuições de caraterísticas para uma inferência individual pode fornecer boas estatísticas, mas as estatísticas podem não ser generalizáveis a toda a classe para essa instância individual ou para todo o modelo.

    Para obter estatísticas mais generalizáveis para os modelos do AutoML, consulte a importância das caraterísticas do modelo. Para obter estatísticas mais generalizáveis para outros modelos, agregue atribuições em subconjuntos do seu conjunto de dados ou no conjunto de dados completo.

  • Cada atribuição mostra apenas o quanto a funcionalidade afetou a inferência para esse exemplo específico. Uma única atribuição pode não refletir o comportamento geral do modelo. Para compreender o comportamento aproximado do modelo num conjunto de dados completo, agregue as atribuições no conjunto de dados completo.

  • Embora as atribuições de funcionalidades possam ajudar na depuração de modelos, nem sempre indicam claramente se um problema surge do modelo ou dos dados com os quais o modelo é preparado. Use o bom senso e diagnostique problemas de dados comuns para restringir o espaço de potenciais causas.

  • As atribuições dependem inteiramente do modelo e dos dados usados para preparar o modelo. Só podem revelar os padrões que o modelo encontrou nos dados e não conseguem detetar relações fundamentais nos dados. A presença ou a ausência de uma forte atribuição a uma determinada funcionalidade não significa que exista ou não uma relação entre essa funcionalidade e o alvo. A atribuição apenas mostra se o modelo está ou não a usar a funcionalidade nas respetivas inferências.

  • As atribuições por si só não conseguem determinar se o seu modelo é justo, imparcial ou de boa qualidade. Avalie cuidadosamente os dados de preparação e as métricas de avaliação, além das atribuições.

Para mais informações sobre as limitações, consulte o documento técnico sobre as explicações de IA.

Melhorar as atribuições de funcionalidades

Os seguintes fatores têm o maior impacto nas atribuições de funcionalidades:

  • Os métodos de atribuição aproximam-se do valor de Shapley. Pode aumentar a precisão da aproximação aumentando o número de caminhos para o método de Shapley com amostragem. Consequentemente, as atribuições podem mudar drasticamente.
  • As atribuições apenas expressam o quanto a funcionalidade afetou a alteração no valor de inferência, em relação ao valor de base. Certifique-se de que escolhe uma base significativa e relevante para a pergunta que está a fazer ao modelo. Os valores de atribuição e a respetiva interpretação podem mudar significativamente quando altera as bases de referência.

Veja a contagem de caminhos e as linhas de base nos parâmetros de explicação e nos metadados.

Veja os metadados e os parâmetros de explicação

Os parâmetros de explicação e os metadados contêm o seguinte:

  • static_value: as referências usadas para gerar explicações.
  • pathCount: o número de caminhos, um fator na quantidade de tempo necessário para gerar atribuições de funcionalidades.
  • valores_históricos, valores_previsão: colunas disponíveis na previsão.
  • historical_values: colunas indisponíveis na previsão.

O modelo pode ser visto através da API REST do Vertex AI e inclui a especificação de explicação.

REST

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • LOCATION: região onde o seu modelo está armazenado
  • PROJECT: o seu ID do projeto.
  • MODEL_ID: o ID do recurso do modelo

Método HTTP e URL:

GET https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID

Para enviar o seu pedido, escolha uma destas opções:

curl

Execute o seguinte comando:

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID"

PowerShell

Execute o seguinte comando:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID" | Select-Object -Expand Content

Deverá ver um resultado semelhante ao seguinte para um modelo do AutoML preparado.

Algoritmo

O Vertex AI fornece atribuições de funcionalidades através dos valores de Shapley, um algoritmo de teoria dos jogos cooperativos que atribui crédito a cada jogador num jogo por um resultado específico. Aplicado aos modelos de aprendizagem automática, isto significa que cada funcionalidade do modelo é tratada como um "jogador" no jogo e o crédito é atribuído proporcionalmente ao resultado de uma inferência específica. Para modelos de dados estruturados, o Vertex AI usa uma aproximação de amostragem dos valores de Shapley exatos denominada Shapley com amostragem.

Para informações detalhadas sobre o funcionamento do método de Shapley com amostragem, leia o artigo Bounding the Estimation Error of Sampling-based Shapley Value Approximation.

O que se segue?

Os seguintes recursos oferecem mais material educativo útil: