Discussão do artigo "Redes neurais de maneira fácil (Parte 25): Exercícios práticos de transferência de aprendizado"
Oi dimitry,
Eu realmente gostei muito dessa série de artigos! Obrigado por isso! Mas, por favor, me ajude com este problema:
Se eu carregar o arquivo "EURUSD_PERIOD_H1_rnn_vae.nn", conforme mencionado neste artigo, recebo a mensagem "Error of load model" e "The file is damaged":

Se eu rastrear, verei que o carregamento falhou nessa linha do NeuroNet.mqh:

Se eu carregar o modelo da parte 23, chamado "EURUSD_i_PERIOD_H1_test_rnn.nnw", ele parece funcionar, mas esse modelo tem apenas duas camadas. Essa não é a correta. Será que perdi alguma coisa?
Se eu carregar o arquivo "EURUSD_PERIOD_H1_rnn_vae.nn", conforme mencionado neste artigo, recebo a mensagem "Error of load model" e "The file is damaged":
Se eu carregar o modelo da parte 23, chamado "EURUSD_i_PERIOD_H1_test_rnn.nnw", ele parece funcionar, mas tem apenas duas camadas. Essa não é a camada correta. Será que perdi alguma coisa?
Olá,
Para carregar o arquivo "EURUSD_PERIOD_H1_rnn_vae.nnw", você precisa recompilar o NetCreator com a nova biblioteca NeuroNet.mqh. No último modelo, substituímos CBufferDouble por CBufferFloat. E adicionamos alguns tipos de camada.
Você pode baixar a versão mais recente dos arquivos de áudio.
Na versão mais recente do NeuroNet.mqh, há um aviso crítico na página 2501:
página 2501 if(inputs.AssingnArray(input Vals) || ...... )
comportamento obsoleto, a chamada de método ocultoq será desativada em uma versão futura do compilador MQL.
Na versão mais recente do NetCreatorPanel.mqh, há 21 avisos críticos. A partir da página 940
página 935 string temp;
página 936 ArrayFree(result);
página 937 switch(layr.type);
página 938 {
página 939 case defNeuronBaseOCL :
p 940 temp = StringFormat ("Dense (outputs %d, \ activation %s, \ optimisation %s)", ..... )
Advertência - sequência de escape de caractere não reconhecido 'a'
Sequência de escape de caractere não reconhecido 'o'
Como resultado de todos esses avisos, o arquivo "_rnn.nnw" não será carregado!
Na versão antiga (parte 24), após o shamanismo com erros, o mesmo arquivo "_rnn.nnw" foi carregado no NetCreatorPanel.mqh e foi possível criar uma nova rede.
Mas não foi possível testá-la. Há dois avisos críticos no arquivo check_net!
Página 222 e página 307
página 219 for(int res = 0; (res <3 && sum >0); res++)
p 220 TempData. Update(res, TempData, At(res) /sum);
página 222 switch(TempData.Maximum(0,3))
Aviso - comportamento obsoleto, a chamada de método ocultoq será desativada em uma versão futura do compilador MQL.
E o registro mostra falha com o código 32767 (parâmetros incorretos)
Tenho o MetaTrader build 5120.
Conselho!!! É possível resolver o problema com avisos? Na minha opinião, para pessoas tão ingênuas como eu, essa é uma lição fundamental, sem dominar o problema.
é a principal lição, sem dominá-la, a única coisa a fazer é parar.
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Você concorda com a política do site e com os termos de uso
Novo artigo Redes neurais de maneira fácil (Parte 25): Exercícios práticos de transferência de aprendizado foi publicado:
Nos dois últimos artigos, criamos uma ferramenta que permite criar e editar modelos de redes neurais. E agora é hora de avaliar o uso potencial da transferência de aprendizado (transfer learning, em inglês) usando exemplos práticos.
Os resultados do teste são mostrados no gráfico abaixo. Como você pode ver, o modelo pré-treinado começou com um erro menor. Mas logo ambos os modelos se estabilizaram e seus valores ficaram bem próximos. Isso confirma a conclusão anterior de que a arquitetura do codificador tem um impacto significativo no desempenho de todo o modelo.
Também vale a pena notar a velocidade de aprendizado. Durante os testes, o modelo pré-treinado mostrou 6 vezes menos tempo para passar uma época. Claro, aqui levamos em conta o tempo puro sem levar em conta o custo de treinamento do autocodificador.
Autor: Dmitriy Gizlyk