Gradients matriciels et règle de la chaîne

On se place dans l’espace des matrices réelles \(\mathcal{M}_{p,n}(\mathbb{R})\). On munit cet espace du produit scalaire canonique de Frobenius défini par : \[\langle A, B \rangle = \text{Tr}(A^\top B) = \sum_{i,j} A_{ij} B_{ij}\] On rappelle la caractérisation du gradient \(\nabla_W f\) d’une fonction scalaire \(f(W)\) par sa différentielle : pour tout accroissement \(H\), \[f(W+H) = f(W) + \langle \nabla_W f(W), H \rangle + o(\|H\|)\]

L’objectif est de calculer des gradients par rapport à une matrice \(W \in \mathcal{M}_{p,n}(\mathbb{R})\). Soient \(X \in \mathbb{R}^n\) (vecteur colonne d’entrée) et \(Y \in \mathbb{R}^p\) (vecteur colonne de sortie).

1

Soit \(V \in \mathbb{R}^p\) un vecteur constant. On considère la fonction linéaire \(L : \mathcal{M}_{p,n}(\mathbb{R}) \to \mathbb{R}\) définie par \(L(W) = \langle V, WX \rangle_{\mathbb{R}^p}\). Montrer que le gradient de \(L\) par rapport à \(W\) est la matrice de rang 1 définie par le produit extérieur : \[\nabla_W L = V X^\top\]

2

Application à la régression (Moindres Carrés). On cherche la matrice \(W\) qui permet d’approcher au mieux la cible \(Y\) à partir de l’entrée \(X\). On définit l’erreur quadratique : \[E(W) = \frac{1}{2} \| WX - Y \|^2\] Montrer que le gradient est donné par : \[\nabla_W E = (WX - Y) X^\top\]

3

Généralisation : Rétropropagation du gradient. On considère un réseau simple où la sortie \(Z\) est calculée par \(Z = WX\). Soit \(\mathcal{L}\) une fonction de coût finale qui dépend de \(Z\). On suppose connu le gradient de l’erreur par rapport à la sortie \(Z\), c’est-à-dire le vecteur colonne \(\delta = \nabla_Z \mathcal{L} \in \mathbb{R}^p\).

En utilisant la règle de la chaîne \(d\mathcal{L} = \langle \nabla_Z \mathcal{L}, dZ \rangle\), déterminer :

  1. Le gradient par rapport à l’entrée : \(\nabla_X \mathcal{L}\) (utile pour propager l’erreur à la couche précédente).

  2. Le gradient par rapport aux poids : \(\nabla_W \mathcal{L}\) (utile pour mettre à jour les poids).

Exercice CV3e

Signaler une erreur

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