Présentation

Article

1 - INTRODUCTION

2 - NEURONE ARTIFICIEL

3 - PERCEPTRON

4 - RÉSEAUX DE NEURONES PROFONDS (DNN)

5 - IMPLANTATION DES RÉSEAUX DE NEURONES

6 - MISE EN ŒUVRE EMBARQUÉE

7 - REMARQUES POUR CONCLURE

Article de référence | Réf : H3730 v1

Perceptron
Introduction aux réseaux de neurones

Auteur(s) : Daniel ETIEMBLE, Fabrice AUZANNEAU

Date de publication : 10 mars 2023

Pour explorer cet article
Télécharger l'extrait gratuit

Vous êtes déjà abonné ?Connectez-vous !

Sommaire

Présentation

Version en anglais En anglais

RÉSUMÉ

Cet article est une introduction aux réseaux de neurones. Après un bref historique, le neurone artificiel est présenté avec les différentes fonctions d’activation. Le principe des réseaux est introduit avec les étapes apprentissage et inférence. Le perceptron monocouche avec des exemples d’implantation des fonctions logiques ET et OU, puis le perceptron multicouche sont introduits, avec les principes des algorithmes de rétropropagation du gradient pour la mise à jour des poids des neurones. Les caractéristiques des réseaux de neurones profonds sont présentées, notamment les réseaux convolutionnels (CNN) et des réseaux récurrents. L’implantation des réseaux de neurones est abordée : programmation à l’aide de bibliothèques comme TensorFlow et supports matériels (processeurs neuronaux, opérateurs matériels spécialisés, formats de données réduits, etc.). Les caractéristiques permettant d’utiliser des réseaux de neurones pour l’embarqué sont présentées.

Lire cet article issu d'une ressource documentaire complète, actualisée et validée par des comités scientifiques.

Lire l’article

ABSTRACT

Introduction to Neural Networks

This article is an introduction to neural networks. After a brief history, the artificial neuron is presented with the different activation functions. The principle of networks is introduced with the learning and inference steps. The single layer perceptron with examples for the implementation of logical AND and OR functions, then the multilayer perceptron are introduced, with the principles of gradient backpropagation algorithms for updating the weights of neurons. The characteristics of deep neural networks are presented, including convolutional networks (CNN) and recurrent networks. The implementation of neural networks is discussed: programming techniques with libraries such as TensorFlow and hardware support (neural processors, specialized hardware operators, reduced data formats, etc.). The features enabling the use of neural networks for embedded applications are presented.

Auteur(s)

  • Daniel ETIEMBLE : Ingénieur de l’INSA de Lyon - Professeur émérite à l’université Paris Saclay

  • Fabrice AUZANNEAU : Ingénieur chercheur en IA embarquée - CEA List

INTRODUCTION

S’inspirant du fonctionnement des neurones du cerveau, les réseaux de neurones artificiels sont définis dans les années 1940. Le perceptron est introduit en 1957, puis le perceptron multicouche en 1986. Ils ont disparu de l’actualité pendant une période avant de revenir au premier plan dans les années 2000 avec les réseaux de neurones profonds.

Le neurone artificiel est présenté avec les différentes fonctions d’activation. Le fonctionnement du perceptron monocouche est présenté avec les exemples d’implantation des fonctions logiques OU et ET ainsi que ses limites. Les caractéristiques des perceptrons multicouches sont détaillées avec notamment les principes de la rétropropation de gradient qui permet la mise à jour des poids des neurones des différentes couches.

Les réseaux de neurones profonds ont marqué une étape décisive dans le développement et l’utilisation des réseaux de neurones. Les réseaux de neurones convolutionnels (CNN) sont détaillés ; les couches convolution et pooling précédant les couches complètement connectées qui permettent de restreindre les tailles de données en extrayant les caractéristiques spatiales simples (comme des contours) que les couches suivantes combinent pour former des concepts plus complexes et abstraits : assemblage de contours en motifs, de motifs en parties d’objets, de parties d’objets en objets, etc. C’est ce qui permet d’utiliser des milliers de configurations différentes en entrées du réseau. Les caractéristiques de réseaux récurrents, permettant la reconnaissance de séquences d’entrée, sont également présentées.

L’implantation des réseaux de neurones a des aspects logiciels et matériels :

  • programmation. Des bibliothèques logicielles comme TensorFlow, Caffee, Torch et PyTorch sont utilisables sur ordinateurs avec CPU multicœurs sans ou avec GPU. Les différentes opérations sont définies sous forme d’un graphe : l’exécution du programme place les différentes opérations sur CPU, GPU ou tout autre processeur ou accélérateur spécifique et définit les méthodes pour leur exécution ;

  • support matériel. Des opérateurs matériels spécialisés (convolution, pooling) sont disponibles sous forme d’IP pour les systèmes sur puce (SoC) ; des processeurs neuronaux sont disponibles (processeurs neuronaux d’ARM, TPU de Google). Par ailleurs, des formats de données réduits comme les flottants 16 bits sont intégrés dans des processeurs neuronaux ou GPU pour réduire l’empreinte mémoire et la consommation et accélérer les calculs.

Les réseaux de neurones sont de plus en plus utilisés dans les applications embarquées. Les contraintes des composants embarqués impliquent de réduire et d’optimiser les réseaux utilisés. Quatre techniques sont possibles :

  • simplification/optimisation du réseau : diminuer le nombre de couches pour diminuer le nombre de paramètres ;

  • élagage (pruning) : réduire la taille d'un réseau en supprimant certains de ses paramètres ;

  • quantification : utilisation de formats de données réduits (entiers 8 bits (INT8) voire 4 ou 3 bits) sans perte de précision ;

  • distillation des connaissances (knowledge distillation) : un gros réseau est d’abord entraîné, puis utilisé pour « enseigner son savoir » à un réseau de plus petite taille.

Dans de nombreux domaines (reconnaissance d’images, traduction automatique, séries temporelles, etc.), les réseaux de neurones sont plus efficaces que les processeurs généralistes. On les trouve aux différents niveaux d’utilisation de l’apprentissage profond : serveurs du nuage, serveurs au bord (edge servers), composants utilisateurs jusqu’aux composants de l’Internet des Objets (IoT).

Cet article est réservé aux abonnés.
Il vous reste 94% à découvrir.

Pour explorer cet article
Téléchargez l'extrait gratuit

Vous êtes déjà abonné ?Connectez-vous !


L'expertise technique et scientifique de référence

La plus importante ressource documentaire technique et scientifique en langue française, avec + de 1 200 auteurs et 100 conseillers scientifiques.
+ de 10 000 articles et 1 000 fiches pratiques opérationnelles, + de 800 articles nouveaux ou mis à jours chaque année.
De la conception au prototypage, jusqu'à l'industrialisation, la référence pour sécuriser le développement de vos projets industriels.

KEYWORDS

learning   |   neural network   |   perceptron   |   inference   |   convolutional network   |   recurrent network   |   ,neural networks implementation   |   NN for embedded

DOI (Digital Object Identifier)

https://doi.org/10.51257/a-v1-h3730


Cet article fait partie de l’offre

Technologies logicielles Architectures des systèmes

(239 articles en ce moment)

Cette offre vous donne accès à :

Une base complète d’articles

Actualisée et enrichie d’articles validés par nos comités scientifiques

Des services

Un ensemble d'outils exclusifs en complément des ressources

Un Parcours Pratique

Opérationnel et didactique, pour garantir l'acquisition des compétences transverses

Doc & Quiz

Des articles interactifs avec des quiz, pour une lecture constructive

ABONNEZ-VOUS

Lecture en cours
Présentation
Version en anglais En anglais

3. Perceptron

Le perceptron appartient à la famille des réseaux de neurones à propagation avant : l’information se propage des entrées vers la sortie.

3.1 Perceptron monocouche

La figure 6 présente un exemple de perceptron monocouche. Il a trois entrées : E0 et E1 sont les variables d’entrées et 1 est une entrée qui sert de biais pour le calcul de la somme. À chaque entrée est associé un poids. La somme 1 · W0 + E0 · W1 + E1 · W2 est l’entrée de la fonction d’activation. Le biais 1 · W0 sert à ce que la somme 1 · W0 + E0 · W1 + E1 · W2, positive ou négative, reste proche de 0, qui est le seuil de la fonction d’activation Seuil (Heaviside) utilisée dans cet exemple. La fonction Seuil est définie de la manière suivante :

S = 1 si Somme ≥ 0 et S = 0 sinon.

Nous illustrons l’apprentissage par un perceptron monocouche des fonctions logiques OU et ET de deux entrées E0 et E1.

La phase d’apprentissage va constituer à trouver les poids W0, W1 et W2 qui permettent d’obtenir la sortie C de la fonction logique voulue.

L’algorithme classique est le suivant :

  • Initialiser W0, W1, W2. Choisir ξ

  • Répéter :

    • Prendre une configuration de la fonction E0, E1, C

    • Calculer S pour les entrées E0, E1, C //C-S est l’erreur à minimiser

    • Mettre à jour les poids

      • Pour i = 0 à 2

      • nWi = Wi + ξ* (C-S)*Wi //nWi est le poids mis à jour

      • Fin Pour

    • Fin Répéter (lorsqu’il n’y a plus modification des Wi pour toutes les configurations (E0,E1)

Le tableau 1 montre l’évolution pour la fonction OU avec l’initialisation ξ = 1, W0 = 0, W1 = 1 et W2 = –1.

L’apprentissage converge vers W0 = 0, W1 = 1 et W2 = 1.

Le tableau ...

Cet article est réservé aux abonnés.
Il vous reste 93% à découvrir.

Pour explorer cet article
Téléchargez l'extrait gratuit

Vous êtes déjà abonné ?Connectez-vous !


L'expertise technique et scientifique de référence

La plus importante ressource documentaire technique et scientifique en langue française, avec + de 1 200 auteurs et 100 conseillers scientifiques.
+ de 10 000 articles et 1 000 fiches pratiques opérationnelles, + de 800 articles nouveaux ou mis à jours chaque année.
De la conception au prototypage, jusqu'à l'industrialisation, la référence pour sécuriser le développement de vos projets industriels.

Cet article fait partie de l’offre

Technologies logicielles Architectures des systèmes

(239 articles en ce moment)

Cette offre vous donne accès à :

Une base complète d’articles

Actualisée et enrichie d’articles validés par nos comités scientifiques

Des services

Un ensemble d'outils exclusifs en complément des ressources

Un Parcours Pratique

Opérationnel et didactique, pour garantir l'acquisition des compétences transverses

Doc & Quiz

Des articles interactifs avec des quiz, pour une lecture constructive

ABONNEZ-VOUS

Lecture en cours
Perceptron
Sommaire
Sommaire

BIBLIOGRAPHIE

  • (1) - LE CUN (Y.) -   Quand la machine apprend, la révolution des réseaux de neurones et l’apprentissage profond,  -  livre, Odile Jacob (2021).

  • (2) - KOHONEN (T.) -   Self-Organizing Maps,  -  Springer Verlag (2001).

  • (3) - LIMA (A.) -   Implémentation de l’algorithm Perceptron por XOR Logic Gate avec entrée binaire deux bits,  -  https://fr.acervolima.com/implementation-de-lalgorithme-perceptron-pour-xor-logic-gate-avec-entree-binaire-2-bits/

  • (4) -   Implementation of Artificial Neural Network for XOR Logic Gate with 2-bit Binary Input.  -  https://www.geeksforgeeks.org/implementation-of-artificial-neural-network-for-xor-logic-gate-with-2-bit-binary-input/

  • (5) - NIELSEN (M.) -   Neural Networks and Deep Learning,  -  livre en ligne, https://neuralnetworksanddeeplearning.com/index.html

  • (6)...

Cet article est réservé aux abonnés.
Il vous reste 94% à découvrir.

Pour explorer cet article
Téléchargez l'extrait gratuit

Vous êtes déjà abonné ?Connectez-vous !


L'expertise technique et scientifique de référence

La plus importante ressource documentaire technique et scientifique en langue française, avec + de 1 200 auteurs et 100 conseillers scientifiques.
+ de 10 000 articles et 1 000 fiches pratiques opérationnelles, + de 800 articles nouveaux ou mis à jours chaque année.
De la conception au prototypage, jusqu'à l'industrialisation, la référence pour sécuriser le développement de vos projets industriels.

Cet article fait partie de l’offre

Technologies logicielles Architectures des systèmes

(239 articles en ce moment)

Cette offre vous donne accès à :

Une base complète d’articles

Actualisée et enrichie d’articles validés par nos comités scientifiques

Des services

Un ensemble d'outils exclusifs en complément des ressources

Un Parcours Pratique

Opérationnel et didactique, pour garantir l'acquisition des compétences transverses

Doc & Quiz

Des articles interactifs avec des quiz, pour une lecture constructive

ABONNEZ-VOUS