mirror of
https://github.com/augustin64/projet-tipe
synced 2025-01-23 15:16:26 +01:00
Mcot V.2
This commit is contained in:
parent
a08750e00e
commit
f943228e80
80
doc/mcot.md
80
doc/mcot.md
@ -1,16 +1,19 @@
|
||||
Augustin LUCAS
|
||||
Julien CHEMILLIER
|
||||
title: "MCOT"
|
||||
author:
|
||||
- Julien CHEMILLIER
|
||||
- Augustin LUCAS
|
||||
geometry: margin=2cm
|
||||
output: pdf_document
|
||||
---
|
||||
|
||||
# MCOT
|
||||
|
||||
## Reconnaissance de villes à l'aide d'un réseau de neurone convolutif
|
||||
## Reconnaissance de villes à l'aide d'un réseau de neurones convolutif
|
||||
Depuis un certains nombre d'années, l'ordinateur est devenu très performant dans le domaine de la reconnaissance d'images notamment grâce aux réseaux de neurones. Cependant, trouver l'endroit ou a été prise une photo demeure très complexe pour les ordinateurs alors que certains humains arrivent à des résultats époustouflants.
|
||||
Nous nous sommes donc demandés pourquoi si peu de travaux de recherches ont été effectués à ce sujet alors qu'il possède beaucoup de potentiel. Et si l'on peut concevoir un modèle rivalisant avec des experts dans le domaine.
|
||||
Je me suis donc demandé pourquoi un sujet avec autant de potentiel pouvait rester si peu recherché. J'ai ainsi voulu tenter de concevoir un modèle rivalisant avec des experts dans le domaine.
|
||||
|
||||
## Positionnement thématique
|
||||
|
||||
1. Informatique pratique
|
||||
2. Mathématiques: Analyse
|
||||
2. Informatique théorique
|
||||
|
||||
## Mots-clés
|
||||
Français | Anglais
|
||||
@ -21,32 +24,47 @@ Matrices | Matrices
|
||||
Reconnaissance d'images | Image recognition
|
||||
Apprentissage supervisé | Supervised learning
|
||||
|
||||
## Bibliographie commentée (commune)
|
||||
## Bibliographie commentée
|
||||
|
||||
Dans le domaine scientifique, une méthode connue et approuvée pour résoudre des problèmes efficacement est le mimétisme: s'inspirer des propriétés/comportement de la nature. Et c'est de cette manière que sont né les réseaux de neurones, essayant de s'inspirer de la structure du cerveau pour résoudre des problèmes dont notamment la reconnaissance d'images. Ces réseaux neuronaux montrent des performances honorables et sont donc largement utilisés.
|
||||
Mais de la compétition de classification d'image (ILSVRC) de 2012, un algorithme devance tous les autres: AlexNet. C'est le premier réseau neuronal convolutif (CNN) utilisé en compétition. Les performances d'AlexNet sont si impressionnantes que dans l'édition de ILSVRC de 2013, tous les algorithmes concurrents ont basculé vers une architecture convolutive.
|
||||
La majorité des algorithmes de reconnaissance d'image garde depuis la même structure de CNN.
|
||||
Dans le domaine scientifique, une méthode connue et approuvée pour résoudre des problèmes efficacement est le mimétisme: s'inspirer des propriétés/comportements de la nature. Et c'est de cette manière que sont nés les réseaux de neurones, essayant de s'inspirer de la structure du cerveau pour résoudre des problèmes dont notamment la reconnaissance d'images. Ces réseaux neuronaux montrent des performances honorables et sont donc largement utilisés.
|
||||
|
||||
Cependant, les premiers travaux sur la géolocalisation ont choisi une approche autre d'un réseau de neurones, à savoir, un algorithme des k plus proches voisins. Le but est d'utiliser les k plus proches images dans une base de données pour en déduire la localisation de l'image [7]. Mais cette approche est coûteuse en espace puisqu'elle demande de conserver une grande base de données d'images réparties sur la carte et beaucoup de calcul pour trouver les plus proches voisins.
|
||||
C'est pour résoudre ces problèmes qu'est né l'algorithme PlaNet un CNN conçu par des chercheurs chez Google. C'est une révolution car il est à la fois moins coûteux que l'algorithme des plus proches voisins et obtient de meilleurs résultats. Et son efficacité vient en partie de son impressionnant apprentissage avec 200 coeurs de CPU qui ont été utilisés pendant 2.5 mois pour traiter les 120 millions d'images [5]. Ce travail de recherche est donc le point de départ de notre TIPE.
|
||||
C'est en 1943 qu'apparaît le premier réseau de neurones artificiels conçu par Warren McCulloch et Walter Pitts dont l'objectif était d'optimiser des commandes à l'aide d'un système mathématique et informatique. C'est la première intelligence artificielle. Ces réseaux vont ainsi évoluer en conservant une structure relativement similaire jusque dans les années 1980 avec l'arrivée des réseaux de neurones convolutionnels (CNN). Les CNN se démarquent par leur capacité à s'adapter à différents problèmes sans avoir à changer leur architecture. LeNet5 est le premier réseau de cette catégorie à obtenir des résultats sur la reconnaissance d'images dans les années 1990.[1]
|
||||
|
||||
Ce problème est alors abordé comme un problème de classification. C'est-à-dire que l'on sépare la carte du monde en une multitude de parcelles et l'algorithme renvoye la probabilité que l'image soit dans chacune des parcelles. Les parcelles sont réparties de sorte qu'elle ait le même nombre d'images lors de l'entraînement.
|
||||
L'algorithme que nous allons utiliser est un CNN qui comporte en sortie la probabilité pour chacune des parcelles. Et en entrée, il va prendre une image de taille 256x256 soit 196 608 pixels (256x256x3).
|
||||
Pour simplifier le problème, nous allons non pas essayer de trouver la localisation d'une image sur la Terre entière mais nous allons nous concentrer sur la carte des États-unis. Et la division de cette carte va se faire sous la forme de 50 parcelles représentant chacune un État américain . Nous allons pour cela utiliser une base de données de 500 000 images réparties équitablement entre ces 50 États [6].
|
||||
Mais c'est la compétition de classification d'image (ILSVRC) de 2012, qui démontre les réelles performances des CNN avec un algorithme qui devance tous les autres: AlexNet[2]. C'est le premier réseau neuronal convolutif utilisé en compétition et sort victorieux de sa première compétition. Les performances d'AlexNet creusent un tel écart avec les autres algorithmes que dans l'édition de ILSVRC de 2013, tous les concurrents ont basculé vers une architecture convolutive.
|
||||
Depuis, la majorité des algorithmes de reconnaissance d'images ont adopté la structure de CNN. [3]
|
||||
|
||||
Pour atteindre cet objectif nous avons d'abord voulu comprendre le fonctionnement des réseaux de neurones convolutifs c'est pourquoi nous en avons conçu un en C que l'on a testé sur la base de donnée MNIST [3].
|
||||
Nous avons ensuite ajouté de la programmation en parallèle pour accélérer le CNN lors de l'apprentissage.
|
||||
Puis nous avons réutilisé ce CNN en le complexifiant pour l'adapter au problème que nous souhaitions résoudre.
|
||||
Cependant, les premiers travaux sur la géolocalisation ont choisi une approche autre d'un réseau de neurones, à savoir, un algorithme des k plus proches voisins. Le but est d'utiliser les k plus proches images dans une base de données pour en déduire la localisation de l'image [4]. Mais cette approche est coûteuse en espace puisqu'elle demande de conserver une grande base de données d'images réparties sur la carte et beaucoup de calculs pour trouver les plus proches voisins.
|
||||
C'est pour résoudre ces problèmes qu'est né l'algorithme PlaNet un CNN conçu par des chercheurs chez Google. C'est une grande avancée car il est à la fois moins coûteux que l'algorithme des plus proches voisins et obtient de meilleurs résultats. Et son efficacité vient en partie de son coûteux apprentissage avec 200 coeurs de CPU qui ont été utilisés pendant 2.5 mois pour traiter les 120 millions d'images [5]. Ce travail de recherche est donc le point de départ de notre TIPE.
|
||||
|
||||
Ce problème est alors abordé comme un problème de classification. C'est-à-dire que l'on sépare la carte du monde en une multitude de parcelles et l'algorithme renvoie selon sa prédiction la probabilité que l'image soit dans chacune des parcelles. Les parcelles sont réparties de sorte qu'elle ait le même nombre d'images lors de l'entraînement. On obtient alors un algorithme entrainé permettant de catégoriser les images dans différentes zones géographiques.
|
||||
|
||||
## Problématique retenue
|
||||
Il s'agit de savoir: Dans quelle mesure un algorithme peut réussir à géolocaliser une photo ? Peut-il concurrencer des humains à cette tâche tout en gardant une consommation énergétique raisonnable ?
|
||||
Jusqu'à présent, peu d'algorithmes réussissent à géolocaliser des images avec des résultats suffisamment corrects pour pouvoir concurrencer des humains. Pour simplifier le problème, je ne vais non pas essayer de trouver la localisation d'une image sur la Terre entière mais plutôt me concentrer sur la carte des États-unis. Et la division de cette carte va se faire sous la forme de 50 parcelles représentant chacune un État américain. Pour cela il existe une BDD sur lequel les algorithmes peuvent s'entrainer [6].
|
||||
En travaillant de cette manière, peut est-il possible de concevoir un algorithme de géolocalisation de A à Z permettant de concurrencer des humains à cette tâche tout en possédant une consommation énergétique raisonnable ?
|
||||
|
||||
## Objectif du TIPE
|
||||
1. Mise en place d'un réseau de neurone non convolutif reconnaissant des chiffres
|
||||
## Objectif du TIPE
|
||||
1. Mise en place d'un réseau de neurones non convolutif reconnaissant des chiffres
|
||||
2. Optimisation de cet algorithme avec de la programmation en parallèle
|
||||
3. Amélioration du premier algorithme pour qu'il soit convolutif (réécriture depuis 0)
|
||||
4. Essayer de reconnaître des villes avec le programme
|
||||
3. Amélioration du premier algorithme pour qu'il soit convolutif
|
||||
4. Tentative de reconnaissance des villes avec le programme
|
||||
5. Analyse des résultats
|
||||
6. Comparaison de ces résultats à ceux d'humains
|
||||
|
||||
|
||||
## Références bibliographiques
|
||||
Numéro | Auteur | Titre | Informations
|
||||
:---:|:---:|:---:|:---:
|
||||
1 | Yann LeCun | LeNet5 | [URL](http://yann.lecun.com/exdb/lenet/index.html)
|
||||
2 | Alex Krizhevsky, Ilya Sutskever, Geoffrey E. Hinton| AlexNet | [URL](https://papers.nips.cc/paper/2012/file/c399862d3b9d6b76c8436e924a68c45b-Paper.pdf)
|
||||
3 | Jiuxiang Gu, Zhenhua Wang, Jason Kuen, et al| Recent Advances in Convolutional Neural Networks | [URL](https://arxiv.org/pdf/1512.07108.pdf%C3%A3%E2%82%AC%E2%80%9A)
|
||||
4 | James Hays, Alexei A. Efros | Im2GPS | [URL](http://graphics.cs.cmu.edu/projects/im2gps/im2gps.pdf)
|
||||
5 | Tobias Weyand, Ilya Kostrikov, James Philbin | _PlaNet - Photo Geolocation with Convolutional Neural Networks_ | [Archive](https://arxiv.org/abs/1602.05314)
|
||||
6 | Sudharshan Suresh, Nathaniel Chodosh, Montiel Abello | Base de données _50States10k_ | [URL](https://arxiv.org/pdf/1810.03077.pdf#Hfootnote.2)
|
||||
7 |Yann Lecun | MNIST | [BDD](http://yann.lecun.com/exdb/mnist/)
|
||||
|
||||
|
||||
---------------------------Hors Mcot-----------------------------
|
||||
|
||||
|
||||
## DOT
|
||||
1. Avril 2022: début de l'étude de la théorie des réseaux de neurones
|
||||
@ -55,16 +73,4 @@ Il s'agit de savoir: Dans quelle mesure un algorithme peut réussir à géolocal
|
||||
4. Juin 2022: Tentative de contacts de chercheurs
|
||||
4. Septembre 2022: début de l'implémentation du CNN
|
||||
5. Début Novembre 2022: Implémentation des parties les plus coûteuses en CUDA
|
||||
6. Novembre 2022: Premiers résultats du CNN, erronés (aléatoires pour MNIST)
|
||||
|
||||
## Références bibliographiques
|
||||
Numéro | Auteur | Titre | Informations
|
||||
:---:|:---:|:---:|:---:
|
||||
1 | NVIDIA | Documentation de CUDA | [URL](https://docs.nvidia.com/cuda/)
|
||||
2 |Grant Sanderson (3Blue1Brown) | _The basics of neural networks, and the math behind how they learn_ | [Playlist](https://www.3blue1brown.com/topics/neural-networks)
|
||||
3 |Yann Lecun | MNIST | [BDD](http://yann.lecun.com/exdb/mnist/)
|
||||
4 | Fei-Fei Li | ImageNet | [BDD](https://www.image-net.org/)
|
||||
5 | Tobias Weyand, Ilya Kostrikov, James Philbin | _PlaNet - Photo Geolocation with Convolutional Neural Networks_ | [Archive](https://arxiv.org/abs/1602.05314)
|
||||
6 | Sudharshan Suresh, Nathaniel Chodosh, Montiel Abello | Base de données _50States10k_ | [URL](https://arxiv.org/pdf/1810.03077.pdf#Hfootnote.2)
|
||||
7 | James Hays, Alexei A. Efros | Im2GPS | [URL](http://graphics.cs.cmu.edu/projects/im2gps/im2gps.pdf)
|
||||
8 | Andrew Ng | Notes of a lecture of Stanford University | [URL](https://see.stanford.edu/materials/aimlcs229/cs229-notes1.pdf)
|
||||
6. Novembre 2022: Premiers résultats du CNN, non satisfaisant
|
||||
|
Loading…
Reference in New Issue
Block a user