Cześć wszystkim, dziękuję za dotychczasowe zainteresowanie. Oto wyjaśnienie tego, co zrobiliśmy TLDR: To jest PPO plus żywe neurony w zamkniętej pętli. Polityka „mówi” poprzez stymulację, komórki „odpowiadają” poprzez wyładowania, a funkcja wartości dostarcza sygnał zaskoczenia, który przekazuję z powrotem przez stymulację, aby polityka mogła komunikować, jak dobra lub zła była akcja. Przed DOOM był Pong, który opierał się na ręcznie tworzonych mapowaniach. W małym środowisku można ręcznie zdefiniować, co oznacza informacja zwrotna i utrzymać ją w spójności. W miarę jak środowisko staje się coraz bardziej złożone, ręcznie tworzone sygnały stają się trudniejsze i stają się niespójne. Liczba kontekstów, w których sygnał musi oznaczać to samo, eksploduje, a zaczynasz na nowo wymyślać niezmienność ręcznie. DOOM jest 3D i kompozycyjny. Chodzenie + obracanie + strzelanie może dziać się jednocześnie. Odpowiednie mapowanie nie może być zbiorem zasad, więc potrzebowałem generatora sygnałów, który pozostaje spójny w miarę zmiany zachowania. Dlatego użyłem PPO. Wyładowania są niedyferencjowalne, a funkcja wartości PPO daje nam sposób na obiektywne zdefiniowanie połączonego „zaskoczenia” dla polityki i komórek, aby przekształcić to w język informacji zwrotnej online. Polityka nie wydaje bezpośrednio polecenia „idź do przodu” ani „strzelaj”. Polityka wydaje stymulację. Komórki odpowiadają wyładowaniami. Te wyładowania to właśnie te, które wybierają akcję w grze, poprzez liniowe odczyty. Na dodatek, funkcja wartości daje ci online'ową estymację zwrotu, co pozwala obliczyć zaskoczenie jako błąd predykcji. Na podstawie tego zaskoczenia akcji dostosowujemy częstotliwość i amplitudę odpowiednio dla naszych różnych schematów informacji zwrotnej. Np. Jeśli akcja była pozytywna, a funkcja wartości powiedziała „wysokie zaskoczenie”, to zmniejszamy częstotliwość pozytywnej informacji zwrotnej dla tej akcji, co sprawia, że akcje stają się bardziej „przewidywalne”, co preferują komórki.