Uczę się najlepiej poprzez eksperymenty i przykłady. Uczę się o sieciach neuronowych i mam (co myślę) całkiem niezłe rozumienie klasyfikacji i regresji, a także uczenie się pod nadzorem i bez nadzoru, ale natknąłem się na coś, czego nie potrafię zrozumieć;
Gdybym chciał wytrenować AI w skomplikowanej grze; Myślę o czymś w rodzaju RTS (np. Age of Empires, Empire Earth itp.). W tego typu grach gracz zazwyczaj kontroluje wiele jednostek (jednostek, budynków) o różnych możliwościach. Wydaje się, że problemem jest to, że sztuczna inteligencja to klasyfikacja (np. Wybranie tej jednostki i tego działania), jednak skoro liczba jednostek jest zmienną, w jaki sposób można poradzić sobie z problemem klasyfikacji w ten sposób?
Jedyne, co mogę wymyślić, to wiele sieci, które wykonują różne etapy (jedna dla ogólnej strategii, jedna dla kontrolowania tego rodzaju jednostki, jedna dla tego rodzaju budynku itp.); ale wygląda na to, że komplikuję problem.
Czy istnieje dobry przykład uczenia maszynowego / sieci neuronowych uczących się złożonych gier (nie tylko RTS, ale bardziej skomplikowany Mario )?
źródło
Odpowiedzi:
To dobre pytanie i wielu naukowców na całym świecie zadaje to samo. Cóż, po pierwsze, gra taka jak Age of Empires nie jest uważana za posiadającą naprawdę dużą przestrzeń do rozwiązania, nie ma tak wielu rzeczy, które możesz zrobić. Podobnie jest w grach takich jak Mario Bros. Problem uczenia się w łatwych grach, takich jak gry Atari, został rozwiązany przez facetów DeepMind (tutaj artykuł ), który został przejęty przez Google. Wykorzystali implementację Reinforcement Learning with Deep Learning.
Wracając do twojego pytania. Naprawdę dużym problemem jest naśladowanie liczby decyzji podejmowanych każdego dnia przez człowieka. Obudź się, zjedz śniadanie, weź prysznic, wyjdź z domu ... Wszystkie te działania wymagają naprawdę wysokiego poziomu inteligencji i wielu działań do rozwoju.
Wiele osób pracuje nad tym problemem, jestem jednym z nich. Nie znam rozwiązania, ale mogę powiedzieć, w jaki sposób patrzę. Podążam za teoriami Marvina Minsky'ego, on jest jednym z ojców AI. Ta książka, Emotion Machine, przedstawia bardzo dobry obraz problemu. Zasugerował, że sposobem na stworzenie maszyny imitującej ludzkie zachowanie nie jest zbudowanie jednolitej zwartej teorii sztucznej inteligencji. Przeciwnie, twierdzi on, że nasz mózg zawiera zasoby, które konkurują ze sobą, aby osiągnąć różne cele w tym samym momencie. Nazwali to „ Sposoby myślenia” .
źródło
Świetne pytanie. Jest to kwestia złożoności, a stosowane podejście będzie zależeć od stopnia złożoności problemu. Każdy problem, który staramy się rozwiązać, wiąże się z pewnym stopniem złożoności, potocznie zdefiniowanym jako „liczba rzeczy wchodzących w interakcje lub rzeczy, które należy wziąć pod uwagę”. W uczeniu nadzorowanym i bez nadzoru określamy dokładnie liczbę rzeczy do rozważenia.
Na przykład w wielokrotnej regresji liniowej mówimy algorytmowi uczenia się, ile funkcji należy wziąć pod uwagę przy dopasowywaniu modelu (liczba kolumn w zestawie treningowym). Ta sama sytuacja dotyczy uczenia się bez nadzoru; używany jest dobrze zdefiniowany zestaw szkoleniowy z wyraźną liczbą funkcji (w tym przypadku bez etykiet).
Stoisz w obliczu sytuacji nieodpowiedniej do klasyfikacji lub regresji, ponieważ nie możesz dokładnie określić liczby „rzeczy do rozważenia”. Jak mówisz, przestrzeń twoich problemów jest wyjątkowo duża. Innym sposobem myślenia na ten temat jest zestaw szkoleń wymaganych do nauki modelu; jak trudno ci sobie wyobrazić, jak wygląda zestaw treningowy? W twoim przypadku trudne. Co dokładnie zawierałyby kolumny mojego zestawu?
Dlatego aplikacje takie jak samochody samobieżne, Atari i AlphaGo nie korzystają z klasyfikacji ani regresji. Nie można wiedzieć, jak wyglądałby zestaw treningowy. Możesz spróbować, ale Twój model nie wykona wiarygodnych prognoz (w tym przypadku się porusza). Ile rzeczy musiałeś wziąć pod uwagę, aby zbudować model warunków drogowych?
Właśnie dlatego istnieje trzeci rodzaj uczenia maszynowego, uczenie się przez wzmacnianie. Zamiast korzystać z wcześniej określonego zestawu szkoleniowego, wykorzystuje metodę prób i błędów. Poprzez ciągłe przeszukiwanie środowiska, może nauczyć się polityki, która działa w dłuższej perspektywie.
Tak więc w przypadku mniejszych obszarów problemowych, w których mamy szansę zdefiniować zestaw szkoleniowy, korzystamy z nadzorowanego i bez nadzoru uczenia maszynowego. W przypadku większych obszarów problemowych, w których trudno zdefiniować zestaw szkoleniowy, używamy uczenia wzmacniającego. Oczywiście możesz również tworzyć ciekawe kombinacje wszystkich powyższych podejść, ale wciąż sprowadza się to do złożoności.
źródło