Pfe Meryem Bazin Fi-1

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 54

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 Président


Mme. Manar ABOUREZQ Professeur à la FS - Rabat Encadrante
Mme Prénom Nom Professeur à la FS - Rabat Examinateur

Année universitaire 2020-2021


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


ABOUREZQ , pour son encadrement, son soutien et sa disponibilité ainsi que ses
conseils, qui ont très précieux pour mener à bien ce travail.

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 renforce-


ment, 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 : Machine Learning

DL : Deep Learning

NN : 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 : Adaptive Learning

STI : Systs Tutoriels Intelligents

AIWES : Adaptive and Intelligent Web-Based Educational Systems

AIED : Articial Intelligence for EDucation

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

Liste des abréviations iv

Introduction x

1 Contexte général du projet 1


1.1 Présentation de l'organisme d'accueil . . . . . . . . . . . . . . . . . . . . 1
1.1.1 Description de BRAINY SOFTWARE . . . . . . . . . . . . . . . 1
1.1.2 Organigramme . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1.3 Fiche d'identité de BRAINY SOFTWARE . . . . . . . . . . . . . 2
1.2 Présentation du projet . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2.1 Problématique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2.2 Objectifs de la recherche . . . . . . . . . . . . . . . . . . . . . . . 3
1.2.3 Méthodologie de la recherche . . . . . . . . . . . . . . . . . . . . 3
1.3 Conduite et planication du Projet . . . . . . . . . . . . . . . . . . . . . 4
1.3.1 Gestion de projet : SCRUM . . . . . . . . . . . . . . . . . . . . . 4
1.3.2 La planication du projet . . . . . . . . . . . . . . . . . . . . . . 5

2 Etat de l'art sur l'adaptation des évaluations 6


2.1 Les limites des évaluations classiques . . . . . . . . . . . . . . . . . . . . 6
2.2 Propositions des évaluations adaptatifs . . . . . . . . . . . . . . . . . . . 7
2.2.1 Test de Binet-Simon . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2.2 Test à deux étapes . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.2.3 Test pyramidal . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.3 STI et AIWBES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.3.1 Systèmes Tutoriels Intelligents (STI) . . . . . . . . . . . . . . . . 9
2.3.2 Adaptive and Intelligent Web-Based Educational Systems (AIWBES) 10

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

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 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 Présentation de l'organisme d'accueil

Figure 1.1.1  Logo de BRAINY SOFTWARE

1.1.1 Description de BRAINY SOFTWARE


BRAINY SOFTWARE est fondée par trois entrepreneurs, BRAINY s'attaque à
plusieurs problèmes d'apprentissage fondamentaux associant Intelligence Articielle, Ma-
chine Learning ainsi que la Data science.
BRAINY est également incubé à l'UM6P.

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 BRAINY SOFTWARE


Forme juridique SARL
Siège social Tour Crystal 1, 10eme Etage Bd des
Almohades, Casa Marina Business Center,
Casablanca Maroc
Directeur Générale NFISSI Adil
- Gérant
Création Août 2020
Téléphone 05 22 64 16 23 - 06 61 87 94 05
Fax 05 22 64 16 01
Type Activités Informatique (Études, Services, Conseils,
Formation)

Table 1.1  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 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.

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 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.

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.

Incapacité à détecter les réponses aberrantes : 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.

Puisque tous les étudiants reçoivent la même épreuve


La facilité de faire du plagiat :
avec la même séquence de questions, il est plus facile de plagier au moment de
l'épreuve.

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.

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 : la règle


d'arrêt.

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 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.

Table 2.1  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 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.

Table 2.2  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 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.

Table 2.3  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'ap-
plication des techniques d'intelligence articielle en éducation et sont connus sous l'acro-
nyme 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 étu-
diant 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 ten-


tatives 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'appren-
tissage 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  Perceptron simple

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

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 plu-
sieurs 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
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).

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
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.

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 : est la récompense immédiate obtenue pour une seule action.

- 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

3.3.3 L'algorithme Q-Learning


L'algorithme Q-Learning consiste à apprendre une Q-table ("Q" étant pour la qua-
lité). 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 :

L'exploration est un concept de l'apprentissage permettant d'essayer au hasard


diérentes actions et observons les récompenses.

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 Net-


work, Target Neural Network, et un composant appelé Experience Replay.

Figure 3.3.9  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

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  Q Network

3. 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 Pre-
dicted 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évelop-
pement 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 essentielle-


ment à 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 biblio-
thè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


- La fonction reset ( ) :
commencer un nouvel épisode. C'est donc identique aux Etats.

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.)

Figure 4.2.3  La fonction reward()

- 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.

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 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.

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 recom-
mendation engine. (s. d.). http ://www.lmi.ub.edu.

[10] https ://towardsdatascience.com/reinforcement-learning-explained-visually-part-4-


q-learning-step-by-step-b65efb731d3e

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

Vous aimerez peut-être aussi