Calcula la propagación directa de la celda GRU durante 1 paso de tiempo.
Args x: Entrada a la celda GRU. h_prev: entrada de estado de la celda GRU anterior. w_ru: Matriz de pesos para la puerta de reinicio y actualización. w_c: Matriz de pesos de la compuerta de conexión de la celda. b_ru: Vector de polarización para la puerta de reinicio y actualización. b_c: Vector de polarización de la puerta de conexión de la celda.
Devuelve r: Salida de la puerta de reinicio. u: Salida de la puerta de actualización. c: Salida de la puerta de conexión de la celda. h: Estado actual de la celda GRU.
Nota sobre la notación de las variables:
La concatenación de a y b está representada por a_b El producto escalar por elementos de a y b está representado por ab El producto escalar por elementos está representado por \circ La multiplicación de matrices está representada por *
Los sesgos se inicializan con: `b_ru` - Constant_initializer(1.0) `b_c` - Constant_initializer(0.0)
Esta operación del núcleo implementa las siguientes ecuaciones matemáticas:
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
Cadena | OP_NOMBRE | El nombre de esta operación, como lo conoce el motor central de TensorFlow. |
Métodos públicos
Salida <T> | c () |
estático <T extiende TNumber > GRUBlockCell <T> | |
Salida <T> | h () |
Salida <T> | r () |
Salida <T> | tú () |
Métodos heredados
Constantes
Cadena final estática pública OP_NAME
El nombre de esta operación, como lo conoce el motor central de TensorFlow.
Métodos públicos
GRUBlockCell <T> estático público crear (alcance alcance , operando <T> x, operando <T> hPrev, operando <T> wRu, operando <T> wC, operando <T> bRu, operando <T> bC)
Método de fábrica para crear una clase que envuelve una nueva operación de GRUBlockCell.
Parámetros
alcance | alcance actual |
---|
Devoluciones
- una nueva instancia de GRUBlockCell