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

Автор:

Анотація: Основна ідея роботи базується на представленій у 2017 році дослідником Джефрі Хінтоном концепції капсульних нейронних мереж. Проведено детальне дослідження базової ідеї капсул, математичної складової та архітектури капсульних мереж. Зроблено ґрунтовні висновки про їх основні переваги та недоліки відносно класичних згорткових мереж.

Бібліографічний опис статті:

. Дослідження капсульних нейронних мереж як нового підходу до вирішення задачі з розпізнавання зображень//Наука онлайн: Міжнародний електронний науковий журнал - 2018. - №8. - https://nauka-online.com/publications/information-technology/2018/8/issledovanie-kapsulnyh-nejronnyh-setej-kak-novogo-podhoda-k-resheniyu-zadachi-po-raspoznavaniyu-izobrazhenij-2/

Стаття опублікована у: : Наука Онлайн No8 серпень 2018

Інформаційні технології

УДК 004.8

Яковчук Олег Костянтинович

бакалавр комп’ютерних наук

Національного технічного університету України

«Київський політехнічний інститут імені Ігоря Сікорського»

Яковчук Олег Константинович

бакалавр компьютерных наук

Национального технического университета Украины

«Киевский политехнический институт имени Игоря Сикорского»

Yakovchuk Oleh

Bachelor of Computer Science of the

National Technical University of Ukraine

“Igor Sikorsky Kyiv Polytechnic Institute”

ДОСЛІДЖЕННЯ КАПСУЛЬНИХ НЕЙРОННИХ МЕРЕЖ ЯК НОВОГО ПІДХОДУ ДО ВИРІШЕННЯ ЗАДАЧІ З РОЗПІЗНАВАННЯ ЗОБРАЖЕНЬ

ИССЛЕДОВАНИЕ КАПСУЛЬНЫХ НЕЙРОННЫХ СЕТЕЙ КАК НОВОГО ПОДХОДА К РЕШЕНИЮ ЗАДАЧИ ПО РАСПОЗНАВАНИЮ ИЗОБРАЖЕНИЙ

RESEARCH OF THE CAPSULE NEURAL NETWORKS AS NEW APPROACH TO IMAGE RECOGNITION PROBLEM SOLUTION

Анотація. Основна ідея роботи базується на представленій у 2017 році дослідником Джефрі Хінтоном концепції капсульних нейронних мереж. Проведено детальне дослідження базової ідеї капсул, математичної складової та архітектури капсульних мереж. Зроблено ґрунтовні висновки про їх основні переваги та недоліки відносно класичних згорткових мереж.

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

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

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

Summary. The main idea of ​​this work is based on the new concept of capsule neural networks presented by researcher Jeffrey Hinton in 2017. It was carried out the detailed research of basic capsules idea, mathematical component and architecture of capsule networks. The solid conclusions were done about their main advantages and disadvantages in comparison to classical convolutional networks.

Key words: deep learning, image recognition, image classification, capsule neural network, capsule, routing by agreement.

Вступ. Сучасним state-of-the-art підходом до розпізнавання зображень є згорткові нейронні мережі (далі – ЗНМ), які успішно показують себе при класифікації навіть у складних датасетах, таких як ImageNet, отримуючи значення похибки менше 5%. Проте у цього типу мереж також були виявлені значні проблеми, спричинені особливостями архітектури та присутністю агрегувальних шарів. Постала потреба у створенні нового підходу до розпізнавання зображень, який би вирішував існуючі проблеми.

У 2017 році відомим науковцем корпорації Google Джефрі Хінтоном та його командою були представлені капсульні нейронні мережі (далі – КНМ). Хінтон є одним із перших дослідників, який продемонстрував використання узагальненого алгоритму зворотного розповсюдження похибки для навчання багатошарових нейронних мереж. Зараз він є провідним експертом в області глибинного машинного навчання.

Новий підхід замінює сутність нейронів на капсули та вводить поняття динамічного роутингу між шарами нижнього та верхнього рівня. Ця модель враховує положення об’єктів на вхідному зображенні та вирішує проблеми, які наразі є у ЗНМ. Заявлено, що капсульні мережі зменшують кількість помилок на дасеті MNIST та зменшують розміри тренувальних наборів відносно найсучасніших багатошарових НМ.

Базова сутність капсули. Капсульна нейронна мережа – це система машинного навчання, штучна нейронна мережа, яка створена для покращення моделювання ієрархічних зв’язків між об’єктами різних рівнів. Цей принцип базується на ідеях роботи людського мозку, коли візуальна інформація з очей подається на кортикальні мініколонки, які намагаються відтворити навколишній світ у вигляді деревовидного представлення складних об’єктів та їх взаємозв’язків між собою [2].

Формально капсула – це будь-яка функція, яка намагається передбачити наявність та конкретні параметри певного об’єкта на заданій області.

У капсульній НМ основним робочим блоком стає капсульний шар. Замість нейронів, які на виході дають одне скалярне число, цей шар складається з капсул, які видають набір чисел. Тобто можна вважати, що капсула – це набір нейронів, або вектор скалярних чисел.

Значення цього вектора описують характеристики певного об’єкта. І так само, капсули нижнього рівня описують низькорівневі об’єкти, а капсули верхніх рівнів описують високорівневі об’єкти.

Кожен вектор має свою довжину та направлення. Одним із основних параметрів капсульної мережі є розмірність вектору. Довжина активаційного вектора відповідає за очікувану ймовірність того, що шуканий капсулою об’єкт знаходиться у даній позиції. Направлення активаційного вектора відповідає за просторові параметри шуканого об’єкта. Він може мати будь-яку розмірність і представляти такі параметри об’єкта, як розмір, позиція, орієнтація, деформація, колір, насиченість, текстура і т.д.

Існує багато можливих способів впровадити базову ідею капсул. На практиці для створення капсульного шару застосовують декілька звичайних згорткових шарів. Після згортки вхідного зображення буде отримано масив елементів, який містить у собі набір знайдених ознак. Змінивши форму цього масива можна отримати набір векторів для кожної області.

Також необхідно упевнитись у тому, що отримані вектори не мають довжину, більшу ніж 1, оскільки ймовірність, яку представляє довжина вектора, не може бути більшою за 1. Для цього використовується нелінійна сквош-функція:

де  – вихідне значення капсули j;

– загальний вхід капсули j.

Ця нова функція активації приймає на вхід вектор та видає також вектор. Вона зберігає направлення вектора і нормалізує його довжину у межі від 0 до 1 .

Однією з основних особливостей капсул є те, що вони зберігають детальну інформацію про розташування об’єкта і його позицію через всю мережу. Тобто при будь-яких найменших змінах просторових параметрів об’єктів у вхідному зображенні, ці зміни будуть відповідно відображені у результаті. Це говорить про еквіваріантність капсульних нейронних мереж.

Динамічний роутинг між капсулами та кластери узгодженості. Наступним нововведенням капсульних мереж є новий тип роутингу капсул замість стратегії агрегування, до якої існує багато претензій. Бажаним результатом капсульної нейронної мережі було б на основі прийнятих зображень видати всю інформацію про знайдені на них об’єкти, тобто провести вираховування просторових характеристик кожного об’єкта.

Основною задачею капсул нижчого рівня є обчислення ймовірності знаходження певної ознаки об’єкта у даній позиції та виділення його характеристик. Такі капсули називаються базовими капсулами КНМ.

Далі використовується найважливіший принцип роботи капсульних нейронних мереж: кожна капсула нижнього рівня намагається передбачити вихідні значення кожної капсули верхнього рівня. Для створення такого передбачення базова капсула виконує множення спеціальної матриці трансформацій на значення свого активаційного вектора:

де  – передбачуване значення вектору верхнього рівня;

– значення ваги матриці трансформацій для відповідної пари капсул нижнього та верхнього рівнів;

– значення активаційного вектора.

Під час навчання нейронна мережа буде поступово вивчати матриці трансформацій для кожної пари капсул з нижнього та верхнього рівнів. Обчислення ваг цих матриць проводиться традиційним методом зворотнього розповсюдження похибки.

В результаті прогнозування певні базові об’єкти отримають сильний зв’язок лише з одним об’єктом верхнього рівня, в такому разі не буде потреби передавати їх значення до інших капсул верхнього рівня, адже це тільки створить зайвий шум. Тобто капсули повинні обирати до яких саме наступних капсул вони мають відправляти свій сигнал.

Цей підхід створює вагомі покращення роботи капсул верхнього рівня:

  • отримувані ними значення, які відправляються тільки важливими для них капсулами, будуть набагато більш точними та акуратними;
  • за допомогою шляхів активацій, можна легко дізнатися про всі складові частини цього об’єкта, та які ознаки належать яким об’єктам;
  • також це дозволяє капсульним мережам розбиратися у зображеннях з об’єктами, що мають велику кількість взаємоперетинів.

Такий тип динамічного роутингу між капсулами став роутинг “за домовленістю” або роутинг за узгодженістю. Розглянемо запропоновану реалізацію цього роутингу. Припустимо, що на нижньому рівні маємо вже багато базових капсул, які відповідають за певний об’єкт. Спочатку необхідно обрахувати один середній вектор всіх векторів цих капсул. Далі знаходяться відстані від кожного вектора до отриманого середнього вектора. Для цього використовується скалярний добуток, проте для спрощення можна використати евклідову відстань.

На основі отриманих відстаней обираються ті вектори, які є найближчими до середнього вектора, які мають найбільшу узгодженість з ним, а отже утворюють собою кластер найбільш близьких векторів. Далі буде проведено оновлення ваг роутингу, які відповідають за важливість кожного входу), надаючи більшу вагу найближчим векторам, що мають найбільшу узгодженість, та зменшуючи вагу векторам, які опинилися далеко від загального кластеру та не мають домовленості з іншими векторами.

На наступному кроці знову буде обчислено середній вектор, беручи до уваги тільки найближчі вектори, які створили собою кластер узгодженості, знову обраховано відстані до середнього вектора і знову оновлено ваги. Цю ітерацію повторюють декілька разів для збільшення точності вибору кластера узгодженості та покращення збіжності векторів, зазвичай від 3 до 5 разів. Цей процес нагадує метод кластеризації k-середніх.

В результаті динамічного роутингу ми отримуємо кластер узгодженості для кожної капсули верхнього рівня. Він містить у собі капсули нижчого рівня, яким на наступних ітераціях буде надаватися більше значення. Такі капсули у схемі на рис. 1 зображені червоними точками.

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

Оскільки капсули незалежні між собою, то коли передбачення декількох капсул збігаються, вірогідність правильного виявлення стає набагато вищою. Мінімальний кластер із двох капсул, які є 6-вимірними векторами, може випадково зійтися в межах 10% лише один раз на мільйон випробувань [3]. Зі збільшенням кількості вимірів вектора, ймовірність випадкового співпадіння у більшому кластері буде зменшуватися експоненціально. Капсули верхнього рівня будуть ігнорувати вхідні вектори, які віддалені від всіх інших векторів, концентруючись на кластерах узгодженості.

Оновлення роутингових ваг. Для реалізації даної логіки запам’ятовування капсулою найважливіших для неї входів, у процесі динамічного роутингу використовуються спеціальні ваги. Розглянемо алгоритм роботи обчислення роутингових ваг:

Задамо початкові значення всіх ваг, які повинні бути однакові. Ініціалізуємо їх нулями:

bi, j = 0 for all i, j

i – проходження по базових капсулах

j – проходження по капсулах верхнього рівня

Застосуємо softmax-функцію до цих ваг кожної початкової капсули:

ci = softmax(bi)

Отримаємо, власне, самі роутингові ваги для кожної передбаченої капсули верхнього рівня. Впевнимося, що у сумі вони дають одиницю. Обрахуємо взважену суму передбачень для кожної капсули верхнього рівня:

sj = weighted sum

vj = squash(sj)

В результаті отримуємо передбачені значення для капсул наступного рівня для першої ітерації. Оберемо вектор, що має найбільшу ймовірність передбачення для даної капсули, тоді знайдемо необхідний приріст довіри до цього вектора за допомогою скалярного множення передбаченого вектора на загальний вектор передбачень:

bi, j +=  * vj

Тобто результат скалярного множення додається до початкової ваги цієї капсули.  Процедурну форму алгоритму роутингу показано на рис. 2.

Рис. 2. Псевдокод запропонованої реалізації алгоритму роутингу [1]

Ця логіка являється основою роутингу за узгодженістю: якщо вектори передбачення  та загальної узгодженості vj є подібними, їх скалярний добуток буде великим, а роутингова вага буде збільшуватися.

Таким чином, ваги базової капсули для правильно передбаченого об’єкта зростають. Так само, інша базова капсула, передбачення якої не мало узгодженості з даним об’єктом верхньої капсули, отримає зменшення своїх роутингових ваг.

Цифрові капсули. Після виконання роутингу за узгодженістю капсули верхнього рівня (цифрові капсули) будуть мати сформовані значення своїх векторів. Розмірність вектора на цьому рівні буде більшою, ніж у векторів базових капсул, тобто просторові характеристики найменших об’єктів будуть перенесені на верхній рівень. Кожна цифрова капсула відповідає за конкретний об’єкт верхнього рівня, який складається з базових об’єктів, та представляє його параметри.

Гранична функція втрат. Навчання капсульної мережі відбувається по типу “навчання з учителем”. Для мережі, що буде класифікувати лише 1 клас об’єктів, навчання відбувається таким самим чином, як і для класичної ЗНМ – вирішується задача мінімізації перехресної ентропії. Тобто буде проводитися динамічний роутинг між шарами на кожній ітерації навчання.

Для можливості розпізнавання об’єктів багатьох класів при навчанні мережі застосовується гранична функція втрат (margin-loss function):

де k – тип об’єкту, за який відповідає дана цифрова капсула;

= 1, якщо об’єкт класу присутній на зображенні, 0 в іншому разі;

– результуючий вектор цифрової капсули;

– коефіцієнт зниження втрати при відсутності об’єкту;

– очікуване значення довжини вектору при присутності об’єкту;

– очікуване значення довжини вектору при відсутності об’єкту.

Обчислюючи відповідні різниці між отримуваними та очікуваними значеннями, знаходиться загальний результат функції втрат для всієї мережі – це буде сума функцій втрат усіх класів.

Висновки. Було детально досліджено основні концепції капсульних нейронних мереж. Розглянуто принципи роботи капсул та процес роутингу за узгодженістю. Проаналізовано математичне підгрунтя кожного етапу роботи капсульної мережі.

Капсульні мережі отримали наступні особливості та концептуальні переваги над згортковими нейронними мережами:

  • Еквіваріантність результату розпізнавання відносно зсуву: при будь-яких зміщеннях об’єктів ці зміни будуть відповідно представлені параметрами капсул верхнього рівня. Така мережа вже не може бути обманута передачею їй правильних базових складових об’єкта, які знаходяться на невірних місцях. Це також може використовуватися до кращої сегментації зображень та знаходження границь об’єктів;
  • Стійкість до афінних перетворень: застосування матриць трансформацій дозволяє фіксувати просторові зміни та розпізнавати об’єкти з афінними змінами відносно початкових позицій, на яких проводилося навчання мережі;
  • Менша кількість даних для навчання: розпізнавання відбувається на основі узагальнення взаємовідносин між складовими частинами, а не через заучення конкретного вигляду об’єкта з певної точки спостереження, це дозволяє уникнути необхідності аугментації датасетів та штучного створення лінійно перетворених даних, кількість яких росте експоненційно з ростом кількості розмірностей просторових трансформацій;
  • Менша кількість параметрів у мережі: оскільки капсули – це групи нейронів, то зв’язки між такими шарами вимагають менше параметрів та ваг;
  • Спрощеність інтерпретації результатів: активаційні вектори капсул, кожне значення розмірності яких відповідає за певну характеристику об’єкта, набагато легше зрозуміти та візуалізувати;
  • Логічніший підхід до розпізнавання об’єктів з перекриттям: роутинг за узгодженістю чудово справляється з об’єктами, що мають спільні частини або перекриваються завдяки знаходженню максимально взаємоузгоджених капсул нижчого рівня;
  • Стійкість до атак типу “білого ящика”: типові атаки при розпізнаванні зображень (метод найвпливовішої зміни градієнту, “атака одного пікселя”) суттєво зменшують точність традиційних ЗНМ нижче 20%. Але завдяки своїй структурі, капсульні мережі підтримують точність вище 70% [2];
  • Краще розуміння структури складних об’єктів на зображенні: капсульні мережі створюють ту саму бажану ієрархію між шарами, оскільки кожен нижній рівень капсул має значний вплив лише на одну капсулу вищого рівня.

Із мінусів, що випливають з логіки капсульного представлення, є так звана проблема “нагромадження”, коли капсульна мережа не здатна розрізнити два ідентичних об’єкти, що знаходяться дуже близько один до одного, і класифікує їх як один. Проте така особливість розпізнавання об’єктів спостерігається і у людському зорі [1].

Базова модель капсульної мережі CapsNet з 3 шарами глибини вже показала таку ж найкращу точність на датасеті MNIST, як класична багатошарова згорткова мережа [4]. Проте результати розпізнавання капсулами складних зображень з кольоровим зашумленим фоном поки що поступаються згортковим мережам з їх агрегувальними шарами.

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

Література

  1. Hinton G. Dynamic Routing Between Capsules [Електронний ресурс] / G. Hinton, S. Sabour, N. Frosst / Cornell University Library. – 2017. – Режим доступу до ресурсу: https://arxiv.org/abs/1710.09829.
  2. Pechyonkin M. Understanding Hinton’s Capsule [Електронний ресурс] / Max Pechyonkin / Medium. – 2017. – Режим доступу до ресурсу: https://medium.com/ai%C2%B3-theory-practice-business/understanding-hintons-capsule-networks-part-ii-how-capsules-work-153b6ade9f66.
  3. Géron A. Introduction to Capsule Networks (CapsNets) [Електронний ресурс] / Aurélien Géron. – 2017. – Режим доступу до ресурсу: https://www.slideshare.net/aureliengeron/introduction-to-capsule-networks-capsnets.
  4. Hinton G. Matrix capsules with EM routing [Електронний ресурс] / G. Hinton, S. Sabour, N. Frosst / ICLR 2018. – 2018. – Режим доступу до ресурсу: https://openreview.net/pdf?id=HJWLfGWRb.

Перегляди: 1138

Коментарі закрито.

To comment on the article - you need to download the candidate degree and / or doctor of Science

Підготуйте

наукову статтю на актуальну тему, відповідно до роздлів журналу

Відправте

наукову статтю на e-mail: editor@inter-nauka.com

Читайте

Вашу статтю на сайті нашого журналу та отримайте сертифікат