gototopgototop

УДК 004

Метод классификации изображений на основе капсульных сетей

Матвеева Юлия Анатольевна – студент Московского государственного технического университета имени Н.Э. Баумана.

Аннотация: Рассмотрено устройство капсульных сетей, их достоинства и недостатки. Предложены различные подходы для повышения точности и быстродействия данного вида сетей на наборе данных CIFAR-10. Разработан модифицированный метод классификации, проведено исследование его характеристик. Проанализированы результаты применения рассмотренных модификаций к архитектуре капсульных сетей.

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

Введение

В 2017 дж. Хинтон предложил новую архитектуру нейронных сетей для решения задачи распознавания изображений [1]. По словам автора, особенности данной архитектуры направлены на решение проблем одного из самых применяющихся к данной задачи методов – сверточных нейронных сетей. Как показано на Рисунке 1, данная сеть обычно состоит из множества чередующихся слоев трех основных видов: сверточного, субдискретизирующего (пулинга) и полносвязного.

Рисунок 1. Типовая архитектура свёрточной нейронной сети.

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

1. Капсульные нейронные сети

Хинтон указывает на три основных недостатка данной архитектуры:

  • Сверточные сети в своей структуре имеют слишком малое количество уровней: из нейронов складываются слои, из слоев – сеть. Необходимо, некоторым образом, объединить нейроны в группы на каждом слое так, чтобы появилась возможность производить внутренние вычисления и выдавать на выходе компактный результат;
  • По мере продвижения от первых слоев сверток, где выделяются локальные признаки исходного изображения, к более глубоким слоям признаки превращаются в так называемые домены признаков, что является одним из главных достоинств сверточных нейронных сетей. При этом критике подвергается только слой пулинга: на каждом таком слое забывается информация о локации выделенного признака, что плохо вписывается в механизм восприятия формы человеческого мозга. Исчезают пространственные связи между объектами или их частями;
  • Наличие слоев пулинга также приводит к небольшой трасляционной инвариантности, которая по мнению Хинтона является недостатком сети, а не достоинством. Проблема заключается в неспособности сети определять положение объекта в пространстве, а также реагировать на его изменения (такие как поворот или смещение). Для решения данного вопроса часто применяется аугментация данных – расширение обучающей выборки, заключающееся в создании дополнительных данных из уже имеющихся путем различных преобразований: поворота, отражения, масштабирования, изменения цвета. Это приводит к увеличению входного набора, а значит и длительности процесса обучения. Вместо инвариантности автор советует прийти к эквивариантности, т.е. пониманию свойств объекта таким образом, что при их изменении меняется соответственно и результат представления сети о данном объекте.

Предложенный Хинтоном новый вид сети старается исправить эти недостатки следующим образом:

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

Объединив вышеописанное, Хинтон в своей статье предлагает капсульную архитектуру (Рисунок 2), спроектированную для распознавания рукописных цифр на базе изображений MNIST.

Рисунок 2. Капсульная архитектура. [1]

Результат работы такой сети многообещающий: достигнут результат в 0.25% ошибок, что превышает предыдущий эталонный результат. В своей второй работе [2] капсульные сети достигают эталонного результата на более сложном датасете smallNORB, состоящего из объектов пяти разных классов, расположенных под различными углами для полноценной проверки распознавания формы. Таким образом, с уменьшением ошибки на 45% от предыдущего лучшего результата, капсульные сети доказали свое преимущество в распознавании относительных связей и ориентации объектов в пространстве. В последующих работах других авторов делались также успешные попытки применить эту архитектуру на такие задачи, как: сегментация изображений [3], распознавание накладывающихся или повернутых [4] цифр и т.д. Однако, по словам самого автора, капсульные сети находятся на начальном этапе своего развития и требуется еще много работы и исследований для ее полноценного развития наравне с другими методами, применяющимися в решении данной задачи. Как следующую ступень в этом развитии стоит рассмотреть попытку применения капсульных сетей к датасетам, приближенных к реальным данным, изображения которых могут содержать фон и объекты со множеством характеристик.

Примером такого набора данных является база CIFAR-10, содержащая в себе 10 классов по 6000 цветных изображений в каждом, размерность которых составляет 32×32 пикселя. На изображениях представлены реальные объекты и фон, как показано на Рисунок 3.

cifar10

Рисунок 3. Примеры изображений базы CIFAR-10.

2. Способы улучшения капсульного подхода

Для капсульных сетей можно выделить две основные проблемы и направления для дальнейшего развития:

– Вычислительная сложность. Вместе с введением алгоритма маршрутизации по соглашению, призванного заменить операцию пулинга и увеличить способности сети реагировать на положение объекта в 3D пространстве, возрастает также время и сложность вычислений при ее обучении. При этом вместо простого выбора максимума из некоторой матрицы используются итеративные алгоритмы, представленные в [1] и [2];

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

Таким образом, необходимо адресовать каждую проблему и рассмотреть существующие возможности для ее решения.

2.1 Быстродействие сети

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

  • Архитектура сети, а именно: количество слоев, количество каналов и капсул в слоях, их размерность;
  • Сложность и размер входных данных.

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

В работе [5], направленной на ускорение капсульных сетей в задаче диагностики рака легких, приводится следующий подход. Уменьшается число капсул в слоях с целью снижения количества операций маршрутизации между ними. Для компенсации подобного упрощения увеличивается размерность самих капсул, с 8D до 256D. Такое изменение позволило увеличить скорость работы сети в 3 раза и уменьшить число параметров на 21,6% при схожей точности классификации.

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

2.2 Точность классификации

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

С учетом этого, для повышения точности сети на более сложных данных, чем исходные MNIST, можно предложить несколько модификаций:

  • Увеличение числа капсул или капсульных слоев в сравнении с первоначальной архитектурой. Подобный экстенсивный подход сильно увеличит число параметров в сети, что должно учитываться при обучении;
  • Замена алгоритма маршрутизации. Несколькими авторами [6] были предложены альтернативные алгоритмы маршрутизации, способные повысить точность капсульных сетей на различных входных данных;
  • Приближение сверточной части сети к структуре эталонных сверточных сетей для классификации сложных изображений.

В работе [6] анализировались различные алгоритмы маршрутизации информации между капсулами, а также результаты их применения к нескольким датасетам. Все алгоритмы были проверены на одной и той же модели ResNet-34 [7] без блока классификации и одного капсульного слоя с фиксированной длиной капсул в 16 нейронов.

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

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

Рисунок 4 Альтернативный алгоритм маршрутизации

На вход алгоритму подается слой , r, , где  – длина (и ширина) карты признаков капсул i-го слоя,  – количество капсул в i-ом слое,  – размерность капсул i-го слоя, , r – количество итераций.

Начинается алгоритм вычисления голосов V капсул с помощью операции свертки над слоем : размерность слоя преобразуется к виду , после чего применяется  3D сверток с размером  и шагом .

После инициализации коэффициентов  нулями выполняется заданное количество итераций алгоритма: по формуле (1) вычисляются парные коэффициенты , после чего вычисляются и нормализуются «предположения»  капсул уровня L, обновляются значения коэффициентов , .

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

3. Архитектура капсульной сети

В качестве основы для проектирования архитектуры капсульной сети была выбрана вторая архитектура [2] Хинтона, предназначенная для работы с данными, близкими к реальным. Данная архитектура отличается наличием слоев ConvCaps – сверточной-капсульный слой, являющийся симбиозом операции свертки и капсул с присущим им алгоритмом маршрутизации по соглашению. Еще одна особенность – отсутствие декодера, предложенного в первой работе [1] и предназначенного для дополнительной ошибки реконструкции при обучении. В данной работе было принято решение о добавлении декодера в архитектуру сети. Как было сказано ранее, его необходимо модернизировать для снижения общего числа параметров.

Итоговая архитектура приведена на Рисунке 5. На вход капсульной сети подается изображение с тремя цветовыми каналами размером 32×32. Первым следует обычный сверточный слой: в связи с усложнением изображений ядро уменьшено до размеров 3×3, число каналов увеличено до 128.

Рисунок 5. Предложенная архитектура капсульной сети.

Выход сверточного слоя подается на сверточно-капсульный слой ConvCaps, состоящий 32-х капсул со сверткой 3×3 и выходом 4D, вычисление которого производится с помощью алгоритма маршрутизации. Последовательность данных слоев была приближена к сверточной части сети ResNet [7], победившей на последнем соревновании по классификации ImageNet и работающей на CIFAR-10 с ошибкой в 6.43%. Поскольку вместо входных данных размером 224×224 используются данные размером 32×32, было решено уменьшить количество сверточных слоев со 110 до 12. При этом используется прием, при котором постепенно увеличивается размерность сверточных слоев и их количество, в данном случае – размер капсул после первых трех сверточно-капсульных слоев.

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

Рисунок 6. Измененный декодер.

Обучение сети происходит методом обратного распространения ошибки, для оценки ошибки на итерации для капсулы c используется следующая функция потерь:

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

Итоговая ошибка считается как сумма ошибок всех капсул выходного слоя.

4. Исследование точности классификации

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

Описанный метод, в сравнении с работами Хинтона [1] и [2], показывает меньшую ошибку классификации на тестовой выборке, как представлено в Таблице 1. Стоит также отметить, что по количеству параметров предложенная архитектура превышает CapsNet лишь на 2,07 млн. при достаточном усложнении исходных изображений с MNIST до CIFAR-10.

Таблица 1. Сравнение результатов классификации.

Архитектура

Ошибка

CapsNet [1] (комбинация семи моделей)

10,6%

CapsEM [2]

11,9%

Предложенный метод

9,7%

График зависимости точности классификации от количества эпох обучения представлен на Рисунке 7. Лучшая точность достигнута на 81 эпохе обучения и составляет 88,35%.

Рисунок 7. График зависимости точности от эпохи обучения.

Представленная архитектура при использовании выбранного алгоритма маршрутизации по соглашению обучается быстрее стандартной CapsNet. Среднее время, требующееся на одну эпоху обучения на датасете CIFAR-10, меньше на 13% и составляет 385с. При этом было отмечено, что использование трех итераций маршрутизации во всех слоях капсул избыточно и не влияет на точность классификации. Для данной модели использовалась только одна итерация алгоритма маршрутизации на сверточно-капсульных слоях, за исключением последнего обобщающего.

5. Исследование предложенных модификаций

Первым был исследован подход по уменьшению количества капсул в слоях и увеличению их размерности, позволяющий избежать многочисленных и затратных операций маршрутизации. Для этого в последнем сверточно-капсульном слое с тремя итерациями данного алгоритма количество капсул было уменьшено до 8, при этом количество нейронов в каждой капсуле возросло до 32. График зависимости точности от процесса обучения представлен на Рисунке 8.

Рисунок 8. График зависимости точности от эпохи обучения при уменьшении числа капсул в слоях.

На графике можно рассмотреть увеличение скорости сходимости метода: точность в 80% достигнута на 13 эпохе, вместо 17. Максимальная точность достигнута на 137 эпохе и составляет 91,17%, ошибка – 7,96%. Данный подход позволил уменьшить среднее время, необходимое на одну эпоху обучения, на 20%.

Благодаря последнему подходу – сокращенному декодеру, удалось сократить число параметров сети на 1,4%.

Список литературы

  1. Sara Sabour, Nicholas Frosst, and Geoffrey E Hinton. Dynamic routing between capsules. In Advances in Neural Information Processing Systems, pages 3859–3869, 2017.
  2. G. E. Hinton, S. Sabour, and N. Frosst. Matrix capsules with EM routing. In International Conference on Learning Representations (ICLR), 2018.
  3. Rodney LaLonde, Ulas Bagci. Capsules for Object Segmentation. arXiv:1804.04241v1, 2018.
  4. Jan Eric Lenssen, Matthias Fey, and Pascal Libuschewski. Group equivariant capsule networks. CoRR, abs/1806.05086, 2018.
  5. Mobiny, Aryan & Nguyen, Hien. Fast CapsNet for Lung Cancer Screening, 2018.
  6. Paik, Inyoung & Kwak, Tae-Yeong & Kim, Injung. (2019). Capsule Networks Need an Improved Routing Algorithm.
  7. Kaiming He, Xiangyu Zhang, Shaoqing Ren, and Jian Sun. Deep residual learning for image recognition. In Proceedings of the IEEE conference on computer vision and pattern recognition , pages 770–778, 2016.
  8. C. Szegedy, W. Liu, Y. Jia, P. Sermanet, S. Reed, D. Anguelov, D. Erhan, V. Vanhoucke, and A. Rabinovich, “Going deeper with convolutions,” in CVPR, Boston, MA, 2015, pp. 1–9.

Интересная статья? Поделись ей с другими:

Внимание, откроется в новом окне. PDFПечатьE-mail