126) Atari Frostbite - проблема 5-ого уровня, часть 4
Продолжение #125, #123, #121.
После долгих размышлений и ковыряний утвердился в следующей мысли о коренной проблеме.
Проблема в том, что CNN слой взял на себя слишком много. По факту CNN для обзервейшна выдает сразу почти-готовый вектор в эмбеддинг пространстве. “Почти” - потому что всё таким трансформер потом прогоняет через свои слои. Но основную работу на себя берёт CNN. Получается, что CNN очень умный и надо его намеренно отупить, чтобы работу по вычислению логики игры брал на себя трансформер, а CNN только бы готовил визуальные фичи и их местоположение. Самый понятный способ - это сделать так, чтобы CNN выдавал не один вектор на обзервейшн, а сетку (например, 16х16) векторов. Тогда ни один из них не сможет поглотить весь кадр и будет более тупым по определению. А уже из этих тупых векторов трансформер будет собирать то, что нужно агенту.
Т.е. вот эта привлекательная простота - на входе обзервейшн, на выходе эмбеддинг вектор - она не позволяет масштабироваться и быть открытым новому опыту. Получаем атрофированный трансформер, который как хвостик собачки висит на CNN. А CNN вынужден туда-сюда шарахаться в зависимости от получаемого визуала (дневной уровень, ночной уровень, новые формы льдин и т.д.)