Выступающий: А. Ю. Сорокин
Руководитель: к. ф., -м. н. М. С. Бурцев
Представление на соискание учёной степени кандидата
физико-математических наук по специальности
05.13.17 Теоретические основы информатики
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ АВТОНОМНОЕ
ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ
«Московский физико-технический институт (национальный исследовательский университет)»
(МФТИ, Физтех)
Долгопрудный, 2022
Современные алгоритмы обучения с подкреплением требуют миллионов эпизодов взаимодействия для успешного выучивания нового навыка или изменения поведения.
Причины быстрой адаптации[1-3]:
Позитивный перенос знаний между задачами (перенос представлений)
Иерархическая декомпозиция (перенос подстратегий)
Запоминание изменений[2-3]
Lake, B. M., Ullman, T. D., Tenenbaum, J. B., & Gershman, S. J. (2017). Building machines that learn and think like people. Behavioral and brain sciences, 40.
McClelland, J. L., McNaughton, B. L., & O'Reilly, R. C. (1995). Why there are complementary learning systems in the hippocampus and neocortex: insights from the successes and failures of connectionist models of learning and memory. Psychological review, 102(3), 419.
Kumaran, D., Hassabis, D., & McClelland, J. L. (2016). What learning systems do intelligent agents need? Complementary learning systems theory updated. Trends in cognitive sciences, 20(7), 512-534.
Проблемы современного обучения с подкреплением:
Позитивный перенос знаний
Добавление навыков без потери старых
Быстрая адаптация
Иерархическая декомпозиция задач
Сеть функциональных систем[1-3]:
Легко строить иерархию.
Легко переносить знания на новую задачу
Нет catastrophic forgetting
Функциональная система - модуль целенаправленного поведения.
Плюсы сети функциональных систем[1-3]:
Легко строить иерархию.
Легко переносить знания на новую задачу
Нет catastrophic forgetting
Red'ko, Vladimir G. et al. "Theory of functional systems, adaptive critics and neural networks." 2004.
Komarov, M. A., G. V. Osipov, and M. S. Burtsev. "Adaptive functional systems: Learning with chaos." (2010)
Sorokin, Artyom Y., and Mikhail S. Burtsev. "Functional Systems Network Outperforms Q-learning in Stochastic Environment." (2016) [работа автора]
Проблема:
Агент не делает различий между альтернативными вариантами поведения, даже если один путь значительнее надежнее/эффективнее другого.
Цель:
Модифицировать агента, для того чтобы он мог обучаться в условиях изменяющейся стохастической среды выбирая более эффективные из выученных стратегий.
мотивирующие связи
подавляющие связи
Воспользуемся подходом, аналогичным тому, который используется в TD-learning. Каждой новой выученной ФС сопоставим значение , которое будет отображать её полезность для ФС уровнем выше.
Правило обновления полезности :
Обучающий сигнал \(r_i\) высчитывается следующим образом:
высчитываем веса из значений \(q\)
Sorokin, Artyom Y., and Mikhail S. Burtsev. "Functional Systems Network Outperforms Q-learning in Stochastic Environment." (2016) [работа автора]
Цель Агента: из случайной стартовой вершины добраться до целевой
Стохастичность в среде:
Веса переходов определяют вероятность их доступности.
В экспериментах использовались среды с разной частотой стохастической изменчивости:
Доступность ребер разыгрывается в начале эпизода.
Доступность разыгрывается при попадании в новое состояние.
Доступность разыгрывается на каждом шаге ( = MDP).
Sorokin, Artyom Y., and Mikhail S. Burtsev. "Functional Systems Network Outperforms Q-learning in Stochastic Environment." (2016) [работа автора]
Было сгенерировано 120 графов среды различающихся:
Топологией (4 типа)
Размером (25, 100 и 400 состояний)
Всем ребрам в графах были сопоставлены вероятности в соответствии с описанным выше распределением
На каждом из графов и для всех видов стохастичности были запущены тестируемые алгоритмы:
Сеть Функциональных Систем + TD (наш вариант)
SARSA (с лучшими параметрами)
Q-обучение (с лучшими параметрами)
Алгоритм случайного поиска (качеству FSN без TD)
Sorokin, Artyom Y., and Mikhail S. Burtsev. "Functional Systems Network Outperforms Q-learning in Stochastic Environment." (2016) [работа автора]
Кривые обучения агентов в средах на основе тороидального решетчатого графа (𝑁 = 100). Буквы FS обозначают результаты, полученные под управлением сети ФС, а RL — результаты алгоритма обучения с подкреплением. Цифры в скобках показывают для какого вида стохастичности среды получены эти результаты. Подобный рисунок наблюдается практически для любой другой конфигурации сред.
Sorokin, Artyom Y., and Mikhail S. Burtsev. "Functional Systems Network Outperforms Q-learning in Stochastic Environment." (2016) [работа автора]
Sorokin, Artyom Y., and Mikhail S. Burtsev. "Functional Systems Network Outperforms Q-learning in Stochastic Environment." (2016) [работа автора]
Упрощаем алгоритм FSN устраняя все отличия межу FSN и TD-обучением:
Итоговый Алгоритм MQ почти эквивалентен Q-обучению.
С с тем отличием, что для выбора действия вместо функции ценности 𝑄(𝑠,𝑎) используется:
где \(L_𝑖(S, A)\) - время последнего выполнения действия А в состоянии S, а \(𝑍_𝑖(𝑠_𝑡, 𝑎_𝑡)\) - это усталость (аналогично деактивации ФС) от выполнения действия:
Здесь \(\beta\) - пенальти за разовое использование действия, \(\lambda\) - коэффициент дисконтрирования.
Sorokin, Artyom Y., and Mikhail S. Burtsev. "Functional Systems Network Outperforms Q-learning in Stochastic Environment." (2016) [работа автора]
Period(T) - обозначает среду в которой состояние переходов обновляется каждые T шагов.
Multi-Task Learning in RL:
Выучивание нескольких навыков одновременно [1,2].
Последовательное приобретение новых навыков [3,4].
Memory in RL:
Ускорение обучения и адаптации к изменениям [5,6,7]
Хранение важной информации на протяжении многих шагов [8,9, 10].
Rusu, Andrei A., et al. "Policy distillation." arXiv preprint arXiv:1511.06295 (2015).
Teh, Yee, et al. "Distral: Robust multitask reinforcement learning." Advances in Neural Information Processing Systems. 2017.
Schwarz, Jonathan, et al. "Progress & Compress: A scalable framework for continual learning." arXiv preprint arXiv:1805.06370(2018).
Shu, Tianmin, Richard Socher, et al. "Hierarchical and Interpretable Skill Acquisition in Multi-task Reinforcement Learning." (2017).
Wang, Jane X., et al. "Learning to reinforcement learn." arXiv preprint arXiv:1611.05763 (2016).
Peng, Xue Bin, et al. "Sim-to-real transfer of robotic control with dynamics randomization." arXiv preprint arXiv:1710.06537 (2017).
Pritzel, Alexander, et al. "Neural episodic control." arXiv preprint arXiv:1703.01988 (2017).
Graves, Alex, et al. "Hybrid computing using a neural network with dynamic external memory." Nature 538.7626 (2016): 471.
Parisotto, Emilio, and Ruslan Salakhutdinov. "Neural map: Structured memory for deep reinforcement learning." (2017).
Oh, Junhyuk, et al. "Control of memory, active perception, and action in minecraft." arXiv preprint arXiv:1605.09128 (2016).
изменение функции ценности MDP
изменение динамики MDP
Проблема:
Агент обучается полностью перезаписывать состояние памяти при появлении новой задачи.
На каждом временном шаге LSTM слой вычисляет свой выходной вектор \(ℎ_𝑡\) и состояние ячейки \(c_t\), учитывая предыдущий вектор \(h_{t-1}\) , предыдущее состояние ячейки \(𝑐_{𝑡−1}\), и текущее наблюдение \(𝑥_𝑡\):
здесь \(Z\) — аффинное преобразование \(𝑍 = 𝑊 [𝑥_𝑡, ℎ_{𝑡−1}] + 𝑏\), а \((𝑖,𝑓,𝑜,𝑔)\) —«вентили» LSTM.
Для модуля RNN tsm веса LSTM \(W_{g_t}\) в задаче \(𝑔_𝑡\) вычисляются как произведение трех матриц:
здесь \(𝑣_{𝑔_𝑡}\) — векторное представление текущей задачи \(𝑔_𝑡\). Матрицы \(𝑊_1\) и \(𝑊_2\) являются общими для всех задач, но для каждой задачи \(𝑔_𝑡\) обучается свой собственный вектор \(𝑣_{𝑔_𝑡}\)
.
Задача Такси содержит 6 подзадачи:
Детали:
Частотная карта посещений различный локаций во время выполнения подзадачи Reach(D) для алгоритмов Multitask-A2C и SEM-A2C.
Multitask-A2C
Первая задача
SEM-A2C
Первая задача
Multitask-A2C
Вторая задача
SEM-A2C
Вторая задача
Text
Подсказка: Хранит информацию о расположении награды
Награда
Подсказка:
Агент
\(obs_{t=10}\)
\(obs_{t=12}\)
\(obs_{t=20}\)
\(act_{t=10}\)
\(act_{t=12}\)
\(act_{t=13}\)
Нам нужна эта информация
Для принятия решения в этот момент
. . .
. . .
\(act_{t=10}\)
\(act_{t=12}\)
\(act_{t=20}\)
\(h_{10}\)
. . .
. . .
\(h_9\)
\(h_{19}\)
. . .
. . .
. . .
Информация
Обратное распространение ошибки через время (TBPTT)
\(obs_{t=10}\)
\(obs_{t=12}\)
\(obs_{t=20}\)
\(act_{t=10}\)
\(act_{t=12}\)
\(act_{t=20}\)
\(h_{10}\)
. . .
. . .
\(h_9\)
\(h_{19}\)
. . .
. . .
. . .
. . .
. . .
Информация
Обратное распространение ошибки через время (TBPTT)
\(obs_{t=10}\)
\(obs_{t=12}\)
\(obs_{t=20}\)
. . .
. . .
\(act_{t=10}\)
\(act_{t=12}\)
\(act_{t=20}\)
Окно внимания
Проблема:
Нейросетевая память не сможет выучить временную зависимость, если не может обработать её целиком.
Временная зависимость должна полностью входить в TBPTT/Attention Span, чтобы нейросеть могла её использовать
Не известно между какими элементами последовательности может быть временная зависимость.
временная зависимость между элементами t-1 и t+k
Пространственная сложность:
Временная зависимость должна полностью входить в TBPTT/Attention Span, чтобы нейросеть могла её использовать
Не известно между какими элементами последовательности может быть временная зависимость.
временная зависимость между элементами t-1 и t+k
Temporal dependency between t-1 and t+k
RNN can learn to store relevant information only if temporal dependency fit into TBPTT rollout
Информация с красного шага полезна на синем шаге, тогда:
Оценим силу временной зависимости (насколько важно помнить \(x_k\)):
\(y_t\) может быть Q-функцией, \(o_{t+1}\), \(r_{t+1}\), и тд.
домножили на \(P(x_{k}| x_t)\)
Обучаем модель максимизировать взаимную информацию между состоянием памяти и всеми будущими шагами:
Идея:
Вместо того, чтобы оптимизировать сумму полностью, выберем шаги когда обучение памяти может дать наибольший вклад в предсказание будущего!
Нужно обрабатывать всю последовательность для обновления \(m_t\)
Принцип Локальности:
Чем дальше во времени отдалены события тем меньше между ними временных зависимостей.
Потенциальная полезность памяти:
насколько важна память для предсказания \(y_t\)
Неопределенность \(y_t\) без памяти
Неопределенность \(y_t\) с идеальной памятью
Представим, что \(m^*_t\) это идеальное состояние памяти для каждого шага t!
Метрика важности памяти: Условная взаимная информация!
Определяет конец временной зависимости
Предположим, что \(H(y_t|m^*_t, x_t) = c\) , тогда:
Для выбора шагов с наибольшим вкладом памяти в предсказания, достаточно оценивать локальную энтропию \(H(y_t|x_t)\)!
шанс выбрать шаг t
Entropy of \(y_t\) given only local information
Entropy of \(y_t\) given all available information
Imagine we have access to a perfect memory \(m^{∗}_{t}\) that stores all information from the previous inputs \(x_0, ..., x_{t}\)
How important to remember past information for predicting \(y_t\):
Strength of temporal dependencies ending at t
If we assume that \(H(y_t|m^*_t, x_t) = c\) , then:
Valuable information from the past could make the biggest contribution at steps with the highest values of \(I(y_t; m^*_t|x_t)\)
Для обучения памяти используется 3 модуля:
Обучение разделено на два этапа:
В RL экспериментах: \(y_t = \sum_k \gamma^k r_{t+k}\)
\(U_t\) это множество шагов, которые выбраны на основе оценки детектора \(\hat{H}_{\psi}(y_i| x_i)\); \(|U| \ll T\).
При обучении памяти мы используем информацию из будущего, которой не будем владеть во время её применения, поэтому нужна отдельная сетка для обьединения шагов k и t: предиктор
Прямая оптимизация взаимной информации может быть вычислительно сложной задачей.
Barber, Agakov (2004) доказали нижнюю оценку которую мы можем использовать для нашего случая. Для начала, введем нейросеть \(q_{\phi}\), которую назовем предиктор.
Тогда:
Т.к.
, значит
получается:
от нас не зависит
NLL loss, минимизируем её и разом обновляем \(\theta\) и \(\phi\)
хотели максимизировать
Memory via Uncertainty Prediction:
В SL экспериментах MemUP+LSTM сравнивался со следующими подходами:
В RL экспериментах MemUP+LSTM+PPO сравнивался со следующими подходами:
Для всех экспериментов использовалось несколько версий одного и того же подхода.
Различие заключается в том насколько в ограничения на длину TBPTT/Attention Span'а при обработки последовательности.
Алгоритмические задачи:
Классификация изображений:
Результаты на задачах обучения с учителем. По оси X отмечается длина последовательности на которых обучались модели. Ось Y соответствует результатам модели в конце обучения. Метрики: Inverted Accuracy (1. - Accuracy) в задачах Copy, Scattered copy и pMNIST, MSE в задаче Add. Все кривые усреднены по 3 запускам.
Среды для для тестирования долгосрочных временных зависимостей:
a) Кривые обучения для алгоритма MemUP и всех альтернатив в среде T-Maze-LNR-100. Все кривые являются усреднением по трем запускам с различным зерном генератора псевдослучайных чисел. Фаза предобучения памяти агента MemUP обозначена пунктирной линией.
b) Кривые обучения для среды T-Maze-LNR-1000. Кривые усреднены по трем запускам.
Предложен метод объединения Сети Функциональных Систем (FSN) и обучения с подкреплением. Полученный метод эффективно обучается в графовых средах с меняющейся динамикой среды.
Численные исследования показали, что основное преимущество FSN по сравнению с классическими алгоритмами обучения с подкреплением, связано с использованием механизма рабочей памяти.
Предложена архитектура SEM, позволяющая разделять задаче-специфичную и общую рабочую память агента в многозадачном обучении с подкреплением.
Разработан метод обучения памяти MemUP, позволяющий выучивать временные зависимости даже если они не могут быть обработаны за один шаг градиентного спуска.
На задачах Add и pMNIST показано, что MemUP превосходит все рассмотренные альтернативные методы. На задаче Scattered Copy и в средах T-maze, Vizdoom-Two-Colors MemUP превосходит альтернативные методы на основе рекуррентных сетей.
Предложенная комбинация сети функциональных систем и обучения с подкреплением позволяет новой архитектуре быстро адаптироваться к изменениям в графовых средах.
Предложенный метод обучения задаченезависимой памяти в многозадачном обучении с подкреплением позволяет улучшить эффективность многозадачного агента, а так же скорость его адаптации к новым задачам.
Разработанный алгоритм обучения долговременной памяти за счет предсказания событий высокой неопределенности позволяет выучивать длинные временные зависимости, рассматривая во время градиентного шага лишь малое число элементов временной последовательности.
Марковский Процесс принятия Решений (MDP) - это кортеж \(<S,A,R,T>\):
Изменения в среде:
Быстро меняющуюся среду (1 раз в эпизод) можно воспринимать, как POMDP.
Взаимодействие агента и среды
Графическая модель POMDP:
POMDP это кортеж \(<S,A,R,T,\Omega, O>\):
\(S\) - множество состояний
\(A\) - множество действий
\(R: S \times A \to \mathbb{R}\) - функция наград
\(T: S \times A \times S \to [0,1]\) - функция переходов \(T(s,a,s\prime) = P(S_{t+1}=s\prime|S_t=s, A_t=a)\)
\(\Omega\) - множество наблюдений
\(O\) это \(|S|\) множество условных распределений \(P(o|s)\)
Мета обучение на основе памяти[1-3]:
Динамика среды меняется каждые K эпизодов
Состояния памяти не обнуляется пока не изменится среда
Агент оптимизирует награду за все K эпизодов
Добавим многозадачности в постановку задачи мета-обучения:
Noisy T-Maze with Distractors. В этой версии агент может получить награды +4 или -3 в \(D+1\) точках принятия решений. Точки принятия решений выбираются случайным образом на расстоянии не менее 50 шагов от подсказки. Только в 1 из \(D+1\) точек принятия решений награда зависит от действий агента и подсказки из начала эпизода. В остальных \(D\) точках награды полностью случайны.
Результат. Каждая ячейка показывает среднее количество шагов градиентного спуска, которые потребовались для решения задачи. По оси X отмечено количество непредсказуемых случайных событий в среде. По оси Y отмечен размер множеств \(U_t\). Более темные цвета означают более медленное решение.