Невронна мрежа · от нулата

Разпознавач
на цифри

Нарисувай цифра, покажи на мрежата, и тя се учи.

1 Рисувай
2 Обучи
3 Тествай
Платно за рисуване
?
Предсказание
—
Обучение — натисни коя цифра си нарисувал
Все още няма примери. Нарисувай и обучи!

Стъпка 1 — Вход (196 пиксела)

Платното е мрежа 14×14 = 196 пиксела. Всеки пиксел е число от 0 (черно) до 1 (бяло). Тези 196 числа са входът за мрежата.

Стъпка 2 — Скрит слой (32 неврона)

Всеки от 32-та скрити неврона получава всичките 196 входа, умножени по различни тегла, и добавя отместване (bias):

z = w₁·x₁ + w₂·x₂ + … + w₁₉₆·x₁₉₆ + b

Теглата (w) са числа, които мрежата коригира при всяко обучение.

Стъпка 3 — Сигмоид активация

Резултатът z се „смачква" в диапазон 0–1 чрез сигмоидната функция:

σ(z) = 1 / (1 + e⁻ᶻ)

Така невронът „реши" колко силно да се активира. Голям положителен z → близо до 1. Голям отрицателен z → близо до 0.

Стъпка 4 — Изходен слой (10 неврона)

32-та стойности от скрития слой стават вход за 10 изходни неврона (по един за всяка цифра 0–9). Отново: тегла × входове + bias → сигмоид. Изходът е числото, показано тук:

Стъпка 5 — Обратно разпространение (Backpropagation)

Когато натиснеш „Обучи X", мрежата сравнява изхода с правилния отговор и смята грешката:

грешка = целева_стойност − действителна_стойност

Грешката се „разпространява назад" и всяко тегло се коригира леко:

w ← w + lr × грешка × σ'(z) × вход

lr = 0.15 е скоростта на учене. Повтаря се 200 пъти за всеки натиск.


Диаграма на мрежата: 196 входа (агрегирани) → 32 неврона → 10 изхода. Яркостта на невроните се актуализира при всяко рисуване.