Papiers de Recherche
Cette section est dédiée à mes reproductions et implémentations de travaux académiques en IA.
J'ai implémenté un RNN utilisant des cellules LSTM pour la classification de texte (sentiment positif/négatif) avec TinyGrad. Le modèle traite des phrases issues du dataset Sentences_AllAgree.txt, en exploitant les vecteurs de mots pré-entraînés de spaCy (en_core_web_sm
, 300 dimensions). L'architecture inclut une couche LSTM (dimension cachée de 32) suivie d'une couche linéaire avec dropout (0.5). Les séquences sont pré-traitées pour supprimer la ponctuation et les stopwords, avec des longueurs variables gérées via un padding dynamique adapté à chaque batch.
J'ai implémenté un GCN (Graph Convolutional Network) pour détecter des communautés dans le dataset Zachary Karate Club. Le modèle utilise deux couches de convolution graphique, chacune suivie d'une couche linéaire et d'une activation tanh
, terminé par un classifieur linéaire. Les caractéristiques des nœuds sont initialement codées en one-hot, et la matrice d'adjacence est normalisée avec des boucles auto-connectées. L'entraînement s'est effectué sur 100 époques avec l'optimiseur Adam, atteignant une accuracy de 100% dès la 20e époque.
J'ai implémenté l'optimiseur Lion (basé sur l'article Symbolic Discovery of Optimization Algorithms) pour entraîner un CNN sur le dataset MNIST. Contrairement à Adam, Lion n'utilise qu'un seul paramètre de moment et applique une opération sign()
sur les mises à jour des poids, réduisant la mémoire utilisée.
Les résultats montrent une convergence extrêmement rapide : la perte chute de 2.0 à 0.02 en 5 000 étapes, tandis que l'accuracy atteint 99% dès les premières centaines d'étapes.
J'ai implémenté une version personnalisée de l'optimiseur AdamW pour entraîner un réseau de neurones convolutif (CNN) sur le dataset MNIST.
Les résultats montrent une convergence rapide : la perte initiale de 2.0 chute à 0.02 en 5 000 étapes, tandis que l'accuracy atteint 99% dès les premières centaines d'étapes.
J’ai implémenté une RBM (Restricted Boltzmann Machine) avec TinyGrad pour recommander des livres via le dataset GoodBooks-10k. Le modèle compte 64 unités cachées et 17 000 unités visibles, entraîné sur 150 000 notations en 5 époques avec un taux d’apprentissage de 0.6 et des lots de 100 échantillons.
Les résultats montrent une convergence stable : l’erreur moyenne diminue de 0.029 à 0.005, tandis que l’énergie libre augmente de 150 à 280.
J'ai implémenté une version simplifiée du réseau VGG pour classer les images de CIFAR-10, entraîné en 7000 étapes avec Adam (lr=0.001) et des lots de 128 images.
Le modèle atteint 75 % d'accuracy grâce à 8 couches convolutionnelles et un dropout, illustrant les performances sur ce dataset.
Dans ce projet, j'ai réimplementé l'architecture emblématique d'AlexNet en utilisant TinyGrad, un framework minimaliste pour le deep learning. Entraîné sur le dataset CIFAR-10 avec un optimiseur Adam (learning rate=0.001) et des lots de 128 images, le modèle atteint une précision de 75% sur les données de test après 7000 étapes d'entraînement.