NMF complexe à phase contrainte
Modèle de NMF complexe à phase contrainte
Approche intuitive
Le modèle de NMF complexe que nous avons présenté dans le chapitre 2 consiste à approcher une matrice de données complexes X (une TFCT en général) par le modèle Xˆ tel que pour tout canal fréquentiel f et trame temporelle t : Xˆ(f, t) = X K k=1 W(f, k)H(k, t)e iφk(f,t) , (7.1) avec W ∈ R F ×K + et H ∈ R K×T + . L’estimation de ce modèle Kameoka et al. (2009) conduit à minimiser une fonction de coût qui s’exprime comme la somme de deux termes : la distance euclidienne entre X et Xˆ, et un terme de parcimonie Cs(H) = 2P k,t H(k, t) p (p ∈]0, 2[) multiplié par un poids σs. Intuitivement, on peut considérer le problème d’estimation d’un modèle de NMF complexe à phase contrainte comme un problème de minimisation d’une fonction de coût C qui serait la somme de divers termes, qui traduisent les contraintes intégrées au modèle : — Un terme de distance euclidienne D entre le modèle et les données, qui évalue la précision de la reconstruction (terme d’attache aux données) ; — Un terme de parcimonie Cs qui force cette propriété ; — Un terme Cu qui tienne compte du déroulé linéaire de phases ; — Un terme Cr qui tienne compte d’un modèle de phases d’attaque. On reprend, pour D et Cs, les expressions obtenues dans le modèle originel Kameoka et al. (2009), et on intègre les nouvelles contraintes décrites ci-après. Déroulé linéaire Le déroulé linéaire de phase introduit dans le chapitre 4 modélise la phase φk d’une source de la façon suivante : φk(f, t) = φk(f, t − 1) + 2πSνk(f), (7.2) où S est le décalage temporel entre deux trames successives (en échantillons) et νk(f) est la fréquence réduite de la source k dans le canal f.
Estimation du modèle
Nous présentons dans cette section les algorithmes d’estimation du modèle de NMF complexe contrainte. Nous introduisons certaines notations afin de simplifier l’écriture des règles de mise à jour. On commence par définir les matrices suivantes, ∀k ∈ J1, KK : µk ∈ C F ×1 , µk(f) = e 2iπSνk(f) , Λk ∈ C F ×T , Λk(f, t) = 1k(t)e ifλk(t) , Ψk ∈ C F ×1 , Ψk(f) = e iψk(f) , Φk ∈ C F ×T , Φk(f, t) = e iφk(f,t) . On désigne par Hk la k-ième ligne de H et par Wk la k-ième colonne de W. On utilise également les notations suivantes : — M↓ (respectivement M↑) est la matrice obtenue en retirant la dernière ligne (respectivement la première ligne) de M. — M→ (respectivement M←) désigne la matrice obtenue en retirant la dernière (respectivement la première) colonne de M et en insérant une colonne de 0 en tant que première (respectivement en temps que dernière) colonne — diagv(v) désigne la matrice diagonale dont les éléments diagonaux sont les termes du vecteur v, et diagm(M) désigne le vecteur colonne obtenu par extraction des éléments diagonaux de la matrice M. — vand(v) désigne la matrice de Vandermonde obtenue à partir du vecteur v : si v ∈ C 1×T , alors M = vand(v) ∈ C F ×T , avec ∀(f, t), M(f, t) = v(t) f . La minimisation de la fonction de coût (7.8) peut être effectuée par minimisation successive par rapport à chacune des variables (annulation des dérivées partielles). Cela permet d’aboutir à une procédure itérative. On n’a pas de garantie de convergence dans le cas général. Nous donnons le détail mathématique de cette technique d’optimisation appliquée à la fonction de coût (7.8) dans l’Annexe C (section C.1) de ce manuscrit afin de ne pas surcharger ce chapitre. La procédure complète est décrite dans l’Algorithme 8. Notons que l’ordre dans lequel sont effectuées les mises à jour des paramètres est arbitraire, et il pourrait être intéressant de considérer un ordre différent pour en évaluer l’impact sur les résultats. Alternativement, on peut appliquer la méthode de la fonction auxiliaire, qui fournit un cadre théorique pour obtenir des règles de mise à jour. Les détails de calcul sont donnés dans l’Annexe C (section C.2). Essentiellement, la différence avec la première méthode se trouve dans la présence d’un terme Gk qui est un gain (ici choisi comme étant celui de Wiener) qui permet de « redistribuer » l’erreur d’approximation sur les diverses composantes. Ces gains proviennent des inégalités de convexité utilisées pour obtenir une fonction auxiliaire, et pourraient tout à fait prendre des valeurs différentes que celles proposées ici. Les mises à jour obtenues sont synthétisées dans l’Algorithme 9. Pour l’initialisation, nous proposons d’appliquer une première NMF à |X| afin d’obtenir une première approximation de W et de H. Alternativement, celles-ci peuvent être gardées aléatoires et l’algorithme de NMF Complexe peut être appliqué directement sur ces valeurs. Nous initialisons les phases en leur donnant celle du mélange : ∀k ∈ J1, KK, Φk = X |X| , et les paramètres de phases d’attaque Ψk et Λk par des valeurs aléatoires de module 1. Il faut également déterminer 1k, qui est l’indicatrice de Ωk. Il est possible d’estimer directement celle-ci à partir de Hk en utilisant par exemple Paulus et Virtanen (2005). Nous souhaitons avoir une estimation précise des trames d’attaque (afin de se concentrer essentiellement sur l’influence de la reconstruction de phase), aussi nous avons utilisé la boîte à outils MATLAB Tempogram Toolbox Grosche et Müller (2011) appliquée sur chaque spectrogramme de source isolément.
Résultats expérimentaux
Nous avons conduit un ensemble d’expériences afin d’évaluer la performance de notre modèle de NMF complexe. Tout d’abord, nous avons cherché à étudier l’influence des paramètres σr et σu sur la performance de l’algorithme, mesurée grâce au SDR, SIR et SAR Vincent et al. (2006). Puis, nous avons comparé cette approche dans le cadre de la séparation de sources à d’autres méthodes : la NMF complexe non contrainte, et une NMF classique avec filtrage de Wiener pour reconstruire la phase.
Données et protocole
Les jeux de données sont : A : 30 mélanges de deux sources, composées de sinusoïdes amorties synthétiques. Les sources se recouvrent dans le domaine TF. B : 30 mélanges de deux notes de piano tirées de la base de données MAPS Emiya et al. (2010). Les sources se recouvrent également dans le domaine TF. C : 100 mélanges de morceaux de musique polyphonique tirés de la base DSD100 Ono et al. (2015), que nous avons eu l’occasion de présenter dans le chapitre 4. Pour les données A et B, chaque source est observée seule, puis les deux sont activées simultanément. Les signaux sont échantillonnés à 11025 Hz sur ces jeux de données, et à 44100 Hz sur la base C. La TFCT est calculée avec une fenêtre de Hann de longueur 46 ms (512 échantillons pour les données A et B et 2048 échantillons pour les données C). Le taux de recouvrement est de 75 %. Les paramètres de parcimonie sont quant à eux fixés à des valeurs régulièrement utilisées dans la litérature (cf. par exemple Kameoka et al. (2009)) : p = 1 et σs = ||X||2 2K−(1−p/2)10−5 .
Mélanges simples Influence des paramètres
Dans cette expérience, nous évaluons, pour les jeux de données A et B, l’influence des paramètres σr et σu sur la qualité de la séparation effectuée avec 10 itérations de l’algorithme 9, initialisé avec 30 itérations de KLNMF. Les résultats présentés dans l’article ICASSP Magron et al. (2016b) étaient obtenus par l’algorithme 8. Nous présentons ici les résultats obtenus avec la méthode de la fonction auxiliaire, qui sont globalement meilleurs. Néanmoins, en utilisant l’algorithme 9, nous constatons que le paramètre σr a une influence négligeable sur les résultats (ce qui n’est pas le cas avec l’algorithme 8). Pour les expériences sur les données A et B, on considère donc σr = 0. Les résultats de l’impact du paramètre σu sur la séparation de sources sont donnés sur la figure 7.2. Globalement, des valeurs non-nulles de σu conduisent à améliorer les résultats par rapport à une valeur nulle, ce qui montre l’intérêt de notre méthode par rapport à une CNMF non contrainte. Un compromis entre SDR, SIR et SAR semble obtenu pour σu = 1 (données synthétiques) et σu = 0.1 (notes de piano). Des valeurs plus faibles sont insuffisantes pour contraindre efficacement le problème (on se rapproche alors du modèle de CNMF non contrainte), et des valeurs plus importantes sont au contraire trop contraignantes car les données ne respectent pas « suffisamment » le modèle (et l’influence du terme d’attache aux données dans la fonction de coût devient négligeable).