• # Machine learning #2

    Posté par (site web personnel) . En réponse au journal AlphaGo remporte le premier match contre Lee Sedol. Évalué à 9. Dernière modification le 09 mars 2016 à 20:25.

    Pour résoudre le problème de l'infinité de solutions le robot emploi la méthode de l'auto aprentissage (machine learning). En gros, si je ne dis pas trop de bêtise, c'est la méthode empirique. Le robot ne sait pas trop jouer, parce que son programmeur non plus, alors il joue un peu au hasard, il élimine les mauvaises solutions et il garde les meilleures et ainsi de suite.

    En fait c'est un peu plus subtil que cela. :) En gros le problème fondamental du machine learning, c'est la prédiction d'une variable booléenne, càd trouver le pari le plus avantageux à faire sur une question dont la réponse est oui ou non, connaissant tout une série d'exemples de questions similaires avec leurs réponses. On a ensuite plein de variantes (au lieu de oui-non, un nombre réel par exemple, etc.)

    Dans beaucoup de problèmes plus complexes dont la résolution inclut des stratégies de machine learning, ont doit réduire la dimension du problème (qui est trop compliqué pour être abordé de façon frontale) ce qui mène à construire une sorte de machine dont les fonctions élémentaires sont, comme tu l'indiques, sous définies par le programmeur et entraînées, mais l'assemblage de la machine est lui-même est fixé par le programmeur, c'est une étape importante de modélisation.

    Ainsi par exemple (complètement hypothétique), si on écrivait un programme pour compter le nombre de voitures sur une route à partir de photos, on pourrait essayer de fractionner le problème en deux sous-fonctions qu'on pourrait entraîner:

    • La première apprendrait à reconnaître une route sur une photo (comme domaine)
    • La seconde les voitures mais seulement dans le domaine livré par la première fonction – ce qui est a priori plus facile que dans le cas général, parcequ'en général il y a moins de diversité dans les objets trouvés sur une route que dans un paysage quelconque.

    Si on utilisait la stratégie "frontale" de juste laisser une machine ingurgiter des milliers de photos de scènes incorporant des voitures associées au nombre de voitures qui sont sur la route (s'il y a une route sur la photo) on n'aurait aucune chance d'obtenir un résultat probant.

    Même si le programmeur n'implémente pas explcitement la reconnaissance de route ou celle de voitures sur la route et s'en remet à un processus d'apprentissage, il utilise sa compréhension du problème pour élaborer une esquisse de solution.