From 917b94035d006f18becdbdd9acaac572cf200017 Mon Sep 17 00:00:00 2001 From: int Date: Thu, 15 Oct 2026 05:59:50 +0300 Subject: [PATCH] Delta-rule KNP results: MNIST 94.8%, cats/dogs 69.1% on validation Co-Authored-By: Claude Opus 5.5 --- changes-2026-10-15.md | 33 +++++++++++++++++++++++++++++++++ readout/delta_runs.sh | 9 +-------- 2 files changed, 34 insertions(+), 8 deletions(-) diff --git a/changes-2026-10-15.md b/changes-2026-10-15.md index 7a69ca6..4549089 100644 --- a/changes-2026-10-15.md +++ b/changes-2026-10-15.md @@ -12,3 +12,36 @@ - Пробный прогон (признаки coarse, 3000 обучение, 1000 проверка, 10 нейронов): скорость 0,3 — 48,5%, 1 — 76,8%, 3 — **77,4%** (колонки 200 нейронов на том же объёме: 69,8% без наказания, до 79% с наказанием). - `cats-dogs/source`: те же изменения (`construct_network.cpp`, `spike_generators.cpp`), пересобран `cats_dogs`; `cats-dogs/run.py --backend delta`. - Запущены: `readout/delta_runs.sh` (MNIST coarse, 30 000, 6 вариантов) и кошки/собаки на плотных признаках `features-v3/kmeans_validation` (2048 входов, 18 000 обучение, скорости 0,3/1/3). + +### Результаты обучения дофамином по ошибке в KNP (validation) +MNIST, признаки coarse, 30 000 обучение, 10 000 проверка, 10 выходных нейронов (`KNP_COL_SIZE=1`), порог 60, торможение 255: + +| скорость | a | b (штраф за свой спайк) | разброс | верно | +| --- | --- | --- | --- | --- | +| 1 | 1 | 1 | 20 | 85,17% | +| 3 | 1 | 1 | 20 | 86,25% | +| 3 | 1 | 1 | 0 | 85,86% | +| 10 | 1 | 1 | 20 | 79,42% | +| 3 | 1 | 0,5 | 20 | 59,79% | +| 1 | 1 | 2 | 20 | 91,43% | +| 3 | 1 | 2 | 20 | 93,27% | +| 10 | 1 | 2 | 20 | 93,02% | +| 3 | 1 | 3 | 20 | 94,31% | +| 3 | 1 | 4 | 20 | 94,76% | +| 3 | 1 | 6 | 20 | **94,81%** | + +Для сравнения на тех же признаках: колонки STDP (200 нейронов) — 79,7% без наказания, 83,5% с наказанием 0,012; выход, обученный вне чипа (ridge, спайковый) — 94,9%. Симулятор на `dl_r3_a1_b2_j20`: 93,26% (KNP 93,27%); порог 20–160 и торможение 0/255 — 87,7–93,7%. + +Кошки/собаки, плотные выученные признаки `features-v3/kmeans_validation` (2048 входов, K=512, без разреживания), 18 000 обучение, 1000 проверка, 2 нейрона, разброс 0: + +| скорость | b | верно | +| --- | --- | --- | +| 0,3 | 1 | 50,1% | +| 1 | 1 | 54,5% | +| 3 | 1 | 58,4% | +| 3 | 2 | 65,8% | +| 10 | 2 | 65,6% | +| 10 | 4 | 65,6% | +| 3 | 4 | **69,1%** | + +Колонки STDP на этих же плотных признаках молчали (≈0%), на разреженных top-256 — 64–65%; ridge на этих uint8-признаках 74,2%, спайковый нейрон-разность 72,4%. Симулятор `dl_cd_r3_b4`: порог 30–250, торможение 0/255 — 67,6–68,8%. diff --git a/readout/delta_runs.sh b/readout/delta_runs.sh index e33ff81..280655a 100644 --- a/readout/delta_runs.sh +++ b/readout/delta_runs.sh @@ -10,11 +10,4 @@ run() { n=$1; [ -f $n/done ] && return; mkdir -p $n -t 30000 -i 10000 -l error --training_backend $HOME/run/delta-cpu/libknp-cpu-delta-backend.so > $n/log.txt 2>&1 touch $n/done; } export -f run -cat <