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

  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.


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