Pfe Meryem Bazin Fi-1
Pfe Meryem Bazin Fi-1
Pfe Meryem Bazin Fi-1
Département d'Informatique
Meryem BAZIN
Soutenu le xx Octobre 2021 devant le Jury :
Je tiens à remercier aussi ma petite famille qui m'a beaucoup aidée sur tous les
niveaux, an de bien réussir ce modeste travail et enrichir mon mémoire.
Enn je veux bien exprimer ma gratitude la plus sincère à toutes les personnes qui
ont contribué de près ou de loin à l'boration de ce projet.
i
Résumé
Dans les systèmes e-learning, la structure du domaine d'apprentissage et le contenu
sont généralement présentés de manière statique, sans prendre en compte les objectifs
des apprenants, leurs expériences, leurs compétences et leurs connaissances existantes,
et sans interactivité.
ii
Abstract
In e-learning systems, the structure of learning domain and content are usually
presented statically, without taking into account the learners goals, their experiences,
skills, existing knowledge and without interactivity.
Having considered the importance of tests, this project aims to build an intelligent
learning system that guarantees adaptive tests that adjust the level of diculty of the
questions presented to the learner according to the result obtained in the previous test
by making use of articial intelligence and reinforcement learning techniques.
iii
Liste des abréviations
IA : Intelligence Articielle
ML : Machine Learning
DL : Deep Learning
NN : Neural Network
RL : Reinforcement Learning
AL : Adaptive Learning
iv
Table des gures
1.1.1 Logo de BRAINY SOFTWARE . . . . . . . . . . . . . . . . . . . . . . . 1
1.1.2 Historique du BRAINY . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1.3 Organigramme de BRAINY . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2.1 La platforme e-learning BRAINY . . . . . . . . . . . . . . . . . . . . . . 3
1.3.1 Cycle de vie Scrum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3.2 Diagramme de Gantt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3.2.1 Architecture d'un réseau neuronne . . . . . . . . . . . . . . . . . . . . . . 12
3.2.2 Perceptron simple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.2.3 Perceptron multicouche . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.2.4 CNN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.2.5 RNN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.3.1 Fonctionnement d'un modèle de RL . . . . . . . . . . . . . . . . . . . . . 15
3.3.2 Une trajectoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.3.3 Tâches épisodiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.3.4 Une table Q . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.3.5 Q-Learning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.3.6 Méthode d'E-greedy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.3.7 La fonction Q . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.3.8 Q-Table VS DQN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.3.9 Architecture de DQN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.3.10Experience Replay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.3.11Q Network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.3.12Target Network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.3.13Interaction Agent Environnement . . . . . . . . . . . . . . . . . . . . . . 24
3.3.14Initialisation des poids . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.3.15Sélection d'Epsilon Greedy action . . . . . . . . . . . . . . . . . . . . . . 25
3.3.16Etat et Récompense . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.3.17La mémoire d'Experience Replay . . . . . . . . . . . . . . . . . . . . . . 26
3.3.18Batch d'entrainement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.3.19L'entrée de Q Network . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.3.20Predicted Q Value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.3.21L'entrée de Target Network . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.3.22Target Q Value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.3.23Calcule du Loss . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.3.24Back-propagation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.3.25Mise à jour des poids de QN . . . . . . . . . . . . . . . . . . . . . . . . . 29
v
3.3.26Mise à jour des poids de Target Network . . . . . . . . . . . . . . . . . . 30
4.1.1 Logo Python . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.1.2 Logo Django . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.1.3 Logo Pytorch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.1.4 TensorForce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.1.5 Logo NumPy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.2.1 Importation des bibliothèques . . . . . . . . . . . . . . . . . . . . . . . . 34
4.2.2 Classe d'environnement . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4.2.3 La fonction reward() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
4.2.4 La fonction reward() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
4.2.5 La fonction reward() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.2.6 La fonction reward() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
4.3.1 Algorithme de DQL pour les quiz adaptatifs . . . . . . . . . . . . . . . . 38
vi
Liste des tableaux
1.1 Fiche d'identité de Brainy . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2.1 Déroulement d'un test de Binet-Simon . . . . . . . . . . . . . . . . . . . 8
2.2 Déroulement d'un test à deux étapes . . . . . . . . . . . . . . . . . . . . 8
2.3 Déroulement d'un test pyramidal . . . . . . . . . . . . . . . . . . . . . . 9
vii
Table des matières
Remerciements i
Résumé ii
Abstract iii
Introduction x
3 Concepts Théoriques 11
3.1 Intelligence Articielle . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.2 Réseaux de Neurones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.2.1 Dénition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
viii
3.2.2 Perceptron . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.2.3 Réseau de Neurone convolutif (CNN) . . . . . . . . . . . . . . . . 14
3.2.4 Réseau de Neurones récurrent (RNN) . . . . . . . . . . . . . . . . 14
3.3 Apprentissage par renforcement . . . . . . . . . . . . . . . . . . . . . . . 15
3.3.1 Markov Decision Process . . . . . . . . . . . . . . . . . . . . . . . 16
3.3.2 Choix de l'action : Retour, Politique, Value . . . . . . . . . . . . . 17
3.3.3 L'algorithme Q-Learning . . . . . . . . . . . . . . . . . . . . . . . 19
3.3.4 L'algorithme Deep Q-Learning (DQN) . . . . . . . . . . . . . . . 21
4 Réalisation du projet 31
4.1 Technologies utilisée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.1.1 Langage de programmation : Python . . . . . . . . . . . . . . . . 31
4.1.2 Framework Django . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.1.3 Bibliothèques utilisées . . . . . . . . . . . . . . . . . . . . . . . . 32
4.2 Description du modèle . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.2.1 Importation des bibliothèques . . . . . . . . . . . . . . . . . . . . 33
4.2.2 Environment : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4.2.3 Replay Memory : . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
4.2.4 DQN : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
4.2.5 Agent : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.2.6 La fonction d'entrainement : . . . . . . . . . . . . . . . . . . . . . 37
4.3 Algorithme de DRL pour les Quiz Adaptatifs . . . . . . . . . . . . . . . . 38
Bibliographie 41
ix
Introduction
Dans une salle de classe traditionnelle, un enseignant utilise le même matériel
d'apprentissage (par exemple : manuel, Quiz, rythme d'apprentissage, etc.) pour tous les
élèves. Cependant, le matériel choisi peut être trop dicile pour certains étudiants et
trop facile pour d'autres étudiants. De plus, certains élèves peuvent mettre plus de temps
à apprendre que d'autres. Un tel processus d'apprentissage peut ne pas être ecace.
Ces problèmes peuvent être résolus si l'enseignant peut élaborer un plan d'apprentissage
individualisé pour chaque élève. Étant donné qu'un ratio enseignant-élèves très faible est
requis, un tel plan d'apprentissage adaptatif individualisé peut être trop coûteux pour
être appliqué à tous les élèves.
Ce rapport décrit le travail réalisé dans le cadre de mon projet de n d'études eectué
au sein du BRAINY, pour l'obtention du diplôme du Master spécialisé en Traitement
Intelligent des Systèmes à la faculté des sciences de Rabat.
x
planning suivie dans sa réalisation.
Le deuxième chapitre présente un état d'art sur l'adaptation des évaluations. Les
limites des évaluations classiques seront présentées ainsi que les avantages oerts par une
approche adaptative avec une mention de quelques tests adaptatifs.
Le troisième chapitre présente l'ensemble des terminologies et des concepts qui sont
abordées dans ce projet, à savoir l'intelligence articielle, l'apprentissage automatique,
l'apprentissage profond et l'apprentissage par renforcement profond.
Enn, le dernier chapitre va être dédié à la réalisation de la solution, ainsi que le lan-
gage de programmation utilisé, les technologies et les diérentes bibliothèques employées.
xi
Chapitre 1
Contexte général du projet
Indroduction :
Ce chapitre a pour objet de présenter, en premier lieu, l'organisme d'accueil. Puis,
s'en suivra une description du projet et ses objectifs avant d'expliciter la méthodologie
et le planning de sa réalisation.
1
1.1.2 Organigramme
Comme chaque entreprise, BRAINY SOFTWARE comprend une hiérarchie que l'on
présente sous forme de l'organigramme suivant :
2
Figure 1.2.1 La platforme e-learning BRAINY
Etant donné que les quiz sont un excellent outil pour aider les étudiants à mieux
comprendre et mémoriser leurs leçons, que ce soit dans un contexte d'apprentissage tra-
ditionnel ou en ligne, ce projet vise à ajouter dans Brainy des quiz adaptatifs qui ajuste le
niveau de diculté des questions présentées aux étudiants en fonction de leurs réponses
aux questions précédentes.
3
La méthode documentaire :
Cette méthode est une étape de travail à réaliser pour bien démarrer le projet, elle
revient à rechercher et identier des documents issus de sources externes à savoir les
articles ociels ou universitaires qui traitent cette problématique ainsi que les concepts
utilisés tel que l'Intelligence Articielle (IA), Machine Learning (ML), Reinforcement
Learning (RL). . .
Les réunions :
Les réunions ont été organisées régulièrement avec le tuteur de stage pour discuter
de l'avancement du projet, ainsi que les modications et les corrections que nous de-
vions prendre en compte avant de passer d'une phase à l'autre, ces réunions ont été très
bénéques ce qui a grandement aecté la réalisation du projet dans le bon sens.
4
1.3.2 La planication du projet
Conclusion :
Ce chapitre est une introduction au contexte général du projet, dans lequel nous
avons présenté l'organisme d'accueil, les objectifs du projet ainsi que les méthodologies
de recherche suivies et qui comprend la méthode documentaire et les réunions, et nous
avons clôturé ce chapitre par, la planication du projet présentée dans le diagramme de
Gantt.
5
Chapitre 2
Etat de l'art sur l'adaptation des
évaluations
Introduction :
Ce chapitre présente un état de l'art sur l'adaptation des évaluations. Les limites des
évaluations classiques sont présentées ainsi que les solutions et avantages oerts par une
approche adaptative. L'adaptation constitue un vaste sujet de recherche en e-learning.
Nous donnerons un aperçu de quelques approches d'adaptation des évaluations proposés.
6
la précision de l'estimation du niveau de compétence obtenu.
Pour résoudre ces problèmes, l'adaptation des évaluations a été proposée. Cette adap-
tation des évaluations est un sujet de recherche assez vaste dans le domaine des sciences
de l'éducation et diérentes versions d'évaluations adaptatifs ont été proposées. Dans la
section suivante, quelques versions de tests adaptatifs en éducation seront présentées.
7
Ensuite, des questions avec le niveau de diculté approprié à l'âge mental sont don-
nées. Si toutes les questions avec le niveau de diculté approprié pour l'âge mental ne
sont pas réussies, alors des questions plus faciles appropriées pour un âge mental inférieur
sont données. Sinon, l'inverse est fait. Ceci permet d'obtenir les règles suivantes :
RÈGLES ACTIONS
La règle de départ Déterminer des questions dont le niveau de
diculté est approprié à l'âge mental de
l'enfant.
La règle de suite Déterminer des questions d'un niveau de
diculté supérieur jusqu'à ce qu'il échoue
dans toutes les questions de ce niveau.
Ensuite, inverser la procédure jusqu'à ce
qu'il ait réussi toutes les questions d'un
niveau de diculté inférieur.
La règle d'arrêt Arrêter le test lorsque l'âge mental prévu et
l'âge mental plafond ont été déterminés.
RÈGLES ACTIONS
La règle de départ Donner le même test à tous les étudiants.
La règle de suite Choisir le deuxième test selon le résultat
obtenu au test principal.
La règle d'arrêt Terminer le test lorsque la dernière question
du deuxième test a reçu une réponse.
8
Une question ayant un niveau de diculté moyen est placée au sommet de la
pyramide. A l'étage suivant, deux questions sont disponibles : l'une des questions à
un niveau de diculté légèrement supérieure au précédent, et l'autre à un niveau de
diculté légèrement inférieur. A chaque étage, deux questions supplémentaires sont
ajoutés : un plus dicile et l'autre plus facile. Le test commence par une question de
diculté moyenne. Une bonne réponse de l'étudiant mené à une question plus dicile.
Une mauvaise réponse, quant à elle, mené à une question moins dicile que la dernière
question proposée.
RÈGLES ACTIONS
La règle de départ Poser la même question de départ de niveau
de diculté moyen à tous les étudiants.
La règle de suite Si la réponse est bonne, la prochaine
question est plus dicile, sinon il est plus
facile que la dernière question proposé.
La règle d'arrêt Terminer le test lorsqu'un nombre xe de
questions a été passée.
9
un apprentissage adapté à un étudiant sans intervention humaine. Un STI est capable de :
Conclusion :
An de résoudre les problèmes des évaluations classiques, des eorts ont été fournis
pour proposer des évaluations adaptatifs. En informatique, même si l'adaptation a fait
l'objet de nombreuses recherches et implémentation, les travaux ont été principalement
orientés sur l'apprentissage.
10
Chapitre 3
Concepts Théoriques
Introduction :
Ce chapitre présente l'ensemble des terminologies et des concepts qui sont abordées
dans ce projet, à savoir l'intelligence articielle, l'apprentissage automatique et l'appren-
tissage par renforcement profond (Deep Reinforcement Learning).
11
données, tels que des classes d'individus présentant des caractéristiques communes
ou des anomalies.
3.2.1 Dénition
Un réseau de neurones ou Neural Network est une imitation simple du fonctionnement
du cerveau humain pour résoudre des problèmes de Machine Learning. Il s'agit d'une
variété de technologie Deep Learning, qui fait elle-même partie de la sous-catégorie
d'intelligence articielle et du Machine Learning.
Un réseau de neurones peut prendre des formes diérentes selon le type de données
qu'il traite et selon sa complexité et la méthode de traitement de données.
12
Les architectures de réseaux neuronaux peuvent être divisées en 3 grandes types :
Perceptron
3.2.2 Perceptron
Distinguons perceptron simple (les réseaux monocouches) et perceptron multicouche
(les réseaux multicouches) :
1) Perceptron simple :
Le perceptron simple est dit simple car il ne dispose que de deux couches : la
couche d'entrée et la couche de sortie. Le réseau est déclenché par la réception
d'informations en entrée. Le traitement des données se fait entre la couche d'entrée
et la couche de sortie qui sont interconnectées entre elles.
2) Perceptron Multicouche :
Le perceptron multicouche est mieux adapté pour traiter les types de fonctions
non-linéaires. Il se structure de la même façon que la perceptron monocouche. Mais
la diérence c'est que le perceptron multicouche dispose entre la couche d'entrée et
la couche de sortie une ou plusieurs couches cachées et le nombre de neurones de
chaque couche peut être diérent.
13
Figure 3.2.3 Perceptron multicouche
14
Figure 3.2.5 RNN
15
Agent : Le décideur à former (le modèle ou le système que nous souhaitons créer et
entraîner à l'aide de RL).
Environnement : L'environnement réel avec lequel l'agent interagit et apprendre les
actions à faire.
État : Il représente à tout moment la situation actuelle dans laquelle l'agent se retrouve,
Il pourrait y avoir un ensemble ni ou inni d'états.
Action : L'ensemble d'actions que l'agent entreprend pour interagir avec l'environne-
ment. Il pourrait y avoir un ensemble ni ou inni d'actions possibles.
Récompense : Le retour positif (le gain) ou négatif (la perte) que l'agent reçoit de
l'environnement à la suite de ses actions.
Politique : La stratégie suivie par l'agent pour décider quelle action choisir. C'est la
méthode qui représente une correspondance entre l'ensemble des états et l'ensemble
des actions possibles.
Q-Value : La fonction qui calcule la qualité de chaque combinaison état-action, et qui
est représenté par le retour estimé en partant d'un état particulier en suivant une
politique dénie.
Pour appliquer RL, la première étape consiste à structurer le problème comme un
Markov Decision Process (MDP).
Ce processus de sélection d'une action à partir d'un état donné, de transition vers
un nouvel état et de réception d'une récompense se produit séquentiellement encore
et encore, ce qui crée ce qu'on appelle une trajectoire qui montre la séquence d'états,
16
d'actions et de récompenses.
Les variables aléatoires Rt et St ont des distributions de probabilité bien dénies. Ces
distributions de probabilité dépendent de l'état précédent et de l'action qui s'est produite
dans le pas de temps précédent. Alors la probabilité de transitionnel vers l'état s' avec
récompense r après avoir eectué l'action a en l'état s'est donnée par :
Le retour :
Le retour est la récompense totale que l'agent accumule sur la durée d'une tâche.
17
Remarque : Les tâches avec épisodes (épisode : une séquence complète de l'état de
départ à l'état nal) sont appelées tâches épisodiques.
Lorsque nous calculons le retour, plutôt que de simplement additionner toutes les
récompenses, nous appliquons le taux d'actualisation y (un nombre entre 0 et 1) pour
actualiser les récompenses futures et déterminer la valeur actuelle des récompenses
futures.
La politique
La politique est La stratégie suivie par l'agent pour décider quelle action choisir dans
un état donné. C'est la méthode qui représente une correspondance entre l'ensemble des
états et l'ensemble des actions possibles.
Un agent peut utiliser de nombreuses stratégies diérentes pour choisir une action.
Par exemple :
Choisir toujours l'action suivante au hasard.
Prendre des risques et explorer de nouveaux états dans l'espoir de trouver une
meilleure voie.
Jouer toujours prudemment et éviter le risque d'une récompense négative.
Parmi toutes les politiques que l'agent pourrait suivre, il souhaite choisir la meilleure.
C'est-à-dire, celle qui lui donne le retour le plus élevé. Pour ce faire, l'agent doit comparer
deux politiques pour décider laquelle est la meilleure.
Value Function
Value Function est une fonction d'états, ou de paires état-action, qui estime à quel
point il est bon (le retour attendu) pour un agent d'être dans un état donné, ou à quel
point il est bon pour l'agent d'eectuer une action donnée dans un état donné.
Nous pouvons considérer Value comme une table de recherche qui mappe un état, ou
une paire état-action, à une valeur.
18
Figure 3.3.4 Une table Q
La mise à jour des valeurs de paires état-action dans une table Q se fait à l'aide de
l'équation de Bellman :
- Le retour : est le total de toutes les récompenses remises obtenues jusqu'à la n d'un
épisode.
- Value : est le retour moyen (c'est-à-dire le retour attendu) sur de nombreux épisodes.
La politique, dont la value function est plus élevée, est meilleure car cela signie qu'elle
produira des retours plus élevés. => la politique optimale
19
Figure 3.3.5 Q-Learning
Donc pour les premières actions c'est un peu bizarre avec toutes les valeurs qui
sont mise à zéro, comment l'agent va diérencier entre les actions et comment savoir la
meilleure a exécuté ?
Exploration VS Exploitation :
Par contre nous parlons de l'exploitation, lorsque le modèle est entièrement formé
et donc nous avons déjà exploré les actions possibles, an que nous puissions choisir les
meilleures actions qui donneront le retour maximal.
L'agent doit trouver le bon équilibre entre l'exploration et l'exploitation pour choisir
une action. Et pour cela il utilise la stratégie d'epsilon greedy.
Epsilon Greedy :
Avec epsilon greedy, l'agent utilise un taux d'exploration epsilon qu'il ajuste au
fur et à mesure que l'entraînement progresse pour assurer plus d'exploration dans les
premiers stades de l'entraînement et s'oriente vers plus d'exploitation dans les stades
ultérieurs.
Maintenant, chaque fois qu'il choisit une action dans chaque état, il sélectionne une
action aléatoire (c'est-à-dire explore) avec une probabilité . Puisque est plus élevé dans
20
les premiers stades, l'agent est plus susceptible d'explorer.
Cependant, dans un scénario du monde réel, le nombre d'états peut être énorme,
ce qui rend la création d'une table impossible. Pour remédier à cette limitation, nous
utilisons une fonction Q plutôt qu'une table Q, qui permet d'obtenir le même résultat de
mappage des paires d'état et d'action sur une valeur Q.
Les réseaux de neurones sont excellents pour modéliser des fonctions complexes. Donc
deep Q-Learning consiste principalement à construire et à entraîner un réseau de neurones
capable d'estimer la fonction Q.
21
Figure 3.3.8 Q-Table VS DQN
Architecture de DQN :
1. Experience Replay :
=> Il interagit avec l'environnement pour générer des données an de former le Q
Neural Network.
Il sélectionne une action Epsilon Greedy à partir de l'état actuel, l'exécute dans
l'environnement et récupère une récompense et l'état suivant. Et il enregistre cette
observation en tant qu'échantillon de données d'entraînement.
22
Figure 3.3.10 Experience Replay
2. Q Network :
3. Target Network :
23
Figure 3.3.12 Target Network
+ Initialisation :
+ Experience Replay :
24
Q Network prédit Q value de toutes les actions possible à partir de l'état actuel. Nous
utilisons ces Q values pour sélectionner une Epsilon Greedy action.
Il stocke les résultats dans la mémoire d'experience replay. Chacun de ces résultats
est un échantillon d'observation qui sera utilisé plus tard comme Training Data.
25
Figure 3.3.17 La mémoire d'Experience Replay
Suivons un seul batch d'échantillon, Q Network prédit les Q values pour toutes les
actions qui peuvent être prises à partir de l'état actuel.
26
+ Sélectionner Predicted Q Value :
Utiliser l'état suivant comme entrée pour prédire les Q Values pour toutes les actions.
Target Network sélectionne le maximum de toutes ces Q Values.
27
Figure 3.3.22 Target Q Value
+ Calculer le Loss :
Le loss est l'erreur quadratique moyenne (la diérence entre Target Q Value et Pre-
dicted Q Value).
28
calculé et la Back-propagation n'est pas eectuée.
Le traitement se répète pour le pas de temps suivant. Les poids du Q Network ont été
mises à jour mais pas celles du Target Network. Cela permet au Q Network d'apprendre
à prédire des Q Values plus précises, tandis que les Target Q Values restent xes pendant
un certain temps, de sorte que nous ne poursuivons pas une Target en mouvement.
29
Après T pas de temps, copier les poids du Q Network sur Target Network. Cela permet
au Target Network d'obtenir les poids améliorés an de pouvoir également prédire des Q
Values plus précises. Le traitement se poursuit comme avant.
=> Le DQN fonctionne de la même manière que Q Learning. Puisqu'il s'agit d'un
réseau de neurones, il utilise une fonction de Loss plutôt qu'une équation. Il utilise
également Predicted Q Value, Target Q Value et la récompense observée pour calculer
le Loss pour entraîner le réseau et ainsi améliorer ses prédictions.
Conclusion
Dans ce chapitre nous avons présenté l'ensemble des terminologies et des concepts qui
sont abordées dans ce projet et précisément une sous famille de Reinforcement Learning
se nommant le Deep Reinforcement Learning, qui combine l'utilisation de réseaux de
neurones et d'algorithmes classiques du Reinforcement Learning.
30
Chapitre 4
Réalisation du projet
Introduction :
Ce chapitre présentera la partie réalisation de la solution des quiz adaptatifs basée
sur le deep reinforcement learning ainsi que le langage de programmation utilisé, les
technologies et les diérentes bibliothèques employées.
31
Figure 4.1.2 Logo Django
Pytorch :
PyTorch est une bibliotheque Python open source qui s'appuie sur Torch développée
par Facebook. Il permet d'eectuer des calculs tensoriels optimisés pour le deep learning
en utilisant soit le processeur (CPU) soit le processeur graphique (GPU).
TensorForce :
NumPy :
32
Figure 4.1.5 Logo NumPy
Pickle :
Pickle en Python est principalement utilisé pour sérialiser et désérialiser une structure
d'objet Python . En d'autres termes, il s'agit du processus de conversion d'un objet
Python en un ux d'octets pour le stocker dans un chier/une base de données, maintenir
l'état du programme à travers les sessions ou transporter des données sur le réseau. Le
ux d'octets décapés peut être utilisé pour recréer la hiérarchie d'objets d'origine en
désactivant le ux. L'ensemble de ce processus est similaire à la sérialisation d'objets en
Java ou .Net
33
Figure 4.2.1 Importation des bibliothèques
Après avoir importé les bibliothèques nécessaires, nous passons à la dénition de toutes
les classes de notre modèle.
4.2.2 Environment :
La première classe de notre modèle est celle de l'environnement :
Nous avons utilisé TensorForce pour créer notre environnement personnalisé dans lequel
nous dénissons nos états, nos actions et quelques fonctions qui seront détaillées dans ce
qui suit.
34
- La fonction done ( ) : Elle détermine si l'agent atteint l'état terminale ou non.
- La fonction reward ( ) : Elle dénit les récompenses que l'agent reçoit à la suite de
ses actions. (1 pour la récompense positive et 0 pour la négative.)
- La fonction execute ( ) : Elle traite l'action choisie par l'agent et collecte le nouvel
état, la récompense et si l'agent a atteint l'état terminal ou non.
35
Figure 4.2.4 La fonction reward()
- La classe Transition sera utilisée pour créer des instances des transitions qui
seront stockes et échantillonnés à partir de la mémoire d'Experience Replay.
4.2.4 DQN :
Dans ce projet, le modèle DQN est un réseau de neurones dont la couche d'entrée est
le vecteur d'état et chaque neurone de la couche de sortie correspond à action-value pour
une action Q(s, a). Il y a deux fonctions principales dans la classe DQN :
36
Figure 4.2.5 La fonction reward()
- La deuxième est la fonction forward qu'est nécessaire pour tous les réseaux de
neurones de Pytorch.
4.2.5 Agent :
Dans la classe Agent nous avons instancie notre modèle DQN et son optimiseur et
dénit les fonctions d'interactions avec l'environnement à savoir :
- La fonction qui sélectionne un batch aléatoire de transitions pour mettre à jour les
poids de notre réseau de neurones DQN.
- et d'autres ...
37
Figure 4.2.6 La fonction reward()
38
Conclusion :
Dans ce chapitre nous avons présenté les outils et les diérentes bibliothèques em-
ployées, décrit la solution des tests adaptatifs basée sur le Deep Q-Learning.
39
Conclusion Générale et Perspectives
Le présent rapport synthétise le projet de n d'études qu'a été réalisé au sein
de BRAINY SOFTWARE. Il a été une grande opportunité pour découvrir l'un des
domaines les plus importants de l'Intelligence Articielle, à savoir l'Apprentissage par
Renforcement et également de renforcer mes connaissances techniques et théoriques
relatives à la Data Science.
Le but de ce projet était d'innover un système des quiz adaptatifs qui ajuste le niveau
de diculté des questions présentées aux étudiants en fonction de leurs réponses aux
questions précédentes. Pour ce faire, nous avons commencé par eectuée des recherches
sur les notions et les concepts clés liés au projet et nous sommes principalement
appuyés sur les techniques de l'Intelligence Articielle précisément l'Apprentissage par
Renforcement et le Deep Q-Learning.
Par la suite, nous avons développé un modèle Deep Q-Learning pour les quiz adap-
tatifs, qui nécessite des expériences et des données de transitions réelles et susamment
grandes pour trouver une bonne approximation de la fonction action-value, sur la base
de laquelle la politique est ensuite dérivée.
40
Bibliographie
[1] (M. Boussakuk, 2018). Vers une luation adaptative, individualist itable (Universitdi
Mohammed Ben Abdellah).
[3] (Aur et Hage, 2005). Exam Question Recommender System. Proceedings AIED
(Articial Intelligence for EDucation).
[4] (de Gruijter, 1980). A two-stage testing procedure. Psychometries for educational
debates. New York : John Wiley and Sons.
[6] (Weiss, 1982). Improving measurement and eciency with adaptive testing quality.
Applied Psychological Measurement.
[8] Domoscio, leader frans de l ?Adaptive Learning. (s. d.). https ://domoscio.com/fr/.
https ://domoscio.com/fr/
[9] Knewton Adaptive Learning Building the worlds most powerful education recom-
mendation engine. (s. d.). http ://www.lmi.ub.edu.
41
[11] https ://towardsdatascience.com/reinforcement-learning-explained-visually-part-5-
deep-q-networks-step-by-step-5a5317197f4b
[12] analyticsindiamag.com/guide-to-tensorforce-a-tensorow-based-reinforcement-
learning-framework/
[13] (Chen, Y., Li, X., Liu, J., and Ying, Z. , 2018). Recommendation system for
adaptive learning. Applied Psychological Measurement.
[14] (Wenger, 1987). Articial intelligence and tutoring systems : Computational and
cognitive approaches to the communication of knowledge : Morgan Kaufman Press.
[15] (Devendra C., Eunhee R., Jihie K. , 2016).Personalized Adaptive Learning using
Neural Networks.
42