ML Історії-1: Конволюція простими словами.

Конволюційна нейронна мережа (CNN) — це перше, що спадає на думку, коли мова йде про обробку зображень. CNN використовуються для класифікації зображень, виявлення об'єктів та сегментації. Основна ідея, яка стоїть за ними — це конволюція, звідси й назва "Конволюційні нейронні мережі". CNN добре відомі завдяки своїй здатності виділяти ознаки (features) зображень.

Коріння машинного навчання та глибинного навчання — це просто математика, а зображення — це всього лише матриці з піксельними значеннями. Якщо ви знайомі з такими термінами, як ANN (Штучна нейронна мережа) або MLP (Многошаровий перцептрон), ми можемо погодитись, що вони добре працюють з даними нижчих вимірностей. Однак, коли вимірності даних збільшуються, мережі стають більш щільними, що призводить до складнішого обчислення та зростання кількості ваг і зміщень.

pic

Схема роботи CNN

Основні ідеї, з яких складаються CNN:

1. Конволюція (Convolution) -

Конволюція — це процес виділення ознак (features) з зображення. Для цього ми використовуємо фільтри/кернели. Ми проводимо фільтри по зображенню, обробляючи кожен його сегмент. Беремо частину зображення і виконуємо операцію добутку з кернелем. Вихідне значення буде найвищим, коли піксельні значення зображення максимально узгоджуються з фільтром. Значення, які видає функція кернеля, утворюють карту ознак (feature map). Останній розмір карти ознак залежить від розміру обраного фільтра.

pic

Схема конволюції

2. Пулінг (Pooling) -

Основна ідея пулінгу полягає в зменшенні розмірностей. Ми використовуємо одну з трьох технік пулінгу: максімальний пулінг (max pooling), мінімальний пулінг (min pooling) або середній пулінг (average pooling), щоб зменшити розмірність. У більшості випадків використовується максімальний пулінг. Коли ми застосовуємо 2x2 пулінг, розмір зображення зменшується в чотири рази. Це дозволяє нам зберегти найвищі значення, тобто важливі ознаки, при зменшенні розміру зображення.

pic

Ілюстрація пулінгу

3. Паддінг (Padding) -

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

pic

Ілюстрація паддінгу

4. Повністю з'єднана нейронна мережа (Fully Connected Neural Network) -

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

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

Примітка: усі ілюстрації, наведені вище, створені за допомогою Excalidraw._

Перекладено з: ML Stories-1: Convolution in Layman’s Terms.

Leave a Reply

Your email address will not be published. Required fields are marked *