Delta-rule KNP results: MNIST 94.8%, cats/dogs 69.1% on validation
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
64fc5161e0
commit
917b94035d
2 changed files with 34 additions and 8 deletions
|
|
@ -12,3 +12,36 @@
|
||||||
- Пробный прогон (признаки coarse, 3000 обучение, 1000 проверка, 10 нейронов): скорость 0,3 — 48,5%, 1 — 76,8%, 3 — **77,4%** (колонки 200 нейронов на том же объёме: 69,8% без наказания, до 79% с наказанием).
|
- Пробный прогон (признаки 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`.
|
- `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).
|
- Запущены: `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%.
|
||||||
|
|
|
||||||
|
|
@ -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
|
-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; }
|
touch $n/done; }
|
||||||
export -f run
|
export -f run
|
||||||
cat <<SPECS | xargs -P 6 -L 1 bash -c 'run "$@"' _
|
cat ${SPECFILE:-/dev/stdin} | xargs -P 6 -L 1 bash -c 'run "$@"' _
|
||||||
dl_r1_a1_b1_j20 1 1 1 20
|
|
||||||
dl_r3_a1_b1_j20 3 1 1 20
|
|
||||||
dl_r10_a1_b1_j20 10 1 1 20
|
|
||||||
dl_r3_a1_b0.5_j20 3 1 0.5 20
|
|
||||||
dl_r3_a1_b2_j20 3 1 2 20
|
|
||||||
dl_r3_a1_b1_j0 3 1 1 0
|
|
||||||
SPECS
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue