Machine Learning a Super Mario Bros

Od jakiegoś czasu pojawiają się algorytmy trenowane z wykorzystaniem technik machine learningu do nauki gry w gry komputerowe. Co ciekawe, chodzi o budowę algorytmu (i późniejszą wsteczną analizę, czego ten algorytm się nauczył), który będzie dobrze grał w daną grę bez konieczności specyfikacji jakichkolwiek reguł związanych z daną grą. Niech algorytm wszystkich potrzebnych reguł sam się nauczy!

Świetne wprowadzenie opisujące algorytm grający w Super Mario Bros jest przedstawione na poniższym filmie.

Czasem wystarczy dobrze określić funkcję oceny algorytmu (np. odległość od celu) by całkiem przypadkowe techniki uczenia dawały interesujące wyniki. Podejście ostatnio modne też w nauczaniu ludzi. Głosi ono, że wystarczy dobrze określać wymagania a one już poprowadzą uczniów, którzy sami znajdą sobie potrzebne materiały.

2 myśli na temat “Machine Learning a Super Mario Bros”

  1. Ciekawe, mnóstwo zastosowań, aczkolwiek mam pewne uwagi i pytania:
    a) wymaga dużej ilości powtórzeń
    b) czy metoda NEAT nadaje się do nauki gier planszowych takich jak szachy, go, gomoku?
    c) Czy potrafiłaby przenieść doświadczenie z jednej gry na drugą podobną?

    Osobiście mam pomysł na inne podejście: bez sieci neuronowych i algorytmów genetycznych. Indukcja reguł z prostych przypadków, tworzenie pojęć i aplikowanie ich w nowych sytuacjach. Skoro z jednej logicznego ciągu można wysnuć regułę, to z obejrzenia jednego przebiegu gry – można wywnioskować dużo o jej regułach. Choć algorytm umożliwiający takie rozumowanie będzie na pewno skomplikowany. Pierwszy krok: rozwiązywanie testów na inteligencję, można zresztą już obejrzeć na http://iqsolver.eu/

    1. Przenoszenie doświadczeń jest o tyle możliwe, że jeżeli opis dwóch gier jest podobny (wejście wyjście) to rozwiązanie dla jednej gry można traktować jako punkt początkowy w optymalizacji sieci dla drugiej gry.
      Ale czy i kiedy to mogłoby pomóc? Nie wiem, pewnie zależy od podobieństwa pomiędzy grami.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

Możesz użyć następujących tagów oraz atrybutów HTML-a: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">