Chers tous,
Je vous ai choisis parmi 57 de mes correspondants, en copie ouverte, pour une fois.
ll ne s'agit pas de politique mais d'Intelligence Artificielle, selon le document ci-joint.
Je voudrais savoir ce que vous en pensez.
Cela vous intéresse-t'il ?
Est-ce clair et compréhensible ?
Avez-vous envie d'en discuter et d'échanger ?
Cela intervient à un moment de l'élaboration de mon application de bridge sur internet.
Celle-ci a pour objet, dans un premier temps, de faire connaître des donnes de bridge traitées par des champions de bridge, de la manière dont ils les ont traitées, des raisonnements qu'ils ont effectués pour trouver des solutions. Ce n'est pas le résultat brut qui importe, même s'il est juste, mais l'explication correspondante..
Dans un deuxième temps, j'imagine de pouvoir imiter ces connaissances, en les faisant mouliner dans un modèle ayant appris à partir de ces connaissances, pour chacun de ces champions de bridge. Ce qui nécessite d'avoir au moins 200 donnes pour chacun d'eux.
Ce qui devrait permettre, à terme, si je réussis mon pari, de faire jouer le programme sur le serveur, comme le champion duquel il a appris à raisonner, par apprentissage et non par la connaissance sous-jacente de la théorie.
J'attends de vous des remarques pertinentes permettant d'avancer dans ce travail.
Sans préjugés, comme en politique ou en religion. Un vrai raisonnement scientifique, avec la volonté d'avancer dans la discussion, d'échanger, positivement, sans anathèmes et propos désobligeants.
Écouter pour comprendre, puis partager de manière constructive. En véritables scientifiques, et non en abrutis de comptoir (et pan sur l'extrême droite).
Sincèrement à vous.
Raoul
L’intelligence Artificielle a fait beaucoup de progrès ces dernières années. Elle est
construite à partir d’un réseau neuronal, à qui on va apprendre à fournir un bon résultat.
C’est un apprentissage dit profond (Deep Learning), fonctionnant selon les principes
suivants :
On construit une architecture de base appelée « Réseau Neuronal », dont les éléments,
appelés neurones, sont distribués dans l’espace en plusieurs couches. Il s’agit d’une
imitation du fonctionnement du cerveau humain.
L’information circule à travers ce réseau depuis une entrée , appelée source, où se
trouvent les données, pour aboutir à une sortie, appelée résultat.
Chaque élément, un neurone, reçoit une information qu’il transmet, qu’il traite de 2
manières :
Un paramètre d’entrée qui est un coefficient multiplicateur de l’information amont. C’est ce coefficient qui, au départ aléatoire, va être modifié au fur et à masure de l’apprentissage, de manière à être corrigé pour que le résultat global s’améliore.
Une altération de l’information par une fonction non linéaire (sigmoïde, tout ou rien, fonction asymptotique …), de manière à casser la linéarité du modèle, ce qui va déformer le résultat, le rendant moins intelligible. Ceci permet de réduire la quantité de calculs, de manière à éviter la combinatoire explosive des cas à traiter. Le résultat est moins bon, mais pas trop dégradé de manière à rester identifiable. C’est comme une image floue qui, au lieu d’être nette, reste encore compréhensible.
Un traitement peut être effectué sur le réseau, pour le déformer, dans le but également de
casser la combinatoire explosive :
Des neurones peuvent être regroupés
Des neurones peuvent être éliminés
Des couches peuvent être réagencées
Il existe 2 types de problèmes à résoudre : ceux où la solution est numérique (pour une
conduite de voiture automatisée : le niveau de frein ou d’accélérateur, le positionnement
du volant) ou non (pour un menu de restaurant : le choix d’un plat, la classification d’un
spectacle, le choix d’une enchère de bridge).
Il faut donc bâtir l’architecture réseau. Il existe pour cela des exemples de modèles déjà
préparés (patterns).
Ensuite, l’apprentissage s’effectue en 2 étapes :
L’apprentissage proprement dit, où on fournit des données au réseau, et on compare le résultat avec ce qui était espéré. L’écart entre le résultat obtenu et le résultat attendu est
réinjecté dans le réseau, pour corriger les paramètres des neurones, de manière à réduire
cet écart. Cette modification s’effectue selon la ligne de plus grande pente de la fonction
reliant la sortie à l'entrée. Cela s’appelle « la rétropropagation du gradient ». Cet apprentissage se fait sur plusieurs centaines d’exemples.
Sur ce réseau neuronal ainsi corrigé par apprentissage, on relance le calcul sur un
ensemble d’exemples, non corrélés sur la liste des exemples d’apprentissages. Ce
traitement, sans apprentissage, se fait sur plusieurs dizaines d’exemples. Il permet de corroborer que l’apprentissage a bien fonctionné.
Le modèle ainsi validé peut alors entrer en production
Ce mode d’apprentissage est dit à convolution. Il ne se base pas sur une estimation de la
théorie reliant les données au résultat. Il traite l’information de manière non linéaire, afin
de réduire la quantité de cas à traiter.
Le papier est écrit en langage clair, très clair même.
Il est incompréhensible pour un non initié comme moi , néanmoins.
Pour le bridgeur que je suis-je suis resté sur ma faim car malgré la curiosité suscitée par ton mail de présentation , il n’est nullement question de bridge dans ce premier papier IA
J’attends donc la suite pour comprendre mieux où tu veux nous emmener
Amicalement
Olivier
Comments