GRUBlockCell

clase final pública GRUBlockCell

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
 

Métodos públicos

Salida <T>
C ()
estático <T extiende Número> GRUBlockCell <T>
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.
Salida <T>
h ()
Salida <T>
r ()
Salida <T>
()

Métodos heredados

Métodos públicos

Salida pública <T> c ()

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

Salida pública <T> h ()

Salida pública <T> r ()

Salida pública <T> u ()