Compter les paramètres d'un RNN, LSTM et GRU

Le nombre de paramètres d’un réseau est un indicateur clé de sa capacité et de son coût d’entraînement. On note :

  • \(d\) : dimension de l’entrée \(x_t\),

  • \(h\) : dimension de l’état caché,

  • \(p\) : dimension de la sortie \(y_t\).

Chaque architecture possède une couche de sortie linéaire \(y_t = W_y h_t + b_y\).

Rappel des architectures.

RNN simple : \[h_t = \tanh(W_x x_t + W_h h_{t-1} + b_h)\]

LSTM — quatre portes, chacune de la forme \(W x_t + U h_{t-1} + b\) : \[f_t, \quad i_t, \quad \tilde{c}_t, \quad o_t\]

GRU — trois portes : \[\begin{align*} r_t &= \sigma(W_r x_t + U_r h_{t-1} + b_r) & &\text{(porte de réinitialisation)}\\ z_t &= \sigma(W_z x_t + U_z h_{t-1} + b_z) & &\text{(porte de mise à jour)}\\ \tilde{h}_t &= \tanh(W_h x_t + U_h (r_t \odot h_{t-1}) + b_h) & &\text{(candidat)}\\ h_t &= (1 - z_t) \odot h_{t-1} + z_t \odot \tilde{h}_t \end{align*}\]

1

Justifier que le nombre de paramètres du RNN simple (hors couche de sortie) est \(N_{\text{RNN}} = h(d + h + 1)\). Détailler la contribution de chaque matrice et biais.

2

Montrer que le nombre de paramètres de la LSTM (hors couche de sortie) est \(N_{\text{LSTM}} = 4h(d + h + 1)\). Pourquoi ce facteur \(4\) ?

3

Montrer que le nombre de paramètres du GRU (hors couche de sortie) est \(N_{\text{GRU}} = 3h(d + h + 1)\).

4

Ajouter la contribution de \(W_y \in \mathbb{R}^{p \times h}\) et \(b_y \in \mathbb{R}^p\). Écrire le nombre total de paramètres \(N_{\text{total}}\) pour chacune des trois architectures.

5

Application numérique : \(d = 10\), \(h = 64\), \(p = 5\). Compléter le tableau suivant.

Architecture Paramètres (hors sortie) Paramètres (avec sortie)
RNN simple
GRU
LSTM
6

La LSTM a davantage de paramètres que le GRU, mais est-elle toujours plus performante ? Dans quel cas préférerait-on le GRU ?

Exercice Lq8D

Signaler une erreur

  1. Problème
  2. Précisions
  3. Envoi
Quel est le problème ?