Вот уже два года как меня увлекла Emergent Communication (EC), по которой я теперь пишу магистерскую диссертацию. В этом году я участвую в организации семинара, благодаря которому у меня и возник интерес к этой области: Workshop on Emergent Communication на конференции NeurIPS. Планирую написать целую серию из постов об EC для широкой аудитории, чтобы помочь всем интересующимся заглянуть в эту сферу (ну и чтобы писать диссертацию было повеселее). Надеюсь, что сумею передать хотя бы часть того волшебства, под чарами которого я до сих пор нахожусь! Это первый пост из планируемой серии, в нём я расскажу об основных идеях и приведу пару причин, по которым стоит изучать EC. Emergent Communication (EC) — область, в которой занимаются исследованиями "возникновения протоколов коммуникации в ходе передачи данных для решения [некоторой] задачи" (Foerster et al., 2016) двумя агентами, находящимися в некоторой среде . Современные подходы к EC — методы глубокого обучения (deep learning), в частности, глубокого многоагентного обучения с подкреплением (deep multi-agent reinforcement learning; MARL); также EC рассматривается в контексте в контексте обработки естественного языка. В распространённой постановке задачи — у нас есть несколько агентов, находящихся в некоторой среде. Агенты обмениваются сообщениями по определённому "лингвистическому каналу", видному некоторым остальным. Как правило, агентам не выдаётся никаких установок, каким именно должно быть это "общение", и они сами придумывают протокол в ходе обучения с подкреплением. Он позволяет агентам координировать действия друг друга и эффективно передавать информацию. Описанное выше звучит довольно абстрактно, давайте рассмотрим одну из простейших конфигураций в качестве примера. Игры "отправитель-получатель" (sender-receiver games) — базовые игры для двух игроков: отправителя и получателя . У отправителя есть какая-то информация, которой не обладает получатель, и цель игры — передать эту информацию так, чтобы получатель понял. 

 Например, отправитель загадывает либо треугольник, либо квадрат, либо пятиугольник. Получателю известен набор вариантов фигур, но он не знает, какую из них загадал отправитель. Мы задаём словарь, и отправитель на его основе формирует сообщение. Получатель пытается по сообщению понять, какая именно фигура у отправителя, и высказывает догадку. От того, правильный ответ или нет, зависит, что получат оба — награду или штраф. В процессе повторения этой процедуры обучения агенты рано или поздно договорятся, какие сообщения соответствуют каким фигурам. Например, если сообщение — это один из трёх возможных токенов, агенты научатся сопоставлять каждой из фигур свой токен : токен "0" — квадрат, токен "1" — пятиугольник, токен "2" — треугольник. Важно отметить, что обычно не существует единого "правильного" протокола, которого мы пытаемся добиться от модели; квадрат мог бы отображаться и в токен "1", и в токен "2", или даже в распределение над токенами, которое получатель отгадывает с некоторой вероятностью. Emergent Communication — это не решение задачи обучения с учителем. Цель — не получить конкретный протокол, требуется выработать какой угодно, лишь бы решал нашу задачу. Если же игра устроена так, что за верное угадывание квадрата мы не получаем никакой награды, то модель не будет и пытаться что-то чему-то сопоставлять. То есть, говоря короче, в EC важна не задача передачи всей имеющейся информации, а только необходимой в рамках заданной "игры". Полезность и необходимость задаются устройством игры и вознаграждениями агентов, поэтому главное — чтобы в ходе обучения появился протокол коммуникации, который помогает играть в игру. Какова бы они ни была. Однако на таких простеньких играх EC не заканчивается. Естественное продолжение рассмотренных идей — использование более сложных типов данных, например, изображений (Lazaridou et al., 2017) или игровых миров (Resnick et al., 2018). Сообщения могут быть переменной длины (Havrylov et al., 2017), и в передаче данных может быть несколько этапов взаимного обмена сообщениями (Das, Kottur et al., 2017). Можно позволить обоим агентам и отправлять, и получать сообщения и, используя это, устроить одновременную переписку между тремя и более агентами (Foerster et al., 2016). Даже кооперация в основе задачи не является обязательной, можно устраивать и игры, где участников много, и их интересы конкурируют (Leibo et al., 2017). Итак, мы проговорили, что такое EC, и теперь самое время задаться вопросом: зачем всё это нужно? Единого ответа нет, да и мотивация обычно зависит от конкретного исследовательского вопроса. Однако мне кажется, что подходы в большей части статей можно поделить на две группы. Ясно, что ни среда, ни RL-агенты не в состоянии охватить всю сложность этого мира и всех механизмов человеческого обучения. Но упрощённые модели тоже по-своему ценны. EC можно рассматривать как модель "одного из возможных путей" к появлению человеческого языка. Подбирая упрощённые версии настоящих ситуаций, в которых нужна коммуникация, можно эмпирически проверять, достаточно ли "давления" заданных условий для появления в сообщениях агентов фундаментальных явлений, присущих естественному языку . В последние годы умы исследователей будоражит вопрос, как сделать так, чтобы агенты обменивались сообщениями на композициональном языке. Написано много статей, проверяющих разные гипотезы и подходы. Появление композиционального языка в ходе обучения будет не просто любопытным научным достижением. Оно может оказаться необходимым для задач понимания языка (language understanding), в частности, в задаче систематического обобщения за пределами обучающей выборки (Lake and Baroni, 2018). То есть работы по моделированию проявления разных аспектов естественных языков ведутся не из одного только научного интереса, а для будущих прикладных "инженерных" и лингвистических задач. Emergent Communication необязательно связана с естественным языком. В базовой постановке задачи два абстрактных агента обмениваются сообщениями любой природы. Конечно, современный мир уже давно связан сетями компьютеров, передающих данные по различным протоколам — от TCP/IP до Bluetooth. Однако многие современные протоколы никогда вычислительно не оптимизировались под задачи, для которых они и были разработаны. Как правило, это фиксированные наборы правил и наперёд заданные механизмы. Подход же, о котором мы говорим, даёт надежду на то, что "выученные" протоколы будут лучше прежних подходить для своих задач, окажутся более эффективными и устойчивыми. Например, в одном из исследований выученные протоколы позволяют обмениваться в среднем более эффективными сообщениями и неявно учитывают их распределение (Kraska et al, 2018). И, что ещё круче, если у нас есть особые требования к протоколам, можно просто включить их в функцию потерь (невязку), которую мы минимизируем в ходе обучения. Эти идеи можно объединить с возможностью выучивать протокол одновременно со стратегией (policy). Сейчас беспилотные автомобили становятся всё ближе к реальности, но должна ли координация между ними ограничиваться теми же способами общения, что используют водители? Идея о том, что автономные машины могли бы учиться координировать свои действия сами, звучит довольно разумно. Так они могли бы предупреждать следующие за ними автомобили, что впереди авария, или передавать другим водителям свой маршрут. Главная мысль — коммуникационные протоколы между машинами могут и не ограничиваться придуманными людьми наборами правил. Главный козырь хорошего рассказчика анекдотов — знание своей аудитории. То же верно и для коммуникации: агентам нужно "понимать" и моделировать агентов, с которыми происходит взаимодействие. Хороший отправитель видит разницу между тем, что знает он, и тем, что знает получатель. Используя это, для очередного этапа передачи сообщений он выделяет и готовит наиболее важные для получателя на данном шаге фрагменты известной ему информации. Таким образом, залог эффективной коммуникации — моделирование оппонента, равно как и понимание контекста. Это очевидно на примере игр, в которых есть неявная коммуникация, например, в Hanabi (Bard et al., 2019). Но ещё важнее моделировать оппонента в конкурентных играх — чтобы вести явную стратегическую коммуникацию. Используя коммуникативные игры в качестве испытательного полигона, можно улучшить коммуникацию, если лучше понимать и моделировать противника. или Bottom-Up Natural Language Последняя точка зрения на Emergent Communication, по сравнению с прочими — полёт на Луну (с привкусом философии). Предлагается рассматривать EC как метод порождения/понимания языка. Согласно Людвигу Витгенштейну (1953) окружающая нас среда определяет не только некоторые протоколы взаимодействия, но в том числе и устройство человеческого языка. Можно сказать, что то, что сейчас делается в natural language understanding ("понимание языка" как область NLProc) — это "нисходящий" подход: мы смотрим на контексты слов в уже написанном тексте и пытаемся вывести их значения. Тогда подход Emergent Communication — "восходящий": если мы будем обучать язык в окружении, похожем на нашу реальность, то полученный протокол может оказаться эквивалентным естественному языку. Смысл вот в чём: если дать агентам ту же среду, что у людей, то можно надеяться, что удастся установить связи между возникающим в ходе обучения языком агента и естественным языком. Если удастся получать такое отображение, тогда у нас будет не только возникший в процессе язык, но и целая система, которая наделяет слова по-настоящему связанным с ними смыслом. Ведь он будет определяться тем, в каких ситуациях упоминается то или иное слово. Возможно, это окажется самым правильным подходом к задачам language understanding — и потенциально более эффективным по сравнению с современными подходами, которые имеют дело только с собственно текстом. В посте я изложил основы Emergent Communication и постарался набросать возможные направления для исследований. Я не пытался дать исчерпывающие описания и объяснения, а, скорее, хотел показать на примерах, как устроена эта зарождающаяся многообещающая область, полная интересных направлений. Многие из идей в ней — не новость, поэтому важно иногда оглядываться на более ранние работы в экономике (сигнальные игры), теории игр и теории информации. Не переключайтесь, скоро в блоге на моём сайте будет новый пост, в котором мы отправимся в прошлое и разберёмся со свежими достижениями. Если вы обнаружили в тексте ошибки (даже незначительные) или если у вас есть комментарии к тексту, пожалуйста, напишите мне на почту mnoukhov at gmail.com. Буду признателен за обратную связь и буду рад улучшить статью для других читателей! Если вы хотите поговорить лично, можно поймать меня на NeurIPS-2019, а лучше сразу приходите на Workshop on Emergent Communication! Спасибо моей подруге Christine Xu за комментарии и правки, моему соавтору Travis Lacroix и моим коллегам по организации семинара за поддержку и вычитывание текста. Bard, Nolan, Jakob N. Foerster, Sarath Chandar, Neil Burch, Marc Lanctot, H. Francis Song, Emilio Parisotto, Vincent Dumoulin, Subhodeep Moitra, Edward Hughes, Iain Dunning, Shibl Mourad, Hugo Larochelle, Marc G. Bellemare, Michael Bowling. “The Hanabi Challenge: A New Frontier for AI Research” Artificial Intelligence Nov 2019 Das, Abhishek, Satwik Kottur, José M. F. Moura, Stefan Lee, Dhruv Batra. “Learning Cooperative Visual Dialog Agents with Deep Reinforcement Learning.” ICCV 2017 Foerster, Jakob N., Yannis M. Assael, Nando de Freitas and Shimon Whiteson. “Learning to Communicate with Deep Multi-Agent Reinforcement Learning.” NIPS 2016 Havrylov, Serhii, Ivan Titov. “Emergence of Language with Multi-agent Games: Learning to Communicate with Sequences of Symbols” NIPS 2017 Kraska, Tim, Alex Beutel, Ed H. Chi, Jeffrey Dean and Neoklis Polyzotis. “The Case for Learned Index Structures.”" SIGMOD 2018 Lake, Brenden M., Marco Baroni. “Generalization without systematicity: On the compositional skills of sequence-to-sequence recurrent networks.” ICML 2018 Lazaridou, Angeliki, Karl Moritz Hermann, Karl Tuyls and Stephen Clark. “Emergence of Linguistic Communication from Referential Games with Symbolic and Pixel Input.” ICLR 2018 Lazaridou, Angeliki, Alexander Peysakhovich and Marco Baroni. “Multi-Agent Cooperation and the Emergence of (Natural) Language.” ICLR 2017 Leibo, Joel Z., Vinícius Flores Zambaldi, Marc Lanctot, Janusz Marecki and Thore Graepel. “Multi-agent Reinforcement Learning in Sequential Social Dilemmas.” AAMAS 2017 Mordatch, Igor and Pieter Abbeel. “Emergence of Grounded Compositional Language in Multi-Agent Populations.” AAAI 2018 Resnick, Cinjon, Wes Eldridge, David Ha, Denny Britz, Jakob Foerster, Julian Togelius, Kyunghyun Cho, Joan Bruna. “Pommerman: A Multi-Agent Playground.” Arxiv 2018 Resnick, Cinjon, Wes Eldridge, David Ha, Denny Britz, Jakob Foerster, Julian Togelius, Kyunghyun Cho, Joan Bruna. “Pommerman: A Multi-Agent Playground.” Arxiv 2018 Wittgenstein, Ludwig. “Philosophical investigations.” 1953. : Этот абзац был задуман как упрощённое описание, и не включает в себя некоторые связанные разделы и их историю (например, signalling в экономике, в эволюционной теории игр, в вычислительной биологии и т.д.), но об этом будет рассказ в следующих постах. Внимательный читатель также заметит, что во всех формулировках даётся очень расплывчатое описание, где именно происходит коммуникация. : У этого типа игр есть много названий — от “signalling games” (Skryms, 2010) до “referential games” (Lazaridou et al, 2016) и пр. : Сопоставление лингвистических символов объектам окружающей среды в машинном обучении называют 'grounding'. Можно ознакомиться с хорошим обсуждением этого термина в докладе Криса Мэннинга на VIGiL @ NeurIPS 2018. : Это усиливается и тем, что обучение с подкреплением является не только мощным методом поиска, но и связано с биологическим обучением на основе опыта (Sutton and Barto, 1998). Перевод термина Emergent Communication – та ещё задачка. Возникающая коммуникация? Зарождающая? Появляющаяся? Мне показалось, что лучше взять термин из теории систем, но коллеги отговорили, поэтому в тексте используется название на английском. Что касается “коммуникации” – никакой другой перевод этого слова не кажется достаточно общим. Но если у вас есть другие идеи, поделитесь, пожалуйста, ими в комментариях. deep learning researcher