📚 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}}$$
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.
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)$$
-
Réseau de Neurones : Un graphe où les neurones sont organisés en couches (couche d’entrée, couches cachées, couche de sortie).