Menghitung propagasi maju 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.
Mengembalikan r: Output dari gerbang reset. u: Output dari gerbang pembaruan. c: Output dari gerbang koneksi sel. h: Keadaan sel GRU saat ini.
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 *
Bias diinisialisasi dengan : `b_ru` - Constant_initializer(1.0) `b_c` - Constant_initializer(0.0)
Operasi kernel ini mengimplementasikan persamaan matematika berikut:
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
Metode Publik
Keluaran <T> | C () |
statis <T memperluas Nomor> GRUBlockCell <T> | |
Keluaran <T> | H () |
Keluaran <T> | R () |
Keluaran <T> | kamu () |
Metode Warisan
Metode Publik
GRUBlockCell statis publik <T> buat ( Lingkup lingkup , Operan <T> x, Operan <T> hPrev, Operan <T> wRu, Operan <T> wC, Operan <T> bRu, Operan <T> bC)
Metode pabrik untuk membuat kelas yang membungkus operasi GRUBlockCell baru.
Parameter
cakupan | ruang lingkup saat ini |
---|
Kembali
- contoh baru dari GRUBlockCell