Jump to content

Капсульная нейронная сеть

Капсульная нейронная сеть ( CapsNet ) — это система машинного обучения, которая представляет собой тип искусственной нейронной сети (ИНС), которую можно использовать для лучшего моделирования иерархических отношений. Этот подход представляет собой попытку более точно имитировать биологическую нейронную организацию. [1]

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

Помимо других преимуществ, сети capsnet решают «проблему Пикассо» при распознавании изображений: изображения, которые имеют все нужные части, но не находятся в правильном пространственном отношении (например, в «лице» положение рта и одного глаза меняется местами). ). Для распознавания изображений Capsnet используют тот факт, что, хотя изменения точки обзора имеют нелинейный эффект на уровне пикселей, они имеют линейный эффект на уровне детали/объекта. [3] Это можно сравнить с инвертированием рендеринга объекта, состоящего из нескольких частей. [4]

В 2000 году Джеффри Хинтон и др. описал систему визуализации, которая объединила сегментацию и распознавание в единый процесс вывода с использованием деревьев синтаксического анализа . Так называемые сети достоверности описывали совместное распределение по скрытым переменным и по возможным деревьям разбора. Эта система оказалась полезной в базе данных рукописных цифр MNIST . [4]

Механизм динамической маршрутизации для капсульных сетей был представлен Хинтоном и его командой в 2017 году. Утверждалось, что этот подход снижает частоту ошибок в MNIST и уменьшает размеры обучающего набора. Утверждалось, что результаты значительно лучше, чем у CNN для сильно перекрывающихся цифр. [1]

В первоначальной идее Хинтона один мини-столбец должен был представлять и обнаруживать один многомерный объект. [5] [примечание 1]

Преобразования

[ редактировать ]

Инвариант — это свойство объекта, которое не изменяется в результате какого-либо преобразования. Например, площадь круга не изменится, если круг сместить влево.

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

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

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

Эквивариантные свойства, такие как пространственные отношения, фиксируются в позе , масштаб и отражение объекта , данных, которые описывают перемещение , вращение . Трансляция — это изменение местоположения в одном или нескольких измерениях. Ротация – это изменение ориентации. Масштаб – это изменение размера. Отражение – это зеркальное отражение. [1]

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

Умножение объекта на многообразие помещает объект (для объекта в пространство). [7]

Объединение

[ редактировать ]

Сети Capsnet отвергают стратегию уровня пула обычных CNN, которая уменьшает количество деталей, подлежащих обработке на следующем более высоком уровне. Объединение в пул обеспечивает определенную степень трансляционной инвариантности (он может распознавать один и тот же объект в несколько другом месте) и позволяет представлять большее количество типов объектов. Сторонники Capsnet утверждают, что объединение в пул: [1]

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

Капсула — это набор нейронов, которые индивидуально активируются для различных свойств типа объекта, таких как положение, размер и оттенок. Формально капсула представляет собой набор нейронов, которые совместно создают вектор активности с одним элементом для каждого нейрона, который хранит значение экземпляра этого нейрона (например, оттенок). [1] Графические программы используют значение экземпляра для рисования объекта. Capsnets пытаются получить их из своих входных данных. Вероятность присутствия объекта в определенных входных данных — это длина вектора, а ориентация вектора определяет количественные свойства капсулы. [1] [3]

Искусственные нейроны традиционно выдают скалярную активацию с действительным значением, которая в общих чертах представляет вероятность наблюдения. Capsnet заменяют детекторы функций скалярного вывода капсулами векторного вывода, а максимальное объединение в пул — маршрутизацией по соглашению. [1]

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

Капсулы на более высоких уровнях принимают выходные данные от капсул на более низких уровнях и принимают те, чьи выходные данные кластеризуются. Кластер заставляет высшую капсулу выводить высокую вероятность наблюдения присутствия сущности, а также выводить высокомерную (20-50+) позу. [1]

Капсулы более высокого уровня игнорируют выбросы, концентрируясь на кластерах. Это похоже на преобразование Хафа , RHT и RANSAC из классической цифровой обработки изображений . [1]

Маршрутизация по договоренности

[ редактировать ]

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

Для каждого возможного родителя каждый дочерний элемент вычисляет вектор прогнозирования, умножая его выходные данные на матрицу весов (обученную методом обратного распространения ошибки ). [3] Затем выходные данные родителя вычисляются как скалярное произведение прогноза с коэффициентом, представляющим вероятность того, что этот дочерний элемент принадлежит этому родителю. Ребенок, чьи прогнозы относительно близки к полученному результату, последовательно увеличивает коэффициент между этим родителем и ребенком и уменьшает его для родителей, которым он соответствует менее хорошо. Это увеличивает вклад, который этот дочерний элемент вносит в родительский, тем самым увеличивая скалярное произведение предсказания капсулы на выходные данные родителя. После нескольких итераций коэффициенты прочно связывают родителя с его наиболее вероятными дочерними элементами, указывая на то, что присутствие дочерних элементов подразумевает присутствие родителя в сцене. [1] Чем больше детей, чьи прогнозы близки к результатам родителей, тем быстрее растут коэффициенты, что способствует сходимости. Поза родителя (отраженная в его выводе) постепенно становится совместимой с позицией его дочерних элементов. [3]

Начальные логиты коэффициентов представляют собой лог априорных вероятностей того, что дочерний элемент принадлежит родителю. Априорные значения можно обучать дискриминационно вместе с весами. Приоритеты зависят от местоположения и типа дочерней и родительской капсул, но не от текущего ввода. На каждой итерации коэффициенты корректируются с помощью softmax «маршрутизации» , так что они продолжают суммироваться до 1 (чтобы выразить вероятность того, что данная капсула является родителем данного дочернего элемента). Softmax усиливает большие значения и уменьшает меньшие значения за пределы их. доля от общего количества. Аналогичным образом, вероятность присутствия признака во входных данных преувеличивается нелинейной функцией «сжатия», которая уменьшает значения (меньшие значения резко, а большие — меньше 1). [3]

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

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

Математика/код

[ редактировать ]

Вектор позы вращается и транслируется матрицей в вектор который предсказывает выход родительской капсулы.

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

Процедура софтмакс

[ редактировать ]

Коэффициенты связи из капсулы в слое ко всем капсулам в слое сумма равна единице и определяется «маршрутизацией softmax ». Начальные логиты — априорные вероятности журнала для маршрутизации. Это априорная вероятность того, что капсула в слое должен подключаться к капсуле в слое . Нормализация коэффициентов связи: [1]

Чтобы эта процедура была оптимальной, необходимо запомнить несколько значений и сбрасывать эти значения на каждой итерации. Это если вектор изменения, то запомненные значения необходимо обновить. Не показано, как это должно быть сделано. Никакого запоминания делителя не показано. [1]

Процедура сквоша

[ редактировать ]

Поскольку длина векторов представляет собой вероятность, она должна быть между нулем и единицей, и для этого применяется функция сжатия: [1]

Вектор, сжатый до нуля, имеет исчезающий градиент.

Маршрутизация процедур

[ редактировать ]

Один из подходов к маршрутизации заключается в следующем. [1]

В строке 8 функцию softmax можно заменить на любой тип сети, в которой победитель получает все . Биологически это чем-то напоминает клетки-люстры , но они также могут участвовать в расчете коэффициентов связи (строка 9) или расчете соглашений (строка 11).

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

В строке 10 функцию сквош можно заменить другими функциями и топологиями сети, сохраняющими направление вектора.

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

Обучение

[ редактировать ]

Обучение проходит под контролем . [3] Сеть обучается путем минимизации евклидова расстояния между изображением и выходными данными CNN, которая восстанавливает входные данные на основе выходных данных терминальных капсул. [1]

Сеть обучается дискриминационно с использованием итеративной маршрутизации по соглашению. [1]

Векторы активности всех родителей, кроме правильного, маскируются. [1]

Потеря маржи

[ редактировать ]

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

Этот тип функции потерь распространен в ИНС. Параметры и установлены таким образом, чтобы длина не превышала максимум и не сжималась, и . Понижение начальных весов для отсутствующих классов контролируется , с как разумный выбор. [1]

Потери на реконструкцию

[ редактировать ]

Дополнительные потери при реконструкции побуждают объекты кодировать параметры создания экземпляров своих входов. Окончательный вектор активности затем используется для восстановления входного изображения через декодер CNN, состоящий из 3 полностью связанных слоев. Реконструкция минимизирует сумму квадратов разностей между выходными данными логистических единиц и интенсивностями пикселей. Эти потери при реконструкции уменьшаются на 0,0005, чтобы они не доминировали над потерями запаса во время обучения. [1]

Пример конфигурации

[ редактировать ]

Первые сверточные слои выполняют извлечение признаков. Для теста изображения MNIST размером 28x28 пикселей исходные 256 размером 9x9 пикселей сверточных ядер (с использованием шага 1 и активации выпрямленной линейной единицы 20x20 (ReLU), определяющих рецептивные поля ) преобразуют входные пиксели в активации 1D-функций и вызывают нелинейность. [1]

Первичный (самый нижний) слой капсул делит 256 ядер на 32 капсулы по 8 ядер размером 9x9 в каждой (с использованием шага 2, определяющего рецептивные поля 6x6). Активации капсулы эффективно инвертируют процесс рендеринга графики, переходя от пикселей к функциям. Каждая капсула использует единую весовую матрицу для всех рецептивных полей. Каждая первичная капсула видит все выходные данные нижнего уровня, поля которых перекрываются с центром поля первичного слоя. Выходные данные каждой первичной капсулы (для конкретного поля) представляют собой 8-мерный вектор. [1] [3]

Второй слой капсул цифр содержит одну 16-мерную капсулу для каждой цифры (0–9). Динамическая маршрутизация соединяет (только) первичный уровень и уровень цифровой капсулы. Матрица весов [32x6x6] x 10 управляет сопоставлением между слоями. [1]

Сети Capsnet являются иерархическими, поскольку каждая капсула более низкого уровня вносит значительный вклад только в одну капсулу более высокого уровня. [1]

Однако копирование полученных знаний остается ценным. Для достижения этой цели нижние слои capsnet являются сверточными , включая скрытые слои капсулы. Таким образом, более высокие слои охватывают более крупные области, сохраняя при этом информацию о точном положении каждого объекта внутри региона. Для капсул низкого уровня информация о местоположении «закодирована» в соответствии с тем, какая капсула активна. Выше все больше и больше позиционной информации кодируется в выходном векторе капсулы. Этот переход от кодирования места к кодированию скорости в сочетании с тем фактом, что капсулы более высокого уровня представляют собой более сложные объекты с большим количеством степеней свободы, предполагает, что размерность капсулы увеличивается с уровнем. [1]

Человеческое видение

[ редактировать ]

Человеческое зрение исследует последовательность фокусных точек (направленных саккадами ), обрабатывая лишь часть сцены с самым высоким разрешением. Capsnets основаны на корковых миниколонках (также называемых кортикальными микроколоннами) в коре головного мозга . Миниколонка представляет собой структуру, содержащую 80–120 нейронов диаметром около 28–40 мкм, охватывающую все слои коры головного мозга. Все нейроны в более крупных миниколонках имеют одинаковое рецептивное поле и выдают свои активации в виде потенциалов действия или спайков. [1] Нейроны внутри микроколонки получают общие входные данные, имеют общие выходные данные, взаимосвязаны и могут составлять фундаментальную вычислительную единицу коры головного мозга . [8]

Capsnets исследуют интуитивное понимание того, что зрительная система человека создает древовидную структуру для каждой точки фокусировки и координирует эти деревья для распознавания объектов. Однако с помощью capsnet каждое дерево «вырезается» из фиксированной сети (путем корректировки коэффициентов), а не собирается на лету. [1]

Альтернативы

[ редактировать ]

Утверждается, что CapsNets имеет четыре основных концептуальных преимущества перед сверточными нейронными сетями (CNN):

  • Инвариантность точки зрения: использование матриц поз позволяет капсульным сетям распознавать объекты независимо от точки зрения, с которой они рассматриваются.
  • Меньше параметров: поскольку капсулы группируют нейроны, связи между слоями требуют меньше параметров.
  • Лучшее обобщение для новых точек зрения: CNN, обученные понимать вращения, часто узнают, что объект можно рассматривать одинаково при нескольких разных вращениях. Однако капсульные сети лучше обобщают новые точки зрения, поскольку матрицы поз могут фиксировать эти характеристики в виде линейных преобразований.
  • Защита от состязательных атак «белого ящика»: метод знаков быстрого градиента (FGSM) является типичным методом атаки на CNN. Он оценивает градиент каждого пикселя относительно потерь сети и изменяет каждый пиксель не более чем на эпсилон (член ошибки), чтобы максимизировать потери. Хотя этот метод может резко снизить точность CNN (например, ниже 20%), капсульные сети сохраняют точность выше 70%.

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

Матрицы преобразования Capsnet изучают (независимые от точки зрения) пространственные отношения между частью и целым, позволяя распознавать последнее на основе таких отношений. Однако сети capsnet предполагают, что в каждом месте отображается не более одного экземпляра объекта капсулы. Это предположение позволяет капсуле использовать распределенное представление (вектор активности) объекта для представления этого объекта в этом месте. [1]

Capsnet использует нейронную активность, которая варьируется в зависимости от точки зрения. Им не нужно нормализовать объекты (как в сетях пространственных преобразователей ) и они могут даже распознавать многократно преобразованные объекты. Capsnets также может обрабатывать сегментированные объекты. [1]

См. также

[ редактировать ]

Примечания

[ редактировать ]
  1. По словам Хинтона, это «дикие спекуляции».
  1. ^ Перейти обратно: а б с д и ж г час я дж к л м н тот п д р с т в v В х и С аа аб и объявление но из в Сабур, Сара; Фрост, Николас; Хинтон, Джеффри Э. (26 октября 2017 г.). «Динамическая маршрутизация между капсулами». arXiv : 1710.09829 [ cs.CV ].
  2. ^ Хинтон, Джеффри Э.; Крижевский, Алекс; Ван, Сида Д. (14 июня 2011 г.). «Преобразование автокодировщиков». Искусственные нейронные сети и машинное обучение – ICANN 2011 . Конспекты лекций по информатике. Том. 6791. Шпрингер, Берлин, Гейдельберг. стр. 44–51. CiteSeerX   10.1.1.220.5099 . дои : 10.1007/978-3-642-21735-7_6 . ISBN  9783642217340 . S2CID   6138085 .
  3. ^ Перейти обратно: а б с д и ж г Шрихари, Саргур. «Капсульные сети» (PDF) . Университет Буффало . Проверено 7 декабря 2017 г.
  4. ^ Перейти обратно: а б Хинтон, Джеффри Э; Гахрамани, Зубин; Да, Йи Почему (2000). Солла, ЮАР ; Лин, ТК; Мюллер, К. (ред.). Достижения в области нейронных систем обработки информации 12 (PDF) . МТИ Пресс. стр. 463–469.
  5. ^ Мехер Вамси (15 ноября 2017 г.), Теория капсулы Джеффри Хинтона , получено 6 декабря 2017 г.
  6. ^ «Понимание капсул Matrix с EM-маршрутизацией (на основе капсульных сетей Hinton)» . jhui.github.io . Проверено 31 декабря 2017 г.
  7. ^ Тан, Кендрик (10 ноября 2017 г.). «Объяснение капсульных сетей» . kndrck.co . Проверено 26 декабря 2017 г.
  8. ^ «Микроколонны в мозгу» . www.физика.drexel.edu . Архивировано из оригинала 27 мая 2018 г. Проверено 31 декабря 2017 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 143788a601bb3b08f10e39a8838a88c0__1714140060
URL1:https://arc.ask3.ru/arc/aa/14/c0/143788a601bb3b08f10e39a8838a88c0.html
Заголовок, (Title) документа по адресу, URL1:
Capsule neural network - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)