Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parMaximilienne Gon Modifié depuis plus de 11 années
1
Les réseaux connexionnistes Antoine Cornuéjols (antoine
Les réseaux connexionnistes Antoine Cornuéjols AgroParisTech & L.R.I., Université d’Orsay
2
Plan Introduction Le perceptron Le perceptron multi-couches (PMC)
Apprentissage dans les PMC Aspects calculatoires Aspects méthodologiques de l’apprentissage Applications Développements et perspectives Conclusions
3
Plan Introduction Le perceptron Le perceptron multi-couches (PMC)
Apprentissage dans les PMC Aspects calculatoires Aspects méthodologiques de l’apprentissage Applications Développements et perspectives Conclusions
4
Introduction : Pourquoi les réseaux de neurones ?
Inspiration biologique Le cerveau naturel : un modèle très séduisant Robuste et tolérant aux fautes Flexible. Facilement adaptable S’accommode d’informations incomplètes, incertaines, vagues, bruitées ... Massivement parallèle Capable d’apprentissage Neurones ≈ 1011 neurones dans le cerveau humain ≈ 104 connexions (synapses + axones) / neurone Potentiel d’action / période réfractaire / neuro-transmetteurs Signaux excitateurs / inhibiteurs
5
Introduction : Pourquoi les réseaux de neurones ?
Les attraits pratiques Calculs parallélisables Implantables directement sur circuits dédiés Robustes et tolérants aux fautes (calculs et représentations distribués) Algorithmes simples D’emploi très général Les défauts Opacité des “raisonnements” Opacité des résultats
6
Historique (très rapide)
Prémisses Mc Culloch & Pitts (1943) : 1er modèle de neurone formel Rapport neurone et calcul logique : base de l’intelligence artificielle. Règle de Hebb (1949) : apprentissage par renforcement du couplage synaptique Premières réalisations ADALINE (Widrow-Hoff, 1960) PERCEPTRON (Rosenblatt, ) Analyse de Minsky & Papert (1969) Nouveaux modèles Kohonen (apprentissage compétitif), ... Hopfield (1982) (réseau bouclé) Perceptron Multi-Couches (1985) Analyse et développements Théorie du contrôle, de la généralisation (Vapnik), ...
7
Les réseaux de neurones : Types de réseaux
Interconnecté à boucles (e.g. réseau de Hopfield) Fonctionnement en reconnaissance Apprentissage ?
8
Modèles de base : le Perceptron Multi-Couches
Topologie typique
9
Plan Introduction Le perceptron Le perceptron multi-couches (PMC)
Apprentissage dans les PMC Aspects calculatoires Aspects méthodologiques de l’apprentissage Applications Développements et perspectives Conclusions
10
Discrimination linéaire : le Perceptron
[Rosenblatt, 1957,1962]
11
Discrimination linéaire : le Perceptron
12
Discrimination linéaire : le Perceptron
13
Discrimination linéaire : le Perceptron
Discrimination contre tous les autres
14
Discrimination linéaire : le Perceptron
Discrimination entre deux classes
15
Le perceptron : critère de performance
Critère d’optimisation (fonction d’erreur) : Nb total d’erreurs de classification : NON Critère du Perceptron : Car nous voulons pour toutes les formes d’apprentissage : Proportionnel, pour toutes les formes mal classées, à la distance à la surface de décision Fonction continue et linéaire par morceaux
16
L’apprentissage : Erreur quadratique
Interprétation géométrique
17
L’apprentissage : Erreur quadratique
La solution directe : méthode de la pseudo-inverse (seulement pour un réseau linéaire et une fonction d’erreur quadratique) dérivation soit : [Bishop, 92-95] d’où la solution : Pseudo-inverse de
18
Apprentissage direct : méthode de la pseudo-inverse
19
Apprentissage direct : méthode de la pseudo-inverse
20
Apprentissage direct : méthode de la pseudo-inverse
21
Apprentissage direct : méthode de la pseudo-inverse
La méthode de la pseudo-inverse requiert La connaissance de toutes les paires (xp,tp) Une inversion de matrice (souvent mal-configurée) La solution directe : méthode de la pseudo-inverse (seulement pour un réseau linéaire et une fonction d’erreur quadratique) Nécessité d’une méthode itérative sans inversion de matrice Descente de gradient
22
Le perceptron : algorithme
Méthode d’exploration de H Recherche par gradient Minimisation de la fonction d’erreur Principe : procédure d'apprentissage dans l'esprit de la règle de Hebb : ajouter à chaque connexion quelque chose de proportionnel à l'entrée et à la sortie. Apprentissage seulement si erreur de classification Algorithme : si la forme est correctement classée : ne rien faire sinon : boucler sur les formes d’apprentissage jusqu’à critère d’arrêt Convergence ?
23
Le perceptron : Illustration
Justification de l’algorithme Réduction de l’erreur
24
Le perceptron : convergence et capacité mémoire
Questions : Qu’est-ce qui est apprenable ? Résultat de [Minsky & Papert,68] : séparatrices linéaires Garantie de convergence ? Théorème de convergence du Perceptron [Rosenblatt,62] Fiabilité de l’apprentissage et nombre d’exemples Combien faut-il d’exemples d’apprentissage pour avoir une certaine garantie sur ce qui est appris ?
25
Capacité expressive : Séparations linéaires
26
Capacité expressive : Séparations linéaires
27
Plan Introduction Le perceptron Le perceptron multi-couches (PMC)
Apprentissage dans les PMC Aspects calculatoires Aspects méthodologiques de l’apprentissage Applications Développements et perspectives Conclusions
28
Le Perceptron Multi-Couches : propagation
Pour chaque neurone : wjk : poids de la connexion de la cellule j à la cellule k ak : activation de la cellule k g : fonction d’activation Les fonctions sigmoïdes sont souvent prises de la forme : Ce qui permet d’obtenir la dérivée facilement : g’(a) = g(a) (1 - g(a)) g’(a) = g(a)(1-g(a))
29
Le Perceptron Multi-Couches : exemple du XOR
Exemple du calcul de la fonction XOR Nous utilisons ici la convention graphique de Hinton, souvent utilisée dans les simulateurs de réseaux de neurones, pour représenter l’amplitude des poids arrivant sur chaque cellule. Ainsi, ici, la cellule A reçoit une connexion de poids -0.5 du biais, et deux connexions de poids 1 des entrées x1 et x2.
30
Le PMC : puissance expressive
31
Le PMC : puissance expressive
32
Exemple de réseau (simulateur JavaNNS)
33
Plan Introduction Le perceptron Le perceptron multi-couches (PMC)
Apprentissage dans les PMC Aspects calculatoires Aspects méthodologiques de l’apprentissage Applications Développements et perspectives Conclusions
34
Le PMC : l’apprentissage
Trouver des poids permettant au réseau de réaliser une relation entrée-sortie spécifiée par des exemples de cette relation (Toujours le problème de la généralisation) Apprentissage : Minimiser la fonction de coût E(w,{xl,ul}) en fonction du paramètre w Utiliser pour ceci une méthode de descente de gradient (algorithme de rétro-propagation de gradient) Principe inductif : On fait alors l’hypothèse que ce qui marche sur les exemples (minimisation du risque empirique), marche sur des données non vues (minimisation du risque réel) [Tutoriel Hertz,Tr.2 & 7 (bas)]
35
L’apprentissage : Erreur quadratique
Interprétation géométrique
36
L’apprentissage : descente de gradient
Apprentissage = recherche dans l’espace multidimensionnel des paramètres (poids synaptiques) en vue de minimiser la fonction de coût Quasi totalité des règles d’apprentissage pour les RNs = méthode de descente de gradient Solution optimale w* tq. : [Bishop, 95-97] Si le pas d’apprentissage décroit correctement avec le temps alors, on peut montrer que la matrice de poids W converge vers la solution au pb de l’approximation par moindre carrés.
37
Le Perceptron Multi-Couches : apprentissage
Objectif : Algorithme (rétro-propagation de gradient) : descente de gradient Algorithme itératif : Cas hors-ligne (gradient total) : où : Cas en-ligne (gradient stochastique) : [Tutoriel Hertz, Tr.7 (bas)]
38
Le Perceptron Multi-Couches : apprentissage
1. Présentation d’un exemple parmi l’ensemble d’apprentissage Séquentielle, aléatoire, en fonction d’un critère donné 2. Calcul de l’état du réseau 3. Calcul de l’erreur = fct(sortie - sortie désirée) (e.g. = (yl - ul)2) 4. Calcul des gradients Par l’algorithme de rétro-propagation de gradient 5. Modification des poids synaptiques 6. Critère d’arrêt Sur l’erreur. Nombre de présentation d’exemples, ... 7. Retour en 1 Introduire le terme d’”époque” (epoch) pour le passage de toutes les formes d’apprentissage une fois, éventuellement dans un ordre tiré aléatoirement.
39
PMC : La rétro-propagation de gradient
Le problème : Détermination des responsabilités (“credit assignment problem”) Quelle connexion est responsable, et de combien, de l’erreur E ? Principe : Calculer l’erreur sur une connexion en fonction de l’erreur sur la couche suivante Deux étapes : 1. Evaluation des dérivées de l’erreur par rapport aux poids 2. Utilisation de ces dérivées pour calculer la modification de chaque poids
40
PMC : La rétro-propagation de gradient
1. Evaluation de l’erreur Ej (ou E) due à chaque connexion : Idée : calculer l’erreur sur la connexion wji en fonction de l’erreur après la cellule j Pour les cellules de la couche de sortie : Pour les cellules d’une couche cachée :
41
PMC : La rétro-propagation de gradient
ai : activation de la cellule i zi : sortie de la cellule i i : erreur attachée à la cellule i Cellule cachée Cellule de sortie a a j k z z y i i j j k k w w ij jk k j
42
PMC : La rétro-propagation de gradient
2. Modification des poids On suppose gradient à pas (constant ou non ): (t) Si apprentissage stochastique (après présentation de chaque exemple) Si apprentissage total (après présentation de l’ensemble des exemples)
43
Le PMC : passes avant et arrière (résumé)
ys(x) wis k neurones sur la couche cachée [Cherkassky,p.140] [Haykin, ] pour répéter la différence entre apprentissage incrémental et en mode batch (stochastique ou total). [Kaykin,173] sur les critères d’arrêt. x
44
Le PMC : passes avant et arrière (résumé)
ys(x) wis y ( x ) y ( x ) . i . . 1 w w 1 w w 2 w d B i a i s 3 . . . x x 1 x 2 x 3 x d x
45
PMC : La rétro-propagation de gradient
Efficacité en apprentissage En O(w) pour chaque passe d’apprentissage, w = nb de poids Il faut typiquement plusieurs centaines de passes (voir plus loin) Il faut typiquement recommencer plusieurs dizaines de fois un apprentissage en partant avec différentes initialisations des poids Efficacité en reconnaissance Possibilité de temps réel
46
Analyse de la surface d’erreur
[Duda, Hart & Stork, p.297] 8 exemples sur la ligne Réseau 1-1-1 Surface d'erreur en fonction de w0 et w1
47
Analyse de la surface d’erreur
48
Analyse de la surface d’erreur
49
Applications : la discrimination
Exemple : Mines cylindriques / roches ( 1 neurone de sortie {0,1} [0,1] Erreur quadratique Probabilité [0,1] Critère entropique
50
Applications : la discrimination multiclasse
Exemple : Reconnaissance de caractères manuscrits Reconnaissance de locuteurs y(x) c-1 problèmes de discrimination 1 neurone de sortie {0,1, …, c} [0,1] n (≤ c) neurones de sortie 1 neurone / classe Code correcteur d’erreur x
51
Applications : optimisation multi-objectif
cf [Tom Mitchell] prédire à la fois la classe et la couleur plutôt que la classe seulement.
52
PMC : Les applications Automatique : identification et contrôle de processus (e.g. Commande de robot) Traitement du signal (filtrage, compression de données, traitement de la parole (Identification du locuteur, ...) Traitement d’images, reconnaissance des formes (reconnaissance de l’écriture manuscrite, Lecture automatique des codes postaux (Zip codes, USA), ...) Prédiction (consommations d’eau, d’électricité, météorologie, bourse, ...) Diagnostic (industrie, médecine, science, ...)
53
Application aux codes postaux (Zip codes)
[Le Cun et al., 1989, ...] (ATT Bell Labs : très forte équipe) ≈ exemples de chiffres manuscrits Segmentés et redimensionnés sur matrice 16 x 16 Technique des poids partagés (“weight sharing”) Technique du optimal brain damage 99% de reconnaissance correcte (sur l’ensemble d’apprentissage) 9% de rejet (pour reconnaissance humaine) Voir [Hertz et al.,91,p ] - Un réseau complétement connecté de cette taille impliquerait plus de poids, et serait donc impossible à apprendre. - D’où la technique de segmenter les couches cachées en détecteurs de formes (patterns). Chaque “segment” (sous-ensemble de neurones) d’une couche agit comme un détecteur de forme (chaque unité est reliée par exemple à seulement 25 unités de la couche précédente), et dans chaque segment ou groupe, les unités partagent les mêmes poids (e.g. les mêmes 25). Ils cherchent donc la même forme sur l’ensemble de la couche précédente. - Il reste alors 9760 poids. - On utilise en plus une technique d’élagage des poids les moins influents (par la technique dite du Optimal Brain Damage) et l’on arrive à 1560 poids. - Entraîné sur 7300 exemples et testé sur 2000.
54
La base de données
55
Application aux codes postaux (Zip codes)
56
Les erreurs commises
57
La régression
58
Un échec : QSAR Quantitative Structure Activity Relations
Prédire certaines propriétés de molécules (par exemple activité biologique) à partir de descriptions : chimiques géométriques éléctriques
59
Rôle de la couche cachée
256x256 pixels 8 bits / pixel 16 neurones sur une couche cachée entraînés sur des imagettes 8x8 50000 à itérations avec pas de 0.01 à 0.1 Compression en discrétisant les sorties des neurones cachés -# réduit le nb de bits Ici 8 bits / neurone (256 valeurs possibles) (image (b)) (ce qui correspond à 2 bits /pixel car 8 bits pour 8x8 pixels ) 5 bits -> image © (1,5 bit / pixel) 4 bits -> image (d) (1 bit / pixel)
60
Rôle de la couche cachée
61
PMC : Analyse Rôle des cellules cachées Efficacité calculatoire
62
Rôle de la couche cachée
63
Plan Introduction Le perceptron Le perceptron multi-couches (PMC)
Apprentissage dans les PMC Aspects calculatoires Aspects méthodologiques de l’apprentissage Applications Développements et perspectives Conclusions
64
PMC : Mise en pratique (1)
Problèmes techniques : comment améliorer la performance de l’algorithme Le PMC en tant que méthode d’optimisation : variantes Ajout d’un moment Méthodes du 2° ordre Hessien Gradients conjugués Heuristiques Apprentissage séquentiel vs en mode batch Choix de la fonction d’activation Normalisation des entrées Initialisation des poids Les gains d’apprentissage Note : Il serait bon de faire un tableau récapitualitf des réponses à ses questions à la fin. [Haykin, ]
65
PMC : La rétro-propagation de gradient (variantes)
Ajout d’un moment Voir [Hertz et al.,91,p ] [Haykin, ] : sur la technique du moment (bon) et évoque un gain adaptatif propre à chaque connexion.
66
Convergence Réglage du pas d’apprentissage : h
67
PMC : Problèmes de convergence
Minimums locaux. “Ravins”. etc. Ajout d’un terme de moment (inertie) Conditionnement des variables Bruiter les données d’apprentissage Algorithme stochastique (vs. total) Un pas de gradient variable (dans le temps et pour chaque cellule) Utilisation de la dérivée seconde (Hessien). Gradient conjugué. Voir [Bishop,95,p ], [Hertz et al.,91,p.126]
68
PMC : Problèmes de convergence (gradients variables)
Gain adaptatif si le gradient ne change pas de signe, sinon Gain beaucoup plus faible en stochastique qu’en gradient total Gain propre à chaque couche (e.g. 1 / (# entrées cellule)1/2 ) Algorithmes plus complexes Gradients conjugués Idée : Essayer de minimiser indépendamment sur chaque axe, en utilisant un moment sur la direction de recherche Méthodes de second ordre (Hessien) Diminuent le nombre de pas mais augmentent le temps calcul.
69
Plan Introduction Le perceptron Le perceptron multi-couches (PMC)
Apprentissage dans les PMC Aspects calculatoires Aspects méthodologiques de l’apprentissage Applications Développements et perspectives Conclusions
70
Le sur-apprentissage
71
Le problème de la sélection de modèle
72
Contrôle de H : régularisation
Principe : limiter l’expressivité de H Nouveau risque empirique : Exemples de régularisateurs utilisés : Contrôle de l’architecture du RN Contrôle des paramètres Soft-weight sharing Weight decay Réseaux à convolution Exemples bruités Terme de pénalisation [Thiria et al.,14-15] Liens avec Vapnik (SRM) ?
73
Contrôle par limite de l’exploration effective de H
74
Généralisation : optimiser la structure d’un réseau
Par croissance progressive Cascade correlation [Fahlman,1990] Par élagage Optimal brain damage [Le Cun,1990] Optimal brain surgeon [Hassibi,1993] Règle de l’arrêt prématuré
75
Introduction de connaissances a priori
Invariances Exemples obtenus par transformation Translation / rotation / dilatation Fonction de coût incorporant des dérivées (e.g. spatiales) Incorporer des dérivées dans la fonction de coût [Mitchell, 97, p.117]
76
Plan Introduction Le perceptron Le perceptron multi-couches (PMC)
Apprentissage dans les PMC Aspects calculatoires Aspects méthodologiques de l’apprentissage Applications Développements et perspectives Conclusions
77
ANN Application Areas Classification Clustering Associative memory
Control Function approximation
78
ANN Classifier systems
Learning capability Statistical classifier systems Data driven Generalisation capability Handle and filter large input data Reconstruct noisy and incomplete patterns Classification rules not transparent
79
Applications for ANN Classifiers
Pattern recognition Industrial inspection Fault diagnosis Image recognition Target recognition Speech recognition Natural language processing Character recognition Handwriting recognition Automatic text-to-speech conversion
80
Clustering with ANNs Fast parallel distributed processing
Handle large input information Robust to noise and incomplete patterns Data driven Plasticity/Adaptation Visualisation of results Accuracy sometimes poor
81
ANN Clustering Applications
Natural language processing Document clustering Document retrieval Automatic query Image segmentation Data mining Data set partitioning Detection of emerging clusters Fuzzy partitioning Condition-action association
82
Associative ANN Memories
Stimulus-response association Auto-associative memory Content addressable memory Fast parallel distributed processing Robust to noise and incomplete patterns Limited storage capability
83
Application of ANN Associative Memories
Character recognition Handwriting recognition Noise filtering Data compression Information retrieval
84
ANN Control Systems Learning/adaptation capability Data driven
Non-linear mapping Fast response Fault tolerance Generalisation capability Handle and filter large input data Reconstruct noisy and incomplete patterns Control rules not transparent Learning may be problematic
85
ANN Control Schemes ANN controller
conventional controller + ANN for unknown or non-linear dynamics Indirect control schemes ANN models direct plant dynamics ANN models inverse plant dynamics
86
ANN Control Applications
Non-linear process control Chemical reaction control Industrial process control Water treatment Intensive care of patients Servo control Robot manipulators Autonomous vehicles Automotive control Dynamic system control Helicopter flight control Underwater robot control
87
ANN Function Modelling
ANN as universal function approximator Dynamic system modelling Learning capability Data driven Non-linear mapping Generalisation capability Handle and filter large input data Reconstruct noisy and incomplete inputs
88
ANN Modelling Applications
Modelling of highly nonlinear industrial processes Financial market prediction Weather forecasts River flow prediction Fault/breakage prediction Monitoring of critically ill patients
89
Neural Network Approaches
ALVINN Neural Network Approaches ALVINN - Autonomous Land Vehicle In a Neural Network Presented by Martin Ho, Eddy Li, Eric Wong and Kitty Wong - Copyright© 2000
90
ALVINN - Developed in 1993. - Performs driving with Neural Networks.
- An intelligent VLSI image sensor for road following. - Learns to filter out image details not relevant to driving. Output units Hidden layer Input units Presented by Martin Ho, Eddy Li, Eric Wong and Kitty Wong - Copyright© 2000
91
Plan Introduction Le perceptron Le perceptron multi-couches (PMC)
Apprentissage dans les PMC Aspects calculatoires Aspects méthodologiques de l’apprentissage Applications Développements et perspectives Conclusions
92
PMC à fonctions radiales (RBF)
Définition Couche cachée de cellules à fonction d’activation radiale (e.g. gaussienne) Idée : “paver” l’espace des entrées avec ces “champs récepteurs” Couche de sortie : combinaison linéaire sur la couche cachée Propriétés Approximateur universel ([Hartman et al.,90], ...) Mais non parcimonieux (explosion combinatoire avec la taille des entrées) Réservé aux problèmes de faible dimensionalité Liens étroits avec les systèmes d’inférence floue et les réseaux neuro-flous
93
PMC à fonctions radiales (RBF) : apprentissage
Paramètres à régler : Nb de cellules cachées Position des centres des champs récepteurs Diamètre des champs récepteurs Poids vers la couche de sortie (moyenne pondérée) Méthodes Adaptation de la rétro-propagation (possible) Détermination de chaque type de paramètres par une méthode propre (souvent plus efficace) Centres déterminés par méthodes de “clustering” (k-means, ...) Diamètres déterminés par optimisation des taux de recouvrement (PPV, ...) Poids par technique d’optimisation linéaire (calcul de pseudo-inverse, ...)
94
Les réseaux récurrents
Tâches Reconnaissance de séquence E.g. reconnaître le mot correspondant à un signal vocal Reproduction de séquence E.g. poursuivre la séquence quand une séquence initiale a été fournie (ex: prévision de consommation d’électricité) Association temporelle Production d’une séquence en réponse à la reconnaissance d’une autre séquence. Time Delay Neural Networks (TDNNs) Duplication des couches (artifice : pas vraiment récurrents) Réseaux récurrents Voir [Hertz et al., 91, ch.7, p ]
95
Recurrent ANN Architectures
Feedback connections Dynamic memory: y(t+1)=f(x(τ),y(τ),s(τ)) τ(t,t-1,...) Models : Jordan/Elman ANNs Hopfield Adaptive Resonance Theory (ART)
96
Les réseaux récurrents
Voir [Hertz et al.,91,p ] • Les flèches en grisé indiquent des connexions totales entre couches • Les flèches simples indiquent des connexions entre la cellule i d’une couche et la cellule i de la couche cible
97
Les réseaux récurrents
Problèmes Notoirement difficiles à contrôler Dynamique chaotique Mémoire du passé limitée Paramètres supplémentaires Apprentissage mal compris
98
Une idée intrigante : le « reservoir computing »
Utiliser un réseau récurrent sans l’entraîner explicitement Mais entraîner une seule couche de sortie Permet de rendre compte du temps Séries temporelles using a recurrent neural network without explicitly training it, but instead only training a single output layer. This simple and elegant concept shows a lot of promise both from a theoretical and a practical point of view, but a lot of work still needs to be done.
99
Une idée intrigante : le « reservoir computing »
Semble prometteur : Demande encore beaucoup de recherches using a recurrent neural network without explicitly training it, but instead only training a single output layer. This simple and elegant concept shows a lot of promise both from a theoretical and a practical point of view, but a lot of work still needs to be done. Voir aussi Liquid State Machines Echo State Machines Backpropagation-Decorrelation
100
Plan Introduction Le perceptron Le perceptron multi-couches (PMC)
Apprentissage dans les PMC Aspects calculatoires Aspects méthodologiques de l’apprentissage Applications Développements et perspectives Conclusions
101
Conclusions Limites Avantages Apprentissage lent et difficile Opacité
Réseaux appris très difficile à interpréter Difficile d’utiliser de la connaissance a priori Apprentissage incrémental difficile : « catastrophic forgetting » Avantages Souvent de très bonnes performances en généralisation
102
ANN Summary Artificial Neural Networks Feedforward Recurrent
(Kohonen) (MLP, RBF) Unsupervised Supervised (ART) (Elman, Jordan, Hopfield)
103
Sources documentaires
Ouvrages / articles Dreyfus et. al (2001) : Réseaux de neurones. Méthodologie et applications. Eyrolles, 2001. Bishop C. (06) : Neural networks for pattern recognition. Clarendon Press - Oxford, 1995. Haykin (98) : Neural Networks. Prentice Hall, 1998. Hertz, Krogh & Palmer (91) : Introduction to the theory of neural computation. Addison Wesley, 1991. Thiria, Gascuel, Lechevallier & Canu (97) : Statistiques et méthodes neuronales. Dunod, 1997. Vapnik (95) : The nature of statistical learning. Springer Verlag, 1995. Sites web (point d’entrée pour de nombreux sites)
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.