GRUBlockCellGrad

publiczna klasa końcowa GRUBlockCellGrad

Oblicza propagację wsteczną komórki GRU dla 1 kroku czasowego.

Args x: Dane wejściowe do komórki GRU. h_prev: Dane wejściowe stanu z poprzedniej komórki GRU. w_ru: Macierz wag dla bramki resetowania i aktualizacji. w_c: Macierz wag dla bramki połączenia komórkowego. b_ru: Wektor odchylenia dla bramki resetowania i aktualizacji. b_c: wektor odchylenia dla bramki połączenia komórkowego. r: Wyjście bramki resetującej. u: Dane wyjściowe bramki aktualizacji. c: Wyjście bramki połączenia komórkowego. d_h: Gradienty funkcji celu h_new wrt.

Zwraca d_x: Gradienty x wrt do funkcji celu. d_h_prev: Gradienty funkcji celu. d_c_bar Gradienty funkcji c_bar wrt do celu. d_r_bar_u_bar Gradienty r_bar i u_bar wrt do funkcji celu.

Ta operacja jądra implementuje następujące równania matematyczne:

Uwaga dotycząca notacji zmiennych:

Połączenie aib jest reprezentowane przez a_b Iloczyn skalarny elementarny aib jest reprezentowany przez ab Iloczyn skalarny elementarny jest reprezentowany przez \circ Mnożenie macierzy jest reprezentowane przez *

Dodatkowe uwagi dla przejrzystości:

`w_ru` można podzielić na 4 różne macierze.

w_ru = [w_r_x w_u_x
         w_r_h_prev w_u_h_prev]
 
Podobnie `w_c` można podzielić na 2 różne macierze.
w_c = [w_c_x w_c_h_prevr]
 
To samo tyczy się uprzedzeń.
b_ru = [b_ru_x b_ru_h]
 b_c = [b_c_x b_c_h]
 
Kolejna uwaga dotycząca notacji:
d_x = d_x_component_1 + d_x_component_2
 
 where d_x_component_1 = d_r_bar * w_r_x^T + d_u_bar * w_r_x^T
 and d_x_component_2 = d_c_bar * w_c_x^T
 
 d_h_prev = d_h_prev_component_1 + d_h_prevr \circ r + d_h \circ u
 where d_h_prev_componenet_1 = d_r_bar * w_r_h_prev^T + d_u_bar * w_r_h_prev^T
 
Matematyka kryjąca się za gradientami poniżej:
d_c_bar = d_h \circ (1-u) \circ (1-c \circ c)
 d_u_bar = d_h \circ (h-c) \circ u \circ (1-u)
 
 d_r_bar_u_bar = [d_r_bar d_u_bar]
 
 [d_x_component_1 d_h_prev_component_1] = d_r_bar_u_bar * w_ru^T
 
 [d_x_component_2 d_h_prevr] = d_c_bar * w_c^T
 
 d_x = d_x_component_1 + d_x_component_2
 
 d_h_prev = d_h_prev_component_1 + d_h_prevr \circ r + u
 
Poniższe obliczenia są wykonywane w opakowaniu Pythona dla gradientów (nie w jądrze gradientu).
d_w_ru = x_h_prevr^T * d_c_bar
 
 d_w_c = x_h_prev^T * d_r_bar_u_bar
 
 d_b_ru = sum of d_r_bar_u_bar along axis = 0
 
 d_b_c = sum of d_c_bar along axis = 0
 

Stałe

Smyczkowy OP_NAME Nazwa tej operacji znana silnikowi rdzenia TensorFlow

Metody publiczne

statyczny <T rozszerza TNumber > GRUBlockCellGrad <T>
utwórz ( Zakres zasięgu, Operand <T> x, Argument <T> hPrev, Argument <T> wRu, Argument <T> wC, Argument <T> bRu, Argument <T> bC, Argument <T> r, Argument <T > u, Argument <T> c, Argument <T> dH)
Metoda fabryczna służąca do tworzenia klasy opakowującej nową operację GRUBlockCellGrad.
Wyjście <T>
dCBar ()
Wyjście <T>
Wyjście <T>
Wyjście <T>
dX ()

Metody dziedziczone

org.tensorflow.op.RawOp
końcowa wartość logiczna
równa się (obiekt obiektu)
końcowy wew
Działanie
op ()
Zwróć tę jednostkę obliczeniową jako pojedynczą Operation .
ostatni ciąg
wartość logiczna
równa się (Obiekt arg0)
ostatnia klasa<?>
pobierzKlasę ()
wew
hashCode ()
ostateczna pustka
powiadomić ()
ostateczna pustka
powiadom wszystkich ()
Smyczkowy
doString ()
ostateczna pustka
czekaj (długi arg0, int arg1)
ostateczna pustka
czekaj (długi arg0)
ostateczna pustka
Czekać ()
org.tensorflow.op.Op
abstrakcyjne środowisko wykonania
środowisko ()
Zwróć środowisko wykonawcze, w którym utworzono tę operację.
abstrakcyjna operacja
op ()
Zwróć tę jednostkę obliczeniową jako pojedynczą Operation .

Stałe

publiczny statyczny końcowy ciąg znaków OP_NAME

Nazwa tej operacji znana silnikowi rdzenia TensorFlow

Wartość stała: „GRUBlockCellGrad”

Metody publiczne

public static GRUBlockCellGrad <T> create ( Zakres zasięgu , Operand <T> x, Operand <T> hPrev, Operand <T> wRu, Operand <T> wC, Operand <T> bRu, Operand <T> bC, Operand <T > r, Argument <T> u, Argument <T> c, Argument <T> dH)

Metoda fabryczna służąca do tworzenia klasy opakowującej nową operację GRUBlockCellGrad.

Parametry
zakres aktualny zakres
Powroty
  • nowa instancja GRUBlockCellGrad

publiczne wyjście <T> dCBar ()

publiczne wyjście <T> dHPrev ()

publiczne wyjście <T> dRBarUBar ()

publiczne wyjście <T> dX ()