Чому працюють конволюційні нейронні мережі?


22

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


Велике пояснення від Джеремі Ховарда в другій половині цього відео: youtube.com/watch?v=ACU-T9L4_lI
Dan

2
Я думаю, ти нерозумієш. Ми абсолютно добре розуміємо, чому конвенти працюють як клас алгоритмів. З іншого боку, часто буває дуже важко зрозуміти, чому конкретна модель зробила певний прогноз. Ось чому ми їх називаємо «чорними моделями: процес їх висновку для нас непрозорий. Це не означає, що ми плутаємося, чому вони ефективні.
Девід Маркс

Відповіді:


19

Насправді я здогадуюсь питання трохи широке! У всякому разі.

Розуміння мереж згортання

Про що дізнається в ConvNets намагається мінімізувати функцію витрат, щоб правильно класифікувати вхідні дані в завданнях класифікації. Усі фільтри, що змінюються та засвоюють параметри, призначені для досягнення зазначеної мети.

Вивчені функції на різних шарах

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

** Рисунок 1. ** * Активації низького рівня *

У більш глибоких шарах функції, отримані в попередніх шарах, поєднуються і складають форми, які часто мають значення. У цій роботі було обговорено, що ці шари можуть мати активні для нас значення, або поняття, які мають для нас значення як людину, можуть поширюватися серед інших активацій. На рис. 2 на зеленій рамці показані активатини фільтра в п'ятому шарі aConvNet. Цей фільтр піклується про обличчя. Припустимо, рудий дбає про волосся. Вони мають значення. Як видно, є й інші активації, активовані прямо у положенні типових граней на вході, зелена рамка - одна з них; Синій кадр - ще один приклад цього. Відповідно, абстрагування фігур можна дізнатися за допомогою фільтра або численних фільтрів. Іншими словами, кожне поняття, як обличчя та його компоненти, можна розподілити між фільтрами. У випадках, коли поняття розподілені між різними шарами, якщо хтось дивиться на кожен з них, вони можуть бути складними. Інформація поширюється серед них і для розуміння цієї інформації всі ці фільтри та їх активації потрібно враховувати, хоча вони можуть здаватися настільки складними.

** Малюнок 2. ** * Активації високого рівня *

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

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

ConvNetsвикористовувати poolingшари не тільки для зменшення кількості параметрів, але і для того, щоб бути нечутливим до точного положення кожної функції. Також використання їх дозволяє шарам вивчати різні особливості, а значить, перші шари вивчають прості функції низького рівня, такі як краї або дуги, а більш глибокі шари вивчають складніші риси, такі як очі або брови. Max Poolingнаприклад, намагається дослідити, чи існує особлива особливість у спеціальному регіоні чи ні. Ідея poolingшарів настільки корисна, але вона просто здатна впоратися з переходом серед інших перетворень. Хоча фільтри в різних шарах намагаються знайти різні візерунки, наприклад, повернене обличчя вивчається за допомогою різних шарів, ніж звичайне обличчя,CNNsтам власні не мають жодного шару для обробки інших перетворень. Для ілюстрації цього припустімо, що ви хочете вивчити прості грані без будь-якого обертання з мінімальною сіткою. У цьому випадку ваша модель може зробити це ідеально. припустимо, що вас просять вивчити всі види граней з довільним обертанням обличчя. У цьому випадку ваша модель повинна бути значно більшою, ніж попередня вивчена сітка. Причина в тому, що для введення цих обертів на вході повинні бути фільтри. На жаль, це не всі трансформації. Ваш вклад також може бути перекручений. Ці випадки розлютили Макса Ядерберга та інших . Вони склали цей документ, щоб вирішити ці проблеми, щоб вгамувати наш гнів як їхній.

Конволюційні нейронні мережі працюють

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

Я додаю кілька посилань, які корисні:


12

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

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


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

Дякую за вашу відповідь. Виправте мене, якщо я помиляюся на наступних висновках - 1. Здається, ми неявно спроектували ConvNets для вивчення ієрархічно функцій вищого рівня за допомогою об'єднання. Це не випадково, що особливості отримують складніші шари. 2. Включення інформації про домен у нейронну мережу може значно змінити ефективність навчання. ConvNets і RNN намагаються зробити саме це.
Похвали господаря

Ваші твердження 1 і 2 здаються мені правильними.
ncasas

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

3

Ніколи не слід забувати інші компоненти в типовому ConvNet. Фільтри згортки виділяють просторові інваріантні особливості, такі як ребра та кола. Ці особливості кількісно визначаються в шарі об'єднання, який слід за шаром C. Нарешті, вони подаються в (як правило) кілька повністю пов'язаних шарів (fc). Необхідно віддати ці повністю пов'язані шари, які є не що інше, як те, що ви знайдете в будь-якому звичайному MLP.


3

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

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


Це має бути найкращою відповіддю
Jie.Zhou

1

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

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

Що змусило їх створити такий набір функцій

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


0

Спираючись на відповіді ncasas та horaceT , ConvNets дуже ефективні, оскільки:

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

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


3
Зауважте, якщо ви хочете просувати свій товар / блог, ви повинні розкрити свою приналежність у відповіді , інакше ваша відповідь може бути позначена як спам. Якщо ви не пов’язані з сайтом, рекомендую вам так сказати, щоб цього не допустити. Прочитайте, будь ласка, як не бути спамером
AJ
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.