Ця симуляція крок за кроком проводить невелике зображення через CNN. Вхідний пікселів 8×8 згортається з ядром 3×3: на кожній позиції фільтр поелементно множиться на відповідну ділянку зображення та підсумовується, формуючи карту ознак. Ця карта проходить через активацію ReLU (f(x)=max(0,x)), крок максимального пулінгу 2×2, другу згортку та фінальну активацію — точно так, як реальні CNN ієрархічно будують ознаки.
Елементи керування дозволяють обрати вхідний патерн (Цифра 7, Хрест, Коло, Край або Шахи), вибрати ядро першого шару (горизонтальний/вертикальний край, різкість або розмиття), встановити швидкість сканування та переходити між вкладками шарів (Вхід, Звертка1, ReLU, Пулінг, Звертка2, Вихід). CNN на основі саме цих операцій лежать в основі класифікації зображень, розпізнавання облич, аналізу медичних знімків та систем зору безпілотних автомобілів.
Що таке згорткова нейронна мережа?
Згорткова нейронна мережа, або CNN, — це модель глибинного навчання, призначена для сіткових даних, зокрема зображень. Замість того щоб з'єднувати кожен піксель з кожним нейроном, вона ковзає невеликими навченими фільтрами по вхідних даних, виявляючи локальні патерни — краї та текстури, — а потім накопичує їх у глибші, абстрактніші ознаки.
Як працює крок згортки в цій симуляції?
Ядро 3×3 розміщується над кожним пікселем вхідного зображення 8×8. Дев'ять ваг ядра множаться на дев'ять пікселів під ними, а добутки підсумовуються в одне вихідне значення. Повторення цього по всьому зображенню дає карту ознак, яку потім нормалізують до діапазону від 0 до 1 для відображення.
Що насправді роблять чотири кнопки фільтрів?
Кожна кнопка завантажує інше ядро 3×3. «Край Г» виявляє горизонтальні переходи яскравості, «Край В» — вертикальні, «Різкість» підсилює дрібні деталі, віднімаючи від центрального пікселя локальне середнє, а «Розмиття» — це боксовий фільтр, що усереднює сусідні пікселі для згладжування зображення.
ReLU застосовує f(x)=max(0,x), затискаючи всі від'ємні значення до нуля. Це вносить нелінійність, що дозволяє мережі представляти складні, вигнуті межі рішень, а не лише лінійні комбінації пікселів. Без нелінійної активації стек багатьох шарів згортався б в одне лінійне перетворення.
Шар максимального пулінгу 2×2 бере найбільше значення в кожному неперекривному вікні 2×2, зменшуючи ширину й висоту вдвічі. Це зберігає найсильніші активації, зменшує обчислення та надає мережі певну трансляційну інваріантність — ознака розпізнається навіть якщо зсунута на один-два пікселі.
Вони фіксовані — вибрані вручну ядра, що наочно демонструють математику. У навченій CNN ваги ядер набуваються автоматично через зворотне поширення помилки та градієнтний спуск, тому мережа сама знаходить фільтри, які найкраще мінімізують втрати на навчальних даних, а не покладається на класичні ядра країв чи розмиття.
Пулінг об'єднує чотири сусідніх значення в одне, тому карта 8×8 стає 4×4. Зменшення просторових розмірів при збільшенні кількості каналів ознак — ключовий патерн CNN: глибші шари бачать меншу, грубішу сітку, але представляють багатші, вищорівневі концепції — кути й кривини.
Позиція X та Позиція Y показують поточний стовпець і рядок ядра під час його сканування вхідного зображення в анімації Звертки1. «Параметри» оцінює загальну кількість навчальних ваг у цій невеликій мережі, а «Карт ознак» показує кількість каналів, що виробляє активний шар, — від 8 у перших шарах до 16 у глибших.
Операції достовірні: справжня згортка, ReLU, максимальний пулінг та друга згортка у правильному порядку. Для наочності все спрощено: використовується одне невелике зображення, фіксовані ядра, нормалізовані значення відображення та відсутнє реальне навчання — тож ця симуляція пояснює механіку, а не відтворює масштаб промислової мережі.
CNN лежать в основі більшості сучасного комп'ютерного зору. Вони класифікують об'єкти на фотографіях, розпізнають рукописні цифри, виявляють пухлини на медичних знімках, ідентифікують обличчя, забезпечують фільтри доповненої реальності та живлять системи сприйняття автономних транспортних засобів. Ті самі будівельні блоки — згортка, активація, пулінг, — що показані тут, масштабуються до всіх цих застосувань.