1 Вход: палочки
Кликайте по палочкам, чтобы включать и выключать их.
Нет палочки → −1, есть → +1. Так «пустая» палочка тоже несёт информацию.
9 палочек шаблона почтового индекса → нейросеть → 10 нейронов-цифр.
Весь граф считается классом Value из видео Карпатого, веса лежат в SQLite.
Не понятно, что тут происходит? Начните с уроков: каждая часть разобрана отдельно.
Кликайте по палочкам, чтобы включать и выключать их.
Нет палочки → −1, есть → +1. Так «пустая» палочка тоже несёт информацию.
Для правильной цифры хотим +1, для остальных −1. loss = Σ (выход − цель)² = –
Это граф Value ровно в том виде, в каком его строит Neuron::__invoke:
каждое mul/add/tanh создаёт новый узел.
data считается слева направо (forward), ∇ grad справа налево (backward()) от loss текущего примера.
Наведите на узел, чтобы увидеть правило.
Нажмите «1 шаг с разбором»: одна эпоха по всем 10 цифрам покажет все пять стадий на схеме сети.
Value: он хранит data, grad и помнит, из каких узлов и какой операцией получен.tanh(b + w₁x₁ + … + wₙxₙ). Слой — это несколько нейронов на одном входе. MLP — слои друг за другом: выход одного слоя становится входом следующего.grad: как изменится loss, если чуть увеличить этот узел. У + градиент проходит как есть, у × умножается на «соседа», у tanh — на (1 − tanh²).w −= lr · grad. Повторяем много эпох, loss падает, и сеть начинает правильно угадывать цифры. Веса после обучения сохраняются в data/micrograd.sqlite.