Що робить крок згортки в конволюційній нейронній мережі?


16

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

  1. У традиційних NN-каналах подачі даних у нас є навчальні дані, коли кожен елемент складається з функціонального вектора, який ми вводимо до NN у "вхідному шарі", тому при розпізнаванні зображення ми могли би просто мати кожен піксель на одному вході. Це наші вектори функцій. Крім того, ми могли б вручну створити інші - ймовірно, менші - функції векторів.
  2. Перевага CNN полягає в тому, що він може генерувати більш сильні вектори функцій, більш інваріантні спотворенням зображення та їх положенню. Як показано на наступному зображенні (з цього підручника ), CNN генерують карти функцій, які потім подаються до стандартної нейронної мережі (так що це дійсно гігантський крок попередньої обробки).

введіть тут опис зображення

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

Але мене головним чином бентежить те, як працює крок згортання. Мені знайомі згортки з теорії ймовірностей (щільність для суми двох випадкових величин), але як вони працюють у CNN і чому вони ефективні?

Моє запитання подібне до цього, але, зокрема, я не впевнений, чому працює перший крок згортання.

Відповіді:


16

Спершу спробую поділитися якоюсь інтуїцією за CNN, а потім прокоментую конкретні теми, які ви перерахували.

Шари згортання та під вибірки в CNN не відрізняються від прихованих шарів у загальному MLP, тобто їх функція полягає у витягуванні функцій з їх введення. Ці функції надаються наступному прихованому шару для вилучення ще складніших можливостей або безпосередньо надаються стандартному класифікатору для виведення остаточного прогнозу (зазвичай може використовуватися Softmax, але також SVM або будь-який інший). У контексті розпізнавання зображень ці особливості - це трактування зображень, як візерунки обведення в нижніх шарах та частини об'єктів у верхніх шарах.

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

Таким чином:

  1. Правильно.
  2. Як було пояснено вище, приховані шари CNN - це екстрактори, як у звичайному MLP. Чергові етапи згортання та відбору проб виконуються під час навчання та класифікації, тому вони не є чимось зробленим «до» фактичної обробки. Я б не називав їх "попередньою обробкою", так само, як не називаються приховані шари MLP.
  3. Правильно.

Гарне зображення, яке допомагає зрозуміти згортання, - це сторінка CNN у підручнику ULFDL. Подумайте про прихований шар з одним нейроном, який навчається витягувати функції з кратних патчів. Якщо ми об'єднаємо цю єдину вивчену функцію над зображенням , цей процес може бути представлений наступним gif:3×35×5

введіть тут опис зображення

У цьому прикладі ми використовували один нейрон в нашому шарі вилучення ознак, і ми створили перетворених ознак. Якби у нас було більше кількості одиниць у прихованому шарі, було б зрозуміло, чому необхідний етап під вибірки після цього.9

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


Дякуємо за роз’яснення. Я перевірю той підручник, який ви згадали.
ComputerScientist

Дуже приємна ілюстративна графіка. Дивіться роботу референка: М. Егмонт-Петерсен, Д. де Ріддер, Х. Гендельс. Обробка зображень нейронними мережами - огляд, розпізнавання образів, т. 35, № 10, стор 2279-2301, 2002
Матч-виробник EE

Через чотири роки і зараз я працюю з CNN майже кожен день. Цей пост від @Saul Berardo дійсно допоміг мені стати на правильному шляху :)
ComputerScientist

1

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


Так, я думаю, що це загальна ідея. У моєму первісному запитанні я не був зрозумілий, але мені було цікаво, чому працює математика, тобто чому саме властивість згортки дозволяє першому шару знайти ці маленькі частини.
ComputerScientist

1
Детальніше про згортання та відповідну фільтрацію. Коли ядро ​​згортки відповідає сигналу, воно дає найбільшу віддачу.
SimpleLikeAnEgg

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.