Навіщо перекручувати, якщо Макс Пуллінг все-таки збирається зменшити вибірку зображення?


14

Ідея застосування фільтрів, щоб зробити щось на кшталт виявлення країв, є досить крутою ідеєю.

Наприклад, ви можете зробити зображення 7. За допомогою деяких фільтрів ви можете перетворити зображення, які підкреслюють різні характеристики вихідного зображення. Оригінал 7:

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

може сприйматися мережею як:

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

Зверніть увагу, як кожне зображення витягувало інший край оригіналу 7.

Це все чудово, але тоді, скажімо, наступним шаром у вашій мережі є рівень Max Pooling.

Моє запитання, як правило, чи не виглядає це трохи як надмірність? Ми просто були дуже обережні та обдумані з визначенням країв за допомогою фільтрів - тепер ми більше не піклуємося ні про що з цього, оскільки ми викреслили чорт із значень пікселів! Будь ласка, виправте мене, якщо я помиляюся, але ми перейшли від 25 X 25 до 2 X 2! Чому б тоді просто не піти прямо до Max Pooling, чи не закінчимось ми тим же самим?

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

Відповіді:


16

Максимальне об'єднання не зменшує розмір зображення. Він знижує вибірки функцій (таких як краї), які ви тільки що витягли. Це означає, що ви отримаєте більш точне місце, де ці краї чи інші функції. Часто це саме те, що потрібно мережі для узагальнення - для того, щоб її класифікувати, не потрібно знати, що вертикальний край працює від 10,5 до 10,20, але приблизно приблизно на 1/3 від вертикального краю лівий край приблизно на 2/3 висоти зображення.

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

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


6

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

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

Дуже добре розуміння вікі -The intuition is that once a feature has been found, its exact location isn't as important as its rough location relative to other features. The function of the pooling layer is to progressively reduce the spatial size of the representation to reduce the amount of parameters and computation in the network, and hence to also control overfitting. It is common to periodically insert a pooling layer in-between successive conv layers in a CNN architecture. The pooling operation provides a form of translation invariance.


Чи можете ви пояснити останнє речення The pooling operation provides a form of translation invariance?
HelloWorld

@StudentT Це означає, що вихід max-пулу буде приблизно однаковим, якщо функція буде виявлена ​​десь на зображенні. Перемістіть річ на зображенні, що активує функцію, і інший вхід до пулу max буде максимальним, але вихідний макс пул повинен бути однаковим.
mrmcgreg

@mrmcgreg Я вважаю, що це стосується глобального об'єднання, а не максимального об'єднання. Макс-пул забезпечує своєрідну інваріантність місцевих перекладів у межах пулу (наприклад, 2х2). Це дозволяє отримати деяке тремтіння у функціях.
geometrikal

0

Конволюція - це в основному фільтрування зображення меншим піксельним фільтром, щоб зменшити розмір зображення, не втрачаючи взаємозв'язку між пікселями (параметри мережі). Об'єднання також зменшує просторовий розмір, витягуючи Max, Avg або Sum of pixels до розміру фільтру, однак він може пропустити важливий параметр у процесі, який згортання досягається, не суттєво зменшуючи розмір.

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