Предварительное исследование структуры капсульной сети Capsule

Нейронные сети

Джеффри Хинтон, крупный специалист по нейронным сетям, в октябре 2017 года предложил новую сетевую структуру, которую он назвал Capsule, что в переводе с китайского означает «капсула». На этой неделе код Capsule был выложен на github с открытым исходным кодом и мгновенно стал хитом. Сетевые структуры капсульного типа, такие как сверточные нейронные сети, изначально были разработаны для решения проблем со зрением, но могут применяться и в других областях. В этой небольшой статье не рассматриваются математические детали капсульных нейронных сетей, но основное внимание уделяется тому, как капсульные сети преодолевают проблемы CNN. Перед чтением те, кто не знаком со сверточными нейронными сетями, могут взглянутьЧто вы должны знать о CNN.

Джеффри Хинтон из Google

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

1) CNN работает недостаточно хорошо

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

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

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

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

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

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

2) Хрупкое и антихрупкое

На английском языке, чтобы улучшить масштабируемость модели, CNN стремится к инвариантности, а Capsule Network — к эквивалентности. Дети, знакомые с Талебом, будут думать о его судьбе.Противоположность хрупкости не прочность, а антихрупкость. Именно в этом эффективна капсульная нейронная сеть: она преследует одно и то же восприятие (метку) одного и того же предмета с разных точек зрения и распознает изображения похожих предметов, запоминая наизусть помеченные данные с каждой точки зрения.

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

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

Давайте посмотрим, что хочет сделать капсульная нейронная сеть.Предположим, мы обучаем сеть, которая распознает число 2. Первое, что мы делаем, это обучаем несколько капсул (то есть группу относительно независимых нейронов) на каждом слое.Каждая капсула отвечает только за подструктуру A , например, три капсулы на рисунке обозначают горизонтальные линии, вертикальные линии и острые углы соответственно Каждая капсула дает вероятность (интенсивность) функции, за идентификацию которой она отвечает, в каждой позиции на рисунке. график, а затем передает кодирование.Устройство интегрирует информацию об интенсивности в каждой позиции, заданной каждой капсулой, и, наконец, получает реконструированное изображение.

Например, нас интересует распознавание числа 7, тогда первая строка на рисунке ниже — это традиционный нейрон, который даст вероятность того, соответствует ли цифра 7, но эта нейронная сеть не может распознать число в третьей строке . Капсула, содержащая два нейрона, может распознавать перевороты и определенные формы. Независимо от того, стоит ли график вертикально, как вторая строка, или криво, как третья строка, капсульная сеть может правильно его идентифицировать.

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

3) Избыточность против сложности

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

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

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

Подобно глубокой сети CNN, капсульная сеть также может иметь иерархическую структуру, как показано на рисунке ниже: красная — это основная структура капсулы, зеленая — структура капсулы высокого уровня, а зеленая капсула не может знать, что такое конкретная форма на графике.Это заставляет структуру зеленой капсулы изучать только отношения между подструктурами на графике посредством обучения, которое понимает, чего не может CNN, то есть изображение переворачивается, растягивается, переводится и другие перспективные преобразования в своем сознании, но в то же время сохраняют постоянство своих характеристик.

Производительность капсульной нейронной сети на трехмерном изображении показана ниже.Цель здесь состоит в том, чтобы увидеть, может ли капсульная нейронная сеть правильно выбрать графику из левого столбца на следующем рисунке, чтобы получить графику справа. Мы видим, что изображения, сгенерированные флипом Capsule Network, работают хорошо. Это означает, что нейронная сеть узнала, как должны быть связаны подструктуры в каждом графе. На втором рисунке показано, что изученные соединения также можно применять к тестовым данным, которых нет в обучающем наборе, даже если обучающими данными является автомобиль, а тестовыми данными — самолет, что показывает отличную масштабируемость капсульная сеть.

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

4) Резюме

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

Вот структурная схема сети CapsNet, используемой для идентификации цифрового набора MInst.Нижний слой — это слой свертки, а для окончательного прогноза используется знакомый полносвязный слой Sigmoid.Изменение заключается в том, что изменяются только средние слои. из сети свертки в сеть Capsule.

читать далее

Народное трансферное обучение

Предварительное исследование состязательных нейронных сетей

использованная литература

Woohoo. В это время. Торонто. Quota/~Fritz/Abu Video…

Цвет Web.UCSD.Amount/~Gary/200 на данный момент…

Ву Ву, AR West V-vanity.com/papers/1712…

Будет. GitHub.IO/2017/11/03/…