← 🧬 Biology

🧠 Neural Net

Task
Epoch 0
Loss (MSE)
Accuracy
Predictions
Neg weight Pos weight High act
Left: network diagram · Right: decision boundary (click to test a point)

Про симулятор зворотного поширення нейронної мережі

Ця симуляція навчає невелику пряму нейронну мережу з одним прихованим шаром, яка відображає два входи на один вихід (2 → N → 1). Кожен прямий прохід множить вхідні дані на ваги, додає зсув і застосовує сигмоїдну функцію активації. Потім зворотне поширення обчислює градієнт середньоквадратичної помилки відносно кожної ваги за правилом ланцюжка, а градієнтний спуск коригує кожну вагу в напрямку, що зменшує втрати — епоха за епохою.

Перемикач задачі вибирає між трьома наборами даних: класична задача XOR, кругова межа та двокласова спіраль. Повзунок прихованих нейронів задає ширину шару (від 2 до 16), повзунок швидкості навчання масштабує крок оновлення (від 0,01 до 0,20), а повзунок швидкості визначає кількість епох на кадр. Ліва панель відображає схему мережі з вагами у вигляді кольорових ребер, а права показує живу межу рішення, яку можна досліджувати, клацаючи по будь-якій точці.

Поширені запитання

Що насправді показує ця симуляція?

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

Як тут працює зворотне поширення?

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

Чому XOR є відомим тестовим прикладом?

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

Що роблять елементи керування?

Задача вибирає набір даних (XOR, коло або спіраль). Приховані нейрони задають ширину прихованого шару — від 2 до 16 одиниць. Швидкість навчання масштабує крок оновлення від 0,01 до 0,20. Швидкість визначає кількість епох за один кадр анімації. Кнопки «Тренувати», «Крок» і «Скинути» запускають безперервне навчання, виконують одну епоху або заново ініціалізують ваги відповідно.

Яка функція втрат і яка функція активації використовується?

Кожен прихований та вихідний нейрон використовує сигмоїдну активацію, яка стискає значення в діапазон від 0 до 1. Навчання мінімізує середньоквадратичну помилку між передбаченнями і цільовими значеннями, що відображається на панелі як Loss (MSE). Вихідний нейрон завжди використовує сигмоїду, тому його значення можна сприймати як оцінку ймовірності в діапазоні від 0 до 1.

Як ініціалізуються ваги?

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

Що означає панель межі рішення?

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

Чи є ця модель точним відображенням реальних нейронних мереж?

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

Що відбудеться, якщо встановити занадто високу або занадто низьку швидкість навчання?

Занадто висока — і оновлення перестрибують мінімум, тому втрати коливаються або розходяться замість того, щоб стабілізуватися. Занадто низька — і навчання просувається дуже повільно, потребуючи набагато більше епох для досягнення малої помилки. Повзунок охоплює діапазон від 0,01 до 0,20, тому корисно порівняти, як поводиться крива втрат на крайніх значеннях і на середньому.

Де в реальному світі застосовується зворотне поширення?

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

🧠 Нейронна Мережа — Зворотне Поширення

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

🔬 Що демонструє

Нейронна мережа — це шари з'єднаних вузлів. Прямий прохід обчислює передбачення. Зворотний прохід поширює помилку через ваги за похідними (метод градієнтного спуску). Тисячі повторень навчають мережу.

🎮 Як використовувати

Виберіть набір даних (лінійний, XOR, коло, спіраль) та архітектуру (кількість шарів і нейронів). Спостерігайте за межею рішення і кривою навчання в реальному часі. Регулюйте швидкість навчання.

💡 Чи знали ви?

Метод зворотного поширення було опубліковано Раммельхартом, Хінтоном і Вільямсом у 1986 р. і залишається основою глибокого навчання і сьогодні. Хінтон, Лекун і Бенджіо отримали Премію Тьюрінга 2018 р.