GRUBlockCell

classe finale publique GRUBlockCell

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

Args x : entrée dans la cellule GRU. h_prev : entrée d'état de la cellule GRU précédente. w_ru : Matrice de poids pour la porte de réinitialisation et de mise à jour. w_c : Matrice de poids pour la porte de connexion des cellules. b_ru : vecteur de biais pour la porte de réinitialisation et de mise à jour. b_c : vecteur de polarisation pour la porte de connexion cellulaire.

Renvoie r : sortie de la porte de réinitialisation. u : Sortie de la porte de mise à jour. c : Sortie de la porte de connexion de cellule. h : État actuel de la cellule GRU.

Remarque sur la notation des variables :

La concaténation de a et b est représentée par a_b Le produit scalaire élément par élément de a et b est représenté par ab Le produit scalaire élément par élément est représenté par \circ La multiplication matricielle est représentée par *

Les biais sont initialisés avec : `b_ru` - constant_initializer(1.0) `b_c` - constant_initializer(0.0)

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

x_h_prev = [x, h_prev]
 
 [r_bar u_bar] = x_h_prev * w_ru + b_ru
 
 r = sigmoid(r_bar)
 u = sigmoid(u_bar)
 
 h_prevr = h_prev \circ r
 
 x_h_prevr = [x h_prevr]
 
 c_bar = x_h_prevr * w_c + b_c
 c = tanh(c_bar)
 
 h = (1-u) \circ c + u \circ h_prev
 

Méthodes publiques

Sortie <T>
c ()
statique <T étend le nombre> GRUBlockCell <T>
créer ( Scope scope, Opérande <T> x, Opérande <T> hPrev, Opérande <T> wRu, Opérande <T> wC, Opérande <T> bRu, Opérande <T> bC)
Méthode d'usine pour créer une classe encapsulant une nouvelle opération GRUBlockCell.
Sortie <T>
h ()
Sortie <T>
r ()
Sortie <T>
tu ()

Méthodes héritées

Méthodes publiques

Sortie publique <T> c ()

public static GRUBlockCell <T> créer ( Portée de portée, Opérande <T> x, Opérande <T> hPrev, Opérande <T> wRu, Opérande <T> wC, Opérande <T> bRu, Opérande <T> bC)

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

Paramètres
portée portée actuelle
Retour
  • une nouvelle instance de GRUBlockCell

sortie publique <T> h ()

Sortie publique <T> r ()

Sortie publique <T> u ()