Vous êtes sur la page 1sur 2

Rechercher dans la documentation Keras...

» Référence API Keras / Optimiseurs / Adam


 Star 55,237

À propos de Keras Adam


Commencer Adam classe
Guides du développeur
tf.keras.optimizers.Adam(

learning_rate=0.001,

Référence de l’API Keras


beta_1=0.9,

API modèles beta_2=0.999,

epsilon=1e-07,

API Couches amsgrad=False,

name="Adam",

API de rappels **kwargs

Optimiseurs

Métrique
Optimiseur qui implémente l’algorithme Adam.
Pertes
L’optimisation d’Adam est une méthode de descente de gradient stochastique basée sur l’estimation
Chargement des données adaptative des moments du premier et du deuxième ordre.
Petits jeux de données intégrés Selon Kingma et al., 2014, la méthode est « efficace sur le plan informatique, a peu de mémoire
Keras Applications requise, invariante à la diagonale de redimensionnement des gradients et convient bien aux
problèmes qui sont importants en termes de données / paramètres ».
Précision mixte
Arguments
Utilitaires

KerasTuner learning_rate : une valeur en virgule flottante ou une planification qui est un
tf.keras.optimizers.schedules.LearningRateSchedule, ou un objet appelable qui ne prend aucun
KerasCV argument et renvoie la valeur réelle à utiliser, Le taux d’apprentissage. La valeur par défaut est
KerasNLP
0,001.Tensor
beta_1 : valeur flottante ou tenseur flottant constant, ou callable qui ne prend aucun argument
Exemples de code et renvoie la valeur réelle à utiliser. Le taux de désintégration exponentielle pour les estimations
du 1er moment. La valeur par défaut est 0,9.
Pourquoi choisir Keras ? beta_2 : Une valeur flottante ou un tenseur flottant constant, ou un callable qui ne prend aucun
argument et renvoie la valeur réelle à utiliser, Le taux de désintégration exponentielle pour les
Communauté et gouvernance estimations du 2ème moment. La valeur par défaut est 0,999.
epsilon: Une petite constante pour la stabilité numérique. Cet epsilon est « epsilon hat » dans
Contribuer à Keras
l’article Kingma et Ba (dans la formule juste avant la section 2.1), pas l’epsilon dans l’algorithme
KerasTuner 1 de l’article. La valeur par défaut est 1e-7.
amsgrad : Booléen. S’il faut appliquer la variante AMSGrad de cet algorithme de l’article « Sur la
KerasCV convergence d’Adam et au-delà ». La valeur par défaut est .False
name : nom facultatif pour les opérations créées lors de l’application de dégradés. La valeur par
KerasNLP défaut est ."Adam"
**kwargs : arguments de mots-clés. Les arguments autorisés sont , , . Si (float) est défini, le
gradient de chaque poids est coupé pour ne pas être supérieur à cette valeur. Si (float) est
défini, le gradient de chaque poids est coupé individuellement de sorte que sa norme ne soit
pas supérieure à cette valeur. Si (float) est défini, le gradient de tous les poids est coupé de
sorte que leur norme globale ne soit pas supérieure à cette
valeur.clipvalueclipnormglobal_clipnormclipvalueclipnormglobal_clipnorm

Usage:

>>> opt = tf.keras.optimizers.Adam(learning_rate=0.1)

>>> var1 = tf.Variable(10.0)

>>> loss = lambda: (var1 ** 2)/2.0 # d(loss)/d(var1) == var1

>>> step_count = opt.minimize(loss, [var1]).numpy()

>>> # The first step is `-learning_rate*sign(grad)`

>>> var1.numpy()

9.9

Référence

Kingma et coll., 2014


Reddi et al., 2018 pour .amsgrad
Notes:

La valeur par défaut de 1e-7 pour epsilon peut ne pas être une bonne valeur par défaut en général.
Par exemple, lors de la formation d’un réseau Inception sur ImageNet, un bon choix actuel est 1.0 ou
0.1. Notez que puisqu’Adam utilise la formulation juste avant la section 2.1 de l’article Kingma et Ba
plutôt que la formulation de l’algorithme 1, le « epsilon » auquel il est fait référence ici est « epsilon
hat » dans l’article.

L’implémentation éparse de cet algorithme (utilisée lorsque le gradient est un objet IndexedSlices,
généralement en raison de tf.gather ou d’une recherche d’incorporation dans la passe avant)
applique un momentum aux tranches variables même si elles n’ont pas été utilisées dans la passe
avant (ce qui signifie qu’elles ont un gradient égal à zéro). La désintégration de la quantité de
mouvement (bêta1) est également appliquée à l’ensemble de l’accumulateur de quantité de
mouvement. Cela signifie que le comportement clairsemé est équivalent au comportement dense
(contrairement à certaines implémentations de momentum qui ignorent le momentum à moins
qu’une tranche variable n’ait été réellement utilisée).

Vous aimerez peut-être aussi