Нейролента - подборка новостей о нейронных сетях, ChatGPT

[GFlowNets]: Flow Network based Generative Models for Non-Iterative...

[GFlowNets]: Flow Network based Generative Models for Non-Iterative Diverse Candidate Generation
Emmanuel Bengio, Moksh Jain, Maksym Korablyov, Doina Precup, Yoshua Bengio
Статья: https://arxiv.org/abs/2106.04399
Код: https://github.com/GFNOrg/gflownet
Пост: https://yoshuabengio.org/2022/03/05/generative-flow-networks/
Короткое саммари от соавтора: https://folinoid.com/w/gflownet/

Давно хотелось написать про GFlowNets, или Generative Flow Networks, работу в соавторстве Йошуа Бенжио, про которую он крайне тепло отзывается и считает важным новым направлением исследований. По словам Бенжио, среди прочих крутых вещей, работа открывает дорогу к созданию system 2 inductive biases (https://www.microsoft.com/en-us/research/video/gflownets-and-system-2-deep-learning/).

В этом посте в основном про основополагающую работу с NeurIPS 2021. К текущему моменту есть развития, например, “GFlowNet Foundations” (https://arxiv.org/abs/2111.09266), “Multi-Objective GFlowNets” (https://arxiv.org/abs/2210.12765), “A theory of continuous generative flow networks” (https://arxiv.org/abs/2301.12594) и многое другое, особенно в прикладной части с применением к задачам разных областей и особенно для биологии (например, https://arxiv.org/abs/2203.04115).

GFlowNets (GFN) -- генеративные сети, как следует из названия, в которых генеративный процесс представлен транспортной сетью, flow network. Оригинальная работа посвящена генерации молекулярных графов, но в целом GFN годятся для сэмплинга различных комбинаторных объектов.

Цель -- не получить единственную последовательность действий с максимальным reward, а сделать выборку из распределения траекторий, чья вероятность пропорциональна вознаграждению. Или, другими словами, преобразовать заданную функцию вознаграждения в генеративную policy, сэмплирующую с вероятностью пропорциональной вознаграждению. Это может быть полезно в задачах, где много мод и важна часть про exploration (как раз пример из drug discovery). В одной из последующих работ GFN называют diversity-seeking reinforcement learning algorithms.

Подход GFlowNets работает с сетью, в узлах которой находятся состояния, а выходящие из них рёбра соответствуют детерминированным переходам в результате выбранных действий. Поток в этой сети даёт вероятность действия в текущем состоянии. GFlowNet это именно сеть, не дерево -- разные пути могут приводить к одним и тем же состояниям.

MDP (Markov Decision Process) на сети, где все листья являются терминальными состояниями с вознаграждением, представляется в виде транспортной сети, которая описывается направленным ациклическим графом (DAG). Используется эпизодический RL, где вознаграждение получается лишь в конце эпизода, а везде в процессе он равен нулю. У сети один исток и стоки по числу листьев, вытекающий поток равен вознаграждению в листе, входящий поток -- сумма всех выходных. Общий поток через сеть в каждом узле должен удовлетворять условию, что входной поток в узел равен выходному потоку из него. Касательно полиси, вероятность действия a из состояния s, π(a|s), равна отношению потока из состояния s по ребру a, F(s, a), к общему потоку из состояния s, F(s).

Для реальных задач задать сеть явно нереально (например, для молекул может потребоваться 10^16 узлов), поэтому мы аппроксимируем поток через каждый узел нейросетью (например, графовой или трансформером), это аналогично переходу RL → Deep RL. В сеть подаётся описание состояния, на выходе получается набор скаляров, соответствующий следующим состояниям.