Mohamed Hamlil
English GitHub

Ce que je construis en dehors des cours

Cinq projets autonomes en apprentissage automatique, calcul formel et mathématiques appliquées. Personne ne les a demandés, chaque chiffre est produit par du code présent dans le dépôt, et l'intégration continue rejoue les vérifications à chaque envoi.

Celui qui mérite d'être raconté

Un réseau convolutif apprenant Flappy Bird à partir des seules images rendues. Le plus grand gain de tout le projet est venu de l'observation et non d'un hyperparamètre. Réduire une image à un seul canal est courant, et la façon courante est un niveau de gris de luminance, mais l'oiseau est jaune et le ciel bleu clair, et ces deux couleurs sont presque équiluminantes : mesuré sur les sprites, l'oiseau se détache du ciel de 22 niveaux sur 255 en luminance, et de 181 dans le canal bleu.

Le niveau de gris livrait les obstacles à trois fois le contraste de l'oiseau lui-même, qui est pourtant l'objet dont la politique a le plus besoin de connaître la position. Tout le reste étant tenu fixe, même graine et mêmes hyperparamètres, prendre le canal bleu à la place a fait passer l'agent de 0,4 tuyau à 12,65 à 250 000 pas. L'exécution en niveau de gris n'a jamais dépassé 0,8 en 420 000 pas.

Les cinq

Site Les parcourir tous Chaque projet sur une page, avec les animations et les graphiques en taille réelle. Renforcement Flappy Bird à partir des pixels Un DQN atteignant 12,21 tuyaux en moyenne sur 100 épisodes, et une exécution REINFORCE qui n'en a jamais franchi un, expliquée. Algèbre 3-SAT sur GF(2) Les clauses comme polynômes dans l'anneau booléen. 500 instances vérifiées contre une recherche exhaustive, sans aucun verdict erroné. Maths Algorithmes matriciels repris de zéro FFT, déterminant par complément de Schur et inverse entier exact, vérifiés contre NumPy à 1e-13. Appliqué L'impôt sur le revenu français Le taux effectif ajusté par tranche, la fonction W de Lambert situant le point d'inflexion à 59 800 EUR. Graphisme Les tris, rendus Tri à bulles et tri fusion animés image par image via l'API Python de Blender, de sorte que le motif d'accès soit observable.

Ce que le solveur SAT montre réellement

Sa propre mesure est que l'étape algébrique est presque inerte : sur les instances insatisfiables testées, l'élimination seule n'en a détecté presque aucune, et c'est le branchement qui fait le travail. Le dépôt le dit plutôt que de l'enfouir. Il est en outre évalué en deçà de la transition de phase, où la plupart des instances sont satisfiables, ce que l'écrit signale lui-même comme un point ouvert.