A Armadilha do Early Stopping: Como Eu Matava Execuções de RL Antes Que Elas Pudessem Aprender

O early stopping deveria poupar você de queimar poder de processamento em um modelo que já terminou de aprender. Por um bom tempo, ele foi justamente o que queimava o meu poder de processamento — matando bons agentes antes que eles pudessem ficar bons.

Mais das minhas execuções de aprendizado por reforço (RL) morreram pela minha própria regra de early stopping do que por ideias ruins. O botão de desligamento que eu havia construído para ser disciplinado acabou sendo a coisa mais indisciplinada do sistema.

Curva de reward ruidosa ilustrativa que cai e é interrompida precocemente, com uma continuação tracejada mostrando a subida que ela nunca alcançou Ilustrativo, não são dados reais de desempenho. O agente foi interrompido durante uma queda normal — bem antes da parte em que ele teria subido.

O botão de desligamento que saiu pela culatra

Eu peguei emprestado o early stopping do aprendizado supervisionado, onde ele é doutrina: observe a validation loss e, quando ela parar de melhorar por um tempo, pare — daqui em diante você só está fazendo overfitting. É limpo, é seguro, e no aprendizado supervisionado costuma funcionar.

Então eu conectei a mesma ideia ao treinamento de RL: observar a métrica, perder a patience após um plateau, parar a execução, economizar as horas de GPU. Parecia responsável. Na prática, isso silenciosamente jogou fora execução após execução — muitas delas precocemente, antes que o agente tivesse encontrado qualquer coisa. Acabei com uma pasta cheia de execuções que simplesmente nunca tinham começado.

Por que o RL quebra a regra

Uma curva de validação supervisionada é algo razoavelmente suave e quase monótono. O progresso de um agente de aprendizado por reforço não é. O reward é ruidoso por construção: ele depende de uma policy que está, ela mesma, mudando, interagindo com um ambiente cheio de variância. A melhoria vem aos trancos e barrancos — longos platôs, saltos repentinos, quedas que se recuperam. Um plateau em RL muitas vezes não é o fim do aprendizado. É justamente a parte que antecede ele.

Então uma patience ajustada para a suavidade do aprendizado supervisionado dispara durante uma variância de RL perfeitamente normal. Você não captura um modelo que terminou; você executa um que estava prestes a ficar interessante. E a “economia” é uma ilusão — você ainda paga por cada execução que morreu cedo e não retornou nada.

Pare de parar cedo

A correção não foi um número melhor. Foi inverter o padrão. O early stopping deveria ser raro, não ansioso — uma proteção contra overfitting genuíno e sustentado, não um gatilho sensível ao ruído. Isso significa colocar a barreira em um ponto que o ruído não consiga alcançar de forma realista e avaliar a degradação ao longo de uma janela longa o suficiente para ofuscar a variância natural da execução — não um punhado de avaliações. O padrão precisa ser continuar. O ônus da prova pertence a parar, não a continuar.

Sem rodeios: a patience também é um hyperparameter, e a maioria dos iniciantes — eu incluído — a ajusta como se o RL fosse aprendizado supervisionado. Não é.

Onde os humanos ainda têm lugar

Isso ecoa a lição do primeiro post. Eu não decido, execução por execução, quando puxar o gatilho — isso é apenas eu congelando um palpite dentro do sistema de novo. Eu decido o que significa “piorar genuinamente” versus “ruído normal”, e deixo essa definição fazer a parada. Estou projetando o juiz, não entregando cada veredito à mão. Acerte o juiz e você para de descartar as execuções que teriam funcionado.

A conclusão

Em RL, o bug mais caro costuma ser a impaciência. Otimizar prematuramente seu orçamento de processamento não economiza processamento — custa você o agente, e a parte cruel é que você nunca vê o resultado que matou.

Então, se suas execuções continuam “não funcionando”, verifique se elas chegaram a ter a chance. Às vezes o modelo não estava falhando. Você estava.


Esta é a parte 2 de um registro anônimo e contínuo sobre a construção de um sistema de trading com aprendizado por reforço. É sobre método e erros, não sobre sinais — nada aqui é recomendação de investimento, e nenhum detalhe de estratégia é compartilhado.