Vous entendez très souvent parler d’intelligence artificielle et de réseaux de neurones artificiels. Il est souvent très compliqué de faire la différence entre la réalité et l’utilisation en tant que terme marketing.

Pour vous présenter un réseau de neurones artificiel, j’ai décidé de rédiger cette série d’articles visant à mettre en œuvre un réseau de neurones capable d’identifier un segment précis de clients d’une banque.

Cette série d’articles ne va pas vous apprendre les formules mathématiques. Il existe des framework très bien réalisés pour la mise en œuvre de tel systèmes, vous n’aurez pas à réinventer des concepts, mais uniquement à les utiliser.

Je préfère dans un premier temps une approche ‘intuitive’ des réseaux de neurones. Vous trouverez tout de même en bas de page des liens pour approfondir.

J’ai décidé de découper les articles de la façon suivante :

Introduction

Je vais essayer de mettre en place quelques informations de bases, utiles à la compréhension de la suite de l’article.

Première partie

Je vais vous présenter la théorie des réseaux de neurones, en essayant de vulgariser suffisamment pour que vous puissiez en comprendre les concepts sans avoir besoin de mathématiques.

Lire la première partie.

Seconde partie

Nous allons mettre en œuvre un réseau de neurones pour prédire le comportement de clients d’une banque. Cette partie explique le programme en python.

Lire la seconde partie.

Avant de commencer…

Je ne suis pas un expert du sujet, je ne suis pas non-plus un mathématicien. Je vais régulièrement faire référence à diverses publications dans ces articles pour compléter mes explications.

Je suis aussi à votre disposition dans les commentaires pour discuter de ce sujet.

D’abord… mettons en place un lexique…

IA, ANN, CNN… What is it ????? D’abord mettons les choses au clair, car IA est devenu un terme marketing pour un grand nombre de sociétés, parlant de choses qui ne le sont pas du tout.

« Selon le dictionnaire Larousse, l’intelligence artificielle est l’”ensemble de théories et de techniques mises en œuvre en vue de réaliser des machines capables de simuler l’intelligence humaine”. Là où l’informatique va traiter de l’information (trier, traiter et stocker des données), l’intelligence artificielle va quant à elle reproduire l’activité mentale humaine qui relève de la compréhension, de la perception, ou de la décision. La différence entre un simple programme informatique et l’intelligence artificielle est que cette dernière ne va pas seulement appliquer des règles, elle va être en capacité de “penser” et d’apprendre par elle-même. Le machine learning (aussi appelé apprentissage automatique) est à la base de l’intelligence artificielle. »

source : https://wildcodeschool.fr/blog/qu-est-ce-que-l-intelligence-artificielle/

IDENTIFIONS LES TYPES DE RÉSEAUX DE NEURONES.

La liste suivante n’est pas exhaustive, mais c’est une bonne base pour identifier les réseaux…

SUPERVISÉ OU NON-SUPERVISÉ…

Un apprentissage est dit supervisé lorsque le réseau est forcé à converger vers un état final précis, en même temps qu’un motif lui est présenté.
À l’inverse, lors d’un apprentissage non-supervisé, le réseau est laissé libre de converger vers n’importe quel état final lorsqu’un motif lui est présenté.

https://fr.wikipedia.org/wiki/R%C3%A9seau_de_neurones_artificiels

LES RÉSEAUX DE NEURONES SUPERVISÉS :

  • ANN : Réseaux de neurones artificiels  => Classification & Régression
  • CNN : Réseaux de neurones à convolutions => Classement d’image, vision
  • RNN : Réseaux de neurones récurrents => Analyse de série temporelles (analyse lexicale).

Un exemple de réseau de neurones à convolution est disponible sur ce lien: http://scs.ryerson.ca/~aharley/vis/conv/flat.html

LES RÉSEAUX DE NEURONES NON SUPERVISÉS :

  • Cartes auto-adaptatives => Détection de groupes d’éléments
  • Machines de Boltzmann => Système de recommandations
  • Auto Encodeurs => Système de recommandations

Le système supervisé est un système qui lors de la phase d’entrainement va se construire pour être en mesure de reproduire ou identifier la proximité avec des données de sortie.

Un réseau non-supervisé, va apprendre lors de son fonctionnement sans que l’utilisateur ne lui donne la cible à atteindre. Comme c’est le cas par exemple pour des systèmes de recommandations de produits.

UNE NOTE SUR LE Q-LEARNING

Le Q-Learning est un système d’apprentissage basé sur la qualité. Il utilise souvent des réseaux de neurones pour fonctionner, mais ajoute une logique d’intelligence permettant de trouver une solution sans entrainement initial.

En intelligence artificielle, plus précisément en apprentissage automatique, le Q-learning est une technique d’apprentissage par renforcement. Cette technique ne nécessite aucun modèle initial de l’environnement. La lettre ‘Q’ désigne la fonction qui mesure la qualité d’une action exécutée dans un état donné du système1.

https://fr.wikipedia.org/wiki/Q-learning

Son principe : Un agent va utiliser un ou plusieurs réseaux de neurones pour prendre une décision. Cette décision va être confrontée à un environnement qui va en retour lui délivrer une récompense ou une pénalité.

Un article expliquant un cas pratique en python de Q-Learning : http://ai.berkeley.edu/reinforcement.html

Le système va alors intégrer les résultats de son action pour apprendre comment fonctionne l’environnement et s’adapter au mieux et décider de l’état suivant à atteindre.

Un bot en Q-Learning va essayer d’apprendre à jouer à Fifa : https://towardsdatascience.com/using-deep-q-learning-in-fifa-18-to-perfect-the-art-of-free-kicks-f2e4e979ee66