Discusión sobre el artículo "Redes neuronales: así de sencillo (Parte 37): Atención dispersa (Sparse Attention)"

 

Artículo publicado Redes neuronales: así de sencillo (Parte 37): Atención dispersa (Sparse Attention):

En el artículo anterior, analizamos los modelos relacionales que utilizan mecanismos de atención en su arquitectura. Una de las características de dichos modelos es su mayor uso de recursos informáticos. Este artículo propondrá uno de los posibles mecanismos para reducir el número de operaciones computacionales dentro del bloque Self-Attention o de auto-atención, lo cual aumentará el rendimiento del modelo en su conjunto.

Entrenamos el modelo y probamos el asesor experto con datos históricos de EURUSD con el marco temporal H1 para marzo de 2023. Hemos obtenido beneficios en el periodo de prueba durante el entrenamiento. Cabe señalar que el beneficio se ha logrado gracias a que el tamaño de la transacción media rentable ha sido superior al tamaño de la transacción media perdedora. Al mismo tiempo, el número de posiciones ganadoras y perdedoras ha sido prácticamente el mismo. Como resultado, el factor de beneficio ha sido de 1,12, mientras que el factor de recuperación ha sido de 1,01.

Gráfico de prueba


Tabla de resultados de la prueba

Autor: Dmitriy Gizlyk

 
¿Podría ser el hardware que estoy utilizando la causa del error?
Archivos adjuntos:
 
Parece que no funciona con tarjetas gráficas Nvidia, ya que tengo el mismo error con diferentes tarjetas gráficas RTX A.
 

Me encuentro con el siguiente error

2023.04.12 07:35:20.755 Core 01 2023.03.01 00:00:00 acceso de puntero inválido en 'NeuroNet.mqh' (2913,18)
2023.04.12 07:35:20.755 Core 01 OnInit error crítico
2023.04.12 07:35:20.755 Core 01 tester detenido porque OnInit falló

Intel UHD 730
Metatrader build 3661


 
Este error es causado por el hecho de que su GPU no soporta fp64 como se puede ver en su error-log
 

¿Cuál es mi razón?

2023.04.13 11:46:35.381 Core 1 2023.01.02 12:00:00 Error de ejecución kernel bool CNeuronMLMHAttentionOCL::SumAndNormilize(CBufferFloat*,CBufferFloat*,CBufferFloat*) MatrixSum: error desconocido de OpenCL 132640


 
Si usas una GPU Nvidia probablemente esta sea la razón, desafortunadamente el autor hasta ahora no tiene una GPU Nvidia y es incapaz de solucionar este error, en su GPU el código parece funcionar.
 
star-ik #:

¿Cuál es mi razón?

2023.04.13 11:46:35.381 Core 1 2023.01.02 12:00:00 Error de ejecución kernel bool CNeuronMLMHAttentionOCL::SumAndNormilize(CBufferFloat*,CBufferFloat*,CBufferFloat*) MatrixSum: error desconocido de OpenCL 132640


Pruebe a utilizar esta biblioteca

Archivos adjuntos:
NeuroNet.mqh  844 kb