Aller au contenu

Synthèse - Module 2

Architectures spécialisées de réseaux de neurones

Guide de référence synthétique

🔍 Architectures spécialisées

  • 🏗️ Au-delà des réseaux de neurones simples
    Architectures conçues pour exploiter la structure spécifique des données (images, texte, séquences)

  • 📚 Évolution des architectures
    Des perceptrons aux modèles complexes actuels, chaque architecture résout des problèmes spécifiques

  • 🧩 Spécialisation par type de données
    CNN pour les images, RNN pour les séquences, Transformers pour le texte

  • 🚀 Gains de performances considérables
    Les architectures spécialisées surpassent largement les modèles génériques pour leurs tâches ciblées

👁️ Réseaux de neurones convolutifs (CNN)

🧠 Principes fondamentaux

  • 🔍 Convolution
    Filtres (kernels) qui parcourent l'image pour détecter des motifs locaux

  • 🏊 Pooling
    Réduction de dimension qui préserve les informations importantes tout en diminuant la taille des données

  • 🔄 Hiérarchie des caractéristiques
    Extraction progressive de motifs de plus en plus abstraits (bords → formes → objets)

  • 🔗 Couches fully connected
    Couches finales qui combinent les caractéristiques extraites pour la classification

🏛️ Architecture typique d'un CNN

Input → Conv → ReLU → Pool → Conv → ReLU → Pool → Flatten → Dense → Output
  • Couches de convolution: extraction de caractéristiques
  • Fonctions d'activation (ReLU): introduction de non-linéarité
  • Couches de pooling: réduction de dimension et invariance aux petites translations
  • Flatten: transformation des matrices en vecteur
  • Couches denses: classification finale

💪 Forces du CNN

  • 🔄 Partage des paramètres
    Les mêmes filtres sont appliqués sur toute l'image, réduisant le nombre de paramètres

  • 📍 Invariance à la translation
    Capacité à reconnaître les objets quelle que soit leur position dans l'image

  • 🧠 Extraction automatique des caractéristiques
    Pas besoin d'extraction manuelle des features comme en ML classique

  • 🌐 Robustesse aux variations
    Bonne généralisation face aux variations de luminosité, angle, etc.

📊 Applications principales

  • 🖼️ Classification d'images
    Reconnaissance d'objets, de chiffres, de visages

  • 🎯 Détection d'objets
    Localisation et identification d'objets multiples dans une image

  • 🧩 Segmentation
    Séparation précise des différents éléments d'une image

  • 👁️ Vision par ordinateur
    Voitures autonomes, robotique, réalité augmentée

📝 Réseaux récurrents (RNN)

🧠 Principes fondamentaux

  • 🔄 Boucles de récurrence
    Connections qui permettent de transmettre l'information d'une étape à la suivante

  • 📚 État caché (hidden state)
    Mémoire interne qui conserve le contexte des éléments précédents

  • ⏱️ Traitement séquentiel
    Analyse des données une étape à la fois, en tenant compte du contexte

  • 🔗 Partage des paramètres dans le temps
    Les mêmes poids sont utilisés à chaque étape, permettant de traiter des séquences de longueur variable

🔄 Problème du gradient qui s'évanouit

  • 📉 Difficulté à capturer les dépendances à long terme
    L'information se dilue progressivement lors de la backpropagation

  • 💡 Solutions: LSTM et GRU
    Architectures qui permettent de mieux conserver l'information sur de longues séquences

🧩 Long Short-Term Memory (LSTM)

  • 🚪 Système de portes (gates)
    • Porte d'oubli (forget gate): décide quelle information oublier
    • Porte d'entrée (input gate): décide quelle information nouvelle stocker
    • Porte de sortie (output gate): décide quelle information transmettre

  • 📋 Cellule de mémoire
    Permet de conserver l'information importante sur de longues séquences

  • 🧮 Flux d'information contrôlé
    Mécanismes sélectifs qui gèrent l'ajout et la suppression d'information

📊 Applications principales

  • 📝 Traitement du langage naturel
    Analyse de sentiment, traduction automatique, résumé de texte

  • ⏱️ Séries temporelles
    Prédiction de valeurs futures, détection d'anomalies

  • 🎵 Traitement audio
    Reconnaissance vocale, génération de musique

  • 📊 Données séquentielles
    Toute donnée où l'ordre importe (génomique, logs, etc.)

📊 Comparaison des architectures

Caractéristique CNN RNN/LSTM
Type de données idéal Images, données en grille Séquences, texte, série temporelles
Force principale Détection de patterns spatiaux Capture des dépendances temporelles
Structure de l'information Hiérarchie spatiale Flux séquentiel avec mémoire
Parallélisation Hautement parallélisable Moins parallélisable (séquentiel)
Taille de contexte Limitée par la taille des filtres Théoriquement illimitée (LSTM)
Paramètres Relativement peu nombreux (partage) Plus nombreux pour LSTM/GRU
Applications types Vision par ordinateur NLP, prédiction de séries

💡 Bonnes pratiques pour les architectures spécialisées

🛠️ Conception du CNN

  • 🔍 Commencer simple
    Débuter avec une architecture éprouvée (ex: LeNet, mini-VGG)

  • 📊 Augmenter progressivement la profondeur
    Plus de filtres dans les couches profondes, moins dans les premières

  • 📉 Réduire graduellement la dimension spatiale
    Diminuer la hauteur/largeur tout en augmentant le nombre de filtres

  • 🧪 Dropout entre les couches denses
    Ajouter du dropout après la mise à plat pour éviter le surapprentissage

  • 🔧 Batch normalization pour stabiliser
    Normaliser les activations pour accélérer l'entraînement

🔄 Optimisation des RNN/LSTM

  • 📚 Attention à la longueur des séquences
    Les séquences trop longues peuvent causer des problèmes de mémoire et d'entraînement

  • 📊 Bidirectionnalité pour plus de contexte
    Les LSTM bidirectionnels analysent la séquence dans les deux sens

  • 🧪 Empilement de couches LSTM
    Plusieurs couches pour capturer différents niveaux d'abstraction

  • ⚖️ GRU vs LSTM
    GRU plus léger et plus rapide, LSTM potentiellement plus puissant pour les très longues séquences

🔄 Évolution vers les Transformers

  • ⚠️ Limitations des RNN/LSTM
    Traitement séquentiel, difficultés avec les très longues séquences

  • 🧠 Mécanisme d'attention
    Permet de se concentrer sur les parties pertinentes de la séquence

  • 🚀 Architecture Transformer
    Traitement parallèle, meilleure capture des dépendances à long terme

  • 📚 Modèles fondés sur les Transformers
    BERT, GPT, T5 qui révolutionnent le NLP et au-delà

🛠️ Conseils pratiques d'implémentation

  • 📊 Gestion des données
    • CNN: redimensionnement, normalisation, augmentation de données
    • RNN: padding, troncation, tokenisation, embeddings

  • 🧪 Visualisation pour comprendre
    • CNN: visualiser filtres et feature maps
    • RNN: analyser les états cachés et l'évolution des embeddings

  • ⚙️ Hyperparamètres clés
    • CNN: taille et nombre de filtres, pas de convolution, type de pooling
    • RNN: taille des états cachés, nombre de couches, dropout

  • 📈 Transfer learning
    Réutiliser des modèles pré-entraînés (VGG, ResNet, etc.) pour gagner en temps et performance