VI - Factorisation de matrices non négatives multicanal (MNMF)
I - Séparation de Sources : généralités
Séparation de sources en musique
Séparation de sources (général)
Art d'estimer des signaux sources, souvent supposés indépendants, via l'observation d'un ou plusieurs mélanges de ces sources
Exemples d'applications
Débruitage/séparation de locuteurs
Séparation d'instruments de musique
Typologie des modèles de mélanges
Notations
Observations: $M$ mélanges $x_m(t)$ concaténés dans un vecteur $\bold{x}(t)$
inconnus: $N$ sources ponctuelles $s_n(t)$ concaténé dans un vecteur $\bold{s}(t)$
Modèle de mélange général: Une fonction $\mathcal{A}$ qui transforme $\bold{s}(t)$ en $\bold{x}(t)$
Deux types
mélange linéaire instantané : $\bold{x}(t)=\bold{A}\bold{s}(t) \\
\quad\rightarrow \mathcal{A}$ est définie par la "matrice de mélange"
$\bold{A}$ (de dimension $M\times N$)
Problème de la BSS : estimer $\bold{A}$ et les $\bold{s}(t)$ étant donné $\bold{x}(t)$
Séparation de sources aveugle (BSS) (2/2)
Non-mixing matrix
Une matrice $\bold{C}$ de dimension $N\times N$ est non-mixing ssi. elle admet une unique entrée non-nulle pour chaque ligne et chaque colonne.
Si $\tilde{\bold{s}}(t) = \bold{C}\bold{s}(t)$ et $\tilde{\bold{A}}=\bold{A}\bold{C}^{-1}$, alors $\bold{x}(t)= \tilde{\bold{A}}\tilde{\bold{s}}(t)$
est une autre décomposition admissible des observations.
$\quad\rightarrow$ Les sources peuvent donc être estimé à une permutation et à un facteur multiplicatif près.
Séparation de sources linéaire
Model
Soit
$$\bold{y}(t)=\bold{B}\bold{x}(t)$$
$\quad\rightarrow\bold{B}\in\mathbb{R}^{N\times M}$: "matrice de séparation"
Faisabilité
La séparation linéaire est faisable si $\mathrm{rank}(\bold{A})=N$
Calculer $\bold{S}=\bold{Q}_{(:, 1:N)}\Lambda_{(1:N, 1:N)}$ and $\bold{W}= \bold{S}^{\dagger}$
Blanchiement des données : $\bold{z}(t) = \bold{W}\bold{x}(t)$
Estimation de $\bold{R}_{zz}(\tau)$ pour différentes valeurs $\tau$
Approximation de la diagonalisation jointe $\bold{R}_{zz}(\tau)$ dans une base commune $\bold{U}$
Estimation des sources via $\bold{y}(t) = \bold{U}^{\top}\bold{z}(t)$
Exemple de SOBI sur différents mélanges (1/2)
Exemple de SOBI sur différents mélanges (2/2)
III - Séparation de sources (mélange convolutif)
Source images
Modèle de mélange instantané : non adapté aux mélanges réels
Mélange de sources images
Soit $\bold{x}_n(f,t) \in \mathbb{R}^M$ la source image de $s_n(f,t)$
$\quad\rightarrow$ on reçoit un signal multicanal ssi la source $s_n(f,t)$ est active
Modèle de mélange : $\bold{x}(f,t) = \sum_{k=1}^K \bold{x}_n(f,t)$
Décomposition du problème de séparation de sources
Séparation : estimer $\bold{x}_n(f,t)$ à partir du mélange $\bold{x}(f,t)$
Déconvolution : estimer $s_n(f,t)$ à partir de la source image $\bold{x}_n(f,t)$
Représentation temps-fréquence (TF)
Motivation
Adéquat pour étudier les modèles convolutifs et/ou sous-déterminés
Banc de filtre de la TFCT
Décomposition dans $F$ sous bandes et décimation en facteur $H \leq F$
$H$ est appelée la hop-size
filtres d'analyse $h_f$ et filtres de synthèses $g_f$
Représentation TF du mélange : $x_m(f,t) = (h_f\ast x_m)(tH)$
Alors $\forall f,n ~ \bold{x}(f,t) = \bold{As}(f,t)\quad\texttt{(mélange linéaire instantané)}$
Approche temps-fréquence
modèle de mélange et approximation à bande étroite
$x_m(t) = \sum_{n=1}^{N}(a_{mn} \ast s_n)(t)$,
La réponse impulsionnelle de $a_{mk}$ est courte p/r à la longueur de la fenêtre
$\forall m,n,f, a_{mn}(\nu)$ varie lentement comparé à $h_f(\nu)$
Approximation du modèle de mélange convolutionnel
$x_m(f,t)=\sum_{n=1}^N a_{mn}(f)s_n(f,t)$ i.e. $\bold{x}(f,t)=\bold{A}(f)\bold{s}(f,t)$
$\quad\rightarrow$ $F$ mélange de modèles instantanés dans chaque sous-bande fréquentielle
$\quad\rightarrow$ on peut utiliser une méthode d'ICA dans chaque sous-bande
Problème : si on utilise un algorithme de type ICA, on a une infinité de solutions (on doit constraindre le modèle)
Indéterminations
Indéterminations (permutations et facteurs multiplicatifs) dans les matrices $\bold{C}(f)$
$\forall n$, identifier les index $n, f$ tel que $\forall f, y_{k_f}(f,t)=c_{k_f,k}s_k(f,t)$
identifier les facteurs multiples $c_{k_f,k}$
Une infinité de solutions $\implies$ besoin de contraindre le modèle
Hypothèses sur le mélange ou les sources
modèle continue le long de l'axe fréquentielle des $a_{mk}(f)$
$\quad\rightarrow$ modèle comme formation de voie ou modèle anéchoïque
similarité sur l'axe temporelle des $p_n(f,t)$ (ou modèle NMF. Plus tard ! )
Modèles continues de diffusion
Formation de voies
Hypothèses : ondes planes, champ lointain, pas de réverbération, antenne linéaire
Modèle : $a_{mn}(f)=e^{-2i\pi f\tau_{mn}}$ où $\tau_{mn}=\frac{d_m}{c}\sin(\Theta_n)$
Paramètres : positions $d_m$ des capteurs et les angles $\Theta_n$ des sources
Modèle anéchoïque
Hypothèses : source ponctuelle, pas de réverbération
Modèle : $a_{mn}(f)=\alpha_{mn}e^{-2i\pi f\tau_{mn}}$ avec $\tau_{mn}=\frac{r_{mn}}{c}$ et $\alpha_{mn} = \frac{1}{\sqrt{4\pi}r_{mn}}$
Paramètres : distances $r_{mn}$ entre les micros et les sources
Separation via un filtre non stationnaire
Considérons $\bold{y}(f,t) = \bold{B}(f,t)\bold{x}(f,t)$ où $\bold{B}(f,t) \in \mathbb{C}^{N\times M}$
Estimation via l'erreur moyenne quadratique
On cherche $\bold{B}(f,t)$ qui minimise $\mathbb{E}[\mid\mid\bold{y}(f,t)-\bold{s}(f,t)\mid\mid^2_{2} ]$
En soit, le modèle probabiliste GCCR ou l'EMQ sont ici équivalents.
IV - Espérance-Maximisation
Motivations, principe du maximum de vraisemblance
On a maintenant des modèles pour l'audio (+ des connaissances en optimisation)
Cependant pas d'estimation des paramètres
Un modèle probabiliste a été cependant établi (modèle Gaussien)
Comment exploiter ce modèle pour estimer les matrices de covariances ?
$\rightarrow$ Solution : Exploiter le maximum de vraisemblance !
$\rightarrow$ Idée : trouver les paramètres d'un modèle de probabilité les plus "vraisemblables" pour expliquer des données
observées.
Dans notre cas, on avait $\bold{x}(f,t)$ des GCCC
Notons $\bold{X} = \left\{\bold{x}(f,t)\right\}_{f,t=1}^{F,T}$ et $\Theta=\{\Sigma{(f,t)}\}_{f,t=1}^{F,T}$ les paramètres.
Par indépendance $p(\bold{X}\mid \Theta) = \prod_{f,t=1}^{F,T} p(\bold{x}(f,t)\mid \Sigma(f,t))$
Ce problème est appelé le principe du maximum de (log)-vraisemblance (ML)
Motivations, limites du modèle
On a cependant à faire à un certain nombre de limitations que voici:
Les paramètres que l'on cherche (considérés comme "cachés") sont également les $\Sigma_n(f,t)$
Le problème d'optimisation précédent n'est pas forcément trivial à résoudre (non convexité etc.)
En réalité, on a un échantillon TF pour estimer chaque $\Sigma_n(f,t)$ (on verra que la MNMF permet de résoudre se problème)
L'algorithme d'espérance-maximisation va nous permettre de résoudre partiellement les deux premiers points.
Dans la suite, on notera $L(\Theta) = \log(p(\bold{X} \mid \Theta)$ (à noter que le log est une fonction croissante. donc cela ne change pas le problème)
Espérance-Maximisation (EM) (1/4)
L'EM est un algorithme itératif qui met à jour les $\Theta$. Il permet d'effectuer la ML en présente de données cachées (latentes) $\bold{Z}$ ou de données manquantes.
Ces données cachées peuvent être définies pour une estimation des $\Theta$ plus accessible.
On note $\Theta_n$ les paramètres estimés à l'itération $n$
Comme on veut maximiser $L(\Theta)$, on voudrait une mise à jour des $\Theta$ tel que :
$$
L(\Theta) > L(\Theta_n)
$$
De manière équivalente, on veut maximiser la différence :
$M$-step : Maximiser l'expression précédente en fonction de $\Theta$
En soit, on a "troqué" une maximisation de vraisemblance par celle d'une fonction $l$. L'idée est de proposer une fonction $l$ simple à maximiser
et qui fait apparaître des variables latentes interprétables ou qui sont essentielles afin de résoudre le problème.
A. P. Dempster, N. M. Laird, and D. B. Rubin. Maximum likelihood from incomplete data via the EM algorithm. Journal of the Royal Statistical Society:
Series B, 39(1):1–38, November 1977.
Application : famille exponentielle (1/3)
Supposons un jeu de données complet ($x_i, z_j$) i.i.d. de cardinal $N$ qui appartient à une famille exponentielle canonique :
Remarque : L'étape E revient alors à calculer les espérances conditionnelles des $T_{ij}$.
Application : famille exponentielle (2/3)
Prenons un modèle de mélange simple monocanal
$$x(f,t) = \sum_{n=1}^{N} s_n(f,t)$$
où toutes les variables sont indépendantes et $s_n(f,t) \sim \mathcal{N}_{\mathbb{C}}(\sigma^2_n(f,t))$ .
On peut montrer que $P\left(\boldsymbol{X},\boldsymbol{s}\mid\Theta\right)$ est une famille exponentielle (car gaussienne) avec
$$T_n(f,t) = (\bold{y}_n(f,t), \bold{y}_n(f,t)\bold{y}_n(f,t)^\top)^\top$$
où $\bold{y}_n(f,t) = [s_n(f,t), x(f,t)]^\top$
Dans ce cas précis (comme il s'agit des espérances conditionnelles) l'étape E se réduit au final à déterminer les
espérances et variances conditionnelles ($\hat{s}_n(f,t),\sigma^2_{n\mid x}(f,t)$). On a donc :
Pour résumer on pourrait avoir l'algorithme suivant :
[Algorithme de séparation "naïf" EM]
Entrées
Données observées $\bold{X}$
Nombre d'itérations $I$ de l'algorithme EM
Initialisation
Initialiser les $\sigma^2_{n, (0)}(f,t), \forall n,f,t$
Algorithme EM pour $i=1, \dots, I$
Etape-E en calculant $\hat{s}_{n, (i)}(f,t)$ et $\sigma_{n \mid x, (i)}^2(f,t)$
Etape-M (un peu inutile ici ...) on a $\sigma_{n,(i)}^2(f,t) = \sigma_{n \mid x, (i)}^2(f,t)$
En pratique, il faut initialiser les variances... (Dans le cas du débruitage, l'énergie du bruit peut être initialisé via un détecteur d'activité vocal)
Méthodes inspirées de l'algorithme EM (1/2)
Algorithme de maximisation-minimisation
Purement un problème d'optimisation itératif. Problème trop compliqué, alors on prend une fonction concave.
Soit $f(\Theta)$ la fonction à majorer
On construit $g(\Theta \mid \Theta_i)$ concave à chaque iteration qui va minorer $f(\theta)$ comme suit :
On maximise alors $g$ : $\Theta_{i+1}=\underset{\Theta}{\text{argmax }} g(\Theta \mid \Theta_i)$
Remarquons que $f(\Theta_{i+1})\geq f(\Theta_{i})$
Kenneth Lange: "MM Optimization Algorithms", SIAM, ISBN 978-1-611974-39-3 (2016)
Méthodes inspirées de l'algorithme EM (2/2)
Méthode de la fonction auxiliaire
On cherche à résoudre :
$\Theta^\star = \underset{\Theta}{\text{argmin }}J(\Theta)$
On prend une fonction auxiliaire $Q(\Theta, \tilde{\Theta})$ tel que :
$\quad \rightarrow J(\Theta) = \underset{\tilde{\Theta}}{\min~}Q(\Theta, \tilde{\Theta})$
$\quad Q(\Theta, \Theta) = J(\Theta)$
On minimise alors alternativement les $\Theta$ et $\tilde{\Theta}$ :
$\quad \rightarrow \tilde{\Theta}^{(i+1)}= \underset{\tilde{\Theta}}{\text{argmin }}Q(\Theta^{(i)}, \tilde{\Theta})$
$\quad \rightarrow \Theta^{(i+1)} = \underset{\Theta}{\text{argmin }}Q(\Theta, \tilde{\Theta}^{(i+1)})$
Dans ce cas là, on a également que $Q(\Theta, \tilde{\Theta}) \geq J(\Theta)$.
Utilisation d'un exemple concret en séparation de sources sonores ?
Lee, D., & Seung, H. S. (NEURIPS, 2000). Algorithms for non-negative matrix factorization.
.
AuxIVA (Auxiliary Independent component analysis)
On reprend le modèle convolutif avec l'approximation en bande étroite :
$$
\bold{x}(f,t) = A(f)\bold{s}(f,t)
$$
On cherche $W(f)=[\bold{w}_1(f), \dots, \bold{w}_N(f)]$ tel que $\bold{y}(f,t) = W(f)\bold{x}(f,t)$ avec $\bold{y}(f,t) = [y_1(f,t), \dots, y_n(f,t)]^\top$
On suppose les vecteurs $\bold{y}_n^{(t)} = [y_n(1,t), \dots, y_n(F,t)]^\top$ indépendants (IVA)
Au final, on dérive par rapport aux variables souhaitées et aux variables auxilaires pour obtenir l'algorithme suivant
(avec $\bold{e}_n = [0, \dots, \underbrace{1}_{\text{n ème position}}, 0,\dots, 0]^\top$)
:
[Algorithme AuxIVA]
Entrées
Données observées $\bold{X}$
Nombre d'itérations $I$ de l'algorithme itératif
Initialisation
Initialiser les $W(f), \forall n,f,t$
Algorithme itératif pour $i=1, \dots, I$
mise à jour des $r_n^{(t)} = \sqrt{\sum_{f=1}^{F}|\bold{w}_{n}^\mathsf{H}(f)\bold{x}(f,t)|}$
mise à jour des $V_n(f) = \mathbb{E}[\frac{-\log P(||\bold{y}_n^{(t)}||^2)^{\prime}}{r_n^{(t)}}]$
mise à jour des $\bold{w}_n(f) = (W(f)V_n(f))^{1}\bold{e}_n$
mise à jour des $\bold{w}_n(f) = \frac{\bold{w}_n(f)}{\sqrt{\bold{w}_n(f)^\mathsf{H}V_n(f)\bold{w}_n(f)}}$
Ono, N. Stable and fast update rules for independent vector analysis based on auxiliary function technique. WASPAA (2011)
Exemple d'AuxIVA
V - Factorisation de matrices non négatives (NMF)
Introduction
Technique très populaire pour l'analyse de données
Très employé (+ de 7000 citations pour le papier original)
Utilisables dans pleins de domaines (audio, computer vision, système de recommendations etc.)
Lee, D., Seung, H. ”Learning the parts of objects by
non-negative matrix factorization.” Nature vol. 401, pp. 788–791
(1999).
Application en audio ?
Séparation de sources sonores
Restauration de fichiers audios
Transcription musicale
Idée générale de la NMF (1/2)
Soit $V$ une matrice avec des coefficients $\geq 0$
On veut décomposer $V$ comme un produit de matrice non négative $W$ et $H$ de rang plus faible :
$$
V \approx WH
$$
Idée générale de la NMF (2/2)
Autre point de vue : décomposition en pleins de matrices de rang $1$ et sommation
Un piano qui joue c'est plusieurs notes qui s'activent au cours du temps
$$
V \approx WH
$$
NMF en audio (1/6)
NMF en audio (2/6)
NMF en audio (3/6)
NMF en audio (4/6)
NMF en audio (5/6)
NMF en audio (6/6)
Exemple sur un Piano
$W$: dictionnaire de notes
$H$: activation des notes
Exemples d'applications (1/3)
Ici, si $W$ représente les notes. Alors $H$ est une transcription approximative.
Exemples d'applications (2/3)
Séparation de sources
Exemples d'applications (3/3)
Restauration de fichiers audios
On utilise $W$ et/ou $H$ pour la restauration
Comment estime-t-on $W$ et $H$ ?
Résolution du problème
On cherche $W$ et $H$ telle que l'erreur
d'une certaine metrique soit minimisé entre $V$ et $WH$ :
VI - Factorisation de matrices non négatives multicanal (MNMF)
Motivations
Séparation de sources en multicanal même dans le cas sous-déterminé ($M < N$)
En considérant plusieurs sources polyphoniques (NMF)
Combinaison de modèle multicanal + NMF $\implies$ MNMF
On étudie alors des tenseurs de taille $ M \times F \times T$
Modèle de mélange convolutif bruité + NMF
On reprend un modèle de mélange convolutif avec approximation par
bande étroite de $N$ sources dans le domaine temps-fréquence à laquelle on
ajoute un bruit gaussien décorrélé et stationnaire :
Avec $\mathcal{K}_n$ le nombre de composantes latentes (e.g. notes) associée à la source $n$.
Estimation des paramètres via l'algorithme EM ?
A. Ozerov and C. Fevotte, "Multichannel Nonnegative Matrix Factorization in Convolutive Mixtures for Audio Source Separation,", TASLP. 2010.
Log de Vraisemblance complète
Comme précédemment dans le cas gaussien monocanal, on prend en compte les données complètes $P(\bold{X}, \bold{C} \mid \Theta)$
avec $\bold{X} = \{\bold{x}(f,t)\}_{f,t=1}^{F,T}, \bold{C} = \{c_{kn}(f,t)\}_{n,f,t,k=1}^{N,F,T,K}$
et $\bold{\Theta}=\{\Sigma_{b,f}, \bold{A}(f), w_k(f), h_k(t)\}_{f,t,k=1}^{F,T,K}$.
Le calcul (en considérant $-\log P(\bold{X},\bold{S} \mid \bold{\Theta})$) revient à faire :
On a vu, deux approches MNMF :
$\quad \rightarrow$ La première est basée sur l'utilisation d'un modèle convolutif + développer un algorithme EM
$\quad \rightarrow$ La seconde cherche à minimiser une divergence point par point entre le spectrogramme de puissance du mélange et un modèle NTF.
Globalement les avantages et inconvénient sont :
$\quad \rightarrow$ (EM) : compliqué à dériver et lourd en calcul mais précis
$\quad \rightarrow$ multiplicative update (MU) : simple à dériver mais des hypothèses fortes (distance point par point qui ne prend pas totalement en compte
l'inter corrélation entre les microphones)
Modèle de diffusion
Soit $s_n(f,t)$ une source ponctuelle et $s_n(f,t,\psi)$ avec $\psi \in \Psi_n$ une source diffuse.
On note par ailleurs, $\bold{y}_n(f,t)=[y_{1n}(f,t), \dots, y_{Mn}(f,t)]^\top$ la source image captée par les $M$ microphones.
$\Psi_n$ est l'aire où se trouve la source (elle n'est pas forcément ponctuelle).
dans le cas ponctuel, on rappelle que l'approximation à bande étroite donne :
$$
\bold{y}_n(f,t) = \bold{a}_n(f)s_n(f,t)
$$
où $\bold{a}_{n}(f) \in \mathbb{C}^M$.
avec un modèle de diffusion, on aura plutôt une contribution pour tous les points de $\Psi_n$ i.e.:
La matrice $\bold{R}_n(f)$ est appellée la matrice de covariance spatiale. Elle représente le chemin acoustique entre
chaque point qui constitue la source et chaque microphone. Le scalaire $p_n(f,t)$ peut-être vu comme le spectrogramme de puissance.
Modèle spatial
Ainsi, nos sources images $\bold{y}_n(f,t)$ sont supposés admettre le modèle GCCC suivant :
Si on rajoute le modèle de mélange $\bold{x}(f,t) = \sum_{n=1}^{N}\bold{y}_n(f,t)$ et que toutes les sources sont indépendantes $\forall n,f,t,$ on a :
Où les $s_n(f,t) \sim \mathcal{N}_{\mathbb{C}}^{M}(0,p_n(f,t))$
Sous ces contraintes, comment estimer les paramètres ?
N. Q. K. Duong, E. Vincent and R. Gribonval, "Under-Determined Reverberant Audio Source Separation Using a Full-Rank Spatial Covariance Model," IEEE TASP. 2010.
Algorithme EM pour la séparation de sources du modèle spatial non contraint (1/2)
On peut alors montrer, comme dans le cas Gaussien monocanal, que
$P(\bold{X}, \bold{Y} \mid \bold{\Theta})$ est une famille exponentielle.
L'étape $E$ se résume alors à estimer l'éspérance conditionelle
$\hat\bold{y}_n(f,t)=\mathbb{E}[\bold{y}_n(f,t) \mid \bold{x}(f,t)]$ et la variance conditionnelle $\hat\bold{R}_{n}(f,t)=\text{Var}[\bold{y_n}(f,t) \mid \bold{x}(f,t)]$. On retombe à nouveau
sur un filtrage de Wiener et la variance conditionnelle d'une Gaussienne :
Remarque : Comme il s'agit de la somme de matrice de rang $1$, on peut aisément supposer les $\bold{R}_{n}(f)$ de rang plein.
Version avec un modèle NMF + MU ?
Divergence d'Itakura-Saito et NLL Gaussienne (1/2)
Disgression : cas monocanal
Prenons $\bold{X} = \{x(f,t)\}_{f,t=1}^{F,T}$ les observations et $\Theta = \{w_k(f), h_k(t)\}_{f,k,t=1}^{F,K,T}$ les paramètres.
On suppose que les entrées indépendantes et $x(f,t) \sim \mathcal{N}_{\mathbb{C}}(\sum_{k=1}^{K}w_k(f)h_k(t))$.
Les paramètres à optimiser sont uniquement les $w_k(f)$ et $h_k(t)$. Le reste sera "spdg" appellée "constante"
(la dérivation n'influencera pas l'estimation des paramètres).
$\quad \rightarrow$ On notera notamment $\overset{c}{=}$ qui signifie "égal à une constante additive près"
Si on regarde $-\log p(\bold{X} \mid \bold{\Theta})$ alors on peut prouver que :
Avec égalité pour $\bold{U}_k(f,t) = w_k(f)h_k(t)R_k(f)\hat\bold{X}(f,t)^{-1}$, $\bold{V}(f,t)=\hat\bold{X}(f,t)$
On effectue donc les dérivées et on regarde quand le gradient s'annule par rapport à ces fonctions
Mise à jour des paramètres
Les paramètres de la NMF sont mis à jour comme suit :
$
\begin{aligned}
w_k(f) &\leftarrow w_k(f) \frac{\sum_{t=1}^{T}h_k(t)\mathrm{Tr}(\hat\bold{X}(f,t)^{-1}\tilde\bold{X}(f,t)\hat\bold{X}(f,t)^{-1}\bold{R}_k(f))}{\sum_{t=1}^{T}h_k(t)\mathrm{Tr}(\hat\bold{X}(f,t)^{-1}\bold{R}_k(f))} \\
h_k(t) &\leftarrow h_k(t) \frac{\sum_{f=1}^{F}w_k(f)\mathrm{Tr}(\hat\bold{X}(f,t)^{-1}\tilde\bold{X}(f,t)\hat\bold{X}(f,t)^{-1}\bold{R}_k(f))}{\sum_{f=1}^{F}w_k(f)\mathrm{Tr}(\hat\bold{X}(f,t)^{-1}\bold{R}_k(f))}
\end{aligned}
$
Quand on regarde la dérivée par rapport à $\bold{R}_k(f)^{\mathsf{H}}$ et qu'on regarde l'annulation du gradient on trouve que :