Sécurité des processus d’apprentissage artificiel appliqués au contenu multimédia

L’apprentissage artificiel peut être vu comme une branche de l’intelligence artificielle. L’objectif est de construire et d’étudier un système qui peut inférer des informations à partir de données dans le but final de prendre des décisions de manière automatique sur ce type de données. Ces décisions peuvent prendre la forme de labels (ou étiquettes) associés aux données. Il existe deux notions importantes autour des principes de l’apprentissage artificiel : la représentation des données et la capacité à généraliser le processus de prise de décision à de nouvelles données. De manière générale, les algorithmes d’apprentissage artificiel sont capables de prendre des décisions sur la nature des données grâce à des fonctions mathématiques. Ces fonctions mathématiques sont appelées fonctions hypothèses ou fonctions séparatrices. Aujourd’hui, les algorithmes d’apprentissage artificiel sont utilisés dans différents domaines pour des applications très variées. Depuis quelques temps, ces algorithmes sont utilisés dans des systèmes de prise de décision comme les filtres spams, la détection de virus ou encore dans des systèmes de détection d’intrusion dans des réseaux. Ils y sont très appréciés puisqu’ils peuvent être entraînés pour détecter des comportements anormaux.

Ce qu’il faut savoir sur l’apprentissage artificiel 

Deux grandes familles : supervisé et non-supervisé

Les algorithmes d’apprentissage artificiel peuvent être divisés en deux grandes familles d’algorithmes. La première est composée des algorithmes supervisés alors que la seconde contient les algorithmes non-supervisés. Pourtant, ces deux familles suivent le même procédé à 2 phases :
• Pendant la première phase, appelée la phase d’apprentissage, les utilisateurs donnent des données en entrée de l’algorithme. Un algorithme d’apprentissage artificiel va entrainer les paramètres de ses fonctions séparatrices sur ces données dans le but de séparer ces données au mieux. Dans le cas où l’algorithme est un algorithme supervisé, des labels (ou étiquettes) sont pré-assignés aux données et sont ainsi utilisés comme une base pour séparer les données d’entrée. Dans le cas non-supervisé, cette phase d’apprentissage peut être itérative. Les fonctions séparatrices sont alors appliquées à plusieurs jeux de données pour permettre à l’algorithme d’ajuster ses paramètres au mieux.
• Une fois cette première phase terminée, il devient indispensable de savoir comment les fonctions mathématiques, qui viennent d’être apprises, se comportent avec des données que l’algorithme n’a encore jamais vu. Dit autrement, il faut déterminer si l’algorithme peut généraliser à de nouvelles données ce qu’il vient d’apprendre à partir des données d’apprentissage. On donne habituellement un nouveau jeu de données en entrée de l’algorithme. Ce jeu est appelé ensemble de test. L’algorithme va alors calculer la classe la plus vraisemblable à attribuer à chaque donnée. L’évaluation des résultats sur les données de tests permettent de caractériser les capacités de généralisation de l’algorithme d’apprentissage.

L’évaluation de l’apprentissage de fonctions d’un algorithme d’apprentissage supervisé

Le but final du processus précédent est donc de générer des fonctions séparatrices permettant à l’algorithme de prendre des décisions sur la nature des données en faisant le moins d’erreurs possibles. Ces erreurs se définissent relativement à une vérité terrain qui est le résultat attendu pour une donnée. Ce résultat attendu est défini par un expert. Il existe deux types d’erreurs : les faux positifs et les faux négatifs. Dans le cas de la classification, ces erreurs sont définies par rapport à une classe donnée C. Ainsi :
• Les faux négatifs sont des données auxquelles la vérité terrain attribue le label C alors que l’algorithme d’apprentissage artificiel leur attribue le label d’une autre classe.
• Les faux positifs sont des données dont la vérité terrain leur attribue le label d’une autre classe alors que l’algorithme leur attribue le label C.

La matrice de confusion suivante résume toutes ces informations. Les colonnes représentent la classe attribuée par l’algorithme d’apprentissage artificiel pour une donnée précise. Les lignes représentent l’étiquette de cette donnée suivant la vérité terrain. Si les deux étiquettes sont en adéquations, il n’y a pas d’erreur et l’on se retrouve sur la diagonale principale du tableau. Si les deux labels sont différents, on se retrouve alors dans le cas d’une erreur qui se positionne sur l’autre diagonale, dont le contenu des cellules est écrit en rouge et italique.

Ces erreurs ne sont pas forcément très gênantes à condition de bien définir, pour une application donnée, le type d’erreurs à éviter et le taux d’erreur acceptable. Par exemple, on peut imaginer que dans le cas d’une application de diagnostic médical, il est important d’avoir un système où il n’y ait aucun cas d’erreur de type faux négatifs. En effet, un faux négatif dans ce type d’application se traduirait par le fait de ne pas détecter une maladie présente chez un patient. On comprend alors qu’il est peut être mieux d’avoir beaucoup de faux positifs (le système détecte une maladie alors qu’il n’y en a pas) qui nécessiteront un examen de contrôle afin d’établir un traitement si besoin plutôt que le contraire.

Hypothèse de non-hostitilité

Habituellement, les algorithmes d’apprentissage artificiel entrainent leurs fonctions séparatrices sur des données qui sont supposées correctes, représentatives du monde des données à étudier et sûres. A priori, tout est fait, de la phase d’apprentissage à la généralisation qui en découle, pour que l’algorithme puisse retourner les meilleurs résultats possibles. De plus, pour le cas d’apprentissage supervisé, les labels fournis avec les données d’apprentissage doivent être représentatifs des données « réelles » qu’un utilisateur peut s’attendre à traiter par la suite. Bien sûr, tout le monde est supposé bien intentionné. Autrement dit, personne n’a de comportements qui essayeraient de faire augmenter de manière intentionnelle le nombre d’erreurs faites par l’algorithme.

Depuis à peu près 20 ans maintenant, cette hypothèse de non-hostilité a été mise de côté et a ainsi permis la mise en place d’un nouveau domaine d’application dans l’apprentissage artificiel qui paraît prometteur puisqu’il est plus proche des conditions réelles d’utilisation. Ainsi, il est supposé que des personnes mal intentionnées ont des connaissances à priori sur les algorithmes de prises de décision, sur leurs fonctions séparatrices ainsi que leurs paramètres et également sur les données d’apprentissage utilisées. À partir de ces connaissances, ces personnes essayent de faire augmenter le nombre d’erreurs de décision faites par l’algorithme. Dans un contexte où l’algorithme tente de décider si des messages électroniques sont des spams ou non, si des personnes malveillantes arrivent à bien utiliser leurs connaissances, alors des messages spams qu’ils auraient envoyés devraient se faire détecter comme des messages normaux.

Les personnes mal-intentionnées peuvent agir sur l’algorithme d’apprentissage artificiel de deux manières différentes :
• lors de la phase de test de l’algorithme, ces personnes ont mis au point des données qui seront mal classées puisque les fonctions séparatrices ont été ajustées aux données rencontrées lors de la phase d’apprentissage. Ainsi, la fonction séparatrice ne bouge pas et les classifications faites précédemment sur des données « normales » restent correctes. Par contre, des données corrompues ressemblant aux données mal classées ont des chances d’être également mal classées.
• lors de la phase de test, l’algorithme peut prendre en compte les nouvelles données entrantes et ainsi réapprendre une fonction séparatrice et ses paramètres pour essayer de faire moins d’erreurs. La définition des nouvelles valeurs de paramètres, guidée par les personnes mal-intentionnées, ne garantissent plus que l’algorithme va continuer de classer les données rencontrées précédemment de la même manière.

Il faut remarquer alors que les données générées par des personnes mal intentionnées ont un label qui fait que les fonctions séparatrices apprises lors de la phase d’apprentissage doivent se distordre pour éviter de faire des erreurs. On peut ainsi dire que la distribution de ces données est très différente de celles des données d’apprentissage. dans de telles conditions, les algorithmes d’apprentissage artificiel ne se débrouillent plus aussi bien qu’avec les hypothèses initiales. Ils font effectivement plus d’erreurs lorsque les utilisateurs adoptent un comportement hostile. Cela peut donc mener à des problèmes de sécurité.

L’apprentissage artificiel en ligne et le réapprentissage

Ainsi, il existe plusieurs facteurs qui peuvent faire que le système de prise de décision voit son taux d’erreurs augmenter. Tout d’abord, comme dit précédemment, parce que l’environnement dans lequel sont utilisés de tels systèmes est devenu hostile. Mais également, du fait que la nature des données change. Il suffit d’imaginer un système qui apprend les paramètres de ses fonctions séparatrices sur un jeu de données puis qui serait utilisé dans un contexte différent (par exemple, un système classant des images prises en extérieur suivant les couleurs présentes, typiquement par un histogramme de couleur, et à un moment donné, dans son utilisation, on lui demande de classer une image correspondant aux photos utilisées pour les cartes d’identité). L’hypothèse spécifiant que les données d’apprentissage doivent être représentatives des données à traiter n’est donc plus vérifiée. Une communauté s’est penchée sur le fait de faire prendre en compte à l’algorithme les changements de nature des données afin d’en limiter l’impact sur ses performances. Ainsi, il a été pensé qu’il fallait ajouter la connaissance apportée par ces nouvelles informations aux fonctions séparatrices déjà établies pour les parfaire et au final qu’elles se rapprochent plus des fonctions séparatrices souhaitées qui sépareraient parfaitement les données à traiter sans faire aucune erreur.

Le rapport de stage ou le pfe est un document d’analyse, de synthèse et d’évaluation de votre apprentissage, c’est pour cela chatpfe.com propose le téléchargement des modèles complet de projet de fin d’étude, rapport de stage, mémoire, pfe, thèse, pour connaître la méthodologie à avoir et savoir comment construire les parties d’un projet de fin d’étude.

Table des matières

Introduction
1 Ce qu’il faut savoir sur l’apprentissage artificiel
1.1 Deux grandes familles : supervisé et non-supervisé
1.2 L’évaluation de l’apprentissage de fonctions d’un algorithme d’apprentissage supervisé
1.3 Hypothèse de non-hostitilité
1.4 L’apprentissage artificiel en ligne et le réapprentissage
2 Les Machines à Vecteurs Supports (SVMs)
2.1 Principes de fonctionnement
2.2 Les SVMs à marges molles
2.3 Les SVMs incrémentaux
3 Formalisation des problèmes de sécurité des processus d’apprentissage artificiel
3.1 Terminologie
3.2 Analyse de la sécurité
3.3 Une classification des attaques
3.4 Quelques exemples d’application
3.4.1 L’attaque par dictionnaire : un exemple d’attaque de type Causative et Availability
3.4.2 Discussion
4 Poisoning SVM : L’article à l’origine de cette étude
4.1 Présentation de l’article
4.2 Le contexte de l’article
4.3 Les stratégies d’attaque mises en place dans cet article
4.4 Notion de carte d’influence
4.5 Quelques critiques sur l’approche proposée par Biggio et al
5 Les approfondissements étudiés
5.1 Conditions expérimentales
5.2 La sélection d’un bon candidat comme point initial d’attaque
5.3 Le passage à l’échelle
5.4 La sélection de la classe à attaquer
5.4.1 dans le cas de classes équilibrées
5.4.2 La sélection de la classe à attaquer dans le cas déséquilibré
5.5 Comparaison de stratégies d’attaques
6 Quelques discussions ouvertes à la vue de ce qui a été étudié
6.1 La fonction à maximiser
6.2 La fonction considérée mise en relation avec le passage en grandes dimensions
6.3 Le passage aux cas multi-classes
6.4 L’utilisation d’ensemble d’algorithmes de classification
Conclusion

Lire le rapport complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *