44 0 2MB
Université Mohammed V de Rabat Faculté des Sciences
Département d'Informatique
Master in Intelligent Processing Systems (Traitement Intelligent des Systèmes)
Mémoire de Fin d'études intitulé :
Quiz Adaptatif basé sur le Deep Reinforcement Learning Présenté par :
Meryem BAZIN Soutenu le xx Octobre 2021 devant le Jury :
M. Abdellah IDRISSI
Professeur à la FS - Rabat
Mme. Manar ABOUREZQ
Professeur à la FS - Rabat
Mme Prénom Nom
Professeur à la FS - Rabat
Année universitaire 2020-2021
Président Encadrante Examinateur
Remerciements Je remercie en premier lieu Allah de m'avoir donné le courage et la volonté de mener à terme ce présent travail. J'adresse mes vifs remerciements à mon encadrante pédagogique Mme. Manar , pour son encadrement, son soutien et sa disponibilité ainsi que ses conseils, qui ont très précieux pour mener à bien ce travail. ABOUREZQ
Je tiens également à remercier mon tuteur M. Mohammed BERRADA, pour son orientation, ses précieux conseils et sa collaboration dans l'accomplissement de ce modeste travail. Je remercie également toute l'équipe de BRAINY SOFTWARE pour leur coopération, l'accueil chaleureux qu'ils m'ont oert durant mon stage, et l'esprit d'équipe qui m'a aidée à s'adapter rapidement et passer un stage riche en expérience. Je désire exprimer mes sincères remerciements à l'ensemble du corps professoral du Laboratoire de recherche IPSS de la faculté des sciences de Rabat, en particulier M. Abdellah IDRISSI le coordinateur de notre Master IPS et les membres de jury d'avoir acceptès de juger ce travail. 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é. Par conséquent, considérer la personnalisation et l'interactivité augmentera la qualité de l'apprentissage. D'un autre côté, parmi les nombreuses composantes de l'apprentissage en ligne, l'évaluation est une partie importante (e-Testing). Généralement, le processus d'enseignement se termine par l'évaluation et elle est utilisée pour évaluer l'ecacité d'apprentissage, les compétences et les connaissances des apprenants. Mais dans les systèmes d'apprentissage en ligne, on accorde moins d'attention à l'évaluation adaptatif et personnalisée. Ayant considéré l'importance des évaluations, ce projet eectué au sein de BRAINY SOFTWARE vise à construire un système d'apprentissage intelligent qui garantit des quiz adaptatifs qui ajustent le niveau de diculté des questions présentées à l'apprenants en fonction du résultat obtenu au quiz précédent en mettant à prot des techniques d'intelligence articielle et d'apprentissage par renforcement.
Mots clés : Quiz Adaptatif, Intelligence Articielle, Apprentissage par renforcement, Apprentissage Q profond, Réseaux de neurones
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. Therefore, considering personalization and interactivity will increase the quality of learning. In the other side, among the many components of e-learning, assessment is an important part (e-Testing). Generally, the process of instruction completes with the assessment and it is used to evaluate learning eciency, skills and knowledge of learners. But in e-learning systems there is less attention on adaptive and personalized assessment. 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.
Keywords : Adaptive Quiz, Articial Intelligence, Reinforcement Learning, Deep
Q-Learning, Neural Networks
iii
Liste des abréviations IA
: Intelligence Articielle
ML
DL
NN
: Machine Learning : Deep Learning : Neural Network
ANN
: Articiel Neural Network
CNN
: Convolutional Neural Network
RNN
: recurrent neural network
RL
: Reinforcement Learning
DRL
: Deep Reinforcement Learning
DQL
: Deep Q-Learning
DQN
: Deep Q-Network
MDP
: Marcov Decesion Processes
AL
STI
: Adaptive Learning : Systs Tutoriels Intelligents
AIWES
AIED
: Adaptive and Intelligent Web-Based Educational Systems
: Articial Intelligence for EDucation
iv
Table des gures 1.1.1 Logo de BRAINY SOFTWARE . 1.1.2 Historique du BRAINY . . . . . . 1.1.3 Organigramme de BRAINY . . . 1.2.1 La platforme e-learning BRAINY 1.3.1 Cycle de vie Scrum . . . . . . . . 1.3.2 Diagramme de Gantt . . . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
1 1 2 3 4 5
3.2.1 Architecture d'un réseau neuronne . 3.2.2 Perceptron simple . . . . . . . . . . 3.2.3 Perceptron multicouche . . . . . . . 3.2.4 CNN . . . . . . . . . . . . . . . . . 3.2.5 RNN . . . . . . . . . . . . . . . . . 3.3.1 Fonctionnement d'un modèle de RL 3.3.2 Une trajectoire . . . . . . . . . . . 3.3.3 Tâches épisodiques . . . . . . . . . 3.3.4 Une table Q . . . . . . . . . . . . . 3.3.5 Q-Learning . . . . . . . . . . . . . 3.3.6 Méthode d'E-greedy . . . . . . . . 3.3.7 La fonction Q . . . . . . . . . . . . 3.3.8 Q-Table VS DQN . . . . . . . . . . 3.3.9 Architecture de DQN . . . . . . . . 3.3.10Experience Replay . . . . . . . . . 3.3.11Q Network . . . . . . . . . . . . . . 3.3.12Target Network . . . . . . . . . . . 3.3.13Interaction Agent Environnement . 3.3.14Initialisation des poids . . . . . . . 3.3.15Sélection d'Epsilon Greedy action . 3.3.16Etat et Récompense . . . . . . . . 3.3.17La mémoire d'Experience Replay . 3.3.18Batch d'entrainement . . . . . . . . 3.3.19L'entrée de Q Network . . . . . . . 3.3.20Predicted Q Value . . . . . . . . . 3.3.21L'entrée de Target Network . . . . 3.3.22Target Q Value . . . . . . . . . . . 3.3.23Calcule du Loss . . . . . . . . . . . 3.3.24Back-propagation . . . . . . . . . . 3.3.25Mise à jour des poids de QN . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12 13 14 14 15 15 16 17 19 20 21 21 22 22 23 23 24 24 24 25 25 26 26 26 27 27 28 28 29 29
v
3.3.26Mise à jour des poids de Target Network . . . . . . . . . . . . . . . . . .
30
4.1.1 Logo Python . . . . . . . . . . . . . . . . . 4.1.2 Logo Django . . . . . . . . . . . . . . . . . . 4.1.3 Logo Pytorch . . . . . . . . . . . . . . . . . 4.1.4 TensorForce . . . . . . . . . . . . . . . . . . 4.1.5 Logo NumPy . . . . . . . . . . . . . . . . . 4.2.1 Importation des bibliothèques . . . . . . . . 4.2.2 Classe d'environnement . . . . . . . . . . . . 4.2.3 La fonction reward() . . . . . . . . . . . . . 4.2.4 La fonction reward() . . . . . . . . . . . . . 4.2.5 La fonction reward() . . . . . . . . . . . . . 4.2.6 La fonction reward() . . . . . . . . . . . . . 4.3.1 Algorithme de DQL pour les quiz adaptatifs
31 32 32 32 33 34 34 35 36 37 38 38
vi
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
Liste des tableaux 1.1 Fiche d'identité de Brainy . . . . . . . . . . . . . . . . . . . . . . . . . .
2
2.1 Déroulement d'un test de Binet-Simon . . . . . . . . . . . . . . . . . . . 2.2 Déroulement d'un test à deux étapes . . . . . . . . . . . . . . . . . . . . 2.3 Déroulement d'un test pyramidal . . . . . . . . . . . . . . . . . . . . . .
8 8 9
vii
Table des matières Remerciements
i
Résumé
ii
Abstract
iii
Liste des abréviations
iv
Introduction
x
1
Contexte général du projet
1
2
Etat de l'art sur l'adaptation des évaluations
2.1 Les limites des évaluations classiques . . . . . . . . . . . . . . . . . . . . 2.2 Propositions des évaluations adaptatifs . . . . . . . . . . . . . . . . . . . 2.2.1 Test de Binet-Simon . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.2 Test à deux étapes . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.3 Test pyramidal . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3 STI et AIWBES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3.1 Systèmes Tutoriels Intelligents (STI) . . . . . . . . . . . . . . . . 2.3.2 Adaptive and Intelligent Web-Based Educational Systems (AIWBES)
6 7 7 8 8 9 9 10
3
Concepts Théoriques
11
1.1 Présentation de l'organisme d'accueil . . . . . . . 1.1.1 Description de BRAINY SOFTWARE . . 1.1.2 Organigramme . . . . . . . . . . . . . . . 1.1.3 Fiche d'identité de BRAINY SOFTWARE 1.2 Présentation du projet . . . . . . . . . . . . . . . 1.2.1 Problématique . . . . . . . . . . . . . . . . 1.2.2 Objectifs de la recherche . . . . . . . . . . 1.2.3 Méthodologie de la recherche . . . . . . . 1.3 Conduite et planication du Projet . . . . . . . . 1.3.1 Gestion de projet : SCRUM . . . . . . . . 1.3.2 La planication du projet . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
3.1 Intelligence Articielle . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2 Réseaux de Neurones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.1 Dénition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viii
1 1 2 2 2 2 3 3 4 4 5
6
11 12 12
3.2.2 Perceptron . . . . . . . . . . . . . . . . . . . 3.2.3 Réseau de Neurone convolutif (CNN) . . . . 3.2.4 Réseau de Neurones récurrent (RNN) . . . . 3.3 Apprentissage par renforcement . . . . . . . . . . . 3.3.1 Markov Decision Process . . . . . . . . . . . 3.3.2 Choix de l'action : Retour, Politique, Value . 3.3.3 L'algorithme Q-Learning . . . . . . . . . . . 3.3.4 L'algorithme Deep Q-Learning (DQN) . . . 4
Réalisation du projet
4.1 Technologies utilisée . . . . . . . . . . . . . . 4.1.1 Langage de programmation : Python . 4.1.2 Framework Django . . . . . . . . . . . 4.1.3 Bibliothèques utilisées . . . . . . . . . 4.2 Description du modèle . . . . . . . . . . . . . 4.2.1 Importation des bibliothèques . . . . . 4.2.2 Environment : . . . . . . . . . . . . . . 4.2.3 Replay Memory : . . . . . . . . . . . . 4.2.4 DQN : . . . . . . . . . . . . . . . . . . 4.2.5 Agent : . . . . . . . . . . . . . . . . . . 4.2.6 La fonction d'entrainement : . . . . . . 4.3 Algorithme de DRL pour les Quiz Adaptatifs .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
13 14 14 15 16 17 19 21 31
31 31 31 32 33 33 34 35 36 37 37 38
Conclusion Générale et Perspectives
40
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. En particulier, l'apprentissage soutenu par les technologies de l'information est devenu le moyen standard et attendu d'orir une éducation. Le Web semble être l'un des médias les plus ecaces pour apprendre, si l'on parvient à dépasser l'approche traditionnelle et à fournir aux apprenants un contenu pédagogique adapté à leurs besoins individuels et compétences actuelles. En plus d'accéder à tout moment et n'importe où, l'apprentissage en ligne apporte un autre avantage substantiel par rapport aux méthodes traditionnelles d'enseignement utilisant des livres et d'autres documents : l'interactivité sous forme d'exercices et de questions. L'apprentissage n'a pas besoin d'être simplement une lecture passive du matériel, mais peut être une approche mixte, composée de questions choisies de manière appropriée par le système d'apprentissage. 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. Ce projet vise à construire un système d'apprentissage adaptatif, où un quiz est assigné à l'apprenant une fois qu'il a terminé le matériel d'apprentissage et d'après le résultat obtenu notre modèle de Deep Q-Learning ajuste le niveau de diculté des questions présentées à l'apprenant. Ce processus se répète jusqu'à ce que l'apprenant atteigne le niveau souhaité. Ainsi, l'organisation de ce rapport est la suivante : Le premier chapitre dénit le contexte général du projet, à savoir la présentation de l'organisme d'accueil, la description du projet et ses objectifs, la méthodologie et le 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 langage 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 Présentation de l'organisme d'accueil
Figure 1.1.1
Logo de BRAINY SOFTWARE
1.1.1 Description de BRAINY SOFTWARE est fondée par trois entrepreneurs, BRAINY s'attaque à plusieurs problèmes d'apprentissage fondamentaux associant Intelligence Articielle, Machine Learning ainsi que la Data science. BRAINY est également incubé à l'UM6P. BRAINY SOFTWARE
Figure 1.1.2
Historique du BRAINY 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 :
Figure 1.1.3
Organigramme de BRAINY
1.1.3 Fiche d'identité de BRAINY SOFTWARE La che d'identité de la société est présentée ci-dessous : Nom Forme juridique Siège social
Directeur Générale
BRAINY SOFTWARE SARL Tour Crystal 1, 10eme Etage Bd des Almohades, Casa Marina Business Center, Casablanca Maroc NFISSI Adil
- Gérant Création Téléphone Fax Type Activités
Table 1.1
Août 2020 05 22 64 16 23 - 06 61 87 94 05 05 22 64 16 01 Informatique (Études, Services, Conseils, Formation) Fiche d'identité de Brainy
1.2 Présentation du projet 1.2.1 Problématique Brainy est une plateforme d'apprentissage en ligne pour les lycéens qui combine la technologie et la pédagogie pour orir aux étudiants un parcours d'apprentissage adapté à leur prol. 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 traditionnel 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.
1.2.2 Objectifs de la recherche Les diérents objectifs de recherche de ce projet se résument dans trois objectifs : • Comprendre le concept de l'apprentissage adaptatif et de test adaptatif. • L'étude de l'état de l'art sur l'adaptation des évaluations et sur l'utilisation de
l'intelligence articielle dans le domaine de l'éducation, et très précisément dans les évaluations adaptatifs.
• Réalisation et mise en service d'une solution intelligente de quiz adaptatif basée sur
les algorithmes de l'apprentissage automatique.
1.2.3 Méthodologie de la recherche Après la dénition des objectifs de recherche, et pour mener à bien cette étude, nous avons déni la méthodologie de recherche à suivre an d'atteindre nos objectifs, cette méthodologie s'appuie sur deux méthodes : 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 devions 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.
1.3 Conduite et planication du Projet Dans cette section, je vais présenter la méthode suivie pour la gestion du projet, le cycle de développement et la planication du projet.
1.3.1 Gestion de projet : SCRUM La nature du projet qui doit être évolutif et pour lequel tous les besoins ne sont pas encore totalement dénis, nous a orientés vers une méthode de type Agile et plus particulièrement la méthode SCRUM. La méthodologie SCRUM s'appuie sur la subdivision d'un projet en un ensemble de grandes tâches à réaliser, nommées sprints. Les sprints peuvent durer généralement entre 2 à 4 semaines. Durant un sprint, des réunions seront réalisées entre les déférents collaborateurs du projet pour présenter l'état d'avancement, les dicultés rencontrées ainsi que les tâches restantes à réaliser. Cette technique améliore la productivité, assure une meilleure cohésion d'équipe et l'adaptation aux changements.
Figure 1.3.1
Cycle de vie Scrum 4
1.3.2 La planication du projet
Figure 1.3.2
Diagramme de Gantt
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.
2.1 Les limites des évaluations classiques Dans les évaluations classiques, la même méthode d'évaluation est utilisée pour tous les étudiants. Dans le cas d'un examen, cette méthode d'évaluation est composée d'un nombre xe de questions avec diérents niveaux de diculté et la durée de l'examen est xe et prédéterminé. La note qui correspond à la somme des scores obtenus pour chacune des questions est généralement utilisée comme mesure du niveau de compétence. Ce format d'évaluation classique couvre la plupart des évaluations actuelles, mais il a beaucoup de limites et pose divers problèmes (Wainer, 2000). Parmi ces problèmes, on mentionne : Inadéquation de certaines questions d'évaluation pour certains étudiants :
En eet, le niveau de diculté des questions auxquels certains étudiants doivent répondre ne correspond pas au niveau de leur compétence. C'est-à-dire que l'étudiant peut rencontrer des questions trop faciles ou trop diciles pour lui. Le premier cas ne relève aucun dé, ce qui lui laisse l'impression de perdre son temps, et cela peut se traduire par des réponses erronées de la part de l'étudiant car il ne se concentre pas sur ce qui lui semble sans intérêt. Dans le deuxième cas, lorsque les questions sont trop diciles, l'étudiant peut se décourager au point de ne pas terminer le test. Alors, que les questions soient trop faciles ou trop diciles, un manque de motivation de la part de l'étudiant peut se produire avec un impact probable sur 6
la précision de l'estimation du niveau de compétence obtenu. Les étudiants peuvent tenter de masquer leur vrai niveau dans des évaluations de classement pour diverses raisons (par exemple, être classé à un bas niveau an de réussir un cours facilement). Donc, l'analyse des réponses est importante pour s'assurer que les réponses fournies reètent le vrai niveau de l'étudiant.
Incapacité à détecter les réponses aberrantes :
Puisque tous les étudiants reçoivent la même épreuve avec la même séquence de questions, il est plus facile de plagier au moment de l'épreuve.
La facilité de faire du plagiat :
Pour résoudre ces problèmes, l'adaptation des évaluations a été proposée. Cette adaptation 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.
2.2 Propositions des évaluations adaptatifs Selon (Raîche, 2000), il existe un point commun à tous les tests, qu'ils soient classiques ou adaptatifs, c'est qu'ils peuvent être décrits par des règles composé de trois éléments : - Le premier élément concerne la détermination de la première question présentée à l'apprenant : la règle de départ du test. - Le deuxième élément concerne la détermination de la question qui suivra une question donnée durant le test : la règle de suite. - Le dernier élément consiste à déterminer les conditions d'arrêt du test : d'arrêt.
la règle
Parmi les tests adaptatifs en éducation, y a le test de Binet-Simon, le test en deux étapes et le test pyramidal.
2.2.1 Test de Binet-Simon En général, les premiers principes de l'application des tests adaptatifs en éducation sont attribués à Binet et à ses collègues au début du XXe siècle, lors du développement des tests d'intelligence (QI) chez les enfants (Weiss, 1982). Au départ, l'administrateur détermine l'âge mental du sujet à évaluer sur la base d'informations préalables telles que le groupe d'appartenance, l'âge chronologique, etc. 7
Ensuite, des questions avec le niveau de diculté approprié à l'âge mental sont donné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
La règle de suite
La règle d'arrêt
Table 2.1
Déterminer des questions dont le niveau de diculté est approprié à l'âge mental de l'enfant. 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. Arrêter le test lorsque l'âge mental prévu et l'âge mental plafond ont été déterminés.
Déroulement d'un test de Binet-Simon
2.2.2 Test à deux étapes Un test à deux étapes (two-stages test) commence par un test d'orientation, qui est le même pour tous les étudiants. Cela fournira une première idée sur le niveau de compétence. Par rapport au résultat obtenu dans ce test d'orientation, un deuxième test est choisi parmi plusieurs possibilités et administré an d'augmenter la précision des résultats obtenus au premier test (de Gruijter, 1980). Les règles obtenues sont : RÈGLES
ACTIONS
La règle de départ La règle de suite
La règle d'arrêt
Table 2.2
Donner le même test à tous les étudiants. Choisir le deuxième test selon le résultat obtenu au test principal. Terminer le test lorsque la dernière question du deuxième test a reçu une réponse.
Déroulement d'un test à deux étapes
2.2.3 Test pyramidal Il s'agit d'un test composé d'un ensemble de questions ordonnées par niveau de diculté dans une structure similaire à une pyramide. 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. Les règles obtenues sont : RÈGLES
ACTIONS
La règle de départ
La règle de suite
La règle d'arrêt
Table 2.3
Poser la même question de départ de niveau de diculté moyen à tous les étudiants. Si la réponse est bonne, la prochaine question est plus dicile, sinon il est plus facile que la dernière question proposé. Terminer le test lorsqu'un nombre xe de questions a été passée. Déroulement d'un test pyramidal
2.3 STI et AIWBES En informatique, parmi les systèmes d'apprentissage adaptatif qui sont proposées, on peut citer les systèmes hypermédias adaptatifs, les systèmes adaptatifs selon le prol culturel, etc. D'autres modèles plus avancés se sont ajoutés à ces modèles, basés sur l'application des techniques d'intelligence articielle en éducation et sont connus sous l'acronyme AIED (Articial Intelligence for EDucation). Comme exemple de ces approches, il y a les Systèmes Tutoriels Intelligents (STI) et Adaptive and Intelligent Web-Based Educational Systems (AIWBES).
2.3.1 Systèmes Tutoriels Intelligents (STI) Les STI sont des systèmes orant un apprentissage et un encadrement personnalisés. Ils contiennent des modèles de contenu d'apprentissage (Content Model) qui spécient quoi enseigner en utilisant des bases de connaissances ainsi que des stratégies d'enseignement (Instructional Model) qui spécient comment enseigner (Wenger, 1987). Ils font des inférences sur le matériel d'apprentissage et les activités qui doivent être réalisées par un étudiant an d'adapter dynamiquement le contenu ou le style d'apprentissage proposé. Dans ce sens, les STI dièrent des systèmes informatiques classiques d'apprentissage ou d'évaluation dans le sens qu'ils connaissent le matériel à enseigner, comment l'enseigner et comment acquérir des informations pertinentes sur l'étudiant. Par l'interaction entre toutes ces composantes, les STI permettent de fournir 9
un apprentissage adapté à un étudiant sans intervention humaine. Un STI est capable de : Diagnostiquer les connaissances et les compétences de l'étudiant en s'appuyant sur
des principes plutôt que de réponses préprogrammées.
Déterminer la prochaine tâche à eectuer. Adapter le contenu d'apprentissage ou d'évaluation aux compétences de l'étudiant.
une rétroaction appropriée aux étudiants.
. . . etc.
2.3.2 Adaptive and Intelligent Web-Based Educational Systems (AIWBES) Les AIWBES (Adaptive and Intelligent Web-Based Educational Systems) sont des plates-formes web adaptatives qui ont un modèle de l'étudiant qui dénit les objectifs à atteindre, les préférences et les connaissances de chaque étudiant. Ils utilisent ce modèle dans toute interaction avec l'étudiant, pour s'adapter aux besoins particuliers de chaque étudiant. Ces systèmes tentent également d'être plus intelligents en eectuant quelques taches traditionnellement eectuées par un tuteur humain telles que recommander des cours ou des séries d'exercices à des étudiants ou eectuer des diagnostics (Brusilovsky et Peylo, 2003). Les AIWBES se trouvent à l'intersection des systèmes hypermédias adaptatifs et des Systèmes Tutoriels Intelligents (STI). Les hypermédias adaptatifs orent la possibilité de présenter diérentes interfaces, systèmes de navigation, contenus pour chaque étudiant selon le modèle d'étudiant. Par contre, les STI utilisent plutôt des techniques de l'intelligence articielle.
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. L'adaptation devient clairement une préoccupation. Plusieurs propositions et tentatives d'implémentations ont été eectuées. Dans notre projet nous allons intégrer les connaissances acquises en termes d'adaptation des évaluations en éducation au système d'apprentissage en ligne Brainy.
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'apprentissage par renforcement profond (Deep Reinforcement Learning).
3.1 Intelligence Articielle L'Intelligence Articielle (IA) est dénie comme un ensemble des théories et des techniques mises en ÷uvre pour permettre aux machines d'imiter une forme d'intelligence réelle. Et l'IA ne correspond pas à un domaine limité, mais plutôt à un grand nombre de domaines d'application. Ainsi, l'apprentissage automatique correspond à un sous domaine de l'IA, car il permet aux machines d'apprendre par elles même de façon à pouvoir résoudre des tâches qui étaient préalablement résolues uniquement par l'humain. Le Deep Learning quant à lui, est un sous-domaine de l'apprentissage automatique : il est utilisé pour le traitement d'images, la reconnaissance vocale, et la génération de texte, d'image. . . en utilisant des réseaux de neurones qui sont inspirée du fonctionnement des neurones biologiques du cerveau humain. Enn, l'apprentissage automatique se divise en trois catégories distinctes : Supervised Learning (apprentissage supervisé), qui consiste à utiliser des données
étiquetées, an de permettre au modèle d'apprendre une fonction de prédiction, qui va permettre soit de classier des données dans des catégories (tels que la détermination de l'espèce d'une plante à partir de ses caractéristiques), soit d'eectuer une régression (tels que la prédiction du prix d'une maison par exemple).
Unsupervised Learning (apprentissage non supervisé), qui consiste à utiliser des
données non étiquetées, et dont le but est de détecter des modèles cachés dans les 11
données, tels que des classes d'individus présentant des caractéristiques communes ou des anomalies. Reinforcement Learning (apprentissage par renforcement), que l'on notera RL par
la suite, représente une classe d'algorithmes de Machine Learning qui permet un apprentissage sans la nécessité de données et qui rassemble des entrées et reçoit des récompenses en interagissant avec le monde extérieur. Il génère les meilleures actions qu'il doit entreprendre tout en interagissant avec ce monde.
Nous nous intéressons lors de ce projet en priorité au l'apprentissage par renforcement, précisément a une sous famille de ce dernier se nommant l'apprentissage par renforcement profond, qui combine l'utilisation de réseaux de neurones et d'algorithmes classiques d'apprentissage par renforcement.
3.2 Réseaux de Neurones Avant d'aborder sur l'apprentissage par renforcement et ses algorithme venons voir ce que c'est un réseau de neurones et ses diérents types :
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.
Figure 3.2.1
Architecture d'un réseau neuronne
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 Réseaux de neurones convolutifs (CNN) Réseaux de neurones récurrents (RNN)
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.
Figure 3.2.2
2)
Perceptron Multicouche
Perceptron simple
:
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
3.2.3 Réseau de Neurone convolutif (CNN) Pour le traitement de données complexes et très variées, il est possible de créer plusieurs réseaux de neurones distincts, chacun dédié au traitement d'une partie des données. Ces réseaux de neurones sont appelés réseaux de neurones convolutifs (CNN). Ils sont de plus en plus utilisés dans diérents domaines : reconnaissance faciale, numérisation de texte, traitement naturel du langage, etc.
Figure 3.2.4
CNN
3.2.4 Réseau de Neurones récurrent (RNN) Un Réseau de neurones récurrent se compose d'une ou plusieurs couches, sa force réside dans leur capacité à prendre en compte des données contextuelles suite à la récurrence du traitement d'une même donnée. Les réseaux de neurones récurrents multicouches revendiquent la particularité d'avoir des couples (entrée/sortie) tels que des perceptrons entre lesquels les données véhiculent à la fois en Back-propagation et en Retro-propagation. 14
Figure 3.2.5
RNN
3.3 Apprentissage par renforcement L'Apprentissage par renforcement (RL) est le type d'apprentissage qui se rapproche le plus de la façon dont les humains apprennent, il se centre sur l'apprentissage par l'expérience et l'apprentissage en continu par des liaisons à sens unique. RL se concentre sur comment un agent peut agir dans un environnement et apprendre les actions à faire et à ne pas faire an de maximiser la récompense dans le temps. Cela se ressemble à la façon dont se déroule la vie d'un individu. Nous sommes tous des agents exposés à cet environnement appelé univers. La vie est une transition d'un état à un autre, de la naissance à la mort. Fondamentalement, les décisions que nous prenons dans nos vies sont similaires aux actions qu'un agent eectue dans un état. Plutôt que les problèmes typiques de ML tels que la classication, la régression, le clustering, ..., RL est souvent utilisé pour résoudre une classe diérente de problèmes du monde réel, comme une tâche de contrôle ou une tâche de décision, où l'exploitation d'un système qui interagit avec le monde réel. La gure ci-dessous représente le fonctionnement d'un modèle de RL.
Figure 3.3.1
Fonctionnement d'un modèle de RL
Les éléments d'un modèle de RL sont les suivants : 15
Le décideur à former (le modèle ou le système que nous souhaitons créer et entraîner à l'aide de RL).
Agent :
L'environnement réel avec lequel l'agent interagit et apprendre les actions à faire.
Environnement :
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.
État :
L'ensemble d'actions que l'agent entreprend pour interagir avec l'environnement. Il pourrait y avoir un ensemble ni ou inni d'actions possibles.
Action :
Le retour positif (le gain) ou négatif (la perte) que l'agent reçoit de l'environnement à la suite de ses actions.
Récompense :
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.
Politique :
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.
Q-Value :
Pour appliquer RL, la première étape consiste à structurer le problème comme un Markov Decision Process (MDP).
3.3.1 Markov Decision Process Markov Decision Process (MDP) nous donne un moyen de formaliser les problèmes de RL. Un MDP consiste en un ensemble d'états S, un ensemble d'actions possibles A(s) dans chaque état, une fonction de récompense R(s) et un modèle de transition P(s', s | a).
Figure 3.3.2
Une trajectoire
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. Tout au long de ce processus, l'objectif de l'agent est de maximiser le montant total des récompenses qu'il reçoit en prenant des mesures dans des états donnés. Cela signie que l'agent souhaite maximiser non seulement la récompense immédiate, mais également les récompenses cumulatives qu'il reçoit au l du temps. Plus précisément, à chaque pas de temps t = 0, 1, 2, 3. . ., l'agent obtient l'état St de l'environnement à l'instant t. En fonction de cet état, l'agent sélectionne une action At. A l'instant suivant t+1, l'environnement passe à un nouvel état St+1 et reçoit également une récompense Rt+1. Cela donne donc lieu à une trajectoire d'occurrences sur une séquence de pas de temps comme S0, A0, R1, S1, A1 , R2 . . . 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 :
p(s0 , r|s, a) = P St = s0 , Rt = r|St − 1 = s, At − 1 = a
(3.3.1)
3.3.2 Choix de l'action : Retour, Politique, Value Pour que l'agent décide quelle action choisir dans un état donné, il utilise trois concepts : Retour, Politique, Value Function.
Le retour :
Le retour est la récompense totale que l'agent accumule sur la durée d'une tâche.
Figure 3.3.3
Tâches épisodiques 17
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. Remarque :
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. Avec cela, nous dénissons le retour comme : Gt = Rt+1 + y Rt+2 + y2 Rt+3 + y3 Rt+4 + . . . = Rt+1 + y Gt+1 => Le but de l'agent est d'obtenir le retour max, pas seulement sur un épisode, mais sur de très nombreux épisodes. 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. Choisir toujours le prochain état qui donne la récompense la plus élevée. 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. Pour cela, nous devons comprendre la notion de value. 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 : Q(S, A) = Q(S, A) + a(R + y.maxQ(S 0 , A0 )˘Q(S, A))
(3.3.2)
Récompense vs rendement vs value : - La récompense :
- Le retour :
épisode.
- Value :
est la récompense immédiate obtenue pour une seule action.
est le total de toutes les récompenses remises obtenues jusqu'à la n d'un
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
3.3.3 L'algorithme Q-Learning L'algorithme Q-Learning consiste à apprendre une Q-table ("Q" étant pour la qualité). Cette Q-table a une ligne pour chaque état et une colonne pour chaque action. Chaque cellule contient la valeur Q (le retour attendu) estimée pour la paire état-action correspondante. 19
Figure 3.3.5
Q-Learning
L'objectif du Q-learning est de trouver la politique optimale en apprenant les valeurs Q optimales pour chaque paire état-action. On commence par l'initialisation de toutes les valeurs Q à zéro. Au fur et à mesure que l'agent interagit avec l'environnement et obtient des récompenses, l'algorithme améliore d'une manière itérative ces valeurs Q, jusqu'à ce qu'elles convergent vers les valeurs Q optimales. Il les met à jour à l'aide de l'équation de Bellman. 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é ? Pour cela, nous devons comprendre le concept d'exploration et d'exploitation. Exploration VS Exploitation :
est un concept de l'apprentissage permettant d'essayer au hasard diérentes actions et observons les récompenses. L'exploration
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. On commence par l'initialisation epsilon par 1. Ensuite, au début de chaque épisode, nous décroissons epsilon d'un certain taux. 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. Et de même, avec la probabilité '1 - epsilon', il sélectionne la meilleure action (c'està-dire exploiter). Au fur et à mesure que epsilon diminue, la probabilité d'exploration diminue et l'agent devient greedy en exploitant de plus en plus l'environnement.
Figure 3.3.6
Méthode d'E-greedy
3.3.4 L'algorithme Deep Q-Learning (DQN) Q Learning construit une table Q de valeurs State-Action, avec dimension (s, a), où s est le nombre d'états et a est le nombre d'actions. 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.
Figure 3.3.7
La fonction 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 :
L'architecture de DQN a trois composants deux réseaux de neurones, Q Neural Network, Target Neural Network, et un composant appelé Experience Replay.
Figure 3.3.9
1.
Architecture de DQN
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
Pour l'entrainement, un batch aléatoire d'échantillons est sélectionné à partir de ces données d'entraînement, de sorte qu'il contienne un mélange d'échantillons plus anciens et plus récents. Ce batch de données d'entraînement est ensuite entré dans les deux réseaux de neurones. 2.
Q Network :
Q Network prend l'état actuel et l'action de chaque échantillon de données et prédit Q-value pour cette action particulière. => Il s'agit de Predicted
Q Value
.
Figure 3.3.11
3.
Q Network
Target Network :
Target Network prend l'état suivant de chaque échantillon de données et prédit la meilleure Q value parmi toutes les actions qui peuvent être prises à partir de cet état. => Il s'agit de Target Q Value. 23
Figure 3.3.12
Target Network
Fonctionnement de DQN en profondeur + Initialisation :
Exécution de quelques actions avec l'environnement.
Figure 3.3.13
Interaction Agent Environnement
Initialisation de Q Network et Target Network avec des poids aléatoires.
Figure 3.3.14
Initialisation des poids
+ Experience Replay :
À partir de la première étape, Experience Replay démarre la phase de génération de données d'entraînement et utilise Q Network pour sélectionner une Epsilon Greedy action. Q Network agit en tant qu'agent tout en interagissant avec l'environnement pour générer un échantillon d'apprentissage. 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.
Figure 3.3.15
Sélection d'Epsilon Greedy action
Experience Replay exécute Epsioln Greedy action et reçoit l'état et la récompense suivants.
Figure 3.3.16
Etat et Récompense
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
+ Sélectionner un batch d'entraînement aléatoire :
Nous commençons maintenant la phase de l'entrainement du DQN. Sélectionnion d'un batch d'entraînement aléatoires à partir de la mémoire d'experience replay.
Figure 3.3.18
Batch d'entrainement
+ Utiliser l'état actuel de l'échantillon comme entrée sur Q Network :
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.
Figure 3.3.19
L'entrée de Q Network 26
+ Sélectionner Predicted Q Value :
À partir des Q Values de sortie, sélectionner celle de l'action de l'échantillon. Il s'agit de Predicted Q Value.
Figure 3.3.20
Predicted Q Value
+ Utiliser l'état suivant de l'échantillon comme entrée sur Target Network :
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.
Figure 3.3.21
L'entrée de Target Network
+ Obtenir Target Q Value :
Target Q Value est la sortie du Target Network plus la récompense de l'échantillon. 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 Predicted Q Value).
Figure 3.3.23
Calcule du Loss
+ Back-propagate Loss to Q-Network :
Back-propagate the loss et mettre à jour les poids du Q Network en utilisant la descente de gradient. Target Network n'est pas formé et reste xe, donc aucun loss n'est 28
calculé et la Back-propagation n'est pas eectuée.
Figure 3.3.24
Back-propagation
+ Répéter pour le prochain pas de temps :
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.
Figure 3.3.25
Mise à jour des poids de QN
+ Après T pas de temps, copier les poids du Q Network sur le Target Network :
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.
Figure 3.3.26
Mise à jour des poids de Target Network
=>Les poids du Q Network et Target Network sont à nouveau égaux. => 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.
4.1 Technologies utilisée 4.1.1 Langage de programmation : Python Python est un langage de programmation orienté objet et Open Source, le plus utilisé dans le domaine du Data Science et de l'intelligence articielle. Ce langage ore tous les bibliothèques et les Frameworks de Machine Learning et de Deep Learning nécessaire an de répondre à tous les besoins. En ajoutant le fait que nous avons eu un cours sur Python dans notre formation du master IPS, tout cela la rend le langage de programmation le plus adapté à ce projet.
Figure 4.1.1
Logo Python
4.1.2 Framework Django Django est un framework web de haut niveau écrit en Python qui permet le développement rapide de sites Web sécurisés et évolutives. Il est gratuit et open source. Django Rest Framework (DRF) est une boîte à outils exible utilisée pour créer des API Web dans Django. 31
Figure 4.1.2
Logo Django
4.1.3 Bibliothèques utilisées Python, ore plusieurs bibliothèques de Machine Learning et de Deep Learning. Pour ce projet, j'ai utilisé les bibliothèques présentées ci-dessous :
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).
Figure 4.1.3
Logo Pytorch
TensorForce :
TensorForce est une bibliothèque open source pour le Reinforcement Learning, construite sur le framework TensorFlow. Python est nécessaire pour tirer parti de ce framework.
Figure 4.1.4
TensorForce
NumPy :
NumPy est une extension du langage de programmation Python, destinée à manipuler des matrices ou tableaux multidimensionnels ainsi que des fonctions mathématiques opérant sur ces tableaux. Plus précisément, cette bibliothèque logicielle libre et open source fournit de multiples fonctions permettant notamment de créer directement un tableau depuis un chier ou au contraire de sauvegarder un tableau dans un chier, et manipuler des vecteurs, matrices et polynômes. 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
4.2 Description du modèle Pour appliquer RL, la première étape consiste à structurer le problème comme un Markov Decision Process (MDP) : dénir le vecteur de paramètres décrivant, l'état de l'étudiant, l'action donnant le quiz adaptatif à l'étudiant ainsi que la fonction de récompense. Sur la base de la formulation MDP, le problème (quiz adaptatif) consiste essentiellement à trouver une politique d'apprentissage optimale, qui détermine l'action (la diculté du quiz) en fonction de l'état (réponses correctes), telle que la récompense cumulée est maximisée. Pour trouver cette politique nous avons utilisé le Deep Q-Learning (DQN). Pour mettre en ÷uvre ce processus et la solution de notre problématique, nous avons les classes dénies ci-dessus :
4.2.1 Importation des bibliothèques Avant de lister les diérentes classes du modèle, voyons l'importation des bibliothèques nécessaires à développer ce modèle : 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.
Figure 4.2.2
Classe d'environnement
Elle remet l'environnement à son état de départ pour commencer un nouvel épisode. C'est donc identique aux Etats.
- La fonction reset ( ) :
34
- La fonction done ( ) :
Elle détermine si l'agent atteint l'état terminale ou non.
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 reward ( ) :
Figure 4.2.3
La fonction reward()
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.
- La fonction execute ( ) :
4.2.3 Replay Memory : Nous utiliserons la mémoire d'experience replay pour entrainer notre DQN. Experience Replay stocke les transitions que l'agent observe, ce qui nous permettant de réutiliser ces données. En y échantillonnant au hasard, les transitions qui constituent un batch sont décorrélées. Il a été démontré que cela stabilise et améliore grandement la procédure d'entraînement DQN. Pour cela, nous allons avoir besoin de deux classes : 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. - La classe d'Experience Replay est composé d'une mémoire de capacité dénie, la position qui indique le nombre de transitions que nous avons dans cette mémoire et également une fonction qui permet de stocker les transitions dans la mémoire et une autre qui renvoie un batch aléatoire de transitions pour l'apprentissage.
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 première dénit l'architecture du réseau de neurones de DQN. - 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 l'action : elle sélectionne une action en fonction de la politique d'epsilon greedy. En termes simples, nous utiliserons parfois notre modèle pour choisir l'action, et parfois nous en échantillonnerons un aléatoirement. La probabilité de choisir une action aléatoire commencera à EpsStart et décroîtra de façon exponentielle vers EpsEnd. EpsDecay contrôle le taux de décroissance. - 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 ...
4.2.6 La fonction d'entrainement : Maintenant que l'environnement et l'agent sont prêts, nous passons au codage de la fonction d'entraînement principale. 37
Figure 4.2.6
La fonction reward()
4.3 Algorithme de DRL pour les Quiz Adaptatifs
Figure 4.3.1
Algorithme de DQL pour les quiz adaptatifs
38
Conclusion : Dans ce chapitre nous avons présenté les outils et les diérentes bibliothèques employé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 adaptatifs, 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. Et comme perspectives, nous intégrons le modèle dans la plateforme e-learning en utilisant Django Framework, pour que le modèle sera entrainer et prête a utilisé, et nous allons rassembler un nombre susant d'étudiants auprès desquels le modèle apprendra a adapté la diculté des questions aux leurs niveau.
40
Bibliographie [1] (M. Boussakuk, 2018). Vers une luation adaptative, individualist itable (Universitdi Mohammed Ben Abdellah). [2] (KOMI SI SODOK 2008. Conception et implntation d'une plate-forme d'luation adaptative des apprentissages. [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. [5] (Rae, 2000). La distribution d'antillonnage de d'estimateur du niveau d'habilet testing adaptatif en fonction de deux res d'arr selon l'erreur et selon le nombre d'items administr Th de doctorat inte. Montr. [6] (Weiss, 1982). Improving measurement and eciency with adaptive testing quality. Applied Psychological Measurement. [7] (Brusilovsky et Peylo, 2003). Adaptive and intelligent Web-based educational systems. International Journal of Articial Intelligence in Education, Special Issue on Adaptive and Intelligent Web-based Educational Systems. [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 recommendation engine. (s. d.). http ://www.lmi.ub.edu. [10] https ://towardsdatascience.com/reinforcement-learning-explained-visually-part-4q-learning-step-by-step-b65efb731d3e 41
[11] https ://towardsdatascience.com/reinforcement-learning-explained-visually-part-5deep-q-networks-step-by-step-5a5317197f4b [12] analyticsindiamag.com/guide-to-tensorforce-a-tensorow-based-reinforcementlearning-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