Proyecto Final - Turinmachin
Recreación del minijuego de matemáticas de Brain-Age usando redes neuronales
|
Optimizador Adam (Adaptive Moment Estimation). Combina momentum y RMSProp para un aprendizaje más estable y rápido. More...
#include <optimizer.h>
Public Member Functions | |
Adam (T learning_rate=0.001, T beta1=0.9, T beta2=0.999, T epsilon=1e-8) | |
Constructor de Adam con parámetros configurables. | |
void | update (algebra::Tensor< T, 2 > ¶ms, const algebra::Tensor< T, 2 > &grads) override |
Actualiza los parámetros del modelo usando el algoritmo de Adam. | |
void | step () override |
Incrementa el contador de pasos. Es importante para las correcciones de sesgo de Adam. @complexity O(1) | |
Public Member Functions inherited from utec::neural_network::IOptimizer< T > | |
virtual | ~IOptimizer ()=default |
Destructor virtual. |
Optimizador Adam (Adaptive Moment Estimation). Combina momentum y RMSProp para un aprendizaje más estable y rápido.
T | Tipo de dato (float, double, etc.). |
|
inlineexplicit |
Constructor de Adam con parámetros configurables.
learning_rate | Tasa de aprendizaje. |
beta1 | Coeficiente para el promedio del primer momento. |
beta2 | Coeficiente para el promedio del segundo momento. |
epsilon | Valor pequeño para estabilizar la división. @complexity O(1) |
|
inlineoverridevirtual |
Incrementa el contador de pasos. Es importante para las correcciones de sesgo de Adam. @complexity O(1)
Reimplemented from utec::neural_network::IOptimizer< T >.
|
inlineoverridevirtual |
Actualiza los parámetros del modelo usando el algoritmo de Adam.
params | Parámetros actuales. |
grads | Gradientes correspondientes. @complexity O(n*m), donde n*m es el tamaño de los tensores. Incluye: operaciones de actualización para m, v, normalización con m̂ y v̂, y la división final. |
Implements utec::neural_network::IOptimizer< T >.