LSTMBlockCell

classe finale publique LSTMBlockCell

Calcule la propagation avant de la cellule LSTM pour 1 pas de temps.

Cette implémentation utilise 1 matrice de poids et 1 vecteur de biais, et il existe une connexion judas en option.

Cette opération du noyau implémente les équations mathématiques suivantes :

xh = [x, h_prev]
 [i, f, ci, o] = xh * w + b
 f = f + forget_bias
 
 if not use_peephole:
   wci = wcf = wco = 0
 
 i = sigmoid(cs_prev * wci + i)
 f = sigmoid(cs_prev * wcf + f)
 ci = tanh(ci)
 
 cs = ci .* i + cs_prev .* f
 cs = clip(cs, cell_clip)
 
 o = sigmoid(cs * wco + o)
 co = tanh(cs)
 h = co .* o
 

Classes imbriquées

classe LSTMBlockCell.Options Attributs facultatifs pour LSTMBlockCell

Méthodes publiques

statique LSTMBlockCell.Options
cellClip (cellClip flottant)
Sortie <T>
ci ()
L'entrée de la cellule.
Sortie <T>
co ()
La cellule après le tanh.
statique <T étend le nombre> LSTMBlockCell <T>
créer ( Portée de portée , Opérande <T> x, Opérande <T> csPrev, Opérande <T> hPrev, Opérande <T> w, Opérande <T> wci, Opérande <T> wcf, Opérande <T> wco, Opérande <T > b, Options... options)
Méthode d'usine pour créer une classe encapsulant une nouvelle opération LSTMBlockCell.
Sortie <T>
cs ()
L'état de la cellule avant le tanh.
Sortie <T>
F ()
La porte oubliée.
statique LSTMBlockCell.Options
oublierBias (Float oublierBias)
Sortie <T>
h ()
Le vecteur h de sortie.
Sortie <T>
je ()
La porte d'entrée.
Sortie <T>
o ()
La porte de sortie.
statique LSTMBlockCell.Options
usePeephole (utilisation booléennePeephole)

Méthodes héritées

Méthodes publiques

public statique LSTMBlockCell.Options cellClip (Float cellClip)

Paramètres
celluleClip Valeur à laquelle découper la valeur « cs ».

sortie publique <T> ci ()

L'entrée de la cellule.

sortie publique <T> co ()

La cellule après le tanh.

public static LSTMBlockCell <T> créer ( Portée de portée, Opérande <T> x, Opérande <T> csPrev, Opérande <T> hPrev, Opérande <T> w, Opérande <T> wci, Opérande <T> wcf, Opérande <T > wco, Opérande <T> b, Options... options)

Méthode d'usine pour créer une classe encapsulant une nouvelle opération LSTMBlockCell.

Paramètres
portée portée actuelle
X L'entrée de la cellule LSTM, forme (batch_size, num_inputs).
csPrév Valeur de l’état de la cellule au pas de temps précédent.
hPréc Sortie de la cellule précédente au pas de temps précédent.
w La matrice de poids.
wci La matrice de poids pour la connexion des judas de la porte d’entrée.
WCF La matrice de poids pour la connexion des judas du portail oublié.
wco La matrice de poids pour la connexion des judas de la porte de sortie.
b Le vecteur de biais.
choix porte des valeurs d'attributs facultatifs
Retour
  • une nouvelle instance de LSTMBlockCell

sortie publique <T> cs ()

L'état de la cellule avant le tanh.

Sortie publique <T> f ()

La porte oubliée.

public statique LSTMBlockCell.Options ForgetBias (Float ForgetBias)

Paramètres
oublier les biais Le biais de la porte oubliée.

sortie publique <T> h ()

Le vecteur h de sortie.

Sortie publique <T> i ()

La porte d'entrée.

Sortie publique <T> o ()

La porte de sortie.

public statique LSTMBlockCell.Options usePeephole (booléen usePeephole)

Paramètres
utiliserJudas S'il faut utiliser des poids pour judas.