contents/GaussianParadigm.tex : Fixed some typing

This commit is contained in:
saundersp 2025-02-09 22:04:41 +01:00
parent 230be3b629
commit d704f3ed4c

View File

@ -10,18 +10,18 @@
\section{Abstract} \section{Abstract}
La mode actuelle dans l'apprentissage profond en termes de classification est d'établir un hyperplan qui sépare le mieux possible les points d'un set de données de façon déterministique. La mode actuelle dans l'apprentissage profond en termes de classification est d'établir un hyperplan qui sépare le mieux possible les points d'un set de données de façon déterministe.
Cette méthodologie héritée des machines à vecteurs de supports (i.e. SVM \citereferences{Weston1999SupportVM}) maximise la marge (e.g. hinge loss), pourtant, cette approche s'éloigne énormément de l'anthropomorphisme recherché par les réseaux neuronaux. Cette méthodologie héritée des machines à vecteurs de supports (i.e. SVM \citereferences{Weston1999SupportVM}) maximise la marge (e.g. hinge loss), pourtant, cette approche s'éloigne énormément de l'anthropomorphisme recherché par les réseaux neuronaux.
Car cette approche vise à différencier les classes entre toutes les autres (duel $1$ vs $N-1$ classes) ce qui résulte un hyperplan dont on ne peut que difficilement interpréter les résultats. Car cette approche vise à différencier les classes entre toutes les autres (duel $1$ vs $N-1$ classes) ce qui résulte un hyperplan dont on ne peut que difficilement interpréter les résultats.
De plus, si on rajoute des classes, on doit entraîner à nouveau le modèle ou, au minima, entraîner à nouveau la dernière couche avec l'apprentissage par transfert \citereferences{transfer_learning_survey}. De plus, si on rajoute des classes, on doit entraîner à nouveau le modèle ou, au minima, entraîner à nouveau la dernière couche avec l'apprentissage par transfert \citereferences{transfer_learning_survey}.
Une approche plus anthropomorphiste serait d'entraîner un modèle qu'y se base non sur les différences, mais sur les similitudes. Cela permettra également d'unifier plusieurs paradigmes de l'apprentissage automatique tel que la classification, la détection d'anomalie, la génération d'échantillons ainsi que l'apprentissage semi-supervisée. Une approche plus anthropomorphiste serait d'entraîner un modèle qu'y se base non sur les différences, mais sur les similitudes. Cela permettra également d'unifier plusieurs paradigmes de l'apprentissage automatique tel que la classification, la détection d'anomalie, la génération d'échantillons ainsi que l'apprentissage semi-supervisée.
Plusieurs tentatives d'unification des paradigmes ont été tentées comme le fait d'utiliser un modèle génératif de type GAN \citereferences{generative_adversarial_nets} pour faire de la classification \citereferences{semi-supervised_learning_with_deep_generative_models}. Pourtant le fait que tout les modèles entraînées par descente de gradient sont des approximations de machine de kernel \citereferences{every_model_learned_by_gradient_descent_is_approximately_a_kernel_machine} montre que le problème est intrinsèque au paradigme et donc qu'il peut être intéréssant de changer d'approche. Plusieurs tentatives d'unification des paradigmes ont été tentées comme le fait d'utiliser un modèle génératif de type GAN \citereferences{generative_adversarial_nets} pour faire de la classification \citereferences{semi-supervised_learning_with_deep_generative_models}. Pourtant, le fait que tous les modèles entraînées par descente de gradient sont des approximations de machine de kernel \citereferences{every_model_learned_by_gradient_descent_is_approximately_a_kernel_machine} montre que le problème est intrinsèque au paradigme et donc qu'il peut être intéressant de changer d'approche.
\section{Sujet} \section{Sujet}
Le but du sujet est de créer un modèle caractériser comme un réseau de neurones probabilistes qui, sur un set de données défini tel que : Le but du sujet est de créer un modèle caractérisé comme un réseau de neurones probabilistes qui, sur un set de données défini tel que :
$D = \{ (x_1, y_1),\dots, (x_n, y_n)\} \subseteq \mathcal{R}^d * \mathcal{C}$ $D = \{ (x_1, y_1),\dots, (x_n, y_n)\} \subseteq \mathcal{R}^d * \mathcal{C}$
\begin{itemize} \begin{itemize}
@ -33,13 +33,13 @@ $D = \{ (x_1, y_1),\dots, (x_n, y_n)\} \subseteq \mathcal{R}^d * \mathcal{C}$
Le modèle maximisera une approximation de la distribution de $P(X)$, sachant que grâce au théorème central limite, nous pouvons raisonnablement prédire que la distribution sera gaussienne, ce qui est essentiel pour ce qui suit. Le modèle maximisera une approximation de la distribution de $P(X)$, sachant que grâce au théorème central limite, nous pouvons raisonnablement prédire que la distribution sera gaussienne, ce qui est essentiel pour ce qui suit.
Et à partir de cette distribution, nous pouvons assigner un point $x_i$ du set à son label $y_i$ et donc estimer de manière fractale (comme le permet le théorème centrale limite) chaque sous distribution $P(X|Y)$. Cette approche permet, si on dispose de nouvelles données, d'uniquement utiliser celle-ci et non le set entier, ce qui réduit considérablement le temps d'entraînement. Et à partir de cette distribution, nous pouvons assigner un point $x_i$ du set à son label $y_i$ et ainsi estimer de manière fractale (comme le permet le théorème centrale limite) chaque sous distribution $P(X \mid Y)$. Cette approche permet, si on dispose de nouvelles données, d'uniquement utiliser celle-ci et non le set entier, ce qui réduit considérablement le temps d'entraînement.
\section{Applications} \section{Applications}
Avec ce changement intrinsèque dans la manière d'entraîner les modèles nous avons avec ces distributions, plusieurs choix possibles comme : Avec ce changement intrinsèque dans la manière d'entraîner les modèles, nous avons avec ces distributions, plusieurs choix possibles comme :
\begin{itemize} \begin{itemize}
\item Classification : on peux inférer le label en calculant l'argmin de chaque divergence de Kullback-Leibler \citereferences{kl_divergence} pour toutes les distributions \item Classification : on peut inférer le label en calculant l'argmin de chaque divergence de Kullback-Leibler \citereferences{kl_divergence} pour toutes les distributions
\item Détection d'anomalie : chaque sous distribution est gaussienne, donc un calcul du z-score ($Z=\frac{x-\mu}{\sigma}$) permet de détecter une potentielle anomalie \item Détection d'anomalie : chaque sous distribution est gaussienne, donc un calcul du z-score ($Z=\frac{x-\mu}{\sigma}$) permet de détecter une potentielle anomalie
\item Génération d'échantillons : avec les paramètres estimés de chaque distribution, nous pouvons utiliser un vecteur $\mathcal{N}(\mu',\sigma')$ pour générer de nouveaux vecteurs dans l'espace vectoriel estimé \item Génération d'échantillons : avec les paramètres estimés de chaque distribution, nous pouvons utiliser un vecteur $\mathcal{N}(\mu',\sigma')$ pour générer de nouveaux vecteurs dans l'espace vectoriel estimé
\item Apprentissage semi-supervisée : l'entraînement du modèle ne dépend pas de $Y$ donc nous pouvons entraîner le modèle avec le maximum de données non labellisé. Ensuite, en labellisant que certains points $X$ le modèle pourra déduire quels points sont les plus similaires et en conséquence les plus susceptibles d'être du même label. \item Apprentissage semi-supervisée : l'entraînement du modèle ne dépend pas de $Y$ donc nous pouvons entraîner le modèle avec le maximum de données non labellisé. Ensuite, en labellisant que certains points $X$ le modèle pourra déduire quels points sont les plus similaires et en conséquence les plus susceptibles d'être du même label.