La programmation différentiable est une nouvelle façon de penser la programmation. Le principe consiste à considérer tout un programme comme une fonction qu’on puisse différentier, et donc optimiser. Nous allons construire dans cet article les outils de base pour ce faire, et présenter la librairie JAX, qui facilite la tâche.
La programmation différentiable est une nouvelle façon de penser la programmation, notamment dans le domaine du traitement de la donnée, c’est-à-dire pour le Machine Learning et l’Intelligence Artificielle.
Le principe est simple et part du constat suivant : en mathématiques, dès lors que l’on veut optimiser un problème, on ne coupe pas à la nécessité à un moment ou à un autre de dériver, ou de différentier un objectif. Cet objectif prend souvent la forme d’une fonction.
Mais revenons un instant sur ce que nous entendons par optimisation : il s’agit généralement de maximiser ou minimiser une grandeur en jouant sur une série de paramètres. Prenons un exemple concret : l’optimisation du poids d’une chaussure en fonction des matériaux utilisés, de leur prix, de l’épaisseur de la semelle, etc. La recherche va consister à trouver la combinaison de paramètres qui minimise le poids.
Pour réaliser correctement et efficacement cette...
- Accédez à tous les contenus de Connect en illimité
- Découvrez des listes de lecture et des contenus Premium
- Consultez les nouveaux articles en avant-première