Mixing of chemical components

Supposons que vous développiez un modèle d’apprentissage machine qui doit généraliser au mieux. En général, les modèles sophistiqués tels qu’une forêt aléatoire avec de nombreux arbres, un réseau neuronal très profond ou un ensemble de modèles ont un bon pouvoir de généralisation. Cependant, ces modèles nécessitent un grand espace disque et peuvent être lents durant l’inférence.

Dans cet article, nous verrons comment la distillation aide à construire des modèles imitant la performance d’un modèle lourd mais plus légers, c’est-à-dire ayant moins de paramètres.

Dans l’apprentissage machine, nous acceptons l’idée que la fonction de coût est conçue pour refléter le plus fidèlement possible les intérêts de l’utilisateur. Cependant, tous les algorithmes tendent à minimiser la fonction de coût sur les données de formation alors que l’intérêt réel est de bien généraliser sur les nouvelles données.

Il est clairement préférable de former des modèles pour mieux généraliser, mais cela nécessite de savoir comment le faire. Lorsque nous distillons les connaissances d’un grand modèle à un petit modèle ou d’un spécialiste à un généraliste, nous pouvons former l’étudiant à généraliser de la même manière que l’enseignant.

En général, l’enseignant est bien placé pour transférer ce type d’information car il s’agit soit d’un modèle lourd, soit d’un ensemble de réseaux multiples par exemple, soit d’un modèle expert sur son domaine (et généralisant mieux sur son domaine).

Principe

L’objectif de la distillation des connaissances est de combler l’écart entre l’intérêt de l’utilisateur, qui est une bonne généralisation de données invisibles, et la fonction de coût utilisée pendant la formation. Une façon de transférer la capacité de généralisation du modèle encombrant ou des modèles multiples est d’utiliser les probabilités de classe comme cibles molles. Au lieu d’essayer de faire correspondre les étiquettes de vérité de terrain, nous effectuerons l’optimisation sur les cibles adoucies fournies par l’enseignant.

En d’autres termes, si l’on considère un problème de classification, la fonction de coût log-vraisemblance négative sera remplacée par la divergence de Kullback-Leibler entre la distribution de l’enseignant et celle de l’élève.

Traditionnellement, la fonction de perte pour le point de données d’entraînement x :

l = -\sum_{k = 1}^{K}1[y=k]log(p(y=k|x))

où y est la classe vraie et K le nombre de classes.

Le remplacement de la fonction de coût par la fonction de divergence KL se traduirait par :

l = -\sum_{k = 1}^{K}p^T(y=k|x) \ log(p^S(y=k|x))

where p^T and p^S are the probability distributions of the teacher and the student respectively.

Il s’agit de la forme de distillation la plus simple qui peut fonctionner sans avoir de véritables étiquettes pour l’ensemble de transfert, qui peut être l’ensemble de formation du professeur. Lorsque les bonnes étiquettes sont connues pour ce jeu de transfert ou un sous-ensemble de celui-ci, nous pouvons incorporer ces informations pour utiliser l’information ajoutée et former le modèle à produire les bonnes étiquettes.

La méthode de combinaison utilisée dans notre cas aboutit à cette fonction de coût qui est une somme pondérée entre la probabilité logarithmique négative et la divergence de Kullback-Leibler.

l = - \sum_{k = 1}^{K} ((1-\lambda)1[y=k] + \lambda p^T(y=k|x)) \ log(p^S(y=k|x))

\lambda est un hyper-paramètre de la méthode quantifiant le ramollissement des cibles. Si \lambda = 0 nous trouvons la perte d’entropie croisée et si \lambda = 1 nous obtenons la forme la plus simple de distillation décrite ci-dessus où les étiquettes de vérité de terrain n’ont pas été exploitées.

La distillation en tant que technique multi-tâches

La distillation des connaissances peut également être utilisée pour produire un élève multitâches ou multi-domaines qui peut ou non être de la même taille que les enseignants (K \leq N).

Cette stratégie nous permettra d’utiliser un seul modèle pour traduire des phrases de différents domaines au lieu de stocker les différents modèles experts, de filtrer les données pendant l’inférence pour connaître le domaine de la phrase à traduire et d’exploiter l’enseignant correspondant. Il est efficace en temps et en mémoire et particulièrement pratique dans un environnement de production.

Le recours à des spécialistes formés dans différents domaines ressemble à des mélanges d’experts qui apprennent à attribuer chaque exemple à l’expert le plus probable par le calcul de probabilité. Pendant la formation, deux phases d’apprentissage se déroulent simultanément, les experts apprennent à être précis sur les exemples qui leur sont attribués et le réseau de contrôle, responsable de l’attribution des exemples, apprend à le faire.

La principale différence entre les deux méthodes est la parallélisation. Il est plus facile de former en même temps différents enseignants sur leur domaine correspondant que de paralléliser des mélanges d’experts.

LEAVE A REPLY

Please enter your comment!
Please enter your name here