# Unité récurrente fermée

Les unités récurrentes fermées (GRU) sont un système de porte dans les réseaux de neurones récurrents, introduit en 2014 par Kyunghyun Cho et al. Le GRU est comme une longue mémoire à court terme (LSTM) avec une porte d'oubli, mais a moins de paramètres que LSTM, car il n'a pas de porte de sortie. Les performances de GRU sur certaines tâches de modélisation de musique polyphonique, de modélisation de signaux vocaux et de traitement du langage naturel se sont avérées similaires à celles de LSTM$^,$. Les GRU ont montré que le déclenchement est en effet utile en général et l'équipe de Bengio a conclu qu'aucune conclusion concrète sur laquelle des deux unités de déclenchement était la meilleure.

## Architecture

Il existe plusieurs variantes de l'unité récurrente fermée dans lesquels l'unité est activé en utilisant diverses combinaisons de l'état caché et du biais précédent, ainsi une forme simplifiée appelée unité fermée minimale.

### Unité entièrement fermée

Au départ, pour $t=0$, le vecteur de sortie est $h_{0}=0$ .
    ${\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}&=(1-z_{t})\odot h_{t-1}+z_{t}\odot {\hat {h}}_{t}\end{aligned}}$
variables
* $x_{t}$ : vecteur d'entrée
* $h_{t}$ : vecteur de sortie
* ${\hat {h}}_{t}$ : vecteur d'activation candidat
* $z_{t}$ : mise à jour du vecteur de porte
* $r_{t}$ : réinitialiser le vecteur de porte
* $W$, $U$ et $b$ : matrices de paramètres et vecteur
Fonctions d'activation
* $\sigma _{g}$ : L'original est une fonction sigmoïde.
* $\phi _{h}$ : L'original est une tangente hyperbolique.
Des fonctions d'activation alternatives sont possibles, à condition que $\sigma _{g}(x)\in [0,1]$ .
Des formes alternatives peuvent être créés en modifiant $z_{t}$ et $r_{t}$
* Type 1, chaque porte ne dépend que de l'état caché précédent et du biais.
    ${\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}}$
* Type 2, chaque porte ne dépend que de l'état caché précédent.
    ${\begin{aligned}z_{t}&=\sigma _{g}(U_{z}h_{t-1})\\r_{t}&=\sigma _{g}(U_{r}h_{t-1})\\\end{aligned}}$
* Type 3, chaque porte est calculée en utilisant uniquement le biais.
    ${\begin{aligned}z_{t}&=\sigma _{g}(b_{z})\\r_{t}&=\sigma _{g}(b_{r})\\\end{aligned}}$

### Unité fermée minimale

L'unité fermée minimale est similaire à l'unité entièrement fermée, mais le vecteur d’activation de la porte de mise à jour et de la réinitialisation sont fusionné dans une porte d'oublie. Cela implique également que l'équation du vecteur de sortie doit être modifiée :
    ${\begin{aligned}f_{t}&=\sigma _{g}(W_{f}x_{t}+U_{f}h_{t-1}+b_{f})\\{\hat {h}}_{t}&=\phi _{h}(W_{h}x_{t}+U_{h}(f_{t}\odot h_{t-1})+b_{h})\\h_{t}&=(1-f_{t})\odot h_{t-1}+f_{t}\odot {\hat {h}}_{t}\end{aligned}}$
variables
* $x_{t}$ : vecteur d'entrée
* $h_{t}$ : vecteur de sortie
* ${\hat {h}}_{t}$ : vecteur d'activation candidat
* $f_{t}$ : oublier le vecteur
* $W$, $U$ et $b$ : matrices de paramètres et vecteur

## Cadre de recommandation d'algorithme d'apprentissage

Un cadre de recommandation d'algorithme d'apprentissage peut aider à guider la sélection de l'algorithme d'apprentissage et de la discipline scientifique (par exemple RNN, GAN, RL, CNN,. . . ). Le cadre a l'avantage d'avoir été généré à partir d'une analyse approfondie de la littérature et dédié aux réseaux de neurones récurrents et à leurs variations.