Международная конференция по машинному обучению (ICML) - ведущая международная научная конференция по машинному обучению, привлекающая более 2000 участников. В этом году он проходил в Нью-Йорке, и я присутствовал на нем от Init.ai. Три обучающих семинара, которые я посетил, были весьма впечатляющими. Эти темы будут интересны всем, кто работает над диалоговыми приложениями, чат-ботами и глубоким обучением.

  • Глубокие остаточные сети: глубокое обучение становится глубже, Кайминг Хе (слайды)
  • Сети памяти для понимания языка, автор - Джейсон Уэстон (слайды)
  • Последние достижения в области невыпуклой оптимизации и ее значение для обучения, автор: Анима Анандкумар (слайды)

Глубокие остаточные сети

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

Кайминг показал, насколько глубокие нейронные сети выиграли недавние соревнования ImageNet. Тем не менее, увеличение их глубины более чем на двадцать слоев снижает производительность.

Чтобы зайти так далеко, достаточно нескольких приемов. Тщательная инициализация веса и пакетная нормализация позволяют сетям обучаться за пределами десяти уровней.

Инициализация веса

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

Для активации выпрямленно-линейного (ReLU) можно использовать:

Для выпрямленно-линейной сети с 22 слоями инициализация вторым уравнением сходится быстрее. Та же сеть с 30 слоями требует, чтобы вторая форма работала вообще. Вторая форма имеет смысл, потому что ReLU отбрасывает половину входного пространства.

Пакетная нормализация

Пакетная нормализация изменяет масштаб каждого слоя для каждой мини-партии. Это снижает чувствительность тренировки к начальным весам. Для каждого слоя и минипакета вычисляется среднее значение и стандартное отклонение входных значений x. Затем слой масштабирует свой вход и применяет (покомпонентное) линейное преобразование с параметрами γ и β.

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

Остаточное обучение обходит этот барьер и повышает точность с большим количеством уровней.

Чтобы углубить еще от 10x до 1000, Он заменяет сопоставление после сложения функцией идентичности. Традиционные ResNets использовали ReLU после добавления. Deeper ResNets используют идентичность. Он показывает, что несколько разумных функций активации после добавления приводят к мультипликативному поведению и снижению производительности.

Активация идентичности плавно передает сигнал со всех предыдущих уровней l на L -й уровень:

Точно так же он плавно переносит ошибку со всех последующих слоев L на l -й слой:

В заключение Кайминг продемонстрировал результаты переноса функций из ResNets по классификации изображений. Использование функций ResNet для задач локализации, обнаружения и сегментации более точное на 8,5%. Также хорошо передаются оценка позы человека и оценка глубины. ResNets перспективны в области создания изображений, обработки естественного языка, распознавания речи и рекламных задач.

Вот две реализации, выделенные Каймингом:

Сети памяти для понимания языка

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

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

Затем были представлены сети памяти (MemNN). Сети памяти объединяют вводы с вниманием к воспоминаниям, чтобы обеспечить обоснованные выводы. Он ограничивает объем первой итерации как можно более простым. Он состоит из повторяющегося модуля контроллера, который принимает начальный запрос. Для начала его память загружена набором фактов. Запрос и факты - это векторы, состоящие из множества слов. Контроллер предсказывает вектор внимания (с сигналом наблюдения), чтобы выбрать факт. Он читает выбранную память, чтобы обновить ее скрытое состояние. После нескольких повторений или прыжков он формулирует результат. В выходных данных ранжируются возможные ответы из словаря слов. Сигналы об ошибках распространяются по сети обратно через выходные данные и контролируемые эпизоды внимания.

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

Джон был в спальне.

Боб был в офисе.

Джон пошел на кухню.

Боб вернулся домой.

Где Джон? А: кухня

(Пример из слайда 11.)

Ориентиры:

  • Фактоидный вопрос / ответ с одним подтверждающим фактом
  • Factoid QA с двумя подтверждающими фактами
  • Factoid QA с тремя подтверждающими фактами
  • Два аргументных отношения: субъект против объекта
  • Отношения трех аргументов
  • Да, без вопросов
  • Подсчет
  • Списки / наборы
  • Простое отрицание
  • Неопределенное знание
  • Базовое сопоставление
  • Соединение
  • Составное корефенс
  • Манипуляция временем
  • Базовый вычет
  • Основная индукция
  • Позиционное рассуждение
  • Рассуждения о размере
  • Найти путь
  • Рассуждения о мотивации агента

Пересмотренная модель сквозной сети памяти (MemN2N) обучается без надзора. Он использует мягкое внимание (вектор вероятности) для чтения памяти. Таким образом, он полностью дифференцируемый и может учиться только на основе контроля вывода. Новая модель по-прежнему не справляется с некоторыми тестовыми задачами. Тем не менее, он успешно справляется с несколькими реальными тестами, такими как детские книги и наборы вопросов для новостей.

В другой версии, Key-Value Memory Network, каждая ячейка памяти разбита на две части. Первая часть - это ключ поиска, используемый для сопоставления входящего вектора состояния. Второй - это значение, объединенное с вниманием для получения считываемого значения. MemNN с ключом и значением близко соответствуют последнему слову техники в некоторых реальных наборах данных с ответами на вопросы.

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

Изучите документы, код и наборы данных на слайде 87. Найдите вопросы для будущего исследования в слайде 10, слайде 83 и слайде 88.

Невыпуклая оптимизация

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

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

Если вам понравилось читать эти учебные пособия по ICML 2016, не забудьте 💚 рекомендовать мой рассказ.

Роберт - разработчик программного обеспечения, работающий над серверными службами и инфраструктурой глубокого обучения на Init.ai, венчурной платформе для разработчиков, которая позволяет компаниям создавать диалоговые приложения.

Если вы хотите узнать больше о диалоговых интерфейсах, подпишитесь на him и Init.ai в Medium и Twitter.