5
Thèse – Validation de composants d’intelligence artificielle issus d’apprentissages Laboratoire : FEMTO-ST – UMR 6174 Encadrement Thèse : Pr. Fabrice BOUQUET Candidat : XXX – Appel national ou international Contexte des travaux de recherche L’utilisation des composants d’intelligence artificielle et plus particulièrement ceux de machine learning dans les logiciels est omni présente. La problématique de la validation de ces composants devient centrale lorsque des décisions ou des actions que vont effectuer les systèmes se basent sur ces composants. Les acteurs du logiciel comme Sogeti [Sogeti17] ont bien compris les enjeux en termes de compétences pour permettre ce type de validation. Ce travail s’inscrit en complément de travaux dans le cadre de trois projets. Le premier est le projet Philae lauréat de l’appel à projet générique de l’ANR 2018. L'objectif du projet PHILAE 1 est de lutter contre le goulot d'étranglement des tests en effectuant des analyses de traces et un triage à l'aide de techniques d'apprentissage automatique, en combinant ces analyses à l'inférence de modèle et à la génération automatique de tests. Le second est le projet InterReg SAIAD 2 labélisé en 2017 et qui concerne l’utilisation de composant d’IA dans la reconnaissance d’imagerie médicale pour aider la détection de tumeur chez l’enfant. Le troisième projet MASSAI lauréat de l’appel à programme opérationnel FEDER 2018 concerne l’utilisation d’intelligence artificielle pour la prise de décision dans les blocs opératoires. Ainsi, ces trois projets apportent des données et des modèles d’IA sur laquelle nous pourrons effectuer nos recherches concernant la validation. A cela s’ajoute le lien avec la Haute Autorité de Santé en charge de l’accréditation des systèmes médicaux qui non seulement sont connectés, mais qui commence à utiliser des composants d’IA. Background et état de l’art Le travail de cette thèse s’inscrit dans la suite des travaux menés dans l’équipe de recherche VESONTIO du département des Systèmes complexes de l’institut FEMTO-ST. Il concerne les composants d’intelligence artificielle et le test logiciel [BL11]. La recherche sur des méthodes dédiées à la vérification et à la validation de composant de ML en est actuellement à ses débuts. Bien que les tests fassent déjà partie du processus d’apprentissage de ML, la plupart des tests sont effectués pour obtenir des modèles plus précis en ce qui concerne les objectifs d’apprentissages initiaux. Dans l'apprentissage supervisé, par exemple, des ensembles de données de test et de validation sont utilisés pour fournir une évaluation non biaisée du modèle ML obtenu. Les jeux de données de validation sont généralement utilisés lors de l’apprentissage pour affiner les paramètres du modèle, tandis que les jeux de données de test sont utilisés sur le modèle final pour mesurer les erreurs de généralisation. Cependant, étant donné que les ensembles de tests individuels ne fournissent qu'une seule évaluation du modèle et ont une capacité limitée à 1 http://projects.femto-st.fr/philae/en 2 http://saiad.femto-st.fr/saiad/

Thèse – Validation de composants d’intelligence ...ed-spim.univ-fcomte.fr/.../sujet-these_2019_ia_test.pdf · devient centrale lorsque des décisions ou des actions que vont

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Thèse – Validation de composants d’intelligence ...ed-spim.univ-fcomte.fr/.../sujet-these_2019_ia_test.pdf · devient centrale lorsque des décisions ou des actions que vont

Thèse – Validation de composants d’intelligence artificielle issus d’apprentissages

Laboratoire : FEMTO-ST – UMR 6174

Encadrement Thèse : Pr. Fabrice BOUQUET

Candidat : XXX – Appel national ou international

Contextedestravauxderecherche

L’utilisation des composants d’intelligence artificielle et plus particulièrement ceux de machine learning dans les logiciels est omni présente. La problématique de la validation de ces composants devient centrale lorsque des décisions ou des actions que vont effectuer les systèmes se basent sur ces composants. Les acteurs du logiciel comme Sogeti [Sogeti17] ont bien compris les enjeux en termes de compétences pour permettre ce type de validation.

Ce travail s’inscrit en complément de travaux dans le cadre de trois projets. Le premier est le projet Philae lauréat de l’appel à projet générique de l’ANR 2018. L'objectif du projet PHILAE1 est de lutter contre le goulot d'étranglement des tests en effectuant des analyses de traces et un triage à l'aide de techniques d'apprentissage automatique, en combinant ces analyses à l'inférence de modèle et à la génération automatique de tests. Le second est le projet InterReg SAIAD2 labélisé en 2017 et qui concerne l’utilisation de composant d’IA dans la reconnaissance d’imagerie médicale pour aider la détection de tumeur chez l’enfant. Le troisième projet MASSAI lauréat de l’appel à programme opérationnel FEDER 2018 concerne l’utilisation d’intelligence artificielle pour la prise de décision dans les blocs opératoires. Ainsi, ces trois projets apportent des données et des modèles d’IA sur laquelle nous pourrons effectuer nos recherches concernant la validation. A cela s’ajoute le lien avec la Haute Autorité de Santé en charge de l’accréditation des systèmes médicaux qui non seulement sont connectés, mais qui commence à utiliser des composants d’IA.

Backgroundetétatdel’art

Le travail de cette thèse s’inscrit dans la suite des travaux menés dans l’équipe de recherche VESONTIO du département des Systèmes complexes de l’institut FEMTO-ST. Il concerne les composants d’intelligence artificielle et le test logiciel [BL11].

La recherche sur des méthodes dédiées à la vérification et à la validation de composant de ML en est actuellement à ses débuts. Bien que les tests fassent déjà partie du processus d’apprentissage de ML, la plupart des tests sont effectués pour obtenir des modèles plus précis en ce qui concerne les objectifs d’apprentissages initiaux. Dans l'apprentissage supervisé, par exemple, des ensembles de données de test et de validation sont utilisés pour fournir une évaluation non biaisée du modèle ML obtenu. Les jeux de données de validation sont généralement utilisés lors de l’apprentissage pour affiner les paramètres du modèle, tandis que les jeux de données de test sont utilisés sur le modèle final pour mesurer les erreurs de généralisation. Cependant, étant donné que les ensembles de tests individuels ne fournissent qu'une seule évaluation du modèle et ont une capacité limitée à

1 http://projects.femto-st.fr/philae/en 2 http://saiad.femto-st.fr/saiad/

Page 2: Thèse – Validation de composants d’intelligence ...ed-spim.univ-fcomte.fr/.../sujet-these_2019_ia_test.pdf · devient centrale lorsque des décisions ou des actions que vont

caractériser l'incertitude des résultats, des approches de test statistiques plus avancées, telles que la validation croisée, sont utilisées pour la sélection du modèle. Les méthodes classiques de vérification et de validation qui font depuis longtemps l'objet de recherches en informatique, telles que les tests, la vérification de modèles et la démonstration de théorèmes, sont généralement limitées lors de la vérification de spécifications incomplètes. Dans la plupart des cas, il est peu pratique ou impossible de vérifier formellement le niveau ML à l'aide des outils et techniques existants [Wessel17]. Actuellement, des travaux sont en cours pour adapter des outils de vérification de modèles, tels que les solveurs de théorie de la satisfiabilité (SMT) et les solveurs de programmation mixés (MIP) pour la vérification des réseaux de neurones [Huang17, Katz17]. Par exemple, des tentatives sont faites pour formuler des déclarations qualitatives sur la connexion de certaines zones de l'espace d'entrée avec certaines zones de l'espace de sortie d'un réseau de neurones. Gosh et. Al. [Gosh16] combinent le ML et le model checking de telle sorte que si les propriétés logiques souhaitées ne sont pas satisfaites par un modèle entrainé, le modèle ou les données à partir desquelles le modèle est appris sont systématiquement modifiés (réparés). Fulton et. Al. [Fulton 18] proposent de combiner une vérification formelle avec une surveillance vérifiée de l'exécution afin de garantir un apprentissage en toute sécurité. L'approche intervient dans le processus d'apprentissage chaque fois que des propriétés de sécurité sont violées et guide le processus d'apprentissage afin que le résultat soit conforme au modèle de vérification. DeepXplore [Pei17], DLFuzz [Guo18] et TensorFuzz [Odena18] fournissent différentes métriques pour la quantification de la couverture neuronale et simplifient l'automatisation des tests. DeepTest [Tian18] permet de tester systématiquement des réseaux de neurones dans des conditions variées d’environnements réalistes, en particulier pour une utilisation dans le domaine de l'automobile.

Les tests sont souvent limités à cause de la dynamique du ML, la taille même du problème et pour établir l’oracle [Weyeuker82]. La dynamique du ML peut être abordée par des approches de test continues et en ligne. Le problème de l'oracle et la taille du domaine du problème sont actuellement abordés par des tests métamorphiques. Murphy et Al. [Murphy08] et Xie et Al. [Xie11] proposent d’utiliser les tests métamorphiques pour cela. De plus, des recherches récentes sur l’apprentissage contradictoire [Nguyen15] montrent que les propriétés de qualité non fonctionnelles telles que la sécurité et la robustesse nécessitent beaucoup plus d’attention. Pei et Al [Pei17] proposent une approche de type boîte blanche pour les réseaux de neurones profonds, reposant sur l’idée de la couverture des neurones et des tests différentiels, afin d’identifier ce que l’on appelle des comportements erronés, comme des comportements où les classifications basculent, mais basculent différemment selon les modèles de ML.

Page 3: Thèse – Validation de composants d’intelligence ...ed-spim.univ-fcomte.fr/.../sujet-these_2019_ia_test.pdf · devient centrale lorsque des décisions ou des actions que vont

Objectifdelathèseetproblématiquesscientifiques

Figure 1 – Schéma de l’approche pour la validation d’IA

L'objectif de la thèse est d’utiliser les informations issues des données et du système pour définir des propriétés fonctionnelles et non-fonctionnelles que doit satisfaire le composant (donc les modèles) d’IA et en amont les données elles-mêmes comme présentées dans la figure 1. Ces propriétés sont ainsi transformées en besoin de tests puis raffinées pour donner des tests comme présentés dans [Botella13]. Les approches de tests métamorphiques et l’utilisation des relations idoines sont une piste prometteuse pour la démarche.

Nous avons actuellement identifié deux domaines concernant nos études de cas. Le premier est lié à la médecine (avec deux sous-thèmes) avec la reconnaissance d’information dans des images médicales et l’assistance des équipes chirurgicales. Le second est lié à l’assistance des équipes validations dans le cadre d’application web.

Les problématiques de recherche induites sont les suivantes :

1. Peut-on caractériser des propriétés intrinsèques que doivent vérifier les composants d’IA ? 2. Peut-on utiliser des méthodes de test pour valider les données ou les compléter ? 3. Peut-on utiliser des méthodes de test pour valider (automatiquement) des composants d’IA ? 4. Peut-on utiliser cette approche dans les différents contextes (passage à l’échelle et

intégration) ?

Méthodologiepourlathèseetdéroulementdutravail

Le travail de thèse combinera des aspects théoriques (en particulier sur la caractérisation des éléments et la convergence des méthodes d’analyse) avec des aspects expérimentaux pour valider les approches proposées pour veiller au passage à l’échelle.

La première année est organisée de la façon suivante :

Données

Apprentissage

Modèle d’IA

Système

Exigences

Propriétés

formalisation

Validation

Page 4: Thèse – Validation de composants d’intelligence ...ed-spim.univ-fcomte.fr/.../sujet-these_2019_ia_test.pdf · devient centrale lorsque des décisions ou des actions que vont

• Du démarrage (T0) à T0+4 : travail de revue de l'état de l'art et de prise en main du contexte technique et applicatif (langage, outil, cahier des charges des différents composants logiciels et création d’exemples de références).

• De T0+5 à T0+8 : caractérisation des différents éléments concernant la validation des données.

• De T0+9 à T0+12 : réalisation des premiers prototypes pour la validation de composant d4IA.

La deuxième année permettra de renforcer l’aspect théorique et générique de la méthode. Par exemple, de déterminer les types de tests que l’on peut générer à partir des différentes propriétés ou encore des stratégies de tests associés aux plateformes ciblées.

La troisième année permettra une validation de l’approche dans les différents contextes réels et passage à l’échelle.

Ce travail de thèse sera accompagné de façon régulière par des publications dans des conférences du domaine (telle que IEEE ICST – International Conference on Software Testing, Verification and Validation ou ICALT – International Conference on Advanced Learning Technologies par exemple). 1 conférence de qualité (rang B) en année 2 et 2 conférences de qualité (au moins rang B) en année 3 sont visées.

Bibliographie[Leg11] B. Legeard, F. Bouquet et N. Pickaert. Industrialiser le test fonctionnel. Pour maîtriser les risques métier et accroître l'efficacité du test, Collection InfoPro. Dunod, November 2011. 2ème édition. 304 pages. ISBN : 9782100566563 [Botella13] J. Botella, F. Bouquet, J. Capuron, F. Lebeau, B. Legeard and F. Schadle, "Model-Based Testing of Cryptographic Components -- Lessons Learned from Experience," 2013 IEEE Sixth International Conference on Software Testing, Verification and Validation, Luxembourg, 2013, pp. 192-201. doi: 10.1109/ICST.2013.42 [Sogeti17] H. Shaukat, R. Marselis: Testing of Artificial Intelligence, AI Quality Engineering Skills -An Introduction, Sogeti Whitepaper, https://www.sogeti.de/globalassets/global/downloads/reports/testing-of-artificial-intelligence_sogeti-report_11_12_2017-.pdf, 2017 [Wessel17] P. Wesel, A. E. Goodloe: Challenges in the Verification of Reinforcement Learning Algorithms, NASA/TM-2017-219628, 2017. [Huand18] Huang, X., Kwiatkowska, M., Wang, S., & Wu, M. (2017, July). Safety verification of deep neural networks. In International Conference on Computer Aided Verification (pp. 3-29). Springer, Cham. (e.g. Huang et al., 2017; Ehlers, 2017; Cheng et al., 2017; Tjeng et al., 2018) [Katz17] Katz, G., Barrett, C., Dill, D. L., Julian, K., & Kochenderfer, M. J. (2017, July). Reluplex: An efficient SMT solver for verifying deep neural networks. In International Conference on Computer Aided Verification (pp. 97-117). Springer, Cham. [Ghosh16] S. Ghosh, P. Lincoln, A. Tiwari: Trusted Machine Learning for Probabilistic Models, ICML Workshop on Reliable Machine Learning In the Wild (WildML), 2016. [Fulton 18] N. Fulton and A. Platzer Safe AI for cyber-physical system, IEEE International Test conference (invited paper), page 1-7. 2018

Page 5: Thèse – Validation de composants d’intelligence ...ed-spim.univ-fcomte.fr/.../sujet-these_2019_ia_test.pdf · devient centrale lorsque des décisions ou des actions que vont

[Pei17] Pei, K., Cao, Y., Yang, J., & Jana, S. (2017, October). Deepxplore: Automated whitebox testing of deep learning systems. In Proceedings of the 26th Symposium on Operating Systems Principles (pp. 1-18). ACM [Guo18] Guo, J., Jiang, Y., Zhao, Y., Chen, Q., & Sun, J. (2018, October). DLFuzz: differential fuzzing testing of deep learning systems. In Proceedings of the 2018 26th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering (pp. 739-743). [Odena 18] Odena, A., & Goodfellow, I. (2018). Tensorfuzz: Debugging neural networks with coverage-guided fuzzing. arXiv preprint arXiv:1807.10875. [Tian18] Tian, Y., Pei, K., Jana, S., & Ray, B. (2018, May). Deeptest: Automated testing of deep-neural-network-driven autonomous cars. In Proceedings of the 40th International Conference on Software Engineering (pp. 303-314) [Weyuker82] E. J. Weyuker: On Testing Non-Testable Programs. The Computer Journal 25, Nr. 4 (1. November 1982): 465–70. https://doi.org/10.1093/comjnl/25.4.465 , 1982. [Murphy08] C. Murphy, G. E. Kaiser: Improving the Dependability of Machine Learning Applications. Columbia University, 2008. https://doi.org/10.7916/D8P2761H [Xie11] X. Xie et al. : Testing and validating machine learning classifiers by metamorphic testing. In: Journal of Systems and Software 84.4, pp. 544–558, 2011 [Nguyen15] A. Nguyen, J. Yosinski, J. Clune: Deep neural networks are easily fooled: High confidence predictions for unrecognizable images. In Proceedings of the 28th IEEE Conference on Computer Vision and Pattern Recognition, 2015