Zulu DFA active learning

Preview:

Citation preview

MASTER WEB INTELLIGENCE

PLATE-FORME ET

COMPÉTITION POUR

L’APPRENTISSAGE ACTIF

David Combe 16 juin 2009

L’apprentissage actif

Il consiste à faire apprendre une machine sur la base d’une interaction avec une entité en connexion avec le concept à découvrir.

Il permet de se passer d’une phase de consolidation des données et, s’il est bien fait, de minimiser les données utilisées.

Exemples de la vie quotidienne Mastermind

Dichotomie

Applications

Filtrage d’e-mail

Wrapper induction (contexte de données dans

des pages web par exemple)

Etude de circuits intégrés

Robotique

Recherche d’information basée sur des

évaluations…

L’Oracle

C’est souvent un être humain, parfois même

un expert.

Il n’aime pas forcément être ennuyé.

Il est soucieux du nombre et la nature des

requêtes utilisées.

Plus encore que la complexité temporelle,

c’est le nombre de requêtes utilisées qui

distingue un bon algorithme.

Requêtes

La grammaire dont il est question ici est celle

des langages rationnels (AFD)

Requête d’appartenance

le mot « ab » appartient-il au langage étudié ?

Requête d’équivalence

l’automate que je propose pour le langage est-il

correct.

Zulu

Zulu propose de comparer l’efficacité des

algorithmes d’apprentissage actif d’automates

et d’en découvrir de nouveaux.

Proposer la génération de tâches

À partir du générateur d’automates de Gowachin.

Gowachin est aussi en charge de l’échantillon de

test de 1800 mots.

Tâche

Un automate tiré aléatoirement

On fixe une borne maximum du nombre d’états

On définit la taille de l’alphabet.

Le but

Après un nombre prédéterminé de requêtes d’appartenance autorisées, il faut arriver à classer 1800 mots dans les classes positif/négatif.

Tâche

Tâche

Tableau de bord

Evaluation

Et aussi

Création de challenge pour comparer son

score à celui d’un autre joueur

Panneau d’administration

Fil RSS des scores publiés

Cible et challenge

Déroulement

Phase d’entraînement

Communication auprès des personnes

concernées

Phase de compétition

Formation d’un comité scientifique

Evaluation des performances à définir

Algorithme de référence

Pour montrer que la problématique est réelle

Pour fournir un algorithme réalisant la tâche,

susceptible d’être amélioré et faciliter l’entrée

des participants dans le projet

L’algorithme proposé est L*.

Résultats théoriques

Il n’est pas possible d’apprendre de manière

exacte un automate avec uniquement des

requêtes d’appartenance.

Il n’est pas possible d’apprendre de manière

exacte un automate avec uniquement des

requêtes d’équivalence.

L’apprentissage d’un automate est possible

avec ces 2 types de requêtes

polynomialement sur le nombre de requêtes.

L*

Créé par Dana Angluin en 1989

L* renvoie toujours l’automate minimal.

L* construit une table d’observation et fait en

sorte qu’elle respecte 2 propriétés :

la fermeture

la consistance

Lorsque ces 2 propriétés sont vérifiées, L*

construit l’automate associé et le soumet à

l’Oracle pour validation.

Simulation

Exécution de L* sur un langage simple

L = {les mots qui finissent par « ba »}

Les requêtes d’équivalence sont en pratique

difficiles à formuler. D. Angluin propose de les

remplacer par un ensemble de requêtes

d’appartenance sur des mots choisis au

hasard.

L’apprentissage devient non déterministe et

statistique.

Comportement de L*

L* a un effet de palier important :

Un automate n’est constructible que lorsque la

table d’observation est fermée et consistante, ce

qui arrive entre 6 et 11 fois sur des problèmes

moyens à 2 lettres et encore moins souvent avec

3 lettres et plus.

Lorsque l’on a atteint la limite de requêtes on

retombe au palier précédent.

Pour avoir un bon score il faudra gommer ces

effets ou prévoir la fin des requêtes autorisées

Exemple

40

50

60

70

80

90

100

0 500 1000 1500 2000 2500 3000 3500 4000

Sc

ore

Nombre de requêtes d'appartenance

Nombre de requêtes / score lors

des simulations de requêtes

d’équivalence

Sur un même problème

de 107 états

Evaluation

Un problème multi-dimensions difficile à

évaluer

Dimensions à maximiser :

Score

Nombre d’états de l’automate

Taille de l’alphabet

Dimension à minimiser :

Nombre de requêtes

Différentes façons de proposer une

tâche évaluable

Fixer un score minimal à atteindre, par exemple 97% de l’automate appris, et un nombre de requêtes autorisées. Le gagnant est le joueur qui a appris de cette manière le plus gros automate. Similaire à Abbadingo

La baseline sert à établir un nombre de référence des requêtes autorisées. Le gagnant est la personne qui obtient le meilleur rapport « Score du joueur / Score de la baseline » pour le nombre de requêtes autorisées Sous réserve que la baseline soit suffisamment bonne

et que le score de la baseline ne soit pas trop aléatoire

Restreindre la classe des automates

Compétition : évaluation

Divers problèmes générés à

l’avance, identiques pour tous les joueurs

Le gagnant devra envoyer son programme

pour validation du classement.

Compétition en 2010.

Perspectives

Autres requêtes (telles que les requêtes de

correction)

Autres grammaires (langages hors-contexte)

Fin

Recommended