feat: modernize PSO and add convergence research

Migrate the package and examples to the tensor-native PyTorch implementation, add benchmark evidence, and add the guarded post-training convergence protocol with TensorBoard progress monitoring and hash-verified recovery.

Constraint: Preserve one-shot official-test sealing and auditable research artifacts

Rejected: Commit local .omc runs and downloaded datasets | multi-gigabyte runtime state is machine-local

Confidence: high

Scope-risk: broad

Not-tested: Production CUDA run on pieroot-server
This commit is contained in:
2026-09-07 22:03:25 +09:00
parent 9745bb7ad4
commit 813433000a
120 changed files with 198148 additions and 4745 deletions
@@ -0,0 +1,11 @@
profile,dataset,method,n_particles,epochs,n_seeds,eval_acc_mean,eval_acc_std,eval_acc_median,eval_acc_iqr,eval_acc_ci95,eval_loss_mean,eval_loss_std,eval_loss_median,eval_loss_iqr,eval_loss_ci95,eval_mse_mean,eval_mse_std,train_acc_mean,train_loss_mean,runtime_seconds_mean,runtime_seconds_std,rank_acc,rank_loss
adaptive_moment_.10,MNIST,adaptive_moment,30,80,5,0.63,0.018276,0.641,0.027,0.022692,1.243339,0.102561,1.253713,0.068197,0.127344,0.051633,0.002578,0.7099,0.978244,4.286662,0.289397,2,5
adaptive_moment_.25,MNIST,adaptive_moment,30,80,5,0.5632,0.02938,0.569,0.034,0.03648,1.499979,0.119449,1.483628,0.043413,0.148313,0.06119,0.003677,0.6379,1.228023,3.290951,0.425997,8,7
adaptive_moment_.50,MNIST,adaptive_moment,30,80,5,0.5186,0.039087,0.51,0.019,0.048532,1.683781,0.121571,1.683062,0.08627,0.150948,0.067331,0.003822,0.5705,1.4637,3.202502,0.269844,9,9
inertia_canonical,MNIST,inertia,30,80,5,0.4676,0.024358,0.472,0.033,0.030244,1.720983,0.118092,1.699598,0.020267,0.146628,0.070356,0.002531,0.5277,1.528197,3.119898,0.30594,10,10
inertia_tuned,MNIST,inertia,30,80,5,0.6162,0.05131,0.635,0.007,0.063709,1.2366,0.124281,1.194831,0.029657,0.154312,0.05278,0.005923,0.6931,0.999514,3.131882,0.408534,4,3
tuned_adam_100_lr.01,MNIST,inertia,30,80,5,0.8558,0.002387,0.856,0.003,0.002964,0.470271,0.011931,0.472233,0.019931,0.014814,0.02164,0.000368,0.9158,0.298524,4.990688,0.434352,1,1
tuned_full_evaluation,MNIST,inertia,30,80,5,0.6254,0.02805,0.624,0.029,0.034828,1.179009,0.050059,1.194071,0.052015,0.062156,0.051537,0.00241,0.687867,1.00514,3.377083,0.469302,3,2
tuned_no_mutation,MNIST,inertia,30,80,5,0.6042,0.030376,0.607,0.003,0.037716,1.249836,0.084985,1.215945,0.022012,0.105521,0.053483,0.003055,0.6686,1.074396,3.347668,0.3431,6,6
tuned_particle_reset,MNIST,inertia,30,80,5,0.6162,0.05131,0.635,0.007,0.063709,1.2366,0.124281,1.194831,0.029657,0.154312,0.05278,0.005923,0.6931,0.999514,4.176388,0.449217,5,4
tuned_uniform_initialization,MNIST,inertia,30,80,5,0.5698,0.023952,0.575,0.017,0.02974,1.619196,0.157329,1.641514,0.149905,0.195347,0.061757,0.0042,0.616,1.345857,4.306866,0.442651,7,8
1 profile dataset method n_particles epochs n_seeds eval_acc_mean eval_acc_std eval_acc_median eval_acc_iqr eval_acc_ci95 eval_loss_mean eval_loss_std eval_loss_median eval_loss_iqr eval_loss_ci95 eval_mse_mean eval_mse_std train_acc_mean train_loss_mean runtime_seconds_mean runtime_seconds_std rank_acc rank_loss
2 adaptive_moment_.10 MNIST adaptive_moment 30 80 5 0.63 0.018276 0.641 0.027 0.022692 1.243339 0.102561 1.253713 0.068197 0.127344 0.051633 0.002578 0.7099 0.978244 4.286662 0.289397 2 5
3 adaptive_moment_.25 MNIST adaptive_moment 30 80 5 0.5632 0.02938 0.569 0.034 0.03648 1.499979 0.119449 1.483628 0.043413 0.148313 0.06119 0.003677 0.6379 1.228023 3.290951 0.425997 8 7
4 adaptive_moment_.50 MNIST adaptive_moment 30 80 5 0.5186 0.039087 0.51 0.019 0.048532 1.683781 0.121571 1.683062 0.08627 0.150948 0.067331 0.003822 0.5705 1.4637 3.202502 0.269844 9 9
5 inertia_canonical MNIST inertia 30 80 5 0.4676 0.024358 0.472 0.033 0.030244 1.720983 0.118092 1.699598 0.020267 0.146628 0.070356 0.002531 0.5277 1.528197 3.119898 0.30594 10 10
6 inertia_tuned MNIST inertia 30 80 5 0.6162 0.05131 0.635 0.007 0.063709 1.2366 0.124281 1.194831 0.029657 0.154312 0.05278 0.005923 0.6931 0.999514 3.131882 0.408534 4 3
7 tuned_adam_100_lr.01 MNIST inertia 30 80 5 0.8558 0.002387 0.856 0.003 0.002964 0.470271 0.011931 0.472233 0.019931 0.014814 0.02164 0.000368 0.9158 0.298524 4.990688 0.434352 1 1
8 tuned_full_evaluation MNIST inertia 30 80 5 0.6254 0.02805 0.624 0.029 0.034828 1.179009 0.050059 1.194071 0.052015 0.062156 0.051537 0.00241 0.687867 1.00514 3.377083 0.469302 3 2
9 tuned_no_mutation MNIST inertia 30 80 5 0.6042 0.030376 0.607 0.003 0.037716 1.249836 0.084985 1.215945 0.022012 0.105521 0.053483 0.003055 0.6686 1.074396 3.347668 0.3431 6 6
10 tuned_particle_reset MNIST inertia 30 80 5 0.6162 0.05131 0.635 0.007 0.063709 1.2366 0.124281 1.194831 0.029657 0.154312 0.05278 0.005923 0.6931 0.999514 4.176388 0.449217 5 4
11 tuned_uniform_initialization MNIST inertia 30 80 5 0.5698 0.023952 0.575 0.017 0.02974 1.619196 0.157329 1.641514 0.149905 0.195347 0.061757 0.0042 0.616 1.345857 4.306866 0.442651 7 8