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
Constantes
Chaîne | OP_NAME | Le nom de cette opération, tel que connu par le moteur principal TensorFlow |
Méthodes publiques
Méthodes héritées
booléen | est égal à (Objet arg0) |
Classe finale<?> | obtenirClasse () |
int | Code de hachage () |
vide final | notifier () |
vide final | notifierTous () |
Chaîne | àChaîne () |
vide final | attendre (long arg0, int arg1) |
vide final | attendez (long arg0) |
vide final | attendez () |
résuméExécutionEnvironnement | env () Renvoie l'environnement d'exécution dans lequel cette opération a été créée. |
opération abstraite |
Constantes
chaîne finale statique publique OP_NAME
Le nom de cette opération, tel que connu par le moteur principal TensorFlow
Méthodes publiques
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 |
---|
Retours
- une nouvelle instance de GRUBlockCell