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: