Discussão do artigo "Redes Neurais de Maneira Fácil (Parte 3): Redes Convolucionais"

 

Novo artigo Redes Neurais de Maneira Fácil (Parte 3): Redes Convolucionais foi publicado:

Como uma continuação do tópico das redes neurais, eu proponho ao leitor a análise das redes neurais convolucionais. Esse tipo de rede neural geralmente é aplicado para analisar imagens visuais. Neste artigo, nós consideraremos a aplicação dessas redes no mercado financeiro.

O teste foi realizado usando o par EURUSD com o período gráfico H1. Dois Expert Advisors, um com a rede neural convolucional e outro com a rede totalmente conectada, foram lançados simultaneamente em diferentes gráficos do mesmo símbolo, na mesma plataforma. Os parâmetros das camadas totalmente conectadas da rede neural convolucional correspondem aos parâmetros da rede totalmente conectada do segundo Expert Advisor, ou seja, nós simplesmente adicionamos as camadas convolucionais e de subamostragem a uma rede criada anteriormente.

Visualmente, você pode ver que os sinais aparecem com menos frequência no gráfico da rede neural convolucional, mas eles estão mais próximos do alvo.

Teste da rede neural convolucional.

Teste da rede neural totalmente conectada

Autor: Dmitriy Gizlyk

 

Muito trabalho foi feito. Muito tempo, tenho certeza. Qual é o objetivo desta série de artigos?

Se for um exercício de programação no MKL5, é claro que você precisa dele. Todos podem experimentar o que é essa fera. Infelizmente, muitos podem ficar desapontados com os baixos resultados de suas implementações e desistir de continuar a pesquisa nesse campo.

Em termos práticos, um tempo de treinamento de mais de 2 horas (!) é inaceitável. Muitos programas foram desenvolvidos para essa finalidade em várias linguagens por várias organizações de grande porte. Basta aplicá-los corretamente.

Boa sorte

 
Vladimir Perervenko:

Muito trabalho foi feito. Muito tempo, tenho certeza. Qual é o objetivo desta série de artigos?

Se for um exercício de programação no MKL5, é claro que você precisa dele. Todos podem experimentar o que é essa fera. Infelizmente, muitas pessoas podem ficar desapontadas com os baixos resultados de suas implementações e desistir de continuar pesquisando nesse campo.

Em termos práticos, um tempo de treinamento de mais de 2 horas (!) é inaceitável. Muitos programas foram desenvolvidos para essa finalidade em várias linguagens por várias organizações de grande porte. Basta aplicá-los corretamente.

Boa sorte

Bom dia, Vladimir.
O objetivo dos artigos é demonstrar as possibilidades e fornecer uma ferramenta para que todos possam criar seus próprios programas.

Treinar uma época por mais de 2 horas sem usar multithreading de placas de vídeo é um resultado bastante aceitável. Na prática, uma rede neural é treinada nos dados preparados, e nós trabalhamos com dados reais com o processamento de um estado atual por uma fração de segundos.

Concordo que os exemplos mostram um resultado baixo, mas o objetivo do artigo não era dar a todos um Expert Advisor pronto com uma certa lucratividade. Para esse fim, além da ferramenta em si, é necessário um longo trabalho sobre a arquitetura da rede neural, acompanhado de vários experimentos com diferentes arquiteturas de rede neural.

[Excluído]  

não são 2 horas, são 2 dias).

Qual é o tamanho da amostra? Quantos recursos e o número de amostras?

 
Maxim Dmitrievsky:

não são 2 horas, são 2 dias).

Qual é o tamanho da amostra? Quantos recursos e o número de amostras?

A amostra é de 12453 candlesticks (H1 por 2 anos). A entrada da rede é alimentada com informações de 20 candlesticks com 12 sinais por candlestick. O tempo de treinamento para uma época é de 2 a 2,5 horas.

 

Olá Dimitriy!

Obrigado por essa série de artigos sobre redes neurais! Eu realmente gosto de ler esses artigos (pela tradução do Google para o inglês), pois também implementei redes neurais com retropropagação e diferentes técnicas de otimização (como Adam, RMSprop etc.) na linguagem MQL5. Para ser honesto, a linguagem MQL5 é muito lenta para o treinamento de problemas que não são de brinquedo, mas essas implementações ainda são valiosas. Apesar do aspecto educacional da implementação de redes neurais, percebemos que não estamos limitados à linguagem de programação MQL5 para treinar uma rede. Podemos usar pacotes de alto desempenho para treinar uma rede e depois transferir os pesos (e outros hiperparâmetros) para nossos programas MQL5 para testar e negociar ao vivo. Por favor, continue publicando seu bom trabalho! :)


Atenciosamente, Rasoul




 
Rasoul Mojtahedzadeh:

Olá Dimitriy!

Obrigado por essa série de artigos sobre redes neurais! Eu realmente gosto de ler esses artigos (pela tradução do Google para o inglês), pois também implementei redes neurais com retropropagação e diferentes técnicas de otimização (como Adam, RMSprop etc.) na linguagem MQL5. Para ser honesto, a linguagem MQL5 é muito lenta para o treinamento de problemas que não são de brinquedo, mas essas implementações ainda são valiosas. Apesar do aspecto educacional da implementação de redes neurais, percebemos que não estamos limitados à linguagem de programação MQL5 para treinar uma rede. Podemos usar pacotes de alto desempenho para treinar uma rede e depois transferir os pesos (e outros hiperparâmetros) para nossos programas MQL5 para testar e negociar ao vivo. Por favor, continue publicando seu bom trabalho! :)


Atenciosamente, Rasoul




Obrigado.

 

O artigo é certamente interessante. Especialmente em relação ao fato de que tudo é implementado em MQL e não são necessárias bibliotecas. Espero que haja uma continuação. Infelizmente, o teste do Expert Advisor ainda não produziu resultados positivos.


 
As redes neurais são tudo para nós. Em breve, não poderemos comprar um pedaço de pão sem IA.
 
Olá. Obrigado por isso. Tenho uma pergunta para você. Como você obtém os valores de pixel do gráfico ou da imagem? Procurei, mas não consegui encontrar uma explicação sobre como obter os valores de pixel do gráfico para usar na camada convolucional de entrada.
 
Michael Mureithi Mbugua #:
Olá. Obrigado por isso. Tenho uma pergunta para você. Como você obtém os valores de pixel do gráfico ou da imagem? Procurei, mas não consegui encontrar uma explicação sobre como obter os valores de pixel do gráfico para usar na camada convolucional de entrada.

Olá, você está certo. A camada de convolução não usa os pixels do gráfico. Minha ideia era outra. Pego dados de diferentes indicadores e do histórico de preços e os coloco na entrada da rede neural. A camada de convolução procura padrões nesses dados e retorna algum valor para cada candle.