Learning to Combine Top-Down and Bottom-Up Signals in Recurrent Neural Networks with Attention over Modules
Sarthak Mittal, Alex Lamb, Anirudh Goyal, Vikram Voleti, Murray Shanahan, Guillaume Lajoie, Michael Mozer, Yoshua Bengio
Статья:
https://arxiv.org/abs/2006.16981 Статья про дальнейшее развитие RIM — BRIM, Bidirectional RIM. Эту взяли на ICML 2020.
Серьёзное ограничение RIM (как и многих других архитектур, работающих с последовательностями наблюдений) в том, что в них отсутствуют top-down сигналы. По идее, предыдущий опыт даёт различную ценную информацию в виде убеждений, ожиданий, контекста и другой верхнеуровневой информации, могущей серьёзно повлиять на восприятие входных данных. BRIM собственно и предлагает совместить оба пути, bottom-up (обычный) и top-down.
Вот, кстати, недавно описанный Feedback Transformer тоже предлагал аналогичный путь для информации в сети, и он был неплох по результатам. В типовых же архитектурах передача информации сверху вниз отсутствует напрочь (рекуррентные сети — это не то, там связи лишь внутри одного слоя, сверху вниз их нет). А в мозгу таких связей навалом.
Ещё одно ограничение оригинальной работы про RIM — это отсутствие иерархии. В модели не было множества слоёв, были лишь конкурирующие модули, они все существовали на едином уровне иерархии.
Текущая работа добавляет к RIM, во-первых, иерархию слоёв, а, во-вторых, связи от более высоких в иерархии слоёв к нижним. Каждый слой по-прежнему состоит из некоторого числа отдельных модулей (как в RIM).
Общение между модулями теперь устроено богаче. Модуль из слоя L в момент времени t генерит ключи Q и обращается через механизм внимания к 1) нижележащим модулям со слоя L-1 в тот же момент времени t; 2) вышележащим модулям со слоя L+1 за предыдущий момент времени t-1; 3) ну и ко всё тому же вектору нулей, чтобы по активациям к этому вектору отобрать активные модули.
Внутри слоя общение модулей устроено как раньше — активные модули обновляют своё состояние по всем модулям текущего слоя, неактивные сохраняют старое состояние.
Никаких дополнительных лоссов модель не требует, это что называется drop-in replacement для LSTM/GRU.
Получается красивая модульная архитектура с иерархией, где потоки информации регулируются механизмами внимания. Это в общем уже близко к теории сознания под названием Global Workspace Theory (теория глобального рабочего пространства).
Проводят эксперименты с различными бейзлайнами: варианты LSTM (иерархические, с фидбеком, со вниманием, или со всем сразу), трансформеры, RMC, RIM, иерархический RIM. BRIM берут двуслойный.
На sequential MNIST/CIFAR BRIM генерализует на более высокие разрешения лучше остальных. Из прикольного, чем больше в данных на входе шума, тем больше модель смотрит на верхние модули.
На задаче сложения (идёт поток чисел на вход, затем сигнал какие два из потока нужно сложить результат лучше аналогичной LSTM.
На stochastic moving MNIST (видео 64x64 в котором одно или два символа летают и отскакивают от стенок, и надо предсказать будущие кадры) результат лучше, чем у другой модели.
На отскакивающих мячиках (в том числе с закрывающей часть картинки ширмой) BRIM даёт результат лучше, чем LSTM или RIM.
Ну и языковое моделирование тоже лучше.
В RL на десяти первых по алфавиту Атари играх работает лучше LSTM/RIM.
В общем с точки зрения перформанса норм.
Важность внимания и модульности показали ещё в RIM. Здесь дополнительно из абляций показали, что двунаправленность и иерархия также очень важны.