Ultralytics YOLO27 : Rejoins la liste d'attente.
Licence YOLO
Retour au glossaire Ultralytics

Gated Recurrent Unit (GRU)

Une unité récurrente à portes (GRU) est une cellule récurrente dont les portes de mise à jour et de réinitialisation contrôlent ce qu’elle mémorise. Présentation de ses équations, comparaison entre GRU et LSTM, et code.

Une unité récurrente à portes (GRU) est une cellule de réseau neuronal récurrent (RNN) qui traite une séquence étape par étape et utilise deux portes apprises, une porte de mise à jour et une porte de réinitialisation, pour décider à chaque étape quelle part de sa mémoire conserver ou remplacer. Kyunghyun Cho et ses collègues l'ont présentée en 2014 dans un encodeur-décodeur RNN pour la traduction automatique. Les portes laissent les gradients se propager sur de nombreux pas de temps ; une GRU apprend ainsi des dépendances à plus long terme qu'un RNN simple, qui souffre du problème du gradient évanescent. La GRU est une variante simplifiée du réseau à mémoire à long et court terme (LSTM), avec un seul état caché au lieu de deux et trois blocs de poids au lieu de quatre ; elle est utilisée pour l'analyse de séries temporelles, la parole et d'autres données séquentielles.

Fonctionnement d'une GRU#

À chaque pas de temps t, une GRU combine l'entrée actuelle xₜ avec son état caché précédent hₜ₋₁. Deux portes utilisent la fonction sigmoïde pour produire, pour chaque élément de l'état, une valeur comprise entre 0 et 1 :

  • Porte de réinitialisation : rₜ = σ(Wᵣxₜ + Uᵣhₜ₋₁ + bᵣ) détermine quelle part de l'état précédent utiliser pour proposer de nouveaux éléments. Les valeurs proches de 0 permettent à la cellule d'ignorer son historique, ce qui est utile aux frontières, par exemple au début d'une nouvelle phrase.
  • Porte de mise à jour : zₜ = σ(W_z xₜ + U_z hₜ₋₁ + b_z) détermine quelle part de l'état précédent conserver. Les valeurs proches de 1 recopient presque sans changement l'ancien état, ce qui permet à l'information de persister sur de longues périodes.
  • État candidat : h̃ₜ = tanh(Wxₜ + U(rₜ ⊙ hₜ₋₁) + b) propose de nouveaux éléments à partir de l'entrée et de l'historique pondéré par la réinitialisation, en utilisant tanh pour maintenir les valeurs entre −1 et 1.
  • Nouvel état : hₜ = (1 − zₜ) ⊙ h̃ₜ + zₜ ⊙ hₜ₋₁ combine le candidat et l'ancien état, élément par élément.

Lorsque la porte de mise à jour reste proche de 1, le nouvel état est presque une copie de l'ancien, et le gradient se propage en retour le long de cette copie avec peu d'atténuation. Ce chemin additif joue le même rôle que l'état de cellule dans un LSTM. Les équations ci-dessus suivent l'article original, où zₜ pondère l'ancien état ; certains textes inversent les rôles de zₜ et 1 − zₜ, ce qui décrit la même cellule. nn.GRU de PyTorch utilise la même combinaison, mais applique la porte de réinitialisation après la multiplication matricielle, sous la forme rₜ ⊙ (Uhₜ₋₁ + b), une variante très répandue de l'état candidat.

GRU dans PyTorch#

L'extrait ci-dessous exécute une GRU sur une séquence de vecteurs de caractéristiques, par exemple des caractéristiques par image issues d'une vidéo, et compare sa taille à celle d'un LSTM de même largeur :

import torch
from torch import nn

# A sequence of 64-dim features from 5 video frames: (batch, time, features)
frames = torch.randn(1, 5, 64)

# A GRU with a 128-dim hidden state, and an LSTM of the same size for comparison
gru = nn.GRU(input_size=64, hidden_size=128, batch_first=True)
lstm = nn.LSTM(input_size=64, hidden_size=128, batch_first=True)

# outputs holds the hidden state at every step; h_n is the final state
outputs, h_n = gru(frames)
print(f"Outputs: {tuple(outputs.shape)}, final state: {tuple(h_n.shape)}")

# GRU weights cover 3 blocks (reset, update, candidate); LSTM weights cover 4
gru_params = sum(p.numel() for p in gru.parameters())
lstm_params = sum(p.numel() for p in lstm.parameters())
print(f"GRU: {gru_params:,} parameters, LSTM: {lstm_params:,} parameters")

Le résultat affiché est Outputs: (1, 5, 128), final state: (1, 1, 128) et GRU: 74,496 parameters, LSTM: 99,328 parameters. La GRU renvoie un état de 128 dimensions par image ainsi que l'état final, qui résume toute la séquence pour un classificateur en aval ; elle nécessite exactement les trois quarts des paramètres du LSTM.

GRU, LSTM et transformers#

  • LSTM : Conserve un état de cellule distinct en plus de l'état caché et utilise trois portes (entrée, oubli et sortie). La GRU fusionne les deux états et supprime la porte de sortie ; elle s'entraîne donc plus vite à chaque étape avec moins de paramètres. Dans une comparaison empirique réalisée par Junyoung Chung et ses collègues en 2014, les GRU ont égalé les LSTM pour la modélisation de musique polyphonique et de signaux vocaux ; en pratique, aucun des deux ne l'emporte systématiquement selon la tâche.
  • RNN simple : Remplace tout son état à chaque étape sans utiliser de portes ; ses gradients s'évanouissent ou explosent donc sur de longues séquences, et le réseau peine à relier des événements séparés par de longs intervalles.
  • Transformer : Traite en parallèle toutes les positions d'une séquence grâce à l'attention, ce qui accélère considérablement l'entraînement sur GPU et améliore la gestion du contexte à longue portée ; les transformers ont donc remplacé les réseaux récurrents dans la plupart des tâches de langage. Une GRU conserve un état de taille constante et un coût constant par étape, quelle que soit la longueur de la séquence, ce qui reste adapté à l'audio en flux continu, aux données de capteurs et aux petits appareils.

Applications#

  • Flux optique : RAFT, lauréat du prix du meilleur article d'ECCV 2020, affine son estimation du flux sur de nombreuses itérations à l'aide d'une GRU convolutive, une GRU dont les convolutions remplacent les multiplications matricielles afin que son état soit une carte de caractéristiques.
  • Maintenance prédictive et prévision : Les GRU lisent des flux de données de vibration, de température ou de demande et prédisent des pannes ou des valeurs futures, souvent sur du matériel embarqué où un modèle compact est important.
  • Parole et audio : Les modèles audio embarqués utilisent des GRU parce qu'ils traitent l'audio image par image avec une mémoire réduite et fixe. Le suppresseur de bruit RNNoise exécute ses couches GRU en temps réel sur un CPU ordinaire.
  • Reconnaissance d'actions : Une GRU lit une séquence de caractéristiques ou de points clés par image et produit une étiquette d'action pour le clip. YOLO26 en mode suivi attribue à chaque personne un identifiant persistant d'une image à l'autre, ce qui produit les séquences de boîtes ou de points clés de pose par personne qu'une telle GRU classe.

Découvre les solutions

La vision par ordinateur dans le sport

La vision par ordinateur dans le sport

Découvre comment Ultralytics YOLO propulse la vision par ordinateur dans le sport grâce au suivi des joueurs et du ballon, aux analyses de performance, aux conseils d’entraînement et à la rééducation des athlètes.
En savoir plus
Vision par ordinateur pour les images aériennes

Vision par ordinateur pour les images aériennes

Transforme les images de drones et les images aériennes en informations exploitables en temps réel pour l’agriculture, l’aquaculture, la conservation et l’analyse géospatiale avec Ultralytics YOLO.
En savoir plus
Vision par ordinateur dans l’aérospatiale

Vision par ordinateur dans l’aérospatiale

Applique la vision par ordinateur dans l’aérospatiale avec Ultralytics YOLO pour l’inspection des aéronefs, la détection des corps étrangers sur les pistes, les opérations au sol des aéroports et la détection des défauts des matériaux composites.
En savoir plus
La vision par ordinateur dans la sécurité

La vision par ordinateur dans la sécurité

Protège chaque site avec les modèles Ultralytics YOLO. L’IA visuelle permet la surveillance des périmètres, la détection des menaces, la reconnaissance des plaques d’immatriculation et la sécurité au travail.
En savoir plus
La vision par ordinateur en robotique

La vision par ordinateur en robotique

Donne plus de capacités à tes machines grâce aux modèles Ultralytics YOLO. Dans la robotique, l’IA visuelle permet la navigation autonome, la perception, le suivi des objets et le contrôle en temps réel.
En savoir plus
La vision par ordinateur dans la logistique

La vision par ordinateur dans la logistique

Optimise la logistique avec les modèles Ultralytics YOLO. La vision par IA permet d’inspecter les colis, de les trier, de suivre les véhicules et de surveiller la sécurité des entrepôts en temps réel.
En savoir plus
La vision par ordinateur dans le commerce de détail

La vision par ordinateur dans le commerce de détail

Réinvente le commerce de détail avec les modèles Ultralytics YOLO. La vision par IA permet de suivre les stocks, de surveiller les rayons, de gérer les files d’attente et de mieux comprendre les clients.
En savoir plus
La vision par ordinateur dans le secteur de la santé

La vision par ordinateur dans le secteur de la santé

Crée des solutions de santé avec les modèles Ultralytics YOLO. La vision par IA dans le secteur de la santé accélère l’imagerie médicale, améliore les diagnostics et facilite la surveillance des patients.
En savoir plus
La vision par ordinateur dans l’industrie manufacturière

La vision par ordinateur dans l’industrie manufacturière

Optimise la fabrication avec les modèles Ultralytics YOLO. La vision par IA améliore le contrôle qualité, la détection des défauts, le respect des règles concernant les EPI et l’automatisation des chaînes de montage.
En savoir plus
La vision par ordinateur dans l’automobile

La vision par ordinateur dans l’automobile

Mets la vision par ordinateur au service de l’automobile avec les modèles Ultralytics YOLO. La vision par IA renforce la sécurité routière, l’aide à la conduite et l’automatisation des véhicules pour des routes plus intelligentes.
En savoir plus
Vision par ordinateur dans l’agriculture

Vision par ordinateur dans l’agriculture

Fais entrer l’IA de vision dans l’agriculture intelligente avec les modèles Ultralytics YOLO. Optimise le suivi des cultures et du bétail ainsi que l’agriculture de précision pour obtenir des rendements plus élevés et plus intelligents.
En savoir plus

Construisons ensemble l’avenir de l’IA !

Commence ton parcours vers l’avenir de l’apprentissage automatique