IA, machine learning, deep learning & réseaux de neurones artificiels

11/4/2023
timer-icon
Temps de lecture :
7 minutes
IA, machine learning, deep learning & réseaux de neurones artificiels

IA, machine learning, deep learning & réseaux de neurones artificiels

11/4/23
timer-icon
Temps de lecture :
7 minutes
IA, machine learning, deep learning & réseaux de neurones artificiels
Sommaire

Qu’on le veuille ou non, l’intelligence artificielle infuse toutes les strates économiques et bientôt sociales. Ci-dessous quelques éléments de base sur le sujet, premier article d’une série qui, espérons-le, nous permettra de distinguer le bon grain de l’ivraie en la matière.

101

Lorsqu’elle n’est pas le support non consentant d’un marketing mensonger, l’intelligence artificielle (IA) désigne généralement des algorithmes de machine learning dont les réseaux de neurones artificiels sont les figures de proue. Au cœur de l’IA, ils constituent un domaine d’étude appelé le deep learning.

Un réseau de neurones repose sur une myriade de paramètres qui lui permettent à partir d’une <red-highlight>Entrée<red-highlight>, de restituer une <red-highlight>Sortie<red-highlight>.

<quote-alt>M𝜽(Entrée) = Sortie<quote-alt>

réseau de neurones
Réseau de neurones qui répond à un problème de CLASSIFICATION
(Distinguer les points bleus et les points orange)
À gauche l'<red-highlight>Entrée<red-highlight> ou <red-highlight>DATA<red-highlight>, au milieu les <red-highlight>paramètres<red-highlight> ou <red-highlight>FEATURES<red-highlight> et leurs fonctions associées, à droite la <red-highlight>Sortie<red-highlight> ou <red-highlight>OUTPUT<red-highlight>.
Source : Tensorflow

réseau de neurones
En fin de calcul, les zones de couleurs ont été déterminées par le réseau de neurones.

Le réseau est notre modèle <red-highlight>M<red-highlight>. Pour identifier les paramètres <red-highlight>θ<red-highlight>, on a besoin de données. Puis, on entraîne le modèle <red-highlight>M<red-highlight> avec les paramètres <red-highlight>θ<red-highlight> fixés. Enfin on peut l’utiliser sur n’importe quelle entrée. Pour ces deux dernières tâches, on a besoin de puissance de calcul.

Qui dit puissance de calcul dit consommation énergétique. Pour le dernier né de chez Meta :

This means that developing these models would have cost around 2,638 MWh under our assumptions, and a total emission of 1,015 tCO2eq.

Donc réutiliser des modèles existants plutôt que de développer et pré-entraîner ses propres modèles - lorsque c’est faisable - est un enjeu de sobriété numérique.

Quelques usages

La forme que prend une <red-highlight>Entrée<red-highlight> est aussi variée que celle d’une <red-highlight>Sortie<red-highlight> mais quelques usages sont particulièrement parlants.

Image & probabilité - Classification

image et probabilité classification

À partir d’une image, donner le pourcentage de certitude qu’elle contient un type d’objet.

Les sempiternels CAPTCHA matérialisent une résurgence de la tâche d’entraînement du modèle, tâche essentielle qui consiste à donner au modèle un exercice et son corrigé. Les feux rouges et les passages piétons sur lesquels cliquent chaque jour des millions d’internautes servent à savoir si oui ou non vous êtes un robot, mais aussi à alimenter des modèles de vision informatique, ceux qui embarquent dans les véhicules autonomes par exemple.

Une vidéo n’est après tout qu’une succession d’images, il n’y a donc qu’un pas vers les usages liés à la surveillance vidéo ou biométrique.

Du texte, toujours plus de texte - Text-generation

Cette vidéo de Monsieur Phi est d’utilité publique pour appréhender ce qui se trame derrière les algorithmes de génération de texte. Eux ne sont ni plus ni moins que de pharaoniques machines à prédire le mot qui suit le plus probable.

text génération exemple

Dessine-moi un algo - Text-to-image

text to image exemple

Déférence renforcée envers Paul Valéry, la façon dont sont construits ces algorithmes fait que la même entrée ne produira pas la même sortie. Ce qui ne fait que confirmer les propos du poète.

text to image exemple with chagall style
Peinture dans le style de Chagall avec Stable Diffusion. Générée le 03/04/2023 à 10h20.
text to image exemple with chagall style
Peinture dans le style de Chagall avec Stable Diffusion. Générée le 03/04/2023 à 10h20.

Les outils en la matière sont nombreux. Stable Diffusion, DALL E et Midjourney ont beaucoup fait parler d’eux dernièrement, ils sont tous parents comme en témoigne cet état de l'art du text-to-image.

text to image exemple dall e
La même prompt avec DALL E qui n’a probablement pas eu la chance d’aller faire une tour dans le vieux Nice pour observer les toiles de Marc Chagall
text to image exemple midjourney
Une prompt sophistiquée pour produire une contrefaçon de Chagall avec Midjourney

Midjourney a le vent en poupe et a la particularité de pouvoir consommer des images dans le prompt.

text to image midjourney exemple
Une prompt et son résultat avec Midjourney
text to image midjourney exemple
Image fournie dans le prompt de Midjourney

Quand on dit que les mêmes causes produisent les mêmes effets, on ne dit rien. Car les mêmes choses ne se reproduisent jamais - et d'ailleurs on ne peut jamais connaître toutes les causes. Paul Valéry

Père Castor, raconte-nous une histoire - Text-to-speech

Avant de rendre obsolètes les efforts de Louis Braille, l’humanité va probablement explorer bien d’autres voies et d’autres voix avec les réseaux de neurones entraînés à lire du texte. Les acteurs du domaine développent activement les voix de synthèse de demain, par exemple PaddleSpeech de PaddlePaddle ou TensorFlowTTS basé sur TensorFlow 2. Certaines plateformes comme Uberduck rendent facile et possible l’utilisation de ces modèles.

Paradis artificiels - Text-to-video

Le text-to-video sera-t-il l’aboutissement ultime des algorithmes de génération d’image ? Meta et d’autres ont investi ce sujet aussi complexe que séduisant que glissant. Les résultats actuels sortent parfois tout droit des profondeurs de l’internet cringe, mais on ne doute pas que l’évolution fulgurante de ces réseaux dépassera les prédictions.

Les différents types d’algorithmes

Natural Language Processing (NLP)

Innové en 2017 par Google, Transformer devient rapidement l’état de l’art du NLP. Il est à l’origine de plusieurs modèles/applications dans ce domaine. Depuis quelques mois, des BigTech présentent leurs Large Language Models (LLM). Ces modèles sont formés sur de grands ensembles de données, qui contiennent des centaines de millions à des milliards de mots. Les LLM, comme on les appelle, reposent sur des algorithmes complexes, notamment des architectures de transformateurs qui se déplacent à travers de grands ensembles de données et reconnaissent des modèles au niveau du mot. Ces données aident le modèle à mieux comprendre le langage naturel et son utilisation dans le contexte, puis à faire des prédictions liées à la génération de texte, à la classification de texte, etc.

Microsoft et OpenAI: GPT, GPT-2, GPT-3, GPT-4, ChatGPT, Codex

Google : LaMBDA, BERT, Bard, Vision Transformer (ViT)

Meta : LLaMA

Deepmind : Gopher, Chinchilla

HuggingFace's BigScience team + Microsoft + Nvidia: BLOOM

Quand on parle de Transformer-based architecture, on désigne des algorithmes qui reposent entre autres sur un mécanisme d’attention. C’est un mécanisme analogue à l’attention “humaine” qui consiste à renforcer l’importance de certaines données entrantes et la diminuer pour d’autres.

transformers family tree
Transformers family tree (Source: TRANSFORMER MODELS: AN INTRODUCTION AND CATALOG)

Computer Vision

Vision Language Models: OpenAI-CLIP, Google ALIGN, OpenAI-DALL-E, Stable Diffusion, Vokenization

Object Detection: YOLO, SSD, R-CNN, FAST R-CNN

taxonomy of object detectors exemples
Taxonomy of object detectors with some example models
(Source: https://www.researchgate.net/figure/Taxonomy-of-object-detectors_fig2_357953408)

À quoi ça rime ?

Passé les calembours édifiants sur ChatGPT, la hype d’une chaise en forme d’avocat - ou l’inverse - et l’excitation des premiers prompts, que nous reste-t-il ? Et que vient faire l’IA chez Docloop ?

OCR : Reconnaissance de texte

L’OCR (Optical character recognition) consiste à passer d’une image constituée de pixels à un texte interprétable par un programme informatique. C’est une technologie mature qui repose sur deux modèles d’IA maîtrisés depuis longtemps : le détection de texte (Text detection e.g. avec DBNet, LinkNet pour docTR) et la reconnaissance de texte (Text recognition e.g. avec ViTSTR, MASTER, CRNN pour docTR)

use case OCR

Nanonets, GCP OCR, ABBYY, Tesseract, PaddleOCR, Azure, doctr ou easyOCR sont autant de moteurs OCR permettant de récupérer toutes les chaînes de caractères d’un document avec leur position dans ce document.

Si le point de départ est un fichier PDF, deux cas se présentent :

  • Le PDF contient des images, une version scannée d’un document papier par exemple. On parle de scanned PDF file: Pour des traitements simples, des outils comme OCRmyPDF utilisent le moteur OCR Tesseract et superpose l’image du scanned PDF file et le texte “sélectionnable” généré par l’OCR
  • Le PDF contient du texte, une version verrouillée d’un document word par exemple. On parle text-based PDF file: Dans ce cas, les chaînes de caractères sont déjà explicitement disponibles dans le fichier et des outils comme camelot-py permettent de récupérer les valeurs.

Une fois l’OCR réalisé, on se retrouve avec des milliers de mots en vrac. Ce sera le rôle de l’étape d’Extraction de structurer ces informations et leur donner du sens.

Classification de documents

Schématiquement, c’est ce qu’un humain fait naturellement lorsqu’il voit l’en-tête d’un document qui contient FACTURE : on range ce document dans la catégorie “FACTURE” de notre esprit, avec toutes les implications que ça comporte : le document contient des montants détaillés et un montant total, il y a probablement un numéro de TVA et un SIRET quelque part, la date d’échéance est fonction de la date d’émission de la facture…

use case classification

La classification peut être une fin en soi dans le cadre de la Gestion électronique de documents (GED) d’une entreprise afin d’archiver la documentation reçue au quotidien. Lorsque l’on reçoit une liasse documentaire de 50 pages, il peut être utile de séparer immédiatement les listes de colisage, les bons de commande, les factures et les déclarations douanières.

La classification peut également être le point de départ d’un process de traitement intelligent des documents. À partir des pages identifiées, on applique une étape d’OCR et on extrait des informations précises du document afin de les utiliser ultérieurement, au hasard et par exemple pour faire du rapprochement de facture…

Vous souhaitez gagner en productivité ?

Planifier une démo

Extraction d’informations

L’étape d’OCR nous permet d’obtenir une liste de mots et leur position dans le document. Tout l’art des algorithmes d’extraction d’informations (ou Document understanding) est de pouvoir catégoriser certaines chaînes de caractères.

use case extraction champs and tables

La complexité est variable, du plus simple au plus complexe :

  • Champ simple avec un libellé : On peut s’appuyer sur les mots qui entourent la valeur pour déterminer ce qu’elle signifie.
champ avec libellé
Pas besoin d’être Columbo, c’est une Date, on n’a pas d’autres choix.

  • Champ simple sans libellé : On ne peut s’appuyer que sur des règles externes au document pour déterminer ce que les valeurs signifient. On a besoin d’assimiler des règles opérationnelles pour aboutir e.g. “Une classe dangereuse pour un colis dangereux est un entier entre 1 et 9” ou “Un code UNO est composé de 4 chiffres”.
champ simple sans libellé
Six informations doivent être extraites d’un bloc de texte sans réellement de contexte. Code UNO, Classe dangereuse, Flash point, Packing group, Nature d’emballage et quantité d’emballage

  • Tableau structuré : Ça n’existe pas dans la nature.
  • Tableau peu structuré : C’est un l’objet de la course à l’armement actuel dans le champ de l’extraction d’informations. La section de document ci-dessous pourrait être représentée par une ligne dans un tableau où chaque champ est une colonne, mais la disposition n’est pas explicite sur ce point, et on constate même que les informations d’une case débordent sur une autre case.

tableau peu structuré
“- Ceci n’est pas un tableau”
”- Ah si…”

Dépassés la pagaille d’acronymes et d’un salmigondis de termes pseudo-techniques, on en revient finalement à des considérations éminemment classiques et des conclusions triviales pour ne pas dire rabelaisiennes : “Science sans conscience n’est que ruine de l’âme”.

On souhaite chez Docloop utiliser à bon escient ces technologies en plein développement pour mettre à disposition le bon modèle au bon endroit.

Ce que l’on souhaite, c’est extraire des informations inaccessibles jusqu’à maintenant et appliquer toutes les règles qui permettent de l’utiliser auprès du bon logiciel ou du bon interlocuteur.

Partager