Ciao a tutti, grazie per l'interesse finora. Ecco una spiegazione di cosa abbiamo fatto TLDR: Questo è PPO più neuroni viventi in un circuito chiuso. La politica "parla" tramite stimolazione, le cellule "rispondono" tramite picchi, e la funzione di valore fornisce un segnale di sorpresa che restituisco tramite stimolazione affinché la politica possa comunicare quanto fosse buona o cattiva un'azione. Prima di DOOM, c'era Pong, che si basava su mappature create a mano. In un ambiente ridotto, puoi definire manualmente cosa significa il feedback e mantenerlo coerente. Man mano che l'ambiente diventa più complesso, i segnali creati a mano diventano più difficili e diventano incoerenti. Il numero di contesti in cui un segnale deve significare la stessa cosa esplode, e inizi a reinventare l'invarianza a mano. DOOM è 3D e compositivo. Camminare + girare + sparare possono avvenire contemporaneamente. La mappatura giusta non può essere un insieme di regole, quindi avevo bisogno di un generatore di segnali che rimanesse coerente mentre il comportamento cambiava. Ecco perché ho usato PPO. I picchi non sono differenziabili, e la funzione di valore di PPO ci offre un modo per definire oggettivamente una "sorpresa" combinata per la politica e le cellule per trasformarla in un linguaggio di feedback online. La politica non emette direttamente "muovi in avanti" o "spara." La politica emette stimolazione. Le cellule rispondono con picchi. Quei picchi sono ciò che seleziona l'azione di gioco, tramite una lettura lineare. In aggiunta, la funzione di valore ti fornisce una stima online del ritorno, che ti consente di calcolare la sorpresa come errore di previsione. Basandoci su questa sorpresa dell'azione, regoliamo di conseguenza la frequenza e l'ampiezza per i nostri diversi schemi di feedback. Ad esempio, se un'azione è stata positiva e la funzione di valore ha detto "alta sorpresa", allora riduciamo la frequenza del feedback positivo per quell'azione, rendendo le azioni più "prevedibili" che le cellule preferiscono.