Discusión sobre el artículo "Redes neuronales: así de sencillo (Parte 34): Función cuantílica totalmente parametrizada"

 

Artículo publicado Redes neuronales: así de sencillo (Parte 34): Función cuantílica totalmente parametrizada:

Seguimos analizando algoritmos de aprendizaje Q distribuidos. En artículos anteriores hemos analizado los algoritmos de aprendizaje Q distribuido y cuantílico. En el primero, enseñamos las probabilidades de los rangos de valores dados. En el segundo, enseñamos los rangos con una probabilidad determinada. Tanto en el primer algoritmo como en el segundo, usamos el conocimiento a priori de una distribución y enseñamos la otra. En el presente artículo, veremos un algoritmo que permite al modelo aprender ambas distribuciones.

Este enfoque permite entrenar un modelo menos sensible al hiperparámetro del número de cuantiles, y su distribución aleatoria permitirá ampliar la gama de funciones aproximadas a las funciones distribuidas de forma no uniforme.

Antes de suministrarla a la entrada del modelo, crearemos una integración de cuantiles generados aleatoriamente usando la fórmula siguiente.

Durante la combinación de la integración resultante con el tensor de datos original, es posible que se produzcan variaciones. Puede ser una simple concatenación de 2 tensores o una multiplicación adamar (por elementos) de 2 matrices.

A continuación, le ofrecemos una comparación de las arquitecturas analizadas tal como las presentan los autores del artículo.


La eficacia del modelo queda confirmada por las pruebas efectuadas con 57 juegos de Atari. A continuación, podrá ver una tabla comparativa del artículo original [8


Hipotéticamente, dado el tamaño ilimitado del modelo, este enfoque permitirá aprender cualquier distribución de la recompensa prevista.

Autor: Dmitriy Gizlyk

 

Gracias.

probar esto, y yo era capaz de compilar con éxito todo sin error.

pruebas en eurusd y obtener el error de abajo.

¿alguna idea?


2022.11.30 11:51:46.689 Core 08 genetic pass (0, 286) probado con error "OnInit returned non-zero code 1" a las 0:00:00.000


gracias


 
Arjang Aghlara #:

Gracias, señor.

probado esto, y yo era capaz de compilar con éxito todo sin error.

pruebas en eurusd y obtener el error a continuación.

¿alguna idea?


2022.11.30 11:51:46.689 Core 08 genetic pass (0, 286) probado con error "OnInit returned non-zero code 1" a las 0:00:00.000


gracias


Hola, para ejecutar EA en el probador que necesita para copiar el archivo nnw a "MetaQuotes\Terminal\Common\Files" directorio.

 

Gracias.

Tu "productividad" es asombrosa. No te detengas.

Son personas como tú las que hacen que todo siga adelante.

P.D..

He estado leyendo las noticias de NeuroNet....

"Нейросети тоже нуждаются в состояниях, напоминающих сны.

Esta es la conclusión a la que han llegado los investigadores del Laboratorio Nacional de Los Álamos..."

 

Buenos días.

Usando su código hice un "Sueño" similar de NeuroNetwork.

El porcentaje de "predicho" aumentó en un 3%. ¡Para mi "Supercomp" es un vuelo al espacio!

//+------------------------------------------------------------------+
//| Sueño|
//+------------------------------------------------------------------+
int  Dream(int dream = 0)
{
   Comment("!!! Dream !!! ");
   int sleep = (dream==0 ? 7 : dream);

   for(int j=0;j<sleep;j++)
     {
         TempData.Clear();
         for(int b=0; b<(int)HistoryBars; b++) 
           {
            if(
               !TempData.Add(0.0) || !TempData.Add(0.0) || !TempData.Add(0.0) || 
               !TempData.Add(0)   || !TempData.Add(0)   || !TempData.Add(0)   ||
               !TempData.Add(0.0) || !TempData.Add(0.0) ||
               !TempData.Add(0.0) || !TempData.Add(0.0) || 
               !TempData.Add(0.0) || !TempData.Add(0.0)
              )
               break;
           }
         if(TempData.Total()<(int)HistoryBars*12)
            return(0);
         Net.feedForward(TempData);
         Net.getResults(TempData);
               //-- Puedes mirar los "Sueños" de NeuroNet.
                  switch(TempData.Maximum(0,3))
                    {
                     case 0:
                        dPrevSignal=TempData[0];  
                        break;
                     case 1:
                        dPrevSignal=-TempData[1];
                        break;
                     default:
                        dPrevSignal=0;
                        break;
                    }
               //-- ... pero no es esencial.
        //--???
         TempData.Clear();
         TempData.Add(0.0);
         TempData.Add(0.0);
         TempData.Add(0.0);
         Net.backProp(TempData);
        //--???
      }
   return(0);
}

Apliqué esta función al final de cada época de entrenamiento:

      if(add_loop)
         count++;
      if(!stop)
        {
         dError=Net.getRecentAverageError();
         if(add_loop)
           {
            Net.Save(FileName+".nnw",dError,dUndefine,dForecast,dtStudied,true);
            printf("Era %d -> error %.2f %% forecast %.2f",count,dError,dForecast);
           }
         ChartScreenShot(0,(string)FileName+(string)IntegerToString(count)+".png",750,400);
        }
      Dream(SleepPeriod); //-- Dormir.
      printf("¡Periodo de sueño = %.2f !",SleepPeriod);
     }

¿Podrías probar y luego comentar cómo lo haces? ¿De repente "Sueños" podría ayudar a la IA?

P.D..

SleepPerriod=1;

He añadido a

SleepPeriod
SleepPeriod  + (Delta++)

donde Delta=0. Pero mi ordenador es muy, muy débil.... :-(

Обсуждение статьи "Нейросети — это просто (Часть 34): Полностью параметризированная квантильная функция"
Обсуждение статьи "Нейросети — это просто (Часть 34): Полностью параметризированная квантильная функция"
  • 2022.11.29
  • www.mql5.com
Опубликована статья Нейросети — это просто (Часть 34): Полностью параметризированная квантильная функция : Автор: Dmitriy Gizlyk...
 
¿Agregamos la capa FQF como última capa de la red neuronal
 
¿Es la arquitectura nn similar a la del artículo anterior salvo por la última capa?
 
happy side #:
¿Es la arquitectura nn similar a la del artículo anterior excepto por la última capa?