A parada precoce é uma forma de regularização usada em aprendizado de máquina para evitar o sobreajuste ao treinar um modelo com um método de otimização iterativo, como a descida de gradiente. Esses métodos atualizam o modelo para melhor ajustar os dados de treinamento a cada iteração. Até um certo ponto, isso melhora o desempenho do modelo em dados fora do conjunto de treinamento, como um conjunto de validação. Além desse ponto, no entanto, melhorar o ajuste do modelo aos dados de treinamento ocorre às custas de um aumento do erro de generalização. As regras de parada precoce fornecem orientações sobre quantas iterações podem ser executadas antes que o aprendiz comece a sofrer sobre overfit. Regras de parada precoce foram empregadas em muitos métodos diferentes de aprendizado de máquina, com graus variados de fundamentação téorica.
Contexto
Esta seção apresenta alguns conceitos básicos de aprendizado de máquina necessários para a descrição de métodos de parada precoce.
Sobreajuste
Algoritmos de aprendizado de máquina treinam um modelo com base em um conjunto finito de dados de treinamento. Durante o treinamento, o modelo é avaliado com base em quão bem ele prevê as observações contidas no conjunto de treinamento. Em geral, no entanto, o objetivo de um esquema de aprendizado de máquina é produzir um modelo que generalize, ou seja, que preveja observações ainda não vistas. O sobreajuste ocorre quando um modelo se ajusta bem aos dados do conjunto de treinamento, enquanto incorre em um erro de generalização maior. Este é um desafio central em Machine learning, pois modelos com capacidade excessiva podem memorizar ruído em vez de aprender padrões subjacentes.
Regularização
Regularização, no contexto de aprendizado de máquina, refere-se ao processo de modificar um algoritmo de aprendizado para evitar o sobreajuste. Isso geralmente envolve impor algum tipo de restrição de suavidade ao modelo aprendid. A suavidade pode ser imposta explicitamente, fixando o número de parâmetros no modelo, ou aumentando a função de custo, como na regularização de Tikhonov. A regularização de Tikhonov, juntamente com a regressão por componentes principais e muitas outras formas de regularização, cai sob o guarda-chuva da regularização espectral, caracterizada pela aplicação de um filtro. A parada precoce também pertence a esta classe de métodos. Em Deep learning, a regularização é crucial para treinar grandes neural networks sem memorizar dados de treinamento.
Métodos de descida de gradiente
Os métodos de descida de gradiente são métodos de otimização iterativos de primeira ordem. Cada iteração atualiza uma solução aproximada para o problema de otimização, dando um passo na direção do negativo do gradiente da função objetivo. Ao escolher adequadamente o tamanho do passo, esse método pode ser feito para convergir a um mínimo local da função objetivo. O gradiente descendente é usado em aprendizado de máquina, definindo-se uma função de perda que reflete o erro do aprendizante no conjunto de treinamento e, em seguida, minimizando essa função. A parada precoce é particularmente relevante para o gradiente descendente, pois determina quando parar esse processo iterativo.
Parada precoce baseada em resultados analíticos
Parada precoce na teoria de aprendizado estatístico
A parada precoce pode ser usada para regularizar problemas de regressão não-paramétrica encontrados na teoria de aprendizado estatístico. Para um dado espaço de entrada, espaço de saída e amostras retiradas de uma medida de probabilidade desconhecida, o objetivo é aproximar uma função de regressão. Uma escolha comum para aproximar a função de regressão é usar funções de um espaço de Hilbert de núcleo reproducente. Esses espaços podem ser de dimensão infinita, caso em que podem fornecer soluções que sobreajustam conjuntos de treinamento de tamanho arbitrário. A regularização é, portanto, especialmente importante para esses métodos. Uma forma de regularizar problemas de regressão não-paramétrica é aplicar uma regra de parada precoce a um procedimento iterativo, como o gradiente descendente.
As regras de parada precoce propostas para esses problemas baseiam-se na análise de limites superiores do erro de generalização como função do número de iterações. Elas produzem prescrições para o número de iterações a executar que podem ser calculadas antes de iniciar o processo de solução. Essa base teórica diferencia a parada precoce de abordagens puramente heurísticas.
#### Exemplo: Perda de mínimos quadrados
Adaptado de Yao, Rosasco e Caponnetto, 2007: Deixe o espaço de entrada ser um subconjunto do espaço real n-dimensional e o espaço de saída ser os números reais. Dado um conjunto de amostras retiradas independentemente de uma medida de probabilidade desconhecida, o objetivo é minimizar o risco esperado para uma função de perda de mínimos quadrados. A função de regressão é a expectativa condicional da saída dada a entrada. As regras de parada precoce para este cenário fornecem uma iteração de parada que equilibra viés e variância, levando a taxas de convergência ótimas em muitos casos.
Implementação prática
Na prática, a parada precoce é implementada monitorando o desempenho do modelo em um conjunto de dados de validação durante o treinamento. Após cada época (ou após um número fixo de iterações), o modelo é avaliado no conjunto de validação. Se o desempenho na validação não melhorar por um número predefinido de verificações, o treinamento é interrompido. Este parâmetro de paciência permite flutuações temporárias no desempenho de validação sem impedir prematuramente o treinamento. Os parâmetros do modelo que alcançaram o melhor desempenho de validação são normalmente retidos, em vez dos parâmetros finais da última iteração.
Esta abordagem é amplamente usada no treinamento de Transformer (architecture) modelos e modelos de linguagem de grande escala, onde o treinamento pode ser extremamente caro e o sobreajuste é um risco constante. Por exemplo, OpenAI e Google DeepMind usam a parada precoce em seus pipelines de treinamento para garantir que os modelos generalizem bem para dados não vistos.
Relação com outros métodos de regularização
A parada precoce está intimamente relacionada a outras formas de regularização. Em particular, foi demonstrado que a parada precoce no gradiente descendente é equivalente à regularização L2 (também conhecida como decay de peso) em certas configurações, com o número de iterações desempenhando um papel análogo ao inverso da força regularizadora. Essa conexão fornece apoio sobre por que a parada precoce funciona: ela limita a complexidade efetiva do modelo restringindo o número de atualizações, de maneira semelhante ao como a decay de peso penaliza grandessores.
Ao contrário de métodos de regularização explícita que modificam a função de perda, a parada precoce é uma forma de regularização implícita. Não altera o objetivo, mas apenas restringe o caminho da otimização. Isso torna fácil de aplicar em qualquer algoritmo de treinamento iterativo, sem modificar a arquitetura subjacente do modelo ou a função de perda.
Fundamentos teóricos
As bases teóricas da parada precoce foram amplamente estudadas no contexto da teoria de aprendizado estatístico. Pesquisadores derivam limitantes superiores no erro de generalização como função do número de iterações, mostrando que existe um tempo ótimo de parada que minimiza o erro esperado. Esses limites geralmente dependem de propriedades do espaço de hipóteses, como sua capacidade ou complexidade, e do nível de ruído nos dados.
Para regressão não-paramétrica em espaços de Hilbert de núcleo reproducente, a parada precoce demonstrou obter taxas ótimas minimax sob certas condições. Isso significa que nenhum outro estimador pode alcançar um erro assintótico menor, dado o mesmo tipo de suposições. Esses resultados fornecem uma justificativa rigorosa para usar a parada precoce na prática.
Aplicações em IA moderna
A parada precoce é um componente padrão no treinamento de sistemas de inteligência artificial modernos. Em Deep learning, é usado para treinar redes convolucionais, redes recorrentes e transformadores para tarefas como classificação de imagens, reconhecimento de fala e processamento de linguagem natural. Empresas como Anthropic e OpenAI usam a parada precoce ao treinar modelos como GPT e Claude para evitar sobreajustes em seus conjuntos de dados massivos.
Além do aprendizado supervisionado, a parada precoce também é aplicada em definições de aprendizado não supervisionado e por reforço. Por exemplo, no treinamento de modelos generativos, precoce pode evitar que o gerador memoriza amostras de treinamento. No aprendizado por reforço, pode interromper o treinamento quando o desempenho do agente em um ambiente de validação se estabilizar.
Limitações e considerações
Embora a parada precoce seja simples e eficaz, ela tem limitações. A escolha do conjunto de validação e doeparâmetro de paciência pode afetar significativamente a qualidade final do modelo. Se o conjunto de validação for pequeno demais, as estimativas de desempenho podem ser ruidosas, levanddo a uma parada prematura ou atrasada. Além disso, a parada precoce pode interagir com demais parâmetros, como taxa de aprendizado e tamanho de lote, tornando difícil o ajuste isolado.
Outra consideração é que a parada precoce assume que o desempenho na validação é um substituto confiável da generalização. Em alguns casos, como quando a distribuição de dados muda ao longo do tempo, essa suposição pode não ser válida. Ainda assim, a parada precoce permanece uma ferramenta fundamental no kit de aprendizado de máquina da praticante.