125) Atari Frostbite - проблема 5-ого уровня, часть 3
Прошлые серии #123, #121.
17e_ppo_tr_atari_mp_15, серия экспериментов 17e_study_22*
Было замечено, что у CNN очень высокие градиенты. Вместе с Джемини пришли к выводу, что есть проблема в структуре CNN слоя - там был ReLU в конце, которые вырубали много нейронов. Поэтому убрал ReLU, добавил ещё доп. хранилище cnn_expand_dim, и добавил LayerNorm после CNN. Ещё добавил LayerNorm после трансформера. Провёл 22-ую серию экспериментов. Стало лучше на первых уровнях. Но проблема “либо дневные уровни, либо ночные” сохранилась. На последних шагах серии градиенты CNN опять была завышенными. Подозрение пало на отжиг tau, да и вообще на необходимость гумбель макса в текущей архитектуре.
17e_ppo_tr_atari_mp_16, серия экспериментов 17e_study_23*
В этой версии был убран tau и гумбель максинг. Сэмплинг действий опять через Categorical. Короче возвращение к истокам. Из хорошего - прямо повеселее стало на 1-ом шаге, да и второй шаг, где было приучение “к горшку” на 5-ом уровне - тоже стало гуд. Кстати это единственный раз, где образовались чемпионы, который на 5-ом уровне все 5 кондишном успешно прошли. Но дальше опять вернулась та же самая проблема “либо дневные уровни, либо ночные”. Градиенты CNN тоже зашкаливают.
Цитата из итогов 17e_study_23.3c:
Опять повторяется картина - либо агент играет на первых дневных уровнях, либо на ночных. По итогам 12 млн шагов несколько агентов научились доходить до 5-го уровня. Но дальше кирдык. Пробовал через 17e_explore_02 дать 9 жизней чемпиону и заставить его пройти 5-ый уровень - ни в какую не получается. Т.е. умения вытеснились. При этом чемпионы 17e_study_23.3a и 17e_study_23.3b проходят 5-ый и иногда даже и 6-ой уровень. Получается как в анекдоте “открутили гайку, жопа отвалилась”.
И видимо высокий grad_norms на CNN именно этим и объясняется. Всю тяжесь вычисления латентных переменных берёт на себя CNN. Т.е. вместо того, чтобы фичи вычислять CNN вынужден прям выдавать качественный embedding. Короче, нетипичную для себя задачу выполняет. Поэтому его и колбасит туда и сюда. Непонятно, почему transformer этого не делает?
Выводы 1) проблема в емкости и мощности представления 2) можно конечно играться с параметрами: больше слоёв трансформера, шире трансформер, clip коэффициенты и прочее. Но что-то это не привлекает 3) двинуться в сторону TEM/DSWM