Hey iedereen, bedankt voor de interesse tot nu toe. Hier is een uitleg van wat we hebben gedaan TLDR: Dit is PPO plus levende neuronen in een gesloten lus. Het beleid "spreekt" via stimulatie, de cellen "reageren" via spikes, en de waarde functie biedt een verrassing signaal dat ik terugvoer via stimulatie zodat het beleid kan communiceren hoe goed of slecht een actie was. Voor DOOM was er Pong, dat afhankelijk was van handmatig gemaakte mappings. In een kleine omgeving kun je handmatig definiëren wat feedback betekent en het consistent houden. Naarmate de omgeving complexer wordt, worden handgemaakte signalen moeilijker en inconsistent. Het aantal contexten waarin een signaal hetzelfde moet betekenen explodeert, en je begint invariantie met de hand opnieuw uit te vinden. DOOM is 3D en compositie. Lopen + draaien + schieten kan tegelijkertijd gebeuren. De juiste mapping kan geen stapel regels zijn, dus had ik een generator van signalen nodig die coherent blijft naarmate het gedrag verandert. Dat is waarom ik PPO heb gebruikt. De spikes zijn niet-differentieerbaar, en de waarde functie van PPO geeft ons een manier om objectief een gecombineerde "verrassing" voor het beleid en de cellen te definiëren om het om te zetten in een online feedbacktaal. Het beleid geeft niet direct "vooruit bewegen" of "schieten" uit. Het beleid geeft stimulatie uit. De cellen reageren met spikes. Die spikes zijn wat de game actie selecteert, via een lineaire uitlezing. Bovenop dat, geeft de waarde functie je een online schatting van de opbrengst, wat je in staat stelt om verrassing te berekenen als de voorspellingsfout. Op basis van deze actie verrassing passen we de frequentie en amplitude dienovereenkomstig aan voor onze verschillende feedbackschema's. Bijv. Als een actie positief was en de waarde functie zei "hoge verrassing", dan verminderen we de frequentie van de positieve actie feedback voor die actie, waardoor acties "voorspelbaarder" worden, wat de cellen prefereren.