Posterior a investigar con expertos en este tema, programadores de diversas áreas y profesores dimos con la respuesta a la interrogande y la plasmamos en esta publicación.
Ver fuente en GitHub |
Optimizador que implementa el algoritmo FTRL.
Hereda de: Optimizer
Ver alias
Alias principales
Compat alias para la migración
Ver Guía de migración para más detalles.
tf.keras.optimizers.Ftrl( learning_rate=0.001, learning_rate_power=-0.5, initial_accumulator_value=0.1, l1_regularization_strength=0.0, l2_regularization_strength=0.0, name='Ftrl', l2_shrinkage_regularization_strength=0.0, beta=0.0,**kwargs )
Ver algoritmo 1 de este papel. Esta versión tiene soporte para L2 en línea (la penalización L2 dada en el documento anterior) y L2 de tipo de contracción (que es la adición de una penalización L2 a la función de pérdida).
Inicialización:
$$ t = 0 $$ $$ n_ 0 = 0 $$ $$ sigma_ 0 = 0 $$ $$ z_ 0 = 0 $$
Actualizar (
$$ i $$
es índice variable,
$$ alpha $$
es la tasa de aprendizaje):
$$ t = t + 1 $$ $$ n_ t, i = n_ t-1, i + g_ t, i ^ 2 $$ $$ sigma_ t, i = ( sqrt n_ t, i – sqrt n_ t-1, i) / alpha $$ $$ z_ t, i = z_ t-1, i + g_ t , i – sigma_ t, i * w_ t, i $$ $$ w_ t, i = – (( beta + sqrt n_ t, i) / alpha + 2 * lambda_ 2) ^ – 1 * (z_ i – sgn (z_ i) * lambda_ 1) if abs z_ i> lambda_ i else 0 $$
Consulte la documentación del parámetro l2_shrinkage_regularization_strength para obtener más detalles cuando la contracción está habilitada, en cuyo caso el gradiente se reemplaza por gradiente_con_encogimiento.
Args | |
---|---|
learning_rate |
A Tensor , valor de punto flotante o un programa que es un tf.keras.optimizers.schedules.LearningRateSchedule . La tasa de aprendizaje. |
learning_rate_power |
Un valor flotante, debe ser menor o igual a cero. Controla cómo disminuye la tasa de aprendizaje durante el entrenamiento. Utilice cero para una tasa de aprendizaje fija. |
initial_accumulator_value |
El valor inicial de los acumuladores. Solo se permiten valores cero o positivos. |
l1_regularization_strength |
Un valor flotante, debe ser mayor o igual a cero. |
l2_regularization_strength |
Un valor flotante, debe ser mayor o igual a cero. |
name |
Nombre opcional prefix para las operaciones creadas al aplicar degradados. Predeterminado a "Ftrl" . |
l2_shrinkage_regularization_strength |
Un valor flotante, debe ser mayor o igual a cero. Esto difiere de L2 anterior en que la L2 anterior es una penalización de estabilización, mientras que esta contracción de L2 es una penalización de magnitud. Cuando la entrada es escasa, la contracción solo ocurrirá en los pesos activos. |
beta |
Un valor flotante, que representa el valor beta del papel. |
**kwargs |
Argumentos de palabras clave. Permitido ser uno de "clipnorm" o "clipvalue" . "clipnorm" (flotar) recorta gradientes por norma; "clipvalue" (flotante) recorta los degradados por valor. |
Referencia:
Eleva | |
---|---|
ValueError |
en caso de cualquier argumento inválido. |
Tienes la opción de patrocinar nuestra faena dejando un comentario y dejando una puntuación te damos la bienvenida.