Discussão do artigo "Redes neurais de maneira fácil (Parte 57): Stochastic Marginal Actor-Critic (SMAC)" - página 2
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Para inserir o código, você precisa aplicar o botão correspondente
Saudações, Vladimir.
Cada passagem do EA de teste gera resultados drasticamente diferentes, como se o modelo fosse diferente de todos os anteriores. É óbvio que o modelo evolui a cada passagem do teste, mas o comportamento desse EA dificilmente é uma evolução, então o que está por trás disso?
Aqui estão algumas imagens:
As transações de compra e venda parecem não ser suficientemente controladas nos scripts de teste e, possivelmente, de pesquisa. Aqui estão algumas mensagens:
2024.04.27 13:40:29.423 Core 01 2024.04.22 18:30:00 estado da conta corrente: Saldo: 9892.14, Crédito: 0.00, Comissão: 0.00, Acumulado: 0.00, Ativo: 0.00, Passivo: 0,00, Patrimônio líquido 9892,14, Margem: 0,00, Margem livre: 9892,14
2024.04.27 13:40:29.423 Core 01 2024.04.22 18:30:00 falha na compra de mercado 0.96 EURUSD.pro sl: 1.06306 tp: 1.08465 [Sem dinheiro]
A menos que se pretenda ultrapassar a margem, limites simples colocados em buy_lot após a linha 275 e após a linha 296 colocados em sell_lot eliminariam esse comportamento do script de teste.
Cada passagem do EA de teste gera resultados drasticamente diferentes, como se o modelo fosse diferente de todos os anteriores. É óbvio que o modelo evolui a cada passagem do teste, mas o comportamento desse EA dificilmente é uma evolução, então o que está por trás disso?
Aqui estão algumas imagens:
Esse modelo usa a política estocástica do Ator. Portanto, no início do estudo, podemos ver acordos aleatórios em cada passagem. Coletamos essas passagens e reiniciamos o estudo do modelo. E repetimos esse processo algumas vezes. Enquanto o Ator encontra uma boa política de ações.
Vamos colocar a questão de outra forma. Depois de coletar amostras (pesquisa) e processá-las (estudo), executamos o script de teste. Em várias execuções consecutivas, sem nenhuma pesquisa ou estudo, os resultados obtidos são completamente diferentes.
O script de teste carrega um modelo treinado na sub-rotina OnInit (linha 99). Aqui alimentamos o EA com um modelo que não deve ser alterado durante o processamento do teste. Ele deve ser estável, pelo que entendi. Então, os resultados finais não devem mudar.
Nesse meio tempo, não realizamos nenhum treinamento de modelo. Apenas a coleta de mais amostras é realizada pelo teste.
A aleatoriedade é observada no módulo Research e possivelmente no Study durante a otimização de uma política.
O Actor é chamado na linha 240 para calcular os resultados de feedforward. Se ele não for inicializado aleatoriamente no momento da criação, acredito que esse seja o caso, ele não deve se comportar de forma aleatória.
Você encontrou algum equívoco no raciocínio acima?
Vamos colocar a questão de outra forma. Depois de coletar amostras (pesquisa) e processá-las (estudo), executamos o script de teste. Em várias execuções consecutivas, sem nenhuma pesquisa ou estudo, os resultados obtidos são completamente diferentes.
O script de teste carrega um modelo treinado na sub-rotina OnInit (linha 99). Aqui alimentamos o EA com um modelo que não deve ser alterado durante o processamento do teste. Ele deve ser estável, pelo que entendi. Então, os resultados finais não devem mudar.
Nesse meio tempo, não realizamos nenhum treinamento de modelo. Apenas a coleta de mais amostras é realizada pelo teste.
A aleatoriedade é observada no módulo Research (Pesquisa) e possivelmente no Study (Estudo) durante a otimização de uma política.
O Actor é chamado na linha 240 para calcular os resultados de feedforward. Se ele não for inicializado aleatoriamente no momento da criação, acredito que esse seja o caso, ele não deve se comportar de forma aleatória.
Você encontrou algum equívoco no raciocínio acima?
O Actor usa política estocástica. Nós a implementamos pelo VAE.
A camada CNeuronVAEOCL usa os dados da camada anterior como média e STD da distribuição gaussiana e faz uma amostra da mesma ação a partir dessa distribuição. No início, colocamos no modelo pesos aleatórios. Assim, ele gera médias e DSTs aleatórios. No final, temos ações aleatórias em cada passagem do teste do modelo. No momento do estudo, o modelo encontrará algumas médias para cada estado e o STD tende a zero.