GRUBlockCellGrad

kelas akhir publik GRUBlockCellGrad

Menghitung propagasi balik sel GRU untuk 1 langkah waktu.

Args x: Masukan ke sel GRU. h_prev: Menyatakan masukan dari sel GRU sebelumnya. w_ru: Matriks bobot untuk gerbang reset dan pembaruan. w_c: Matriks bobot untuk gerbang koneksi sel. b_ru: Vektor bias untuk gerbang reset dan update. b_c: Vektor bias untuk gerbang koneksi sel. r: Output dari gerbang reset. u: Output dari gerbang pembaruan. c: Output dari gerbang koneksi sel. d_h: Gradien h_new wrt ke fungsi tujuan.

Mengembalikan d_x: Gradien x wrt ke fungsi tujuan. d_h_prev: Gradien h wrt ke fungsi tujuan. d_c_bar Gradien dari c_bar wrt ke fungsi tujuan. d_r_bar_u_bar Gradien r_bar & u_bar sesuai dengan fungsi tujuan.

Operasi kernel ini mengimplementasikan persamaan matematika berikut:

Catatan tentang notasi variabel:

Rangkaian a dan b dilambangkan dengan a_b Perkalian titik berdasarkan elemen dari a dan b dilambangkan dengan ab Perkalian titik berdasarkan elemen dilambangkan dengan \circ Perkalian matriks dilambangkan dengan *

Catatan tambahan untuk kejelasan:

`w_ru` dapat disegmentasi menjadi 4 matriks berbeda.

w_ru = [w_r_x w_u_x
         w_r_h_prev w_u_h_prev]
 
Demikian pula, `w_c` dapat disegmentasi menjadi 2 matriks berbeda.
w_c = [w_c_x w_c_h_prevr]
 
Hal yang sama berlaku untuk bias.
b_ru = [b_ru_x b_ru_h]
 b_c = [b_c_x b_c_h]
 
Catatan lain tentang notasi:
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
 
Matematika di balik Gradien di bawah ini:
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
 
Perhitungan di bawah ini dilakukan di pembungkus python untuk Gradien (bukan di kernel gradien.)
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
 

Konstanta

Rangkaian OP_NAME Nama operasi ini dikenal dengan mesin inti TensorFlow

Metode Publik

statis <T memperluas TNumber > GRUBlockCellGrad <T>
buat ( Lingkup lingkup , Operand <T> x, Operand <T> hPrev, Operand <T> wRu, Operand <T> wC, Operand <T> bRu, Operand <T> bC, Operand <T> r, Operand <T > u, Operan <T> c, Operan <T> dH)
Metode pabrik untuk membuat kelas yang membungkus operasi GRUBlockCellGrad baru.
Keluaran <T>
DCBar ()
Keluaran <T>
dHPrev ()
Keluaran <T>
Keluaran <T>
dX ()

Metode Warisan

org.tensorflow.op.RawOp
boolean terakhir
sama dengan (Objek objek)
int terakhir
Operasi
op ()
Kembalikan unit komputasi ini sebagai satu Operation .
String terakhir
boolean
sama dengan (Objek arg0)
Kelas terakhir<?>
dapatkan Kelas ()
ke dalam
Kode hash ()
kekosongan terakhir
beri tahu ()
kekosongan terakhir
beri tahuSemua ()
Rangkaian
keString ()
kekosongan terakhir
tunggu (arg0 panjang, int arg1)
kekosongan terakhir
tunggu (argumen panjang0)
kekosongan terakhir
Tunggu ()
org.tensorflow.op.Op
Lingkungan Eksekusi abstrak
env ()
Kembalikan lingkungan eksekusi tempat operasi ini dibuat.
Operasi abstrak
op ()
Kembalikan unit komputasi ini sebagai satu Operation .

Konstanta

String akhir statis publik OP_NAME

Nama operasi ini dikenal dengan mesin inti TensorFlow

Nilai Konstan: "GRUBlockCellGrad"

Metode Publik

public static GRUBlockCellGrad <T> buat ( Lingkup lingkup , Operan <T> x, Operan <T> hPrev, Operan <T> wRu, Operan <T> wC, Operan <T> bRu, Operan <T> bC, Operan <T > r, Operan <T> u, Operan <T> c, Operan <T> dH)

Metode pabrik untuk membuat kelas yang membungkus operasi GRUBlockCellGrad baru.

Parameter
cakupan ruang lingkup saat ini
Kembali
  • contoh baru dari GRUBlockCellGrad

Keluaran publik <T> dCBar ()

Keluaran publik <T> dHPrev ()

Keluaran publik <T> dRBarUBar ()

Keluaran publik <T> dX ()