L’apprentissage traditionnel vs transfert d’apprentissage
L’organisme d’accueil
INDATACORE est une entreprise FINTECH (finance et technologie) qui utilise la technologie pour présenter des solutions qui rend les services financiers et bancaires plus faciles. Cette entreprise propose des solutions et des applications grâce à ces équipes de recherche et développement (R&D) dans les champs Big Data, Data Science et Business Intelligence (BI), ses équipes sont composées des experts consultants, des Data Scientists, Data Engineers et Chercheurs, ils développent des solutions qui sont en premier des modèles prédictives et descriptives pour leurs clients, INDATACORE construit des modèles de reconnaissance faciale, vérification des signatures, validations des documents, etc. Le domaine d’activité de INDATACORE est le secteur de banques ainsi que le secteur de Telecom.
Problématique
L’extraction de texte imprimé à partir des images est parmi les tâches complexes de la vision par ordinateur, mais les caractères écrits à la main font passer les choses à un autre niveau de complexité. Contrairement aux polices standards, les textes écrits à la main contiennent rarement des modèles réguliers ou prévisibles (c’est que les ordinateurs cherchent lorsque on leur demande de trouver du texte dans une image). On parle de l’Optical Character Recognition (OCR), ou la reconnaissance optique de caractères, c’est la technologie qui permet aux logiciels de reconnaître le texte dans une image.
En fait, la capacité de l’OCR à extraire du texte à partir de graphiques ou de documents en fait un outil extrêmement utile dans plusieurs champs, le monde des banques en fait partie, l’OCR est utilisée pour traiter les chèques sans intervention humaine, un chèque peut être inséré dans une machine, l’écriture est numérisée instantanément et le montant exact est transféré. Cette technologie a presque été perfectionnée pour les chèques imprimés, mais le problème se pose pour les chèques manuscrits ou cette technologie donne des résultats moins précis ce qui nécessite une confirmation manuelle.
Le montant dans un chèque est une information très sensible, elle devrait être bien lue par l’ordinateur, pendant ce stage, notre mission était de traiter spécifiquement le champ du montant du chèque, d’autres membres de l’équipe s’occupe de l’extraction d’autres informations.
Une solution qui a été déjà proposée consiste à segmenter le montant est faire la reconnaissance pour chaque chiffre, les limites de cette méthode est que ces montant ne sont pas toujours facile à segmenter, en raison de chevauchement des chiffres.
Solution proposée
La solution proposée a été d’adapter des méthodes existantes pour traduire les images des montants manuscrites en des images des montent imprimées, cela revient à creuser dans le monde de transfert d’apprentissage ou transfer learning (TL), et faire une étude sur les différentes méthodes existantes qui permettent de traduire les images des chiffres manuscrites en images des chiffres imprimées.
On a donc fait le tour sur plusieurs méthodes en essayant de les adapter pour résoudre notre problème, ces méthodes qui ont comme but la traduction d’une image en entrée pour générer une autre image différente en sortie, elles sont souvent utilisées pour faire les traductions jour en nuit, été en hiver, images réelles en dessins, etc. Notre but est d’adapter ces méthodes pour traduire une image d’un montant manuscrit en une image du même montant imprimé, pour ensuite faciliter la classification de ces images générées. La classification directe des images contenant les montants manuscrits (sans générer les images des montant imprimés) est faite aussi pour avoir une comparaison entre les résultats de la classification des deux.
Objectif
L’objectif est donc de construire un modèle capable de recevoir une image d’un montant manuscrit puis, faire la traduction de cette image en une image contenant le même montant imprimé, pour faciliter la reconnaissance, finalement, ce modèle doit être intégré dans le modèle générale qui fait la reconnaissance pour tous les champs du chèque pour automatiser le processus d’extraction des informations et puis faciliter la tâche pour les banquiers. Ce modèle doit être performant face aux différentes types d’écritures et différente circonstances de la prise de l’image
Transfer learning
Le transfert d’apprentissage est le fait d’utiliser les connaissances acquises dans une tâche pour améliorer l’apprentissage dans une autre tâche connexe. En tant qu’être humain, on a la capacité et les moyens de transférer les connaissances entre différentes tâches, ce qui nous permet d’appliquer cette connaissance tirée des expériences antérieurs lorsque nous rencontrons de nouvelles tâches. Plus une nouvelle tâche est liée à notre expérience antérieure, plus nous pouvons la maîtriser facilement.
Contrairement aux algorithmes traditionnels d’apprentissage automatique qui traitent des tâches isolées, le transfert d’apprentissage tend à être plus flexible, il développe donc des méthodes pour transférer les connaissances acquises dans une ou plusieurs tâches dites « source » et de les utiliser pour améliorer l’apprentissage dans une tâche dite « cible ». Le transfert d’apprentissage devient utile lorsque nous avons beaucoup de données pour le domaine source et généralement peu de données dans le domaine cible, disons par exemple que nous avons une base de données de millions d’images pour un modèle de reconnaissance d’image, ces données sont massique pour entrainer un modèle et apprendre beaucoup de caractéristique utiles de bas niveau, on veut donc réutiliser cette connaissance pour une autre tâche dont on a pas beaucoup de données, par exemple pour entrainer un modèle de classification des tumeurs ou un modèle de diagnostic radiologique, dans ces cas on se dispose que des centaines d’images, donc entrainer un modèle en se basant juste sur ces données ne donnera pas de dons résultats
Classification d’images
Dans [4], les auteurs ont proposé une méthode qui se base sur l’apprentissage contradictoire ou Adversarial learning (AL) c’est une méthode améliorée d’adaptation de domaine non supervisée qui combine AL et l’apprentissage discriminatoire des caractéristiques. Ce modèle proposé fait un mappage d’images de domaine cible à l’espace de caractéristiques sources. On discutera ce type d’apprentissage dans [cf. Chapitre 3] dans la partie des GANs.
approches AL de l’adaptation non supervisée des domaines ont récemment été introduites, ce qui réduit la différence entre la distribution des domaines d’apprentissage et celle des domaines de test, Ce qui donne des modèles capables pour faire face aux cas plus généraux. Le Framework proposé dans cet article traite le cas où on a l’accès aux images du domaine source Xs, et aux étiquettes Ys tirés d’une distribution de domaine source Ps(x, y), ainsi que des images du domaine cibles Xt. L’objectif est d’apprendre une représentation du domaine cible, Mt et un classificateur Ct qui permettent de classer correctement les images cibles dans l’une des K catégories au moment du test, même si les images cibles ne sont pas étiquetées, ce qui impose la non-faisabilité d’entrainement directe sur ces images. Le DA donc apprend un mappage de représentation de la source Ms, avec un classifieur source Cs, et apprend ensuite à adapter ce modèle pour l’utiliser dans le domaine cible. Le but dans différentes approches du DA est de minimiser la distance entre les distributions de mappage Ms(Xs) et Mt(Xt), pour qu’on puisse appliquer le modèle de classification source Cs directement aux représentations cibles. Dans le cas idéal on aura : C = Cs = Ct. [4]
|
Table des matières
Chapitre 1 : Cadre général du projet
Introduction
1 L’organisme d’accueil
1.1 Fiche descriptive
1.2 Les équipes de travail
1.3 Projets et réalisations
2 Problématique
3 Solution proposée
4 Objectif
Conclusion
Chapitre 2 : Etat de l’art
Introduction
I.Transfer learning
1 Introduction
2 L’apprentissage traditionnel vs transfert d’apprentissage
3 Notations et définition
4 Catégories du transfert d’apprentissage
4.1 Le transfert inductif
4.1.1 Domaine source étiqueté
4.1.2 Domaine source non étiqueté
4.2 Le transfert transductif
4.3 Le transfert non supervisé
5 Applications
5.1 Adaptation de domaine DA
5.2 Applications d’adaptation de domaine
5.2.1 Classification d’images
5.2.2 La reconnaissance faciale
16 Table des matières
5.2.3 Image to image translation (ITIT)
II.Deep learning (DL)
1 Introduction
2 DL vs ML
3 Architectures DL
3.1 CNN
3.1.1 Couche convolutive
3.1.2 Couche de Pooling
3.1.3 Couche de correction ReLU
3.1.4 Couche entièrement connectée
3.1.5 Résumé
3.2 RNN
3.3 Auto-encodeurs
3.4 GANs
Conclusion
Chapitre 3 : Notions dans la vision par ordinateur
Introduction
1 Image-to-image translation (ITIT)
2 Vision par ordinateur
2.1 Applications de la CV
2.1.1 La détection d’objet
2.1.2 La reconnaissance faciale
2.1.3 Optical character recognition (OCR)
3 Generative adversarial networks (GANs)
3.1 Introduction
3.2 Modèles discriminatifs
3.3 Modèles génératifs
3.4 Fonctionnement des GANs
3.4.1 Architecture
3.4.2 Algorithme
3.5 GANs & auto-encodeurs
3.6 Cas d’utilisation des GANs
3.6.1 Colorisation
3.6.2 Super-résolution
3.7 GANs pour l’augmentation des données
3.7.1 Les techniques d’augmentation classiques
3.7.2 Application sur la base MNIST
4 Les approches de ITIT
4.1 Unsupervised Image-to-Image Translation Networks (Unit)
4.1.1 Les AEs dans UNIT
4.1.2 Les GANs dans UNIT
4.1.3 Conclusion
4.2 Multimodal Unsupervised Image-to-Image Translation (MUNIT)
Conclusion
Chapitre 4 : Expériences et résultats
Introduction
1 Environnement et préparation des données
1.1 Environnement de travail
1.1.1 Environnement logiciel
1.1.2 Environnement matériel
1.2 Jeu de données
1.2.1 Base de données des montants manuscrits
1.2.2 Base de donnée des montants imprimés
2 Expérimentation
2.1 Le modèle MUNIT
2.1.1 Architecture du modèle
2.2 Modèle LSTM
2.2.1 Architecture LSTM
3 Résultats
3.1 Visualisation des résultats
3.2 Résultats LSTM
Conclusion
Télécharger le rapport complet