Funções de influência são um método da estatística robusta que foi adaptado para o aprendizado de máquina para quantificar o efeito de exemplos de treinamento individuais nas previsões de um modelo. Dado um modelo treinado e um ponto de teste específico, uma função de influência calcula uma pontuação numérica indicando o quanto a previsão do modelo para aquele ponto de teste mudaria se um exemplo de treinamento específico fosse removido ou tivesse seu peso aumentado. Isso fornece uma maneira fundamentada de atribuir o comportamento do modelo aos dados de treinamento, apoiando tarefas como identificar dados rotulados incorretamente, detectar vieses no conjunto de dados e explicar previsões.
O conceito origina-se na estatística clássica, onde funções de influência foram desenvolvidas para medir a sensibilidade de estimadores a perturbações na distribuição dos dados. No contexto do Machine learning moderno, funções de influência oferecem uma aproximação computacionalmente eficiente para o retreinamento leave-one-out, que de outra forma seria proibitivamente caro para modelos grandes. Ao usar a inversa da Hessiana da perda de treinamento, funções de influência podem estimar o efeito de mudanças infinitesimais no peso de um ponto de treinamento sem retreinar o modelo.
Formulação Matemática
Na formulação padrão, considere um modelo parametrizado por θ, treinado minimizando uma perda empírica sobre n pontos de treinamento: θ̂ = argmin_θ (1/n) Σ L(z_i, θ), onde L é uma função de perda e z_i é o i-ésimo exemplo de treinamento. A influência de aumentar o peso de um ponto de treinamento z_i por uma pequena quantidade ε é dada pela derivada dos parâmetros ótimos em relação a ε: dθ̂/dε = -H^{-1} ∇_θ L(z_i, θ̂), onde H é a Hessiana da perda média em θ̂. A influência de z_i na perda em um ponto de teste z_test é então calculada como ∇_θ L(z_test, θ̂)ᵀ dθ̂/dε.
Esta fórmula assume que a perda é duas vezes diferenciável e que a Hessiana é invertível, o que pode não valer para modelos não suaves como Neural networks com ativações ReLU. Na prática, são usadas aproximações, como uma Hessiana amortecida ou estimativas estocásticas. O método foi popularizado na comunidade de aprendizado de máquina por um artigo de 2017 de Pang Wei Koh e Percy Liang, que demonstraram sua utilidade para depuração de dados e interpretação de modelos.
Aplicações em Depuração de Dados
Uma das principais aplicações das funções de influência é identificar exemplos de treinamento que têm um impacto desproporcionalmente grande ou negativo no desempenho do modelo. Por exemplo, se um modelo classifica incorretamente um ponto de teste, funções de influência podem classificar exemplos de treinamento por sua contribuição para essa classificação incorreta. Os exemplos mais bem classificados são frequentemente pontos de dados rotulados incorretamente ou ruidosos. Ao remover ou corrigir esses pontos influentes, os profissionais podem melhorar a precisão do modelo com inspeção manual mínima.
Os experimentos de Koh e Liang mostraram que funções de influência poderiam identificar rótulos corrompidos em conjuntos de dados como MNIST e CIFAR-10, alcançando maior precisão do que amostragem aleatória ou heurísticas baseadas em gradiente. Essa abordagem foi estendida a Large language models, onde os dados de treinamento são massivos e frequentemente ruidosos, tornando a revisão manual inviável. Funções de influência ajudam a priorizar quais pontos de dados inspecionar, reduzindo o custo da curadoria de dados.
Interpretação de Modelos e Justiça
Além da depuração, funções de influência servem como uma ferramenta para interpretação de modelos. Para uma previsão dada, elas fornecem uma lista de exemplos de treinamento que mais fortemente influenciaram a saída. Isso pode ajudar os usuários a entender por que um modelo tomou uma decisão específica, o que é valioso em domínios de alto risco como saúde ou finanças. Por exemplo, em um modelo de diagnóstico médico, funções de influência podem destacar os registros de pacientes mais relevantes que levaram a uma previsão, auxiliando clínicos a verificar o raciocínio.
No contexto da justiça, funções de influência podem revelar se certos grupos de exemplos de treinamento afetam desproporcionalmente previsões para atributos protegidos. Ao analisar a influência de subgrupos demográficos, os profissionais podem detectar vieses nos dados de treinamento e ajustar o modelo de acordo. Isso está alinhado com esforços mais amplos em Artificial intelligence para garantir responsabilidade e transparência.
Desafios Computacionais
O principal obstáculo para usar funções de influência na prática é o cálculo da inversa da Hessiana, que é O(d²) em memória e O(d³) em tempo para um modelo com d parâmetros. Para modelos modernos de aprendizado profundo com milhões ou bilhões de parâmetros, isso é intratável. Pesquisadores desenvolveram aproximações, como usar o método do gradiente conjugado para resolver H^{-1}v sem formar explicitamente a inversa, ou usar estimativas estocásticas com mini-lotes. Além disso, a própria Hessiana pode ser mal condicionada, exigindo amortecimento ou regularização.
Outro desafio é que funções de influência assumem que o modelo está em um mínimo local da perda, o que raramente é verdade para modelos não convexos treinados com gradiente descendente estocástico. Trabalhos recentes exploraram formulações alternativas, como usar a matriz de informação de Fisher ou funções de influência baseadas apenas na última camada, para melhorar a estabilidade. Apesar desses desafios, funções de influência permanecem uma abordagem teoricamente fundamentada que inspirou muitos métodos subsequentes.
Extensões e Variantes
Várias extensões foram propostas para adaptar funções de influência a diferentes configurações. Por exemplo, em aprendizado por transferência, funções de influência podem estimar o efeito dos dados de treinamento em uma tarefa alvo quando o modelo é ajustado a partir de um checkpoint pré-treinado. Isso é particularmente relevante para modelos de Deep learning que são frequentemente inicializados com pesos pré-treinados. Outra variante, chamada "funções de influência para agrupamento", aplica o conceito ao aprendizado não supervisionado.
Para modelos de sequência como Transformer (architecture)s, funções de influência foram adaptadas para lidar com entradas de comprimento variável e mecanismos de atenção. Alguns trabalhos usam funções de influência para explicar previsões em processamento de linguagem natural, atribuindo saídas a frases de treinamento específicas. No entanto, o custo computacional permanece alto, e muitos profissionais recorrem a heurísticas mais simples, como similaridade de gradiente ou pontos representantes.
Relação com Outros Métodos de Atribuição
Funções de influência são uma das várias técnicas para atribuição de dados de treinamento. Outras incluem retreinamento leave-one-out, que é exato mas inviável para grandes conjuntos de dados, e valores de Shapley, que fornecem uma estrutura teórica de jogos para atribuição justa. Funções de influência oferecem um meio-termo: são mais escaláveis que leave-one-out, mas menos teoricamente robustas que valores de Shapley. Na prática, funções de influência são frequentemente usadas como uma aproximação rápida para valores de Shapley, especialmente quando o número de pontos de treinamento é grande.
Comparadas a métodos baseados em gradiente que medem a similaridade entre gradientes de treinamento e teste, funções de influência levam em conta a curvatura da superfície de perda, tornando-as mais precisas em muitos casos. No entanto, elas são sensíveis à escolha da função de perda e à qualidade da aproximação da Hessiana. Pesquisas recentes também exploraram o uso de funções de influência em conjunto com Data Augmentation para entender como pontos de dados aumentados afetam o comportamento do modelo.
Implementações Práticas
Várias bibliotecas de código aberto implementaram funções de influência, como o pacote "influence" de Koh e Liang, que suporta regressão logística e pequenas redes neurais. Para modelos maiores, pesquisadores desenvolveram versões escaláveis usando computação distribuída. Por exemplo, um artigo de 2020 de Guo et al. propôs um método para calcular funções de influência para modelos de aprendizado profundo usando aproximações de posto baixo da Hessiana, permitindo aplicações a modelos com milhões de parâmetros.
Na indústria, funções de influência são usadas por equipes que trabalham em Generative AI e Large language models para depurar dados de treinamento e melhorar o alinhamento do modelo. Por exemplo, OpenAI e Anthropic publicaram pesquisas sobre atribuição de dados, embora frequentemente usem métodos proprietários. A técnica também é relevante para Google DeepMind e outros laboratórios focados em interpretabilidade.
Limitações e Direções Futuras
A principal limitação das funções de influência é sua dependência da aproximação quadrática local da perda. Para modelos altamente não lineares, essa aproximação pode ser imprecisa, levando a pontuações de influência enganosas. Além disso, o método assume que a perda de treinamento é suave e convexa, o que não é verdade para redes profundas. Pesquisadores estão explorando maneiras de tornar funções de influência mais robustas, como usar estimativas estocásticas ou integrá-las com Curriculum Learning para identificar pontos de dados importantes no início do treinamento.
Outra direção é combinar funções de influência com Model Pruning para identificar quais exemplos de treinamento são mais responsáveis pela capacidade do modelo. Isso poderia levar a um treinamento mais eficiente, focando em dados de alta influência. À medida que os modelos continuam a crescer em escala, a necessidade de métodos de atribuição escaláveis se torna mais premente, e funções de influência permanecem um conceito fundamental nessa área.
Conclusão
Funções de influência fornecem uma estrutura rigorosa para entender como os dados de treinamento moldam as previsões do modelo. Elas provaram ser úteis em depuração de dados, interpretação de modelos e análise de justiça, apesar dos obstáculos computacionais. À medida que os modelos de aprendizado de máquina se tornam mais complexos e orientados por dados, funções de influência provavelmente continuarão sendo uma ferramenta importante para garantir sua confiabilidade e transparência. Pesquisas futuras se concentrarão em melhorar sua escalabilidade e precisão, tornando-as aplicáveis aos maiores modelos em uso hoje.