Ver fuente en GitHub

Optimizador que implementa el algoritmo FTRL.

Hereda de: Optimizer

Ver alias

Alias ​​principales

tf.optimizers.Ftrl

Compat alias para la migración

Ver Guía de migración para más detalles.

tf.compat.v1.keras.optimizers.Ftrl

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.