diff --git a/content/modelisation/index.qmd b/content/modelisation/index.qmd index 20045f5f4..ca056ec0c 100644 --- a/content/modelisation/index.qmd +++ b/content/modelisation/index.qmd @@ -16,6 +16,8 @@ bibliography: ../../reference.bib image: https://minio.lab.sspcloud.fr/lgaliana/generative-art/pythonds/hal9000.png --- +# Introduction + Les _data scientists_ sont souvent associés à la mise en oeuvre de modèles complexes d'intelligence artificielle. Le succès médiatique de ce type d'outils, notamment `ChatGPT`, @@ -57,11 +59,21 @@ notamment les IA symboliques, où chaque observation est caractérisée à parti Bien que cette définition large permette d'englober la statistique inférentielle traditionnelle, elle permet néanmoins de comprendre la différence philosophique majeure entre l'approche par apprentissage automatique et l'économétrie comme nous allons pouvoir l'évoquer par la suite. +::: {.note} +## Comment définir l'intelligence artificielle ? + +@RN2020 définissent l'intelligence artificielle comme + +> « L'étude des agents [intelligents] qui reçoivent des préceptes de l'environnement et agissent. Chacun de ces agents est mis en œuvre par une fonction qui associe les perceptions aux actions, et nous couvrons différentes manières de de représenter ces fonctions, telles que les systèmes de production, les agents réactifs, les planificateurs logiques, les réseaux de neurones et les systèmes de gestion de l'information et les systèmes de théorie de la décision » + +Cette définition très large permet d'inclure beaucoup d'approches différentes dans le champ de l'intelligence artificielle. Elle définit l'intelligence artificielle comme une règle de décision, très générique, issues de données. Pour formaliser mathématiquement, il s'agit de relier des perceptions $\mathbb{X}$, c'est-à-dire des faits pris comme donnés, à une décision $y$ grâce à une règle de décision $f$ : $y=f(\mathbb{X})$ (la décision $y$ est issue d'un ensemble de décisions, de taille restreinte ou large selon le phénomène noté $\mathcal{Y}$). La manière dont est constuite cette fonction $f$ distinguera différents champs de l'intelligence artificielle. -[^russel-norvig]: @RN2020 définissent l'intelligence artificielle comme +L'AI Act européen de 2024 propose une [définition assez similaire](https://artificialintelligenceact.eu/fr/article/3/) quoiqu'exprimée dans des termes différents: - > « L'étude des agents [intelligents] qui reçoivent des préceptes de l'environnement et agissent. Chacun de ces agents est mis en œuvre par une fonction qui associe les perceptions aux actions, et nous couvrons différentes manières de de représenter ces fonctions, telles que les systèmes de production, les agents réactifs, les planificateurs logiques, les réseaux de neurones et les systèmes de gestion de l'information et les systèmes de théorie de la décision » +> Système basé sur une machine qui est conçu pour fonctionner avec différents niveaux d'autonomie et qui peut faire preuve d'adaptabilité après son déploiement, et qui, pour des objectifs explicites ou implicites, déduit, à partir des données qu'il reçoit, comment générer des résultats tels que des prédictions, du contenu, des recommandations ou des décisions qui peuvent influencer des environnements physiques ou virtuels +Dans le cadre de ce cours, nous n'allons parler que des approches constuites autour de l'apprentissage, c'est-à-dire les approches qui visent à induire des lois, forcément incertaines, à partir d'un ensemble de données. Cette approche est très différente des [IA symboliques](https://fr.wikipedia.org/wiki/Intelligence_artificielle_symbolique) qui offrent une autonomie limitée à la machine puisque son comportement est cadré par un ensemble, parfois large, de règles déterministes. +::: Le choix de se concentrer sur des algorithmes simples de _machine learning_ dans la partie modélisation plutôt que d'aller directement aux réseaux de neurone, permet d'abord de @@ -76,26 +88,15 @@ Dans de nombreux cas, des modèles plus simples comme les techniques d'apprentis automatique (_machine learning_) suffisent largement. - - -## La modélisation, une approche au coeur de la statistique {.unnumbered} +# La modélisation, une approche au coeur de la statistique Un modèle statistique est une représentation simplifiée et structurée d'un phénomène réel, -construite à partir d'observations regroupées dans un ensemble partiel de données. +construite à partir d'observations issues d'un ensemble partiel de données. -Un modèle vise à capturer les relations et les schémas sous-jacents au sein de ces données, permettant ainsi de formuler des hypothèses, d'effectuer des prédictions et d'extrapoler des conclusions au-delà +Un modèle vise à capturer les relations et les structures sous-jacentes au sein de ces données, permettant ainsi de formuler des hypothèses, d'effectuer des prédictions et d'extrapoler des conclusions au-delà de l'ensemble de données mesurées. Les modèles statistiques fournissent ainsi un cadre analytique pour explorer, comprendre et interpréter les informations contenues dans les données. -Dans le domaine de la recherche économique, ils peuvent servir à -associer certains paramètres structurants des modèles de comportement -économique à des valeurs quantitatives. -Les modèles statistiques, comme les modèles économiques -présentent néanmoins toujours une part d'irréalisme [@friedman1953methodology; @salmon2010probleme] -et accepter de manière trop littérale les implications d'un modèle, même s'il -a de bonnes performances prédictives, peut être dangereux et relever d'un biais -scientiste. On sélectionne plutôt le moins mauvais modèle -que le vrai processus générateur des données. Représenter la réalité sous la forme d'un modèle est un principe à la base de la statistique comme discipline scientifique et ayant des @@ -104,11 +105,22 @@ sociologie, géographique, biologie, physique, etc. Selon les disciplines, le nom donné peut varier mais on retrouve régulièrement la même approche scientifique : le modélisateur construit des relations entre plusieurs variables théoriques -ayant des contreparties empiriques afin d'expliquer tel ou tel -processus. +ayant des contreparties empiriques afin de quantifier la relation entre celles-ci. +Cette approche est au coeur de la __statistique inférentielle__, par opposition à la __statistique descriptive__. +Dans les deux cas, l'objectif est d'utiliser un échantillon, c'est-à-dire un ensemble réduit de données observées, +pour mieux connaître une population, l'ensemble de données concernées par une étude. La différence entre les deux approches est liée à la manière dont cette extrapolation est faite. Dans le cadre de la statistique inférentielle, on tend plutôt à inférer des lois générales, avec des marges d'incertitude statistique, à partir des données observées, que ce soit sur la distribution statistique d'une variable (statistique univariée) ou sur les relations entre plusieurs. La statistique descriptive se contente, quant à elle, de synthétiser l'information dans un jeu de données, souvent par le biais de moments de la distribution (moyenne, quantiles, etc.) sans prétention à fournir une explication générale sur le processus générateur de données. Ces deux approches ne sont pas inconciliables, au contraire elles sont complémentaires. Se lancer dans une approche inférentielle sans avoir mené une approche descriptive approfondie amènera souvent la première vers des impasses ou des conclusions peu fiables. L'approche inférentielle peu également nourrir une analyse descriptive approfondie en permettant de hiérarchiser l'information présente dans un jeu de données et ainsi guider le travail descriptif en permettant celui-ci de se concentrer sur les faits saillants. + + +Dans le domaine de la recherche économique, les modèles empiriques servent généralement à associer certains paramètres structurants des modèles de comportements économiques à des valeurs quantitatives. +Les modèles statistiques, comme les modèles économiques, +présentent néanmoins toujours une part d'irréalisme [@friedman1953methodology; @salmon2010probleme] +et accepter de manière trop littérale les implications d'un modèle, même s'il +a de bonnes performances prédictives, peut être dangereux et relever d'un biais +scientiste. On sélectionne plutôt le moins mauvais modèle +que le vrai processus générateur des données. -Dans l'enseignement de l'ENSAE ce type d'approche empirique se retrouve -principalement dans deux types d'approches : le *machine learning* et +Dans l'enseignement de l'ENSAE la modélisation empirique se retrouve +principalement dans deux domaines d'application : le *machine learning* et l'économétrie. La différence est certes sémantique - la régression linéaire peut être considérée comme une technique de _machine learning_ ou d'économétrie - mais elle est @@ -160,13 +172,24 @@ de [valeurs de Shapley](https://shap.readthedocs.io/en/latest/index.html). -## Quelques définitions {.unnumbered} +# Quelques définitions Dans cette partie du cours nous allons employer un certain nombre de termes devenus familiers aux praticiens du _machine learning_ -mais qui méritent d'être explicités. +mais qui méritent d'être explicités pour comprendre les prochains chapitres. + +## Entraînement et inférence + +Le _machine learning_ est une approche opérationnelle: l'objectif est généralement +d'estimer des relations entre variables observées pour avoir une règle de décision puis extrapoler celle-ci sur +un autre échantillon de données. Les deux prochains chapitres visent à présenter la démarche scientifique pour avoir une extrapolation de qualité. + +L'entraînement (ou apprentissage) est la phase du travail où un modèle de _machine learning_ affine des relations à partir d'un ensemble de données. Pour faire l'analogie avec l'apprentissage humain, il s'agit de la phase où le machine learning va réviser ses cours avant le contrôle. + +L'inférence est la phase où la règle de décision est mise en oeuvre sur de nouvelles données, qui n'ont pas été vues lors de l'entraînement. Pour reprendre l'analogie précédente, il peut s'agir de nouvelles questions lors du contrôle (phase d'évaluation) ou de l'application au monde réel des connaissances acquises lors de l'apprentissage. -### _Machine learning_ et _deep learning_ {.unnumbered} + +## _Machine learning_ et _deep learning_ Jusqu'à présent nous avons beaucoup utilisé, sans le définir, le concept de _machine learning_, dont la traduction française est @@ -190,7 +213,7 @@ déjà de comprendre la démarche originale du _machine learning_ que vous pourr ultérieurement. Au sein de la grande famille des algorithmes de _machine learning_, tendent de plus à plus à devenir -autonomes les techniques de réseaux de neurone. Les techniques qui s'appuient sur les réseaux de neurones sont regroupés +autonomes les techniques de réseaux de neurone. Les techniques qui s'appuient sur les réseaux de neurones sont regroupées dans une famille qu'on appelle _deep learning_ (apprentissage profond en Français). Ces réseaux sont inspirés du fonctionnement du cerveau humain et sont composés de nombreuses couches de neurones interconnectés. @@ -208,19 +231,28 @@ cas d'application de ces méthodes. Exemple de structure d'un réseau de neurones ([source: lebigdata.fr](https://www.lebigdata.fr/wp-content/uploads/2019/04/reseau-de-neurones-fonctionnement.jpg)) ::: -Nous n'allons pas vraiment parler dans ce cours de _deep learning_ car ces modèles, pour être pertinents, nécessitent -soit des données structurées d'un volume important (ce qui est rarement disponible -en _open data_) soit des cas d'usage spécifiques, plus avancés que ne le permet -un cours d'introduction. L'organisation `HuggingFace`, créatrice de la -plateforme du même nom facilitant la réutilisation de modèles de _deep learning_ -propose d'excellents cours sur le sujet, notamment sur + +::: {.callout-note} + +Les réseaux de neurone sont des modèles à la structure complexe. Sur des données volumineuses et complexes, ils peuvent être lourds, voire impossible à entraîner sur des machines classiques. Si les données qu'on possède correspondent à celles attendues par le modèle, il est tout à fait possible d'utiliser celui-ci pour l'inférence sans le ré-entraîner ou en mettant en oeuvre un apprentissage à la marge, dit [fine tuning](https://www.cnil.fr/fr/definition/ajustement-fine-tuning). Pour reprendre l'analogie avec l'apprentissage humain, le _fine tuning_ ressemble à la manière dont on va mettre à jour ses connaissances avec un nouveau cours avant un contrôle. Il n'est pas nécessaire de tout réapprendre, seulement de peaufiner ses connaissances avec les nouveautés du cours. + +L'organisation `HuggingFace`, créatrice de la +plateforme du même nom facilitant la réutilisation de modèles de _deep learning_. Elle propose +propose aussi des cours sur le sujet, notamment sur le [traitement du langage naturel (NLP)](https://huggingface.co/learn/nlp-course/chapter1/2?fw=pt). Nous ferons du traitement du langage naturel dans la [prochaine partie](/content/NLP/index.qmd) de ce cours mais de manière plus modeste en revenant sur les concepts nécessaires avant de mettre en oeuvre une modélisation sophistiquée du langage. +::: + +Nous n'allons pas vraiment parler dans cette partie du cours de _deep learning_ car ces modèles, pour être pertinents, nécessitent +soit des données structurées d'un volume important, ce qui est rarement disponible +en _open data_, et pour lesquelles les relations entre variables sont complexes, soit +des données non structurées telles que des données textuelles, des images, des vidéos, etc. Les données textuelles sont l'objet de la prochaine partie du cours car elles font appel à des concepts spécifiques, qui nécessitent déjà la compréhension des enjeux de la modélisation sur données structurées. + -### Apprentissage supervisé ou non supervisé {.unnumbered} +### Apprentissage supervisé ou non supervisé Une ligne de clivage importante entre les méthodes à mettre en oeuvre est le fait d'observer ou non