Сергей Гаврилов и Иван Титов (партнеры по ML из Эдинбургского университета / Амстердамского университета)

Язык был важным инструментом человеческой цивилизации для передачи знаний новым поколениям. Происхождение языка веками занимало умы людей и послужило поводом для нескольких исследований.

Однако до недавнего времени почти все математические модели для изучения появления языка должны были быть ограничены низкоразмерными простыми пространствами наблюдения из-за алгоритмических и вычислительных ограничений. В последние годы сообщество глубокого обучения проявило значительный интерес к этой проблеме. В следующем посте излагается наш основной вклад в области лингвистики и машинного обучения, сформированный в ходе нашего совместного исследовательского проекта с исследовательской группой по машинному обучению в SAP.

Игра в ссылочную игру

Одна из самых основных проблем использования языка - ссылаться на определенные вещи. Таким образом, неудивительно, что референциальная игра - это подходящая установка в области обучения общению. Состоящие из ряда ограниченных интерактивных задач на рассуждение, эти игры используются для изучения прагматических выводов машин в контролируемой среде. Хотя возможны многие расширения основной референтной игры, мы решили продолжить настройку игры следующим образом:

  1. Целевое изображение выбирается из набора изображений с \ (K \) отвлекающими изображениями.
  2. Есть два агента: отправитель и получатель.
  3. Увидев целевое изображение, отправитель должен предложить сообщение, которое представлено последовательностью символов из словаря фиксированного размера. Существует максимально возможная длина последовательности.
  4. Учитывая сгенерированное сообщение и набор изображений, состоящих из отвлекающих изображений и целевого изображения, получатель должен идентифицировать правильное целевое изображение.

Следовательно, чтобы добиться успеха в этой ссылочной игре, отправитель должен тщательно выбирать слова и размещать их в такой последовательности, которая позволит получателю правильно определить, какое изображение было показано отправителю. Настройка существенно отличается от предыдущих исследований в этой области, поскольку наш подход, например, использует последовательности, а не отдельные символы для генерации сообщений, что делает нашу настройку более реалистичной и сложной с точки зрения обучения.

Агенты

Оба агента, отправитель и получатель, реализованы в виде рекуррентных нейронных сетей, а именно сетей долговременной краткосрочной памяти, которые являются одним из стандартных инструментов для генерации и обработки последовательностей. На рисунке ниже показан эскиз модели, где сплошные стрелки обозначают детерминированные вычисления. Пунктирные стрелки обозначают копирование ранее полученного слова. И, наконец, ромбовидные стрелки представляют собой выборку слова из словаря.

Наверное, это самая важная и самая хлопотная часть модели. С одной стороны, это важный элемент, потому что именно здесь отправитель принимает решение о том, что сказать дальше. С другой стороны, это неприятно, потому что это стохастично. К сожалению, повсеместный алгоритм обратного распространения ошибки основан на наличии цепочек непрерывных дифференцируемых функций на каждом из уровней нейронной сети. Однако эта конкретная архитектура содержит недифференцируемую выборку из дискретного распределения вероятностей, что означает, что мы не можем сразу использовать обратное распространение.

Визуальная система отправителя реализована в виде сверточной нейронной сети (CNN). В нашем случае изображения представлены выходами предпоследнего скрытого слоя CNN. Как видно из приведенного выше рисунка, сообщение получается путем последовательной выборки до тех пор, пока не будет достигнута максимально возможная длина или пока не появится специальный токен «end of a сообщение ”.

Обучение

Относительно легко изучить поведение агента-получателя в контексте ссылочной игры. Поскольку она является сквозной дифференцируемой, градиенты функции потерь относительно ее параметров могут быть оценены эффективно. Настоящая задача - узнать агента-отправителя. Его вычислительный граф содержит выборку, что делает его недифференцируемым. В качестве основы мы реализовали алгоритм REINFORCE. Этот метод обеспечивает простой способ оценки градиентов функции потерь относительно параметров стохастической политики. Несмотря на то, что он беспристрастен, он обычно имеет огромную дисперсию, и этот факт замедляет обучение модели. К счастью, в прошлом году две группы независимо друг от друга обнаружили предвзятую, но низкую дисперсию оценки - оценку Gumbel -Softmax (оценка GS). Это позволяет ослабить исходную дискретную переменную с ее непрерывным аналогом. Это делает все дифференцируемым, что позволяет применять алгоритм обратного распространения ошибки. Поскольку эта тема довольно большая и заслуживает отдельного поста, мы рекомендуем вам прочитать сообщение в блоге от одного из авторов этого метода.

Наши выводы

Первое, что мы изучили после изучения модели, - это показатель успешности коммуникации. Мы считаем коммуникацию между двумя агентами успешной, если целевое изображение определено правильно. Как видно из рисунка ниже, результаты с использованием оценщика Gumbel-Softmax (красная и синяя кривые) лучше, чем результаты алгоритма REINFORCE (желтые и зеленые кривые), за исключением случаев, когда агентам разрешено общаться только с помощью одного слова.

Мы предполагаем, что в этой относительно простой настройке дисперсия REINFORCE не является проблемой, и свойство непредвзятости окупается. В то же время систематическая ошибка оценки GS уводила ее от оптимального решения. Кроме того, этот сюжет идет рука об руку с интуицией и ясно показывает, что, используя больше слов, можно более точно описать изображение.

Мы также исследовали, сколько взаимодействий между агентами необходимо выполнить, чтобы изучить протокол связи. К нашему большому удивлению, мы увидели, что количество обновлений, необходимых для достижения сходимости обучения с оценкой GS (зеленая кривая), уменьшается, когда мы позволяем отправителю использовать более длинные сообщения. Такое поведение немного противоречит здравому смыслу, так как можно было ожидать, что сложнее изучить протокол, когда пространство поиска протоколов связи больше. Другими словами, использование более длинных последовательностей помогает быстрее изучить протокол связи. Однако это не относится к оценщику REINFORCE (красная кривая): для сходимости обычно требуется в пять раз больше обновлений по сравнению с оценщиком GS. Кроме того, нет четкой зависимости между количеством обновлений, необходимых для схождения, и максимально возможной длиной сообщения.

Более того, мы строим график сложности кодировщика, который, возможно, измеряет, сколько вариантов должен выбрать отправитель на каждом временном шаге при выборке из распределения вероятностей по словарю. Мы могли видеть, что для оценки GS (зеленая кривая) количество вариантов относительно велико и увеличивается с длиной предложения, тогда как для алгоритма REINFORCE (красная кривая) рост затруднений не такой быстрый. Это подразумевает избыточность кодировок, то есть существует несколько перефразирований, кодирующих одно и то же семантическое содержание.

Как выглядит выученный язык? Стремясь лучше понять природу этого языка, мы проверили небольшое подмножество предложений с максимально возможной длиной сообщения, равной 5 единицам, которые были созданы моделью. Сначала мы сделали случайную фотографию объекта и сгенерировали сообщение. Затем мы перебирали набор данных и случайно выбирали изображения с сообщениями, которые имеют префиксы из 1, 2 и 3 символов с сгенерированным сообщением.

Например, в первой строке левого рисунка с использованием подмножества изображений животных показаны некоторые образцы, соответствующие коду (5747 * * * *). Здесь «*» означает любое слово из словаря или дополнение в конце предложения.

Однако похоже, что изображения для кода (* * * 5747 *) не соответствуют какой-либо предопределенной категории. Это говорит о том, что порядок слов имеет решающее значение в развитом языке. В частности, слово 5747 в первой позиции кодирует присутствие животного на изображении. На том же рисунке показано, что сообщение (5747 5747 7125 * *) соответствует определенному виду медведей, что указывает на то, что в разработанном языке реализовано какое-то иерархическое кодирование. Это представляет большой интерес, поскольку модель не была явно ограничена использованием какой-либо иерархической схемы кодирования. Предположительно, эта схема может помочь модели эффективно описывать невидимые изображения. Тем не менее, естественный язык использует другие принципы для обеспечения композиционности. Модель кажется в целом применимой, поскольку она показывает аналогичное поведение для изображений в сфере питания (правое изображение на рисунке выше).

В нашем исследовании мы показали, что агенты, смоделированные с помощью нейронных сетей, могут успешно изобрести эффективный язык, состоящий из последовательностей дискретных токенов. Мы также обнаружили, что агенты могут быстрее разработать протокол связи, если мы позволим им использовать более длинные последовательности символов. Более того, мы заметили, что индуцированный язык реализует иерархическую схему кодирования и существует несколько перефразирований, которые кодируют одно и то же семантическое содержание. В будущей работе мы хотели бы распространить этот подход на моделирование целевых диалоговых систем.

Чат-боты и диалоговые платформы ИИ становятся все более важными в корпоративной сфере, особенно в банковском, страховом и телекоммуникационном секторах. Однако современные подходы к созданию этих технологий по-прежнему основаны на тщательном контроле со стороны человека. Людям необходимо составить правила или привести примеры успешных диалогов, которые используются для обучения умных помощников. Это сложно масштабировать для решения сложных задач, поскольку контроль качества требует больших затрат времени и средств. Более того, человеческие подходы могут быть непоследовательными или могут существовать более эффективные способы решения задач. Наш подход имеет многообещающий потенциал для замены или дополнения этого стандартного сценария: чат-боты могут затем использовать обратную связь о завершении задачи, обеспечивая дополнительный рентабельный контроль. В какой-то момент это может помочь создать успешных цифровых помощников в более короткие сроки и с меньшими затратами. Мы также ожидаем, что это позволит машинам справляться с новыми сценариями и изменениями в существующих настройках без явного вмешательства человека или необходимости новых наборов данных.

Мы презентовали свою работу на НИПС’17. Для получения дополнительной информации и технических деталей нашего исследования, пожалуйста, проверьте: Появление языка с многоагентными играми: обучение общению с помощью последовательностей символов.