Vérification et validation de techniques d'apprentissage machine

par Julien Girard

Projet de thèse en Informatique

Sous la direction de Marc Schoenauer, Zakaria Chihani et de Guillaume Charpiat.

Thèses en préparation à Paris Saclay , dans le cadre de École doctorale Sciences et technologies de l'information et de la communication (Orsay, Essonne ; 2015-....) , en partenariat avec Institut CEA LIST (laboratoire) , TAU - TAckling the Underspeficied (equipe de recherche) et de Université Paris-Sud (établissement de préparation de la thèse) depuis le 01-10-2018 .


  • Résumé

    L'apprentissage machine, en particulier au moyen des réseaux de neurones artificiels, connaît actuellement une expansion impressionnante, pénétrant des domaines allant de l'aide à la conduite à l'assistance juridique ou médicale. Bien que bénéfique en apparence, cette révolution a de quoi inquiéter à mesure qu'elle s'approche d'une application concrète dans les logiciels critiques, car la fragilité de ces techniques d'apprentissage est exposée de plus en plus, notamment face aux perturbations malicieuses. A l'heure actuelle, peu de méthodes permettent de démontrer la fiabilité d'un réseau de neurones. Par contraste, le domaine du logiciel critique, quant à lui, jouit d'une multitude de méthodes (vérification formelle, model checking, simulation, interprétation abstraite, etc.) Cette thèse vise à mettre au point des techniques permettant de renforcer l'apprentissage machine, au moyen par exemple de réseaux génératifs, ou de le valider, avec des méthodes formelles dédiées, et ce pour permettre aux logiciels critiques de conserver le haut niveau de confiance qu'ils ont atteint quand ils seront inévitablement modifiés avec des mécanismes d'apprentissage machine.

  • Titre traduit

    Verification and validation of Machine Learning techniques


  • Résumé

    L'apprentissage machine, en particulier au moyen des réseaux de neurones artificiels, connaît actuellement une expansion impressionnante, pénétrant des domaines allant de l'aide à la conduite à l'assistance juridique ou médicale. Bien que bénéfique en apparence, cette révolution a de quoi inquiéter à mesure qu'elle s'approche d'une application concrète dans les logiciels critiques, car la fragilité de ces techniques d'apprentissage est exposée de plus en plus, notamment face aux perturbations malicieuses. A l'heure actuelle, peu de méthodes permettent de démontrer la fiabilité d'un réseau de neurones. Par contraste, le domaine du logiciel critique, quant à lui, jouit d'une multitude de méthodes (vérification formelle, model checking, simulation, interprétation abstraite, etc.) Cette thèse vise à mettre au point des techniques permettant de renforcer l'apprentissage machine, au moyen par exemple de réseaux génératifs, ou de le valider, avec des méthodes formelles dédiées, et ce pour permettre aux logiciels critiques de conserver le haut niveau de confiance qu'ils ont atteint quand ils seront inévitablement modifiés avec des mécanismes d'apprentissage machine. Machine Learning techniques, Neural Networks in particular, are going through an impressive expansion, permeating various domains from autonomous vehicles to judicial and medical assistance. This effervescence, however, may hold more than benefits, as it slowly but surely reaches critical systems such as autonomous transportation, robotics, or banking. Indeed, the remarkable efficiency of neural nets comes at a price: weakness to adversarial perturbations, the lack of formal specification of desired NN properties, behavioral unpredictability... While the domain of critical systems enjoys a plethora of methods that help validate software, these methods are generally useless when it comes to Neural Nets. This thesis aims at establishing a theoretical basis for the verification and validation of Neural Networks in particular and IA methods in general, as well as investigate the usage of training-oriented methods to ensure robustness in the face of adversarial perturbations, in particular through simulation and the generative networks. This is to prepare for the inevitable inclusion of learning-enabled subsystems in critical software.