CapsNet Primer Series One: интуитивное понимание капсульных сетей

глубокое обучение Нейронные сети
CapsNet Primer Series One: интуитивное понимание капсульных сетей

О мудрости

Автор | Максим Печенкин

компилировать | слабый

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

вводить

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

Джеффри Хинтон десятилетиями думал о капсулах.

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

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

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

Архитектура CapsNet в статье

Основные недостатки CNN

Производительность CNN (Convolutional Neural Network) впечатляет. Это одна из причин, почему глубокое обучение так популярно в наши дни. CNN могут делать удивительные вещи, вещи, которые, как люди думали, компьютеры не могли делать в течение очень долгого времени. Тем не менее, CNN имеют свои ограничения и один фундаментальный недостаток.

Давайте рассмотрим очень простой нетехнический пример. Представьте себе лицо, из каких частей оно состоит? Овал, представляющий форму лица, два глаза, нос и рот. Для CNN само присутствие этих объектов — очень сильный намек на то, что на изображении есть лицо. Ориентация и пространственное взаимное расположение компонентов не очень важны для CNN.

Для CNN два изображения похожи, потому что они содержат похожие части.

Как работает CNN? Основной частью CNN является сверточный слой, который используется для обнаружения важных функций в пикселях изображения. Более глубокие слои (слои ближе к входным данным) научатся обнаруживать простые функции, такие как края и цветовые градиенты, в то время как более высокие слои объединяют простые функции в более сложные. Наконец, плотные слои в верхней части сети сочетают в себе функции высокого уровня и прогнозы выходной классификации.

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

Сам Хинтон заявил, что тот факт, что максимальный пул работал так хорошо, был огромной ошибкой и катастрофой:

Операция объединения, используемая свёрточными нейронными сетями, является огромной ошибкой, и такая хорошая работа — катастрофа.

Конечно, вы можете получить хорошие результаты с традиционными CNN без максимального пула, но это все еще не решает ключевую проблему:

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

В приведенном выше примере на картинке есть два глаза, рот и нос, но это не означает, что на картинке есть лицо, нам также нужно знать отношение ориентации этих объектов друг к другу.

Жесткое кодирование трехмерного мира в нейронную сеть: метод обратного графа

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

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

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

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

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

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

Ваш мозг может легко распознать, что это один и тот же объект, несмотря на разные ракурсы снимков. CNN не имеет такой возможности

Для CNN эта задача очень сложна, потому что у них нет встроенного понимания трехмерного пространства. Для CapsNet эта задача намного проще, поскольку он явно моделирует эти отношения. По сравнению с предыдущим современным методом, статья с использованием CapsNet смогла снизить частоту ошибок на 45% (с ~ 20% до ~ 12%), что является огромным улучшением.

Еще одним большим преимуществом капсульного метода является то, чтоПо сравнению с данными, требуемыми CNN, ему нужно изучить только небольшую часть данных., для достижения самых современных результатов (Хинтон упомянул об этом в своей знаменитой речи об ошибках CNN). В этом смысле капсульная теория на самом деле ближе к поведению человеческого мозга. Чтобы научиться различать числа, человеческому мозгу нужно всего несколько десятков примеров, самое большее несколько сотен примеров. А CNN нужны десятки тысяч примеров, чтобы добиться хороших результатов. Это выглядит как грубая сила, явно уступающая нашему мозгу.

почему так долго

Идея настолько проста, что до нее никто не додумался! На самом деле, Хинтон обдумывал эту идею десятилетиями. Причина не опубликования просто в том, что нет возможности реализовать это ранее технически. Одна из причин заключается в том, что компьютеры не были достаточно мощными примерно до 2012 года, до наступления эры вычислений на базе графических процессоров. Другая причина заключается в том, что не существует единого алгоритма, который может реализовать и успешно изучить капсульные сети. Это чем-то похоже на историю обратного распространения, когда концепция искусственных нейронов появилась еще в 1940-х годах, и только в середине 1980-х, с внедрением алгоритма обратного распространения, мы смогли успешно обучать глубокие сети. (На самом деле алгоритм обратного распространения был предложен в 1960-х годах, но не применялся к нейронным сетям до 1982 года.)

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

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

в заключении

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

Хинтон и его команда придумали способ обучения сети таких капсул и успешно обучили ее на простом наборе данных, добившись передовых результатов. Это очень вдохновляет.

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

В любом случае, капсульная сеть — очень интересная модель, и она работает прямо сейчас. Со временем он обязательно будет развиваться дальше и в то же время будет способствовать дальнейшему расширению области приложений глубокого обучения.

На этом первая статья из серии Capsule Networks заканчивается. Во второй части я шаг за шагом проведу вас, чтобы понять внутренний механизм CapsNet, так что следите за обновлениями.

Оригинальный адрес: https://medium.com/@pechyonkin/understanding-hintons-capsule-networks-part-i-intuition-b4b559d1159b

Эта статья составлена ​​Lunzhi, пожалуйста, свяжитесь с этим публичным аккаунтом для авторизации.