Les unitats recurrents controlades (GRU ) són un mecanisme de gating en xarxes neuronals recurrents , introduït el 2014 per Kyunghyun Cho i altres.[ 1] El GRU és com una memòria a llarg termini (LSTM) amb una porta oblidada,[ 2] però té menys paràmetres que LSTM, ja que no té una porta de sortida.[ 3] Es va trobar que el rendiment de GRU en determinades tasques de modelatge de música polifònica, modelatge de senyals de parla i processament de llenguatge natural era similar al de LSTM.[ 4] [ 5] Els GRU van demostrar que el gating és realment útil en general i l'equip de Bengio va concloure que no hi havia cap conclusió concreta sobre quina de les dues unitats de gating era millor.[ 6]
Unitat recurrent Gated, versió totalment tancada.
Hi ha diverses variacions a la unitat completa de control, amb l'obtenció feta utilitzant l'estat ocult anterior i el biaix en diverses combinacions, i una forma simplificada anomenada unitat mínima de control.[ 7]
Tipus 1.
L'operador
⊙
{\displaystyle \odot }
denota el producte de Hadamard a continuació.
Tipus 2.
Inicialment, per
t
=
0
{\displaystyle t=0}
, el vector de sortida és
h
0
=
0
{\displaystyle h_{0}=0}
z
t
=
σ
g
(
W
z
x
t
+
U
z
h
t
−
1
+
b
z
)
r
t
=
σ
g
(
W
r
x
t
+
U
r
h
t
−
1
+
b
r
)
h
^
t
=
ϕ
h
(
W
h
x
t
+
U
h
(
r
t
⊙
h
t
−
1
)
+
b
h
)
h
t
=
z
t
⊙
h
t
−
1
+
(
1
−
z
t
)
⊙
h
^
t
{\displaystyle {\begin{aligned}z_{t}&=\sigma _{g}(W_{z}x_{t}+U_{z}h_{t-1}+b_{z})\\r_{t}&=\sigma _{g}(W_{r}x_{t}+U_{r}h_{t-1}+b_{r})\\{\hat {h}}_{t}&=\phi _{h}(W_{h}x_{t}+U_{h}(r_{t}\odot h_{t-1})+b_{h})\\h_{t}&=z_{t}\odot h_{t-1}+(1-z_{t})\odot {\hat {h}}_{t}\end{aligned}}}
Les variables
x
t
{\displaystyle x_{t}}
: vector d'entrada
h
t
{\displaystyle h_{t}}
: vector de sortida
h
^
t
{\displaystyle {\hat {h}}_{t}}
: vector d'activació candidat
z
t
{\displaystyle z_{t}}
: actualitza el vector de la porta
r
t
{\displaystyle r_{t}}
: reinicia el vector de la porta
W
{\displaystyle W}
,
U
{\displaystyle U}
i
b
{\displaystyle b}
: matrius de paràmetres i vector
Tipus 3.
Funcions d'activació
Són possibles funcions d'activació alternatives, sempre que això
σ
g
(
x
)
∈
[
0
,
1
]
{\displaystyle \sigma _{g}(x)\in [0,1]}
.
Es poden crear formes alternatives canviant
z
t
{\displaystyle z_{t}}
i
r
t
{\displaystyle r_{t}}
[ 8]
Tipus 1, cada porta depèn només de l'estat ocult anterior i del biaix.
z
t
=
σ
g
(
U
z
h
t
−
1
+
b
z
)
r
t
=
σ
g
(
U
r
h
t
−
1
+
b
r
)
{\displaystyle {\begin{aligned}z_{t}&=\sigma _{g}(U_{z}h_{t-1}+b_{z})\\r_{t}&=\sigma _{g}(U_{r}h_{t-1}+b_{r})\\\end{aligned}}}
Tipus 2, cada porta només depèn de l'estat ocult anterior.
z
t
=
σ
g
(
U
z
h
t
−
1
)
r
t
=
σ
g
(
U
r
h
t
−
1
)
{\displaystyle {\begin{aligned}z_{t}&=\sigma _{g}(U_{z}h_{t-1})\\r_{t}&=\sigma _{g}(U_{r}h_{t-1})\\\end{aligned}}}
Tipus 3, cada porta es calcula utilitzant només el biaix.
z
t
=
σ
g
(
b
z
)
r
t
=
σ
g
(
b
r
)
{\displaystyle {\begin{aligned}z_{t}&=\sigma _{g}(b_{z})\\r_{t}&=\sigma _{g}(b_{r})\\\end{aligned}}}
↑ Cho , Kyunghyun; van Merrienboer , Bart; Bahdanau , DZmitry; Bougares , Fethi; Schwenk , Holger Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation , 2014. arXiv : 1406.1078 .
↑ Felix Gers ; Jürgen Schmidhuber ; Fred Cummins Proc. ICANN'99, IEE, London , 1999, 1999, pàg. 850–855. DOI : 10.1049/cp:19991218 .
↑ «Recurrent Neural Network Tutorial, Part 4 – Implementing a GRU/LSTM RNN with Python and Theano – WildML » (en anglès), 27-10-2015. Arxivat de l'original el 2021-11-10. [Consulta: 18 maig 2016].
↑ Ravanelli , Mirco; Brakel , Philemon; Omologo , Maurizio; Bengio , Yoshua IEEE Transactions on Emerging Topics in Computational Intelligence , 2, 2, 2018, pàg. 92–102. arXiv : 1803.10225 . DOI : 10.1109/TETCI.2017.2762739 .
↑ Su , Yuahang; Kuo , Jay Neurocomputing , 356, 2019, pàg. 151–161. arXiv : 1803.01686 . DOI : 10.1016/j.neucom.2019.04.044 .
↑ Frontiers in Artificial Intelligence . DOI : 10.3389/frai.2020.00040 .
↑ Empirical Evaluation of Gated Recurrent Neural Networks on Sequence Modeling , 2014.
↑ Gate-Variants of Gated Recurrent Unit (GRU) Neural Networks .