Discussão do artigo "Redes neurais de maneira fácil (Parte 48): métodos para reduzir a superestimação dos valores da função Q"

 

Novo artigo Redes neurais de maneira fácil (Parte 48): métodos para reduzir a superestimação dos valores da função Q foi publicado:

No artigo anterior, nós exploramos o método DDPG, projetado para treinar modelos em espaços de ação contínua. No entanto, como outros métodos de aprendizado Q, ele está sujeito ao problema da sobreavaliação dos valores da função Q. Esse problema geralmente leva eventualmente ao treinamento de um agente com uma estratégia não otimizada. Neste artigo, examinaremos algumas abordagens para superar o problema mencionado.

O problema da sobreavaliação dos valores da função Q é frequentemente observado ao treinar diferentes modelos com o método DQN e suas derivações. Isso é verdade tanto para modelos com ações discretas quanto para resolução de tarefas em espaços de ação contínuos. As causas desse fenômeno e os métodos para lidar com suas consequências podem ser específicos para cada caso. Por isso, é importante adotar uma abordagem abrangente para resolver esse problema. Uma dessas abordagens foi apresentada no artigo "Addressing Function Approximation Error in Actor-Critic Methods", publicado em fevereiro de 2018. Nele, foi proposto um algoritmo chamado Twin Delayed Deep Deterministic Policy Gradient (TD3). Esse algoritmo é uma extensão lógica do DDPG e introduz melhorias que elevam a qualidade do treinamento dos modelos.

No início, os autores acrescentam um segundo Crítico. A ideia não é nova e já foi usada anteriormente em modelos com espaços de ação discretos. No entanto, os autores do método contribuíram com sua própria compreensão, visão e abordagem para o uso desse segundo Crítico.

A ideia aqui é que ambos os Críticos sejam inicializados com parâmetros aleatórios e treinem simultaneamente com os mesmos dados. Inicializados com parâmetros iniciais diferentes, eles começam seu treinamento a partir de estados diferentes. No entanto, ambos os Críticos são treinados com os mesmos dados, portanto, devem convergir para o mesmo mínimo global, idealmente. É natural que durante o treinamento, seus resultados de previsão se aproximem. No entanto, eles não serão idênticos devido à influência de vários fatores. E sim, cada um deles está sujeito ao problema da sobreavaliação da função Q. Mas em um momento específico, um modelo superestimará a função Q, enquanto o outro subestimará. E mesmo quando ambos os modelos superestimarem a função Q, o erro de um modelo será menor que o do outro. Com base nessas suposições, os autores do método propõem usar a previsão mínima para treinar ambos os Críticos. Isso minimiza o impacto da sobreavaliação da função Q e a acumulação de erro durante o treinamento.

Após concluir o desenvolvimento dos programas, avançamos para o processo de treinamento e verificação dos resultados obtidos. Como de costume, o treinamento dos modelos foi realizado com base em dados históricos do par de moedas EURUSD, no período de janeiro a maio de 2023, com intervalo de tempo H1. Os parâmetros dos indicadores e todos os hiperparâmetros foram mantidos nos valores padrão.

É importante mencionar que o processo de treinamento foi longo e iterativo. Na primeira fase, foi criada uma base de dados com 200 trajetórias. O primeiro ciclo de treinamento foi executado com 1.000.000 de iterações. A atualização da política do Ator ocorreu a cada 10 iterações de atualização dos parâmetros dos Críticos, e a atualização suave dos modelos alvo foi realizada a cada 1.000 iterações de atualização dos Críticos.


Após a primeira fase de treinamento, mais 50 trajetórias foram adicionadas à base de exemplos e a segunda fase de treinamento dos modelos foi iniciada. Nesse estágio, o número de iterações antes da atualização do Ator e dos modelos alvo foi reduzido para 3 e 100, respectivamente.

Após aproximadamente 5 ciclos de treinamento (com a adição de 50 trajetórias a cada ciclo), obtemos um modelo capaz de gerar lucro no conjunto de treinamento. Ao longo de 5 meses de treinamento, o modelo conseguiu obter um lucro de quase 10%. O índice não é o maior. Foram fechadas 58 operações. A taxa de operações lucrativas atingiu cerca de 40%. O fator de lucro foi de 1,05, e o fator de recuperação foi de 1,50. O lucro foi alcançado principalmente devido ao tamanho das posições lucrativas. O lucro médio por negociação foi 1,6 vezes maior do que a perda média. Além disso, o lucro máximo foi 3,5 vezes maior do que a perda máxima em uma única operação.

Autor: Dmitriy Gizlyk