Рисование: кликните и тяните по сетке (правый клик — стирание)

3D-управление: • ЛКМ + тянуть = вращать • ПКМ + тянуть = сдвигать • колесо = масштаб

Сенсорное управление
https://github.com/DFin/Neural-Network-Visualisation

Классификация цифр MNIST – визуализация инференса

Интерактивная визуализация нейронной сети

Это приложение показывает компактный многослойный перцептрон (MLP), обученный на датасете MNIST. Нарисуйте цифру и наблюдайте, как активации в реальном времени проходят через все полносвязные слои.

Как это работает:

  • Рисуйте: кликните и тяните в 2D-сетке (вверху слева), чтобы нарисовать цифру
  • Наблюдайте: следите, как ваш рисунок проходит через слои сети в 3D-пространстве
  • Предсказание: проверьте вероятность каждой цифры (0–9) на диаграмме (вверху справа)

Архитектура сети (стандартный экспорт):

  • Входной слой: пиксельная сетка 28×28 (ваш рисунок)
  • Плотный слой 1: 784 → 64 нейронов с ReLU
  • Плотный слой 2: 64 → 32 нейрона с ReLU
  • Выходной слой: 32 → 10 логитов → softmax-вероятности

3D-управление:

  • Вращение: удерживайте левую кнопку мыши и тяните
  • Сдвиг: удерживайте правую кнопку мыши и тяните
  • Масштаб: крутите колесо мыши

Цветовая кодировка:

  • Узлы: цвет показывает силу активации (тёмно-синие тона для низких/отрицательных значений, яркие коралловые — для сильных положительных)
  • Связи: тёплые цвета обозначают сильные положительные вклады, холодные — отрицательные, приглушённые — значения около нуля.

Обучить свою модель:

  • Запустите python training/mlp_train.py, чтобы обучить MLP (с ускорением на Apple Metal, если доступно).
  • Скрипт записывает exports/mlp_weights.json, который визуализатор читает при загрузке.
  • Меняйте число скрытых нейронов, эпохи или путь экспорта через CLI-параметры, описанные в training/mlp_train.py.

Возможности в реальном времени:

  • Активации слоёв: сферы показывают активацию каждого нейрона с цветовой кодировкой силы.
  • Важные связи: каждый выходной нейрон подсвечивает свои сильнейшие входные веса для читаемости.
  • Вероятности онлайн: столбчатая диаграмма обновляет значения логитов → softmax в реальном времени.

Сеть намеренно компактна, чтобы обеспечить плавный рендеринг в реальном времени. Вы можете переобучить её с другими размерами слоёв — просто держите архитектуру лёгкой, чтобы 3D-вид оставался отзывчивым.