``В каждой проблеме кроется возможность”.

-Роберт Кийосаки

Мне было поручено классифицировать изображения бинарного класса, для чего я использовал CNN, так как он работает лучше, чем любые другие подходы (на момент написания), поскольку смог получить оценку f1 97% для обоих классов. Я попытался найти другие варианты и снова посетил Capsule Nets. Это краткое введение в CapsuleNets.

Введение

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

Проблемы/ограничения с CNN

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

Проблема 1: ConvNets являются трансляционными инвариантами

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

Рис.1. Прогнозы по модели Cat CNN (трансляционная инвариантность)[1]

Рис. 2. Прогнозы, ожидаемые от эквивалентности перевода [1]

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

Рис. 3. Прогнозы CNN.[1]

Рис.4. Прогнозы от CapsuleNets.[1]

Проблема 2: CNN требует много данных для обобщения

Для обучения CNN требуется большое количество весов фильтров, поэтому для обобщения необходимо большое количество данных.

Проблема 3: Объединение слоев приводит к потере ценной информации

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

Как CapsuleNet решает проблему

Подход, лежащий в основе CapsuleNet, можно назвать «обратной графикой», его можно рассматривать как визуализацию обратной компьютерной графики. В нормальном потоке можно пояснить на рис.5. Здесь меш-объект преобразуется в пиксели на экране.

Рис.5. Упрощенный процесс рендеринга компьютерной графики.[1]

Итак, с помощью инверсии мы хотим получить приблизительное положение всего объекта, умножая 2D-изображение на инверсию матрицы преобразования. Таким образом, сеть может научиться обратному рендерингу изображения. Он может посмотреть на изображение и попытаться предсказать параметры его создания.

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

Динамическая маршрутизация

Маршрутизация — это процесс передачи информации на другой уровень. В настоящее время CNN выполняет маршрутизацию через слои пула, в основном слой Max Pooling. Что приводит к потере информации.

В CapsuleNet каждая капсула пытается отправить информацию вышестоящей капсуле так, чтобы та, которая получает информацию, лучше всех с ней справлялась (рис. 6). Как и в статье [2] «Используя итеративный процесс маршрутизации, каждая активная капсула выбирает капсулу в слое выше, чтобы быть ее родителем в дереве. Для более высоких уровней зрительной системы этот повторяющийся процесс будет решать проблему сопоставления частей с целым».

Они используют силу связи c для каждой капсулы в слое L с каждой капсулой в слое L+1. Таким образом, в то время как нормальное прямое распространение имеет стандартные веса для передачи, информация задается как z=W*a,с силой связи она может быть представлена ​​как z= c*W*a >с (с‹1).

Рис. 6. Динамическая маршрутизация

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

Рис. 7. Разница между капсулой и нейроном.[3]

Плюсы и минусы[6]:

Плюсы:

1. Хорошая производительность достигается на небольших наборах данных, например. МНИСТ

2. Легче интерпретировать более надежные изображения

3. Сохраняет всю информацию (поза, текстура, местоположение и т.д.)

Минусы:

1. Не превосходит большие наборы данных (например, CIFAR10). Лишняя информация в изображениях захватывает сеть.

2. Алгоритм маршрутизации по соглашению требует больше времени для вычислений

Вывод:

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

Ссылка:

[1] https://kndrck.co/posts/capsule_networks_explained/

[2] https://arxiv.org/pdf/1710.09829.pdf
[3] https://cedar.buffalo.edu/~srihari/CSE676/9.12%20CapsuleNets.pdf
[4] https://towardsdatascience.com/capsule-neural-networks-the-future-for-autonomous-vehicles-f97bc3f7918

[5] https://towardsdatascience.com/capsule-networks-the-new-deep-learning-network-bd917e6818e8

[6] https://towardsdatascience.com/capsule-neural-networks-the-future-for-autonomous-vehicles-f97bc3f7918

[7] https://hackernoon.com/uncovering-the-intuition-behind-capsule-networks-and-inverse-graphics-part-i-7412d121798d