Всем привет, спасибо за интерес до сих пор. Вот объяснение того, что мы сделали Кратко: это PPO плюс живые нейроны в замкнутом контуре. Политика «говорит» через стимуляцию, клетки «отвечают» всплесками, а функция ценности предоставляет сигнал неожиданности, который я возвращаю через стимуляцию, чтобы политика могла сообщить, насколько хорошим или плохим было действие. Перед DOOM был Pong, который полагался на ручные сопоставления. В маленькой среде вы можете вручную определить, что означает обратная связь, и поддерживать ее последовательной. По мере усложнения среды ручные сигналы становятся все более трудными и непоследовательными. Количество контекстов, в которых сигнал должен означать одно и то же, взрывается, и вы начинаете заново изобретать инвариантность вручную. DOOM — это 3D и композиторский. Ходьба + поворот + стрельба могут происходить одновременно. Правильное сопоставление не может быть кучей правил, поэтому мне нужен был генератор сигналов, который остается последовательным по мере изменения поведения. Вот почему я использовал PPO. Всплески не являются дифференцируемыми, и функция ценности PPO дает нам способ объективно определить комбинированную «неожиданность» для политики и клеток, чтобы превратить это в язык онлайн-обратной связи. Политика не выводит напрямую «двигаться вперед» или «стрелять». Политика выводит стимуляцию. Клетки реагируют всплесками. Эти всплески и выбирают действие в игре через линейный вывод. Кроме того, функция ценности дает вам онлайн-оценку возврата, что позволяет вам вычислять неожиданность как ошибку предсказания. На основе этой неожиданности действия мы соответственно корректируем частоту и амплитуду для наших различных схем обратной связи. Например, если действие было положительным, а функция ценности сказала «высокая неожиданность», то мы уменьшаем частоту положительной обратной связи для этого действия, делая действия более «предсказуемыми», что предпочитают клетки.