• Aucun résultat trouvé

Factorisation par matrices non négatives avec contraintes (CNMF)

2.4.1 Factorisation par matrice non négative (NMF)

La factorisation par matrices non négatives est un algorithme qui permet de factoriser une matrice V en deux matrices W et H de manière à ce que V ' W H, où ces trois matrices sont contraintes à ne contenir que des éléments non négatifs. Le problème de factorisation par matrices non négatives n’a généralement pas de solution analytique2, on doit donc recourir à des méthodes numériques pour le résoudre. La méthode généralement utilisée calcule d’abord la distance entre l’estimé W H et la matrice V , et cherche à la minimiser à l’aide d’une règle de mise à jour convexe, qui assure la convergence vers un minimum.

Lee and Seung(2001) proposent deux algorithmes spécifiquement pour solutionner numérique- ment ce problème. Dans le premier, soit pour deux matrices non négatives A et B, on considère que A approxime bien B si le carré de la distance euclidienne entre ces deux matrices,

||A − B||2=X

ij

(Aij− Bij)2, (2.3)

est minimisée. La norme ||A − B||2 est bornée par le bas à 0, et n’est nulle que dans le cas où A= B.

Le deuxième algorithme proposé utilise une variante de la distance de Kullback-Leibler pour quantifier la similitude entre A et B. Les deux matrices sont ainsi, en quelque sorte, considérées comme des distributions de probabilités. Cette métrique est ici définie comme

D(A||B) =X ij  Aijlog Aij Bij − Aij+ Bij  . (2.4)

Cette expression se réduit à la divergence de Kullback-Leibler lorsque P

ijAij =

P

ijBij =

1. Comme la distance euclidienne, cette métrique est bornée par le bas à 0, et n’est nulle uniquement que si A= B.

On vient donc de formuler deux alternatives au problème d’optimisation de la NMF :

Problème 1 Minimiser ||V − W H||2 par rapport à W et H, sujet aux contraintes W, H ≥0 Problème 2 Minimiser D(V ||W H) par rapport à W et H, sujet aux contraintes W, H ≥ 0

Il est à noter que les deux métriques ||A − B||2 et D(A||B) sont convexes, mais selon W uniquement ou H uniquement, jamais selon W H. Il n’est donc pas assuré que le minimum

2. Plusieurs ont développé des heuristiques pour solutionner le problème analytiquement (Vandaele et al.,

trouvé pour ces fonctions soit global. Plusieurs techniques peuvent en outre être utilisées pour assurer la convergence vers un minimum local. À cet effet, une règle de mise à jour a été établie pour chacun des deux problèmes énoncés précédemment. Ces règles de mise à jour devraient être strictement décroissantes et converger vers un minimum local.

Théorème 1 La distance euclidienne ||V − W H|| est non croissante sous les règles de mise à jour Haµ← Haµ (W TV )aµ (WTW H)aµ et Wia ← Wia (V HT)ia (W HHT)ia. (2.5)

La distance euclidienne est invariante à cette mise à jour lorsque W et H sont à un point stationnaire de la distance euclidienne.

Théorème 2 La divergence D(V ||W H) est non croissante sous les règles de mise à jour Haµ ← Haµ P iWiaViµ/(W H)iµ P kWka et Wia← Wia P µHaµViµ/(W H)iµ P νHaν . (2.6) La divergence est invariante à cette mise à jour lorsque W et H sont à un point stationnaire de la divergence.

On retrouve les preuves de ces théorèmes dans Lee and Seung (2001)

Maintenant que le problème de factorisation par matrices non négatives est introduit, voyons voir comment sa solution peut être utilisée pour segmenter des neurones sur des films d’activité calcique tel que présenté dans Pnevmatikakis et al. (2016).

2.4.2 Factorisation par matrice non négative avec contraintes (CNMF)

La factorisation par matrices non négatives est réutilisée pour résoudre une grande variété de problème.Pnevmatikakis et al. (2016) l’utilisent entre autres dans le cadre de son algorithme qui, simultanément, débruite les images, déconvolue l’empreinte spatiale de l’activité tempo- relle des neurones, en plus de démixer l’activité lente du calcium à celle rapide de l’activité électrique. Développé dans le cadre spécifique de l’analyse et du traitement des données issues de l’imagerie calcique du cerveau complet du poisson-zèbre, cet algorithme sépare l’empreinte spatiale des neurones de leur activité temporelle, en ne connaissant uniquement que le film d’activité calcique (qui est une combinaison de l’empreinte spatiale et de l’activité temporelle). Avant de comprendre comment la factorisation par matrices non négatives s’inscrit dans le cadre de cet algorithme, on doit d’abord établir les paramètres du problème. On définit d’abord les observations expérimentales, soit le film d’activité calcique, comme Y(t). On l’exprime comme la somme de la fluorescence F(t) de l’indicateur calcique et d’un bruit blanc gaussien (t) qui vient corrompre le signal :

oùΣ est une matrice diagonale qu’on peut calculer à l’aide de la densité spectrale de puissance (voir (Pnevmatikakis et al.,2016) pour voir comment y parvenir). En définissant l’empreinte spatiale du neurone i comme ai et son activité calcique comme ci, on peut exprimer F(t)

comme F(t) = K X i=1 aici(t) + B(t), (2.8)

où K est le nombre de neurones à trouver dans l’image (définit par l’utilisateur) et B(t), la fluo- rescence de base. L’un des objectifs est de minimiser la différence (t) entre Y (t), l’observation expérimentale, et F(t), l’estimation. En réécrivant ce problème sous forme matricielle pour le i-ème neurone, où B a également été exprimé comme la multiplication d’une composante temporelle et spatiale, on obtient les équations

Y(i, :) − A(i, :)C(k−1)− b(i)f(k−1)T = (t) (2.9) E[Y (i, :) − A(i, :)C(k−1)− b(i)f(k−1)T]2 = σ2, (2.10) où on effectue la moyenne des deux côtés de l’équation. En sommant sur tous les temps, on obtient l’expression

E||Y(i, :) − A(i, :)C(k−1)− b(i)f(k−1)T||2 = σ2T. (2.11)

Et finalement, par la loi des grands nombres,

||Y (i, :) − A(i, :)C(k−1)− b(i)f(k−1)T||2 = σ2T. (2.12)

On peut maintenant réécrire notre système d’équations sous forme matricielle :

S= CGT, (2.13)

F = AC + B, (2.14)

Y = F + E. (2.15)

On se rappelle que la matrice A contient l’information spatiale, et C l’information temporelle. Comme on peut le voir, les équations 2.13 et 2.14 sont la définition même du problème de factorisation par matrices non négatives. On cherche ainsi à factoriser F(t) en sa composante spatiale A et sa composante temporelle C. De la même façon, on cherche à déconvoluer, par factorisation par matrices non négatives, l’activité neurale (S) en une matrice comprenant la dynamique du calcium (C), et une matrice G, qui contient les paramètres (γi) du modèle

autorégressif, soit G=          1 0 0 · · · 0 −γ1 1 0 · · · 0 −γ2 −γ1 1 · · · 0 .. . . .. . .. . .. ... 0 · · · −γ2 −γ1 1          . (2.16)

Le modèle autorégressif d’ordre p est défini selon c(t) =

p

X

k=1

γkc(t − k) + s(t). (2.17)

Il modélise le plus fidèlement possible l’activité du calcium. Maintenant que tous les paramètres du problème sont bien définis, on peut établir une méthodologie pour le solutionner, de telle sorte à trouver les matrices C, G, A et B à partir de Y . Le problème se résume en quelques étapes clés qui seront expliquées dans les prochaines sections. Brièvement, ces étapes consistent à :

1. déterminer les paramètres du modèle autorégressif et calculer la puissance de bruit pour chaque voxel ;

2. initialiser les matrices A, b, C et f selon la procédure d’initialisation décrite plus bas ; 3. mettre à jour les composantes A, b, C et f en utilisant la factorisation de matrice

contrainte en alternance ;

4. joindre et/ou supprimer les composantes identifiées ; 5. répéter les étapes (3) et (4) jusqu’à convergence Détaillons maintenant chacune de ces étapes.

Estimation des paramètres du modèle autorégressif

La première étape vers la solution au problème est d’estimer les paramètres du modèle autoré- gressif. Pour y arriver, on doit d’abord approximer la dynamique de concentration de calcium c à un processus autorégressif stable d’ordre p, où p est un petit entier positif. Le modèle autorégressif s’exprime comme

c(t) =

p

X

k=1

γkc(t − k) + s(t), (2.18)

où γk est le paramètre autorégressif d’ordre k, sn(t) est le nombre de pics émis par le neurone

Le choix de p dépendra du type de dynamique qu’on veut modéliser et de la grandeur de la constante de montée temporelle modélisée en comparaison avec la longueur de l’intervalle temporelle. Par exemple, si on a une petite constante de montée temporelle comparativement à la longueur de l’intervalle temporelle, on conseille d’utiliser p = 1, de sorte à modéliser la dynamique transitoire du calcium en réponse à un pic comme une fonction ayant une augmen- tation instantanée suivie d’une décroissance exponentielle lente. Si on veut plutôt modéliser explicitement la montée temporelle, on doit plutôt utiliser p= 2. Plus on augmenta la valeur de p, plus le modèle décrit une dynamique structurée.

Or, expérimentalement, on ne peut observer directement la concentration de calcium, mais plutôt la fluorescence causée par la variation de concentration de calcium. Cette fluorescence observée, peut être exprimée comme une fonction de la concentration de calcium

y(t) = α(c(t) + b) + (t), (t) ∼ N (0, σ2), (2.19)

où α est un scalaire non négatif, b la concentration de base et  le bruit gaussien de moyenne nulle et de variance σ2. En posant que s(t) est un processus de Poisson homogène avec E[s(t)] =

λ et que le processus autorégressif est stationnaire (il est nécessaire que γ1+ · · · + γp <1), on

obtient :

µ , E[c(t)] = λ 1 −Pp

k=1γk

. (2.20)

La fonction d’auto-covariance de la concentration s’écrit, par définition, comme

Cc(τ ) = E[c(t + τ )c(t)] − µ2. (2.21)

En utilisant le modèle autorégressif tel que défini précédemment (équation2.18), on réexprime le terme c(t + τ ) Cc(τ ) = E[ p X k=1 γkc(t + τ − k) + s(t + τ ) ! c(t)] − µ2. (2.22)

Puisque la moyenne est temporelle, on peut mettre en évidence le terme Pp

k=1γk. De plus,

par linéarité de l’opérateur, Cc(τ ) =

p

X

k=1

γkE[c(t + τ − k)c(t)] + E[s(t + τ )c(t)] − µ2. (2.23)

que c(t) au temps t est indépendant de s(t + τ ) au temps suivant, on a que

Cc(τ ) = p

X

k=1

γkE[c(t + τ − k)c(t)] + E[s(t + τ )]E[c(t)] − µ2 (2.24)

= p X k=1 γkE[c(t + τ − k)c(t)] + λµ − µ2 (2.25) = p X k=1 γk Cc(τ − k) + µ2 + (1 − p X k=1 γk)µ2− µ2 (2.26) = p X k=1 γkCc(τ − k). (2.27)

Sachant que le bruit est blanc, on peut exprimer l’autocovariance de la fluorescence observée en fonction de celle de la concentration de calcium comme

Cy(τ ) = α2Cc(τ ) + σ2δ(t) (2.28) = ( Pp k=1γkCc(τ − k) − σ 2γ τ, 1 ≤ τ ≤ p, Pp k=1γkCc(τ − k), τ > p. (2.29)

Les paramètres du modèle et la variance du bruit (σ2) peuvent quant à eux être estimés à l’aide des équations ci-dessus en utilisant l’autocovariance de l’échantillon.

On peut également déterminer σ2 en utilisant la densité spectrale de puissance de y, la fluo- rescence observée. Cette méthode a pour avantage d’être moins dépendante du modèle para- métrique. Pour calculer la DSP, il suffit de moyenner sa valeur sur l’intervalle de fréquence [Fs/4, Fs/2] où Fsest la fréquence d’acquisition. (parce que la dynamique du calcium est lente,

elle est généralement comprise dans les basses fréquences. Pour calculer le niveau de bruit, on moyenne plutôt la DSP du signal brut sur l’intervalle [Fs/4, Fs/2] .

Initialisation des matrices A, b, C et f

Une fois les paramètres du modèle autorégressif déterminés, on est prêt à initialiser les matrices A, b, C et f . Deux méthodes d’initialisation sont proposées dans l’article, soit la méthode Greedy, et celle du Group Lasso. Or, seule l’initialisation Greedy sera présentée ici, alors que celle du Group Lasso est détaillée dans l’article (Pnevmatikakis et al.,2016)

Initialisation Greedy

Dans cette méthode d’initialisation, le résidu de la matrice spatiotemporelle (ou, à la première itération, la matrice de données elle-même) est, à chaque itération, filtré à l’aide d’un noyau Gaussien, dont la taille est similaire à la taille d’un corps cellulaire. L’algorithme trouve alors l’endroit où ce filtrage explique un maximum de variance et sélectionne un carré ayant

grossièrement le double de la taille moyenne d’un neurone. On procède alors, à l’intérieur de ce carré, à une NMF de rang 1 pour initialiser les composantes spatiale et temporelle. Le produit de ces composantes est alors soustrait des données observées pour former la nouvelle matrice résiduelle. On répète la procédure jusqu’à ce qu’on trouve le nombre de composantes spécifié par l’utilisateur. Dans cette méthode, on permet un chevauchement des composantes. La matrice résiduelle obtenue à la fin de toutes les itérations permet d’initialiser la matrice de l’arrière-plan B = bfT (où b encode la structure spatiale de l’arrière-plan et f l’intensité

globale dépendante du temps) encore une fois en utilisant la NMF de rang 1. Mise à jour itérative de A, b, C et f avec la factorisation de matrices non-négatives contrainte

Une fois les N composantes spécifiées par l’utilisateur retrouvées, on procède à la mise à jour de ces quatre matrices, spatiales et temporelles. Sachant que chaque colonne de A représente la position et la forme d’un neurone, on cherche à ce que la matrice A soit creuse3 pour

promouvoir la localisation spatiale des neurones. Pour traduire cette première contrainte sous forme algorithmique, on cherche à minimiser la norme L1 de A, soit la somme des entrées de cette matrice (puisque la matrice est contrainte à la non-négativité). Connaissant les matrices C(k − 1) et f (k − 1) de l’itération précédente, la matrice spatiale A(k) et de d’arrière-plan b(k) peuvent être obtenues par le programme convexe

min

A,b ||A||1 (2.30)

sujet aux contraintes

A, b ≥0,

||Y (i, :) − A(i, :)C(k−1)− b(i)f(k−1)T|| ≤ σi

√ T , = 1, · · · , d

où A(i, :), Y (i, :) dénotent la i-ème rangé de A et Y respectivement. Un des avantages de cette méthode, en outre de sa convexité est la possibilité de paralléliser le problème en d problèmes, soit un pour chacun des pixels.

Quant à la composante temporelle, on veut inclure la pénalité d’éparpillement pour prévenir le surapprentissage. En utilisant la même logique que pour les estimés de A et b, on utilise notre estimation de la variance du bruit comme contrainte ferme et on dérive un programme convexe sans paramètre

min c1,c2,··· ,ck,f K X j=1 1TGcj (2.31) 3. sparse

sujet aux contraintes

Gcj ≥ 0,

j= 1, · · · , K,

||Y (i, :) − A(i, :)C(k−1)− b(i)f(k−1)T|| ≤ σi

√ T , = 1, · · · , d.

Fusion de composantes

Après chaque itération, on évalue chaque paire de composantes se chevauchant spatialement. Si ces composantes ont une corrélation temporelle au-dessus d’un certain seuil, on les fusionne. Classement et suppression de composantes

Il est généralement difficile d’estimer exactement le nombre de neurones à identifier. Une stratégie efficace est donc de surestimer le nombre de neurones, puis d’écarter les composantes identifiées ne correspondant pas à de l’activité neurale. Pour les classer en ordre du plus probable au moins probable, on utilise le produit de la valeur maximale de la composante temporelle et spatiale.

2.4.3 Résultats

Bien que cette méthode soit analytiquement élégante et déjà implémentée (en python et Mat- lab), elle requiert énormément de mémoire vive pour bien fonctionner. L’utilisation d’outils de calcul puissants tels que ceux fournis par Calcul Canada est donc requise (ou une très bonne carte graphique). De plus, elle nécessite de fixer plusieurs paramètres manuellement, de telle sorte que l’optimisation est compliquée. Finalement, cette méthode donne des résultats beaucoup moins bons que les méthodes d’apprentissage profond lorsque présentée au concours neurofinder4.

Désirant fournir une méthode simple d’utilisation, qu’on peut exécuter facilement sur notre propre ordinateur, cette méthode a été écartée des choix finaux bien qu’elle soit élégante analytiquement.

Documents relatifs