🧠 Згорткова нейронна мережа
Візуалізуйте шари ЗНМ крок за кроком — фільтри згортки, активації ReLU та максимальний пулінг. Спостерігайте формування карт ознак під час сканування зображення 8×8.
Про візуалізатор згорткової нейронної мережі
Ця симуляція проводить невелике зображення через ЗНМ пошарово. Вхідне зображення 8×8 пікселів згортається з ядром 3×3: у кожній позиції фільтр множиться поелементно з ділянкою під ним і підсумовується, утворюючи карту ознак. Ця карта потім проходить через активацію ReLU, f(x)=max(0,x), крок максимального пулінгу 2×2, другу згортку та фінальну активацію, відтворюючи те, як реальні ЗНМ будують ознаки ієрархічно.
Елементи керування дозволяють обрати вхідний візерунок (цифра 7, хрестик, коло, край чи шахівниця), обрати ядро Шару 1 (горизонтальний край, вертикальний край, різкість чи розмиття), задати швидкість сканування та переходити між вкладками «Переглянути шар» (Вхід, Conv1, ReLU, Пулінг, Conv2, Вихід). ЗНМ, побудовані саме на цих операціях, живлять класифікацію зображень, розпізнавання облич, аналіз медичних сканів і системи зору безпілотних автомобілів.
Часті запитання
Що таке згорткова нейронна мережа?
Згорткова нейронна мережа, або ЗНМ, — це модель глибокого навчання, розроблена для даних у вигляді сітки, таких як зображення. Замість з'єднання кожного пікселя з кожним нейроном, вона проводить невеликі навчальні фільтри по всьому вхідному зображенню, щоб виявити локальні патерни на кшталт країв і текстур, а потім складає їх у глибші, абстрактніші ознаки.
Як працює крок згортки в цій симуляції?
Ядро 3×3 розміщується над кожним пікселем вхідного зображення 8×8. Дев'ять вагових коефіцієнтів ядра множаться на дев'ять пікселів під ними, а добутки підсумовуються в одне вихідне значення. Повторення цього по всьому зображенню дає карту ознак із сирих зважених сум, яка може бути від'ємною там, де ядро країв бачить зворотний перехід. Саме на ці сирі значення діє ReLU; лише відтінки сірого на екрані масштабуються до діапазону 0–1 для показу.
Що насправді роблять чотири кнопки фільтрів?
Кожна кнопка завантажує інше ядро 3×3. Edge H виявляє горизонтальні переходи яскравості, Edge V — вертикальні, Sharpen підсилює дрібні деталі, віднімаючи локальне середнє від центрального пікселя, а Blur — це блоковий фільтр, що усереднює сусідні пікселі для згладжування зображення.
Навіщо потрібна активація ReLU?
ReLU застосовує f(x)=max(0,x), обнуляючи кожне від'ємне значення. Це вносить нелінійність, яка дозволяє мережі представляти складні, викривлені межі рішень, а не лише лінійні комбінації пікселів. Без нелінійної активації складання багатьох шарів звелося б до єдиного лінійного перетворення.
Що дає максимальний пулінг?
Шар максимального пулінгу 2×2 бере найбільше значення в кожному непересічному вікні 2×2, вдвічі зменшуючи ширину та висоту. Це зберігає найсильніші активації, зменшує обчислення та надає мережі певну інваріантність до зсуву, тож ознака розпізнається, навіть якщо вона зміщена на піксель чи два.
Фільтри в цій демонстрації навчені чи фіксовані?
Вони фіксовані, обрані вручну ядра, щоб зробити математику наочною. У навченій ЗНМ ваги ядра навчаються автоматично через зворотне поширення та градієнтний спуск, тож мережа знаходить ті фільтри, які найкраще мінімізують її втрати на тренувальних даних, а не покладається на класичні ядра країв чи розмиття.
Чому карта ознак зменшується після пулінгу?
Пулінг об'єднує чотири сусідні значення в одне, тож карта 8×8 стає 4×4. Зменшення просторових вимірів при збільшенні кількості каналів ознак — це основний патерн ЗНМ: глибші шари бачать меншу, грубішу сітку, але представляють багатші, вищого рівня концепції, такі як кути та вигини.
Що означають такі статистики, як Scan X і Scan Y?
Scan X і Scan Y показують поточний стовпець і рядок ядра під час його проходження вхідним зображенням в анімації Conv1. Kernel Weights дорівнює 9 — це дев'ять чисел єдиного ядра 3×3, яке використовує ця демонстрація (воно повторно використовується в Conv1 і Conv2, без зсувів і без навчання), а Feature Maps дорівнює 1, оскільки одне ядро дає рівно одну карту на шар. Виробнича ЗНМ використовувала б банк із багатьох ядер на шар і, відповідно, давала б багато карт.
Чи є це точним відображенням реальної ЗНМ?
Операції достовірні: справжня згортка, ReLU, максимальний пулінг і друга згортка у правильному порядку. Вона спрощена для наочності — використовує одне маленьке зображення, ядра, встановлені вручну, нормалізовані значення показу й відсутність реального навчання, тож вона навчає механіці, а не відтворює масштаб виробничої мережі.
Де ЗНМ використовуються в реальному світі?
ЗНМ лежать в основі більшості сучасних систем комп'ютерного зору. Вони класифікують об'єкти на фотографіях, розпізнають рукописні цифри, виявляють пухлини на медичних сканах, розпізнають обличчя, живлять фільтри доповненої реальності та системи сприйняття безпілотних автомобілів. Ті самі базові блоки — згортка, активація та пулінг, показані тут, — масштабуються до цих застосувань.