📚 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.

  1. 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$$

  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)$$

  3. 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).