📚 Fondamentaux de l’IA et Bases MathĂ©matiques pour TensorFlow
I. Introduction Ă l’Intelligence Artificielle (IA)
A. Définitions Clés
-
IA (Intelligence Artificielle) : La science et l’ingĂ©nierie qui consiste Ă fabriquer des machines intelligentes, particulièrement des programmes informatiques intelligents.
-
Machine Learning (ML) : Un sous-ensemble de l’IA oĂą les systèmes apprennent directement Ă partir de donnĂ©es, sans ĂŞtre explicitement programmĂ©s pour chaque tâche.
-
Apprentissage Supervisé : Apprentissage à partir de données étiquetées (ex: classification, régression).
-
Apprentissage Non Supervisé : Apprentissage à partir de données non étiquetées (ex: clustering, réduction de dimension).
-
Apprentissage par Renforcement : Apprentissage par essai-erreur, où un agent maximise une récompense dans un environnement.
-
-
Deep Learning (DL) : Un sous-ensemble du ML qui utilise des rĂ©seaux de neurones artificiels avec de multiples couches (d’oĂą le terme “profond” ou deep) pour analyser les donnĂ©es.
Schéma Suggéré : Un diagramme de Venn montrant IA $\supset$ ML $\supset$ DL.
B. Histoire Sommaire de l’IA
-
1940s-1950s : Fondation (Test de Turing, Naissance des premiers réseaux).
-
1956 : ConfĂ©rence de Dartmouth (naissance officielle du terme “Intelligence Artificielle”).
-
1980s : Renaissance avec les Réseaux de Neurones (algorithme de Rétropropagation).
-
2000s-PrĂ©sent : L’explosion du Deep Learning (grâce aux Big Data, aux GPU et Ă des algorithmes optimisĂ©s).
II. Bases Mathématiques du Deep Learning
A. Tenseurs : Les Piliers de TensorFlow
Le terme Tenseur est le concept de donnĂ©es central dans TensorFlow. C’est une gĂ©nĂ©ralisation des scalaires, des vecteurs et des matrices.
| Rang (Dimension) | Nom Mathématique | Description | Exemple TensorFlow |
|---|---|---|---|
| 0 | Scalaire | Un simple nombre. | tf.constant(7) |
| 1 | Vecteur | Un tableau de nombres (ex: une liste de données). | tf.constant([1, 2, 3]) |
| 2 | Matrice | Un tableau bidimensionnel (ex: une image en niveaux de gris). | tf.constant([[1, 2], [3, 4]]) |
| N | Tenseur N-dim | Un tableau Ă N dimensions (ex: un lot d’images couleur = 4 dimensions). | tf.constant(..., shape=(B, H, W, C)) |
-
Opération Fondamentale : Produit Matriciel
Le calcul du produit matriciel est la base de la propagation d’informations entre les couches d’un rĂ©seau de neurones.
Pour deux matrices $A$ (taille $m \times n$) et $B$ (taille $n \times p$) :
$$C = A \cdot B$$
oĂą $C$ a une taille $m \times p$.
L’Ă©lĂ©ment $C_{ij}$ est calculĂ© par :
$$C{ij} = \sum{k=1}^{n} A{ik} B{kj}$$
B. Fonctions d’Activation (Exemple : SigmoĂŻde)
Les fonctions d’activation introduisent de la non-linĂ©aritĂ© dans les rĂ©seaux, permettant d’apprendre des relations complexes.
-
La Fonction SigmoĂŻde : Historiquement très utilisĂ©e pour les tâches de classification binaire, elle comprime toute valeur rĂ©elle dans l’intervalle $[0, 1]$.
$$f(z) = \frac{1}{1 + e^{-z}}$$
SchĂ©ma SuggĂ©rĂ© : Un graphe simple de la fonction SigmoĂŻde (forme en ‘S’), avec l’axe des abscisses reprĂ©sentant $z$ (l’entrĂ©e) et l’axe des ordonnĂ©es reprĂ©sentant $f(z)$ (la sortie entre 0 et 1).
C. DĂ©rivĂ©es et l’Optimisation (Le Gradient)
L’apprentissage dans le Deep Learning se rĂ©sume Ă minimiser une fonction de perte (Loss Function) en ajustant les poids (paramètres) du rĂ©seau. Cette minimisation se fait par la mĂ©thode de la Descente de Gradient.
-
Fonction de Perte (Loss Function) : Mesure à quel point la prédiction du modèle est éloignée de la valeur réelle (cible).
-
Exemple (RĂ©gression) : L’erreur quadratique moyenne (MSE – Mean Squared Error) :
$$L(\hat{y}, y) = \frac{1}{N} \sum_{i=1}^{N} (y_i – \hat{y}_i)^2$$
-
-
DĂ©rivĂ©e (ou Gradient) : La dĂ©rivĂ©e d’une fonction en un point donne la pente de cette fonction en ce point.
- Pour une fonction Ă plusieurs variables (comme la fonction de perte $L$ par rapport Ă tous les poids $W$), on utilise le Gradient ($\nabla$). Le gradient est un vecteur pointant dans la direction de la plus forte augmentation de la fonction.
$$\nabla_W L = \left( \frac{\partial L}{\partial w_1}, \frac{\partial L}{\partial w_2}, \dots, \frac{\partial L}{\partial w_k} \right)$$
-
Descente de Gradient : Pour minimiser la perte, on ajuste les poids dans la direction opposée au gradient.
$$\text{Nouveau Poids} = \text{Ancien Poids} – (\text{Taux d’apprentissage} \cdot \text{Gradient})$$
$$W_{\text{nouveau}} = W – \alpha \cdot \nabla_W L$$
oĂą $\alpha$ est le Taux d’Apprentissage (Learning Rate), qui contrĂ´le la taille du pas Ă chaque itĂ©ration.
SchĂ©ma SuggĂ©rĂ© : Une courbe 2D (reprĂ©sentant la fonction de perte) et un point mobile (le poids) descendant vers le minimum (le “fond de la vallĂ©e”) par petits pas successifs (les gradients nĂ©gatifs).
III. Structure du Réseau de Neurones (Bref Aperçu)
-
Neurone Artificiel : Un neurone prend des entrĂ©es ($x_i$), les multiplie par des poids ($w_i$), ajoute un biais ($b$), et passe le rĂ©sultat par une fonction d’activation ($\sigma$).
$$\text{Sortie} = \sigma \left( \sum_{i} w_i x_i + b \right)$$
SchĂ©ma SuggĂ©rĂ© : Le schĂ©ma classique d’un seul neurone (entrĂ©es $x_i$, poids $w_i$, fonction d’activation, sortie).
- RĂ©seau de Neurones : Un graphe oĂą les neurones sont organisĂ©s en couches (couche d’entrĂ©e, couches cachĂ©es, couche de sortie).