Telechargé par Sabrina Chouali

TIA cours chapitre1 Généralités sur le soft computing

publicité
Chapitre 1 : Généralités sur le ‘Soft Computing’
1.
2.
3.
4.
5.
6.
7.
8.
Intelligence Artificielle
Soft Computing
Logique floue
Réseaux de Neurones Artificiels
Raisonnement probabiliste
Systèmes Experts
Optimisation
Applications de l’intelligence Artificielle
1
1. Intelligence Artificielle :
L’intelligence artificielle est une branche de l’informatique ayant pour but d’avoir des machines
ou des ordinateurs intelligents imitant l’intelligence de l’homme.
Selon le père de l’intelligence artificielle, John McCarthy, l’intelligence artificielle est la
science ayant pour objectif de créer des machines intelligentes et spécialement de programmes
intelligents (pour les ordinateurs).
Donc l’intelligence artificielle est la méthodologie, les techniques, la science de concevoir et
créer des ordinateurs, des robots (commandés par calculateurs) ou des logiciels qui raisonnent
(pensent, réfléchissent) ou se comportent intelligemment (d’une manière intelligente).
L’intelligence artificielle est accomplie par l’étude du comportement du cerveau humain lors
d’un raisonnement ou une pensée (comment pense le cerveau ?) ou lors d’un apprentissage de
nouvelles connaissances ou lors d’une prise de décisions et à base de ces études voir et chercher
comment les implémenter dans un calculateur (ordinateur par exemple).
Les objectifs de l’intelligence artificielle sont :
- créer des systèmes experts qui présentent un comportement intelligent, apprennent,
démontrent, expliquent et conseillent les utilisateurs
- implémenter l’intelligence humaine dans les machines en créant des systèmes qui
comprennent, pensent et se comportent comme des humains.
L’étude de l’intelligence artificielle se base sur différentes disciplines parmi lesquelles on
trouve : l’informatique, la biologie, la psychologie, linguistique, les mathématiques et
l’ingénierie.
2. Soft Computing:
Le terme ‘Soft Computing’ a été proposé par Lotfi A. Zadeh en 1994 et il le définit comme
suit :
Le Soft Computing est une collection de méthodologies ayant pour objectif la robustesse et la
solution à bas cout via l’exploitation de la tolérance envers l’imprécision et les incertitudes. Ses
principaux constituants sont la logique floue, le neuro-computing et le raisonnement
probabiliste. Le soft computing est destiné à jouer un rôle important dans différents domaines
d’application. Le soft computing prend le raisonnement humain comme modèle.
Comme on le voit, le soft computing n’est pas bien défini. Il comporte des concepts différents
ainsi que des techniques qui permettent de surpasser les difficultés rencontrées dans le monde
réel. Ces difficultés ou problèmes résultent du fait que la réalité parait imprécise, incertaine et
difficile à catégoriser (classifier). Comme exemples, on trouve les incertitudes sur les mesures
qui résultent des effets de plusieurs facteurs.
Dans plusieurs cas, on peut améliorer la précision et la certitude de la mesure mais ceci nécessite
de grands efforts et couts.
Une autre définition possible du Soft Computing est de la considérer comme une tentative
d’imiter le comportement des créatures naturelles (les plantes, les animaux, l’homme) qui sont
flexible, adaptatif et intelligents. Dans ce sens, le, Soft Computing est le nom d’une famille de
2
méthodes, orientées à la résolution des problèmes, qui sont une analogie du raisonnement
biologique pour la résolution des problèmes. Les méthodes de base rencontrées sont la logique
floue, les réseaux de neurones et les algorithmes génétiques.
La logique floue est principalement associée au traitement de l’imprécision, le raisonnement
approché et le calcul avec les mots (computing with words).
Les réseaux de neurones (neuro-computing) sont destinés à l’apprentissage (curve fitting ou
approximation de fonction, classification, …).
Le raisonnement probabiliste est orienté vers le traitement des incertitudes et la propagation des
croyances (belief networks).
Ces méthodes ont en commun les propriétés suivantes :
- Non linéaires
- Traitent les non linéarités
- Suivent le raisonnement de l’homme
- Utilisent l’auto-apprentissage
- Sont robustes en cas de présence de bruit et d’erreurs
En plus, les réseaux de neurones et la logique floue présentent les propriétés suivantes :
- Peuvent approximer des fonctions à partir d’échantillons
- Pas besoin de modèle mathématique
- Sont dynamique
- Peuvent être présentés sous forme de graphes avec des nœuds et des liens
- Entrées numériques converties vers sorties numériques
- Traitement approché des informations approchées
- Engendre des signaux bornés
- Sont des approximateurs universels
La différence principale entre la logique floue et les réseaux de neurones est que la logique
floue utilise les connaissances heuristiques sous une forme symbolique pour former les règles
et les ajuster en utilisant des échantillons de données alors que les réseaux de neurones utilisent
les données seulement.
Les méthodes du Soft Computing sont utilisées dans plusieurs types de problèmes. On peut
citer comme applications :
- Traitement de signal
- Reconnaissance de formes
- Assurance qualité
- Inspection industrielle
- Traitement de la parole
- Commande adaptative des processus
- Commande des robots
- Traitement et compréhension de langages naturels
- Langages de programmation
- Interfaces utilisateurs
- Réseaux informatiques
- Gestion de bases de données
- Diagnostique
- Sécurité de l’information
3
Dans plusieurs cas, les combinaisons de différentes méthodes du Soft Computing ont donné de
bons résultats. Une combinaison intéressante est le neuro-floue qui présente les bonnes
propriétés de la logique floue et des réseaux de neurones ensemble.
La plupart des systèmes neuro-floues se base sur les règles floues en plus des techniques
utilisées pour l’apprentissage des réseaux de neurones. Cet apprentissage permet de raffiner les
règles floues et améliorer le système neuro-flou.
Ainsi, le Soft Computing n’est pas seulement une combinaison de ses trois constituants (logique
floue, réseaux de neurones, raisonnement probabiliste) mais c’est une discipline dans laquelle
chaque constituant contribue avec une méthodologie distincte pour résoudre les problèmes
rencontrés dans son domaine en une complémentarité avec les autres constituants.
3. Logique Floue :
La théorie des sous-ensembles flous a été développée par Lotfi A. Zadeh en 1965 pour présenter
un outil mathématique permettant de traiter les concepts utilisés en langages naturels (variables
linguistiques).
Au début, la théorie a reçu des critiques intenses du fait qu’elle est proche de la théorie des
probabilités. Les réponses aux critiques ont montré l’utilité de la logique floue ainsi que les
différences entre la logique floue et les probabilités.
Le terme ‘logique floue’ a deux sens ou interprétations. La première interprétation est que la
logique floue est vue comme une logique à multi-valeurs (imprécise) extension de la logique à
multi-valeurs classique. L’autre interprétation est que la logique floue se base sur la théorie des
sous-ensembles flous.
Si les méthodes conventionnelles de l’analyse des systèmes ne peuvent pas être utilisées avec
succès dans la modélisation et la commande des systèmes, l’approche heuristique sous formes
de connaissances linguistiques (ou règles) peut être utilisée pour avoir une solution raisonnable
du problème.
Par exemple, pour un système qui n’a pas de modèle mathématique valable à cause de sa
complexité ou la mal-connaissance de ses paramètres ainsi que sa structure ou sa structure
change d’une manière complexe, …, l’utilisation de la logique floue peut être très efficace.
L’application significative de la logique floue est dans la commande de processus (industriels)
et de l’électroménager (machine à laver, caméra à autofocus automatique, …) en plus de
l’application dans le domaine des transports (train : Sengai au Japon). Il a été constaté que les
régulateurs à base de logique floue sont plus performants que les régulateurs classiques coté
utilisation du Fuel (énergie consommée) et du coté confort.
Parmi les grandes firmes utilisant la logique floue on trouve General Electric, Siemens, Nissan,
Mitsubishi, Honda, Sharp, Hitachi, Canon, Samsung, Omron, Fuji, McDonnell Douglas,
Rockwell, …
4
4. Réseaux de Neurones Artificiels :
L’étude des réseaux de neurones a commencé en 1943 avec Mc Culloch and Pitts.
Les réseaux de neurones à une seule couche avec fonction d’activation ‘seuil’ ont été introduits
en 1962 par Rosenblatt.
Ces deux types de réseaux sont appelés ‘perceptrons’ et dès 1960 il a été montré
expérimentalement que les perceptrons peuvent résoudre beaucoup de problèmes mais d’autres
qui ne semblent pas difficiles n’ont pas été résolus.
Les limitations des perceptrons ont été montrées mathématiquement par Minsky et Papert et à
cause de ça les perceptrons donc les réseaux de neurones artificiels ont été délaissés durant deux
décades.
L’étude des réseaux de neurones artificiels a été reprise dans les années 80 après les travaux de
Rumelhart, Hinton et Williams en 1986 qui traitaient l’algorithme de rétropropagation.
L’utilité de l’algorithme de rétro-propagation est qu’il peut être utilisé pour l’apprentissage des
réseaux de neurones multicouches.
Les réseaux de neurones artificiels essayent de simuler ou d’imiter le cerveau humain. Le
fonctionnement du cerveau humain se base sur des éléments de base appelés neurones qui sont
interconnectés entre eux via des lignes de transmission appelées ‘axons’ et des lignes réceptives
appelées ‘dendrites’. L’apprentissage est basé sur la création de nouvelles connexions ou sur le
changement des connexions existantes. Chaque neurone a une fonction dite fonction
d’activation ayant un minimum et un maximum avec un passage monotone (graduel ou non)
entre les deux.
Les réseaux de neurones sont souvent utilisés pour améliorer et optimiser les systèmes basés
sur la logique floue. L’apprentissage utilisé avec les réseaux de neurones raffine la base des
règles floues utilisées dans le système à base de la logique floue.
Les réseaux de neurones présentent des relations entrées/sorties non linéaires ainsi que
l’adaptabilité et la tolérance envers les défauts.
5. Raisonnement probabiliste :
La théorie des probabilités traite les incertitudes qui sont stochastiques concernant l’occurrence
de certains évènements. Cette incertitude est donnée ou mesurée ou évaluée par un degré de
probabilité.
La probabilité conditionnelle conduit au théorème de Bayes. Les réseaux dits Bayésiens
utilisent ce théorème pour trouver de nouvelles connaissances à partir de données préalables.
Ces réseaux sont appelés aussi réseaux de croyance (belief network).
De plus, on peut considérer les algorithmes génétiques comme un raisonnement probabiliste
dont l’objectif est de trouver les meilleurs éléments d’une population en utilisant les
probabilités.
On peut rajouter les systèmes chaotiques et des parties de la théorie des systèmes à base
d’apprentissage.
5
6. Systèmes Experts :
Les systèmes experts sont parmi les domaines les plus actives de l’intelligence artificielle.
L’étude des systèmes experts a commencé avec les chercheurs à l’université de Stanford au
département Informatique (computer science).
Un système expert est une application logicielle développée pour résoudre les problèmes
complexes dans des domaines particuliers ayant un niveau qui dépasse l’intelligence de
l’utilisateur, donc à un niveau de l’expert dans ce domaine.
Un système expert se caractérise par sa performance, sa fiabilité et sa haute responsivité.
7. Optimisation :
L’optimisation fait partie des solutions aux problèmes rencontrés dans les différents projets et
travaux concernant le monde réel. L’approximation de fonction et la recherche d’une solution
d’équations peuvent être considérées comme cas particuliers de l’optimisation. Il est très
courant d’avoir besoin de maximiser un gain ou de minimiser les pertes ou le cout de réalisation.
Cela nécessite des techniques sophistiquées qui varient selon le degré de complexité, la bonne
connaissance du domaine et du problème en plus de la quantité et la qualité des informations
(données, connaissances,…) présentes.
L’intelligence artificielle a pour longtemps pris en charge les problèmes d’optimisation de
fonction (cout, pertes,…), surtout quand les techniques conventionnelles ne fonctionnent pas.
Parmi les techniques utilisées par l’intelligence artificielle pour résoudre les problèmes
d’optimisation et présentées dans ce qui suit, on trouve :
-
Recherche Stochastique
Algorithmes Génétiques
PSO
8. Applications de l’intelligence artificielle :
Comme applications de l’intelligence artificielle, on peut citer :
- Les jeux
- Le traitement du langage naturel
- Les systèmes experts
- Les systèmes de vision
- Reconnaissance de la parole
- Reconnaissance l’écriture manuelle
- Les robots intelligents
6
Téléchargement