summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--RAIN_EP_DILLAVOU_MATRIX.md10
-rw-r--r--RAIN_EP_RELEASED_PROFILE.md11
-rw-r--r--results/ep_bias/dillavou_c0/centered_clean.json171
-rw-r--r--results/ep_bias/dillavou_c0/centered_raw.json99
-rw-r--r--results/ep_bias/dillavou_c0/pep_clean.json171
-rw-r--r--results/ep_bias/dillavou_c0/pep_constant.json270
-rw-r--r--results/ep_bias/dillavou_c0/pep_raw.json118
-rw-r--r--results/ep_bias/dillavou_c0/pep_sdil.json270
-rw-r--r--results/ep_bias/dillavou_c0/random_clean.json171
-rw-r--r--results/ep_bias/dillavou_c0/random_raw.json99
-rw-r--r--results/ep_bias/dillavou_c0/summary.json483
-rw-r--r--results/ep_bias/released_profile_r0/intercept_c10.json116
-rw-r--r--results/ep_bias/released_profile_r0/intercept_c50.json116
-rw-r--r--results/ep_bias/released_profile_r0/intercept_initial.json116
-rw-r--r--results/ep_bias/released_profile_r0/pep_clean.json96
-rw-r--r--results/ep_bias/released_profile_r0/profile_raw.json116
-rw-r--r--results/ep_bias/released_profile_r0/sdil_c10.json116
-rw-r--r--results/ep_bias/released_profile_r0/sdil_c50.json116
-rw-r--r--results/ep_bias/released_profile_r0/sdil_initial.json116
-rw-r--r--results/ep_bias/released_profile_r0/summary.json128
20 files changed, 2909 insertions, 0 deletions
diff --git a/RAIN_EP_DILLAVOU_MATRIX.md b/RAIN_EP_DILLAVOU_MATRIX.md
index 3e8c30d..094d9d6 100644
--- a/RAIN_EP_DILLAVOU_MATRIX.md
+++ b/RAIN_EP_DILLAVOU_MATRIX.md
@@ -78,6 +78,16 @@ SDIL, random-sign clean/raw, and centered clean/raw. C0 checks whether the S0b
separation persists beyond a small development subset. It is still not the
multi-seed 100-epoch confirmation.
+C0 closed as a branch-selection result. Centered EP was the only stable clean
+estimator, rising from 79.20% at epoch 1 to 88.67% at epoch 10. Clean positive
+EP fell from 73.15% to chance by epoch 7, and clean random-sign EP fell from
+77.52% to chance by epoch 7. Constant calibration and SDIL exactly matched but
+inherited the positive-EP collapse. Under the fixed ratio-1 update offset,
+positive EP became nonfinite at epoch 2, while random-sign and centered EP
+became nonfinite at epoch 1. Therefore positive EP cannot be the confirmation
+backbone under this full protocol. The next valid comparison must attach local
+correction to the stable centered estimator.
+
## Confirmation matrix
After S0 freezes one offset magnitude, the full author horizon compares:
diff --git a/RAIN_EP_RELEASED_PROFILE.md b/RAIN_EP_RELEASED_PROFILE.md
index d124cc3..1b46f1e 100644
--- a/RAIN_EP_RELEASED_PROFILE.md
+++ b/RAIN_EP_RELEASED_PROFILE.md
@@ -55,3 +55,14 @@ have lower held-out residual bias and higher task accuracy than the matched
intercept-only arm. Final evidence additionally requires multiple seeds, a
frozen probe cadence, measurement noise/quantization, and the strong-clamp
baseline.
+
+R0 did not pass this gate. Clean positive EP reached 53.2% after one epoch and
+the raw released-profile arm reached 40.0%. With only the initial probe,
+intercept and affine predictors were exactly matched at 49.9%. At cadence 10,
+affine SDIL reached 49.9% versus 44.8% for the intercept, but its final relative
+residual was higher (`9.51e-4` versus `5.95e-4`). At cadence 50, affine SDIL
+had a slightly lower residual (`7.42e-3` versus `7.55e-3`) but lower accuracy
+(47.1% versus 48.4%). No cadence improved both mechanism and task performance,
+so R0 is ambiguous negative development evidence and is not promoted. The
+stable centered-EP backbone identified by C0 is required before further task
+confirmation.
diff --git a/results/ep_bias/dillavou_c0/centered_clean.json b/results/ep_bias/dillavou_c0/centered_clean.json
new file mode 100644
index 0000000..eef778c
--- /dev/null
+++ b/results/ep_bias/dillavou_c0/centered_clean.json
@@ -0,0 +1,171 @@
+{
+ "schema": "rain_ep_structured_bias_screen_v1",
+ "sdil": {
+ "revision": "65f617eaf07a87c84475ad0010dea844422163e1"
+ },
+ "author": {
+ "repository": "https://github.com/rain-neuromorphics/energy-based-learning",
+ "revision": "6b253fd8a5d267535f58ab79992256ef10031ceb"
+ },
+ "protocol": {
+ "dataset": "FashionMNIST",
+ "network": "author comparative-study ConvHopfieldEnergy32",
+ "network_protocol": "comparative32",
+ "algorithm": "equilibrium propagation",
+ "beta_policy": "centered",
+ "beta_seed": 7100,
+ "beta_value": 0.25,
+ "adapter": "dillavou",
+ "mode": "clean",
+ "bias_ratio": 1.0,
+ "dillavou_drift_ratio": 0.0,
+ "dillavou_calibration_steps": 1,
+ "predictor_rate": 1.0,
+ "neutral_cadence": 0,
+ "layer_calibration_steps": 1,
+ "layer_bias_normalization": "clean_difference",
+ "calibration_batches": 0,
+ "calibration_observations": 0,
+ "calibration_seconds": 4.76837158203125e-07,
+ "extra_equilibrium_phases_for_predictor": 0,
+ "predictor_neutral_source": "instruction_off_local_update_probe",
+ "bias_ratio_normalization": "initial_clean_local_update_rms_for_simulation_only",
+ "bias_ratio_normalization_visible_to_predictor": false,
+ "epochs": 10,
+ "train_limit": 60000,
+ "test_limit": 10000,
+ "evaluation_split": "test",
+ "data_seed": 6200,
+ "batch_size": 128,
+ "training_iterations": 15,
+ "inference_iterations": 60,
+ "schedule_epochs": 100,
+ "seed": 1988,
+ "device": "cuda",
+ "determinism": "best_effort_warn_only",
+ "autodiff_used_for_learning": false
+ },
+ "hardware": {
+ "torch_version": "2.3.1+cu118",
+ "torch_cuda_version": "11.8",
+ "cuda_visible_devices": "6",
+ "device_name": "NVIDIA GeForce GTX 1080"
+ },
+ "metrics": [
+ {
+ "epoch": 1,
+ "train_accuracy": 0.5966166666666667,
+ "train_cost": 0.26790297616322833,
+ "test_accuracy": 0.792,
+ "test_cost": 0.15573115186691283,
+ "finite": true,
+ "corrector": {},
+ "wall_seconds": 791.3634951114655
+ },
+ {
+ "epoch": 2,
+ "train_accuracy": 0.7990166666666667,
+ "train_cost": 0.1508844397544861,
+ "test_accuracy": 0.8135,
+ "test_cost": 0.1375195680141449,
+ "finite": true,
+ "corrector": {},
+ "wall_seconds": 1585.4075651168823
+ },
+ {
+ "epoch": 3,
+ "train_accuracy": 0.8292,
+ "train_cost": 0.12718361412684123,
+ "test_accuracy": 0.8574,
+ "test_cost": 0.1070521926999092,
+ "finite": true,
+ "corrector": {},
+ "wall_seconds": 2379.6713066101074
+ },
+ {
+ "epoch": 4,
+ "train_accuracy": 0.84385,
+ "train_cost": 0.11590963444709777,
+ "test_accuracy": 0.8465,
+ "test_cost": 0.11115882776975632,
+ "finite": true,
+ "corrector": {},
+ "wall_seconds": 3174.0780577659607
+ },
+ {
+ "epoch": 5,
+ "train_accuracy": 0.8542166666666666,
+ "train_cost": 0.10834487209320068,
+ "test_accuracy": 0.8717,
+ "test_cost": 0.09622300601005554,
+ "finite": true,
+ "corrector": {},
+ "wall_seconds": 3968.5418033599854
+ },
+ {
+ "epoch": 6,
+ "train_accuracy": 0.8607,
+ "train_cost": 0.1035885739326477,
+ "test_accuracy": 0.86,
+ "test_cost": 0.1034158871769905,
+ "finite": true,
+ "corrector": {},
+ "wall_seconds": 4763.052963733673
+ },
+ {
+ "epoch": 7,
+ "train_accuracy": 0.8689666666666667,
+ "train_cost": 0.09762942288716635,
+ "test_accuracy": 0.8724,
+ "test_cost": 0.09512372477054595,
+ "finite": true,
+ "corrector": {},
+ "wall_seconds": 5557.174776554108
+ },
+ {
+ "epoch": 8,
+ "train_accuracy": 0.8729166666666667,
+ "train_cost": 0.09451936751206716,
+ "test_accuracy": 0.8745,
+ "test_cost": 0.09160860464572906,
+ "finite": true,
+ "corrector": {},
+ "wall_seconds": 6351.611607551575
+ },
+ {
+ "epoch": 9,
+ "train_accuracy": 0.8778,
+ "train_cost": 0.09079933222929637,
+ "test_accuracy": 0.871,
+ "test_cost": 0.09528597943782806,
+ "finite": true,
+ "corrector": {},
+ "wall_seconds": 7146.317694187164
+ },
+ {
+ "epoch": 10,
+ "train_accuracy": 0.8811,
+ "train_cost": 0.08831276926994323,
+ "test_accuracy": 0.8867,
+ "test_cost": 0.08445086604356766,
+ "finite": true,
+ "corrector": {},
+ "wall_seconds": 7940.900921821594
+ }
+ ],
+ "epochs_completed": 10,
+ "beta_sign_counts": {
+ "positive": 4690,
+ "negative": 4690
+ },
+ "final": {
+ "epoch": 10,
+ "train_accuracy": 0.8811,
+ "train_cost": 0.08831276926994323,
+ "test_accuracy": 0.8867,
+ "test_cost": 0.08445086604356766,
+ "finite": true,
+ "corrector": {},
+ "wall_seconds": 7940.900921821594
+ }
+}
diff --git a/results/ep_bias/dillavou_c0/centered_raw.json b/results/ep_bias/dillavou_c0/centered_raw.json
new file mode 100644
index 0000000..ea34fd3
--- /dev/null
+++ b/results/ep_bias/dillavou_c0/centered_raw.json
@@ -0,0 +1,99 @@
+{
+ "schema": "rain_ep_structured_bias_screen_v1",
+ "sdil": {
+ "revision": "65f617eaf07a87c84475ad0010dea844422163e1"
+ },
+ "author": {
+ "repository": "https://github.com/rain-neuromorphics/energy-based-learning",
+ "revision": "6b253fd8a5d267535f58ab79992256ef10031ceb"
+ },
+ "protocol": {
+ "dataset": "FashionMNIST",
+ "network": "author comparative-study ConvHopfieldEnergy32",
+ "network_protocol": "comparative32",
+ "algorithm": "equilibrium propagation",
+ "beta_policy": "centered",
+ "beta_seed": 7100,
+ "beta_value": 0.25,
+ "adapter": "dillavou",
+ "mode": "raw",
+ "bias_ratio": 1.0,
+ "dillavou_drift_ratio": 0.0,
+ "dillavou_calibration_steps": 1,
+ "predictor_rate": 1.0,
+ "neutral_cadence": 0,
+ "layer_calibration_steps": 1,
+ "layer_bias_normalization": "clean_difference",
+ "calibration_batches": 0,
+ "calibration_observations": 0,
+ "calibration_seconds": 4.76837158203125e-07,
+ "extra_equilibrium_phases_for_predictor": 0,
+ "predictor_neutral_source": "instruction_off_local_update_probe",
+ "bias_ratio_normalization": "initial_clean_local_update_rms_for_simulation_only",
+ "bias_ratio_normalization_visible_to_predictor": false,
+ "epochs": 10,
+ "train_limit": 60000,
+ "test_limit": 10000,
+ "evaluation_split": "test",
+ "data_seed": 6200,
+ "batch_size": 128,
+ "training_iterations": 15,
+ "inference_iterations": 60,
+ "schedule_epochs": 100,
+ "seed": 1988,
+ "device": "cuda",
+ "determinism": "best_effort_warn_only",
+ "autodiff_used_for_learning": false
+ },
+ "hardware": {
+ "torch_version": "2.3.1+cu118",
+ "torch_cuda_version": "11.8",
+ "cuda_visible_devices": "7",
+ "device_name": "NVIDIA GeForce GTX 1080"
+ },
+ "metrics": [
+ {
+ "epoch": 1,
+ "train_accuracy": 0.10061666666666666,
+ "train_cost": NaN,
+ "test_accuracy": 0.1,
+ "test_cost": NaN,
+ "finite": false,
+ "corrector": {
+ "step": 468,
+ "bias_model": "dillavou_constant_update",
+ "clean_update_rms": NaN,
+ "bias_update_rms": NaN,
+ "residual_update_rms": NaN,
+ "bias_to_clean_update_rms": NaN,
+ "residual_to_clean_update_rms": NaN,
+ "neutral_observations": 0
+ },
+ "wall_seconds": 813.3471133708954
+ }
+ ],
+ "epochs_completed": 1,
+ "beta_sign_counts": {
+ "positive": 469,
+ "negative": 469
+ },
+ "final": {
+ "epoch": 1,
+ "train_accuracy": 0.10061666666666666,
+ "train_cost": NaN,
+ "test_accuracy": 0.1,
+ "test_cost": NaN,
+ "finite": false,
+ "corrector": {
+ "step": 468,
+ "bias_model": "dillavou_constant_update",
+ "clean_update_rms": NaN,
+ "bias_update_rms": NaN,
+ "residual_update_rms": NaN,
+ "bias_to_clean_update_rms": NaN,
+ "residual_to_clean_update_rms": NaN,
+ "neutral_observations": 0
+ },
+ "wall_seconds": 813.3471133708954
+ }
+}
diff --git a/results/ep_bias/dillavou_c0/pep_clean.json b/results/ep_bias/dillavou_c0/pep_clean.json
new file mode 100644
index 0000000..50532fe
--- /dev/null
+++ b/results/ep_bias/dillavou_c0/pep_clean.json
@@ -0,0 +1,171 @@
+{
+ "schema": "rain_ep_structured_bias_screen_v1",
+ "sdil": {
+ "revision": "65f617eaf07a87c84475ad0010dea844422163e1"
+ },
+ "author": {
+ "repository": "https://github.com/rain-neuromorphics/energy-based-learning",
+ "revision": "6b253fd8a5d267535f58ab79992256ef10031ceb"
+ },
+ "protocol": {
+ "dataset": "FashionMNIST",
+ "network": "author comparative-study ConvHopfieldEnergy32",
+ "network_protocol": "comparative32",
+ "algorithm": "equilibrium propagation",
+ "beta_policy": "fixed_positive",
+ "beta_seed": 7100,
+ "beta_value": 0.25,
+ "adapter": "dillavou",
+ "mode": "clean",
+ "bias_ratio": 1.0,
+ "dillavou_drift_ratio": 0.0,
+ "dillavou_calibration_steps": 1,
+ "predictor_rate": 1.0,
+ "neutral_cadence": 0,
+ "layer_calibration_steps": 1,
+ "layer_bias_normalization": "clean_difference",
+ "calibration_batches": 0,
+ "calibration_observations": 0,
+ "calibration_seconds": 4.76837158203125e-07,
+ "extra_equilibrium_phases_for_predictor": 0,
+ "predictor_neutral_source": "instruction_off_local_update_probe",
+ "bias_ratio_normalization": "initial_clean_local_update_rms_for_simulation_only",
+ "bias_ratio_normalization_visible_to_predictor": false,
+ "epochs": 10,
+ "train_limit": 60000,
+ "test_limit": 10000,
+ "evaluation_split": "test",
+ "data_seed": 6200,
+ "batch_size": 128,
+ "training_iterations": 15,
+ "inference_iterations": 60,
+ "schedule_epochs": 100,
+ "seed": 1988,
+ "device": "cuda",
+ "determinism": "best_effort_warn_only",
+ "autodiff_used_for_learning": false
+ },
+ "hardware": {
+ "torch_version": "2.3.1+cu118",
+ "torch_cuda_version": "11.8",
+ "cuda_visible_devices": "0",
+ "device_name": "NVIDIA GeForce GTX 1080"
+ },
+ "metrics": [
+ {
+ "epoch": 1,
+ "train_accuracy": 0.6331833333333333,
+ "train_cost": 0.26114970343907673,
+ "test_accuracy": 0.7315,
+ "test_cost": 0.20986583371162415,
+ "finite": true,
+ "corrector": {},
+ "wall_seconds": 772.7187147140503
+ },
+ {
+ "epoch": 2,
+ "train_accuracy": 0.6627,
+ "train_cost": 0.2617804507891337,
+ "test_accuracy": 0.5922,
+ "test_cost": 0.4188939518928528,
+ "finite": true,
+ "corrector": {},
+ "wall_seconds": 1544.577304840088
+ },
+ {
+ "epoch": 3,
+ "train_accuracy": 0.6126666666666667,
+ "train_cost": 0.29678506310780844,
+ "test_accuracy": 0.5733,
+ "test_cost": 0.2982772967338562,
+ "finite": true,
+ "corrector": {},
+ "wall_seconds": 2314.08575963974
+ },
+ {
+ "epoch": 4,
+ "train_accuracy": 0.43415,
+ "train_cost": 0.3849130135854085,
+ "test_accuracy": 0.4685,
+ "test_cost": 0.34045493516922,
+ "finite": true,
+ "corrector": {},
+ "wall_seconds": 3082.613589525223
+ },
+ {
+ "epoch": 5,
+ "train_accuracy": 0.44206666666666666,
+ "train_cost": 0.3828686854044596,
+ "test_accuracy": 0.338,
+ "test_cost": 0.42704891023635866,
+ "finite": true,
+ "corrector": {},
+ "wall_seconds": 3851.0639486312866
+ },
+ {
+ "epoch": 6,
+ "train_accuracy": 0.33975,
+ "train_cost": 0.4333668016433716,
+ "test_accuracy": 0.2028,
+ "test_cost": 0.44713303966522217,
+ "finite": true,
+ "corrector": {},
+ "wall_seconds": 4618.865006446838
+ },
+ {
+ "epoch": 7,
+ "train_accuracy": 0.10198333333333333,
+ "train_cost": 0.4533044646581014,
+ "test_accuracy": 0.1,
+ "test_cost": 0.451286998796463,
+ "finite": true,
+ "corrector": {},
+ "wall_seconds": 5386.315636873245
+ },
+ {
+ "epoch": 8,
+ "train_accuracy": 0.09966666666666667,
+ "train_cost": 0.4508303793589274,
+ "test_accuracy": 0.1,
+ "test_cost": 0.45172959218025205,
+ "finite": true,
+ "corrector": {},
+ "wall_seconds": 6153.813899278641
+ },
+ {
+ "epoch": 9,
+ "train_accuracy": 0.09798333333333334,
+ "train_cost": 0.4509103933334351,
+ "test_accuracy": 0.1,
+ "test_cost": 0.45050861291885375,
+ "finite": true,
+ "corrector": {},
+ "wall_seconds": 6921.272820234299
+ },
+ {
+ "epoch": 10,
+ "train_accuracy": 0.09518333333333333,
+ "train_cost": 0.45089836565653485,
+ "test_accuracy": 0.1,
+ "test_cost": 0.45086712436676024,
+ "finite": true,
+ "corrector": {},
+ "wall_seconds": 7688.960968732834
+ }
+ ],
+ "epochs_completed": 10,
+ "beta_sign_counts": {
+ "positive": 4690,
+ "negative": 0
+ },
+ "final": {
+ "epoch": 10,
+ "train_accuracy": 0.09518333333333333,
+ "train_cost": 0.45089836565653485,
+ "test_accuracy": 0.1,
+ "test_cost": 0.45086712436676024,
+ "finite": true,
+ "corrector": {},
+ "wall_seconds": 7688.960968732834
+ }
+}
diff --git a/results/ep_bias/dillavou_c0/pep_constant.json b/results/ep_bias/dillavou_c0/pep_constant.json
new file mode 100644
index 0000000..47ab00f
--- /dev/null
+++ b/results/ep_bias/dillavou_c0/pep_constant.json
@@ -0,0 +1,270 @@
+{
+ "schema": "rain_ep_structured_bias_screen_v1",
+ "sdil": {
+ "revision": "65f617eaf07a87c84475ad0010dea844422163e1"
+ },
+ "author": {
+ "repository": "https://github.com/rain-neuromorphics/energy-based-learning",
+ "revision": "6b253fd8a5d267535f58ab79992256ef10031ceb"
+ },
+ "protocol": {
+ "dataset": "FashionMNIST",
+ "network": "author comparative-study ConvHopfieldEnergy32",
+ "network_protocol": "comparative32",
+ "algorithm": "equilibrium propagation",
+ "beta_policy": "fixed_positive",
+ "beta_seed": 7100,
+ "beta_value": 0.25,
+ "adapter": "dillavou",
+ "mode": "constant",
+ "bias_ratio": 1.0,
+ "dillavou_drift_ratio": 0.0,
+ "dillavou_calibration_steps": 1,
+ "predictor_rate": 1.0,
+ "neutral_cadence": 0,
+ "layer_calibration_steps": 1,
+ "layer_bias_normalization": "clean_difference",
+ "calibration_batches": 0,
+ "calibration_observations": 0,
+ "calibration_seconds": 4.76837158203125e-07,
+ "extra_equilibrium_phases_for_predictor": 0,
+ "predictor_neutral_source": "instruction_off_local_update_probe",
+ "bias_ratio_normalization": "initial_clean_local_update_rms_for_simulation_only",
+ "bias_ratio_normalization_visible_to_predictor": false,
+ "epochs": 10,
+ "train_limit": 60000,
+ "test_limit": 10000,
+ "evaluation_split": "test",
+ "data_seed": 6200,
+ "batch_size": 128,
+ "training_iterations": 15,
+ "inference_iterations": 60,
+ "schedule_epochs": 100,
+ "seed": 1988,
+ "device": "cuda",
+ "determinism": "best_effort_warn_only",
+ "autodiff_used_for_learning": false
+ },
+ "hardware": {
+ "torch_version": "2.3.1+cu118",
+ "torch_cuda_version": "11.8",
+ "cuda_visible_devices": "2",
+ "device_name": "NVIDIA GeForce GTX 1080"
+ },
+ "metrics": [
+ {
+ "epoch": 1,
+ "train_accuracy": 0.6240333333333333,
+ "train_cost": 0.26950117823282876,
+ "test_accuracy": 0.7252,
+ "test_cost": 0.21449419848918916,
+ "finite": true,
+ "corrector": {
+ "step": 468,
+ "bias_model": "dillavou_constant_update",
+ "clean_update_rms": 0.0013031720422620305,
+ "bias_update_rms": 0.00015287711537102346,
+ "residual_update_rms": 8.505476264979924e-12,
+ "bias_to_clean_update_rms": 0.11731153709042222,
+ "residual_to_clean_update_rms": 6.526748571290878e-09,
+ "neutral_observations": 1
+ },
+ "wall_seconds": 828.7354471683502
+ },
+ {
+ "epoch": 2,
+ "train_accuracy": 0.7224833333333334,
+ "train_cost": 0.21523845361073812,
+ "test_accuracy": 0.734,
+ "test_cost": 0.20494100348949432,
+ "finite": true,
+ "corrector": {
+ "step": 937,
+ "bias_model": "dillavou_constant_update",
+ "clean_update_rms": 0.0011456798542969432,
+ "bias_update_rms": 0.00015287711537102346,
+ "residual_update_rms": 5.783565269794748e-12,
+ "bias_to_clean_update_rms": 0.1334379013453439,
+ "residual_to_clean_update_rms": 5.048151320897481e-09,
+ "neutral_observations": 1
+ },
+ "wall_seconds": 1658.2824745178223
+ },
+ {
+ "epoch": 3,
+ "train_accuracy": 0.7034833333333333,
+ "train_cost": 0.2262856188774109,
+ "test_accuracy": 0.726,
+ "test_cost": 0.21046952879428862,
+ "finite": true,
+ "corrector": {
+ "step": 1406,
+ "bias_model": "dillavou_constant_update",
+ "clean_update_rms": 0.0007255708516996841,
+ "bias_update_rms": 0.00015287711537102346,
+ "residual_update_rms": 5.307226022279889e-12,
+ "bias_to_clean_update_rms": 0.21069908612356955,
+ "residual_to_clean_update_rms": 7.314552410488184e-09,
+ "neutral_observations": 1
+ },
+ "wall_seconds": 2481.5451164245605
+ },
+ {
+ "epoch": 4,
+ "train_accuracy": 0.6376166666666667,
+ "train_cost": 0.2644129397074382,
+ "test_accuracy": 0.5606,
+ "test_cost": 0.3176894040584564,
+ "finite": true,
+ "corrector": {
+ "step": 1875,
+ "bias_model": "dillavou_constant_update",
+ "clean_update_rms": 0.0015035734195279979,
+ "bias_update_rms": 0.00015287711537102346,
+ "residual_update_rms": 4.902649731971089e-12,
+ "bias_to_clean_update_rms": 0.10167585658638119,
+ "residual_to_clean_update_rms": 3.260665337852361e-09,
+ "neutral_observations": 1
+ },
+ "wall_seconds": 3302.735686302185
+ },
+ {
+ "epoch": 5,
+ "train_accuracy": 0.3769,
+ "train_cost": 0.3791497839609782,
+ "test_accuracy": 0.1949,
+ "test_cost": 0.4102668016910553,
+ "finite": true,
+ "corrector": {
+ "step": 2344,
+ "bias_model": "dillavou_constant_update",
+ "clean_update_rms": 0.001314406637263836,
+ "bias_update_rms": 0.00015287711537102346,
+ "residual_update_rms": 4.888212328688676e-12,
+ "bias_to_clean_update_rms": 0.11630884312123037,
+ "residual_to_clean_update_rms": 3.718949821239744e-09,
+ "neutral_observations": 1
+ },
+ "wall_seconds": 4125.3801436424255
+ },
+ {
+ "epoch": 6,
+ "train_accuracy": 0.11983333333333333,
+ "train_cost": 0.44674621194203695,
+ "test_accuracy": 0.1,
+ "test_cost": 0.46038982095718384,
+ "finite": true,
+ "corrector": {
+ "step": 2813,
+ "bias_model": "dillavou_constant_update",
+ "clean_update_rms": 0.0003853588444705456,
+ "bias_update_rms": 0.00015287711537102346,
+ "residual_update_rms": 4.241559819955997e-12,
+ "bias_to_clean_update_rms": 0.39671365420732785,
+ "residual_to_clean_update_rms": 1.1006779475331841e-08,
+ "neutral_observations": 1
+ },
+ "wall_seconds": 4948.208837032318
+ },
+ {
+ "epoch": 7,
+ "train_accuracy": 0.10178333333333334,
+ "train_cost": 0.45519645392100017,
+ "test_accuracy": 0.1,
+ "test_cost": 0.45710823802948,
+ "finite": true,
+ "corrector": {
+ "step": 3282,
+ "bias_model": "dillavou_constant_update",
+ "clean_update_rms": 0.000238805277082506,
+ "bias_update_rms": 0.00015287711537102346,
+ "residual_update_rms": 1.1631105114721004e-12,
+ "bias_to_clean_update_rms": 0.6401747785422899,
+ "residual_to_clean_update_rms": 4.8705394021517026e-09,
+ "neutral_observations": 1
+ },
+ "wall_seconds": 5767.835515737534
+ },
+ {
+ "epoch": 8,
+ "train_accuracy": 0.09983333333333333,
+ "train_cost": 0.4550814468383789,
+ "test_accuracy": 0.1,
+ "test_cost": 0.45869329319000246,
+ "finite": true,
+ "corrector": {
+ "step": 3751,
+ "bias_model": "dillavou_constant_update",
+ "clean_update_rms": 0.0003874432503687363,
+ "bias_update_rms": 0.00015287711537102346,
+ "residual_update_rms": 1.0505062911282254e-13,
+ "bias_to_clean_update_rms": 0.39457937446458996,
+ "residual_to_clean_update_rms": 2.711381060654537e-10,
+ "neutral_observations": 1
+ },
+ "wall_seconds": 6589.156624555588
+ },
+ {
+ "epoch": 9,
+ "train_accuracy": 0.09838333333333334,
+ "train_cost": 0.4546400879542033,
+ "test_accuracy": 0.1,
+ "test_cost": 0.4577524483680725,
+ "finite": true,
+ "corrector": {
+ "step": 4220,
+ "bias_model": "dillavou_constant_update",
+ "clean_update_rms": 0.00029708848957804774,
+ "bias_update_rms": 0.00015287711537102346,
+ "residual_update_rms": 4.140955151143751e-12,
+ "bias_to_clean_update_rms": 0.5145844444803417,
+ "residual_to_clean_update_rms": 1.3938457047006819e-08,
+ "neutral_observations": 1
+ },
+ "wall_seconds": 7410.799975395203
+ },
+ {
+ "epoch": 10,
+ "train_accuracy": 0.10006666666666666,
+ "train_cost": 0.45555214653015136,
+ "test_accuracy": 0.1,
+ "test_cost": 0.4571452916145325,
+ "finite": true,
+ "corrector": {
+ "step": 4689,
+ "bias_model": "dillavou_constant_update",
+ "clean_update_rms": 0.00023774306744370527,
+ "bias_update_rms": 0.00015287711537102346,
+ "residual_update_rms": 3.794692534694495e-12,
+ "bias_to_clean_update_rms": 0.6430350084013404,
+ "residual_to_clean_update_rms": 1.596131729726686e-08,
+ "neutral_observations": 1
+ },
+ "wall_seconds": 8229.516099214554
+ }
+ ],
+ "epochs_completed": 10,
+ "beta_sign_counts": {
+ "positive": 4690,
+ "negative": 0
+ },
+ "final": {
+ "epoch": 10,
+ "train_accuracy": 0.10006666666666666,
+ "train_cost": 0.45555214653015136,
+ "test_accuracy": 0.1,
+ "test_cost": 0.4571452916145325,
+ "finite": true,
+ "corrector": {
+ "step": 4689,
+ "bias_model": "dillavou_constant_update",
+ "clean_update_rms": 0.00023774306744370527,
+ "bias_update_rms": 0.00015287711537102346,
+ "residual_update_rms": 3.794692534694495e-12,
+ "bias_to_clean_update_rms": 0.6430350084013404,
+ "residual_to_clean_update_rms": 1.596131729726686e-08,
+ "neutral_observations": 1
+ },
+ "wall_seconds": 8229.516099214554
+ }
+}
diff --git a/results/ep_bias/dillavou_c0/pep_raw.json b/results/ep_bias/dillavou_c0/pep_raw.json
new file mode 100644
index 0000000..f862901
--- /dev/null
+++ b/results/ep_bias/dillavou_c0/pep_raw.json
@@ -0,0 +1,118 @@
+{
+ "schema": "rain_ep_structured_bias_screen_v1",
+ "sdil": {
+ "revision": "65f617eaf07a87c84475ad0010dea844422163e1"
+ },
+ "author": {
+ "repository": "https://github.com/rain-neuromorphics/energy-based-learning",
+ "revision": "6b253fd8a5d267535f58ab79992256ef10031ceb"
+ },
+ "protocol": {
+ "dataset": "FashionMNIST",
+ "network": "author comparative-study ConvHopfieldEnergy32",
+ "network_protocol": "comparative32",
+ "algorithm": "equilibrium propagation",
+ "beta_policy": "fixed_positive",
+ "beta_seed": 7100,
+ "beta_value": 0.25,
+ "adapter": "dillavou",
+ "mode": "raw",
+ "bias_ratio": 1.0,
+ "dillavou_drift_ratio": 0.0,
+ "dillavou_calibration_steps": 1,
+ "predictor_rate": 1.0,
+ "neutral_cadence": 0,
+ "layer_calibration_steps": 1,
+ "layer_bias_normalization": "clean_difference",
+ "calibration_batches": 0,
+ "calibration_observations": 0,
+ "calibration_seconds": 7.152557373046875e-07,
+ "extra_equilibrium_phases_for_predictor": 0,
+ "predictor_neutral_source": "instruction_off_local_update_probe",
+ "bias_ratio_normalization": "initial_clean_local_update_rms_for_simulation_only",
+ "bias_ratio_normalization_visible_to_predictor": false,
+ "epochs": 10,
+ "train_limit": 60000,
+ "test_limit": 10000,
+ "evaluation_split": "test",
+ "data_seed": 6200,
+ "batch_size": 128,
+ "training_iterations": 15,
+ "inference_iterations": 60,
+ "schedule_epochs": 100,
+ "seed": 1988,
+ "device": "cuda",
+ "determinism": "best_effort_warn_only",
+ "autodiff_used_for_learning": false
+ },
+ "hardware": {
+ "torch_version": "2.3.1+cu118",
+ "torch_cuda_version": "11.8",
+ "cuda_visible_devices": "1",
+ "device_name": "NVIDIA GeForce GTX 1080"
+ },
+ "metrics": [
+ {
+ "epoch": 1,
+ "train_accuracy": 0.21611666666666668,
+ "train_cost": 2.952858947881063,
+ "test_accuracy": 0.1064,
+ "test_cost": 92706.8582,
+ "finite": true,
+ "corrector": {
+ "step": 468,
+ "bias_model": "dillavou_constant_update",
+ "clean_update_rms": 1.3665245006072042,
+ "bias_update_rms": 0.00015287711537102346,
+ "residual_update_rms": 0.000152877329837136,
+ "bias_to_clean_update_rms": 0.00011187294139482588,
+ "residual_to_clean_update_rms": 0.0001118730983375755,
+ "neutral_observations": 0
+ },
+ "wall_seconds": 832.7673797607422
+ },
+ {
+ "epoch": 2,
+ "train_accuracy": 0.09923333333333334,
+ "train_cost": NaN,
+ "test_accuracy": 0.1,
+ "test_cost": NaN,
+ "finite": false,
+ "corrector": {
+ "step": 937,
+ "bias_model": "dillavou_constant_update",
+ "clean_update_rms": NaN,
+ "bias_update_rms": NaN,
+ "residual_update_rms": NaN,
+ "bias_to_clean_update_rms": NaN,
+ "residual_to_clean_update_rms": NaN,
+ "neutral_observations": 0
+ },
+ "wall_seconds": 1665.599752664566
+ }
+ ],
+ "epochs_completed": 2,
+ "beta_sign_counts": {
+ "positive": 938,
+ "negative": 0
+ },
+ "final": {
+ "epoch": 2,
+ "train_accuracy": 0.09923333333333334,
+ "train_cost": NaN,
+ "test_accuracy": 0.1,
+ "test_cost": NaN,
+ "finite": false,
+ "corrector": {
+ "step": 937,
+ "bias_model": "dillavou_constant_update",
+ "clean_update_rms": NaN,
+ "bias_update_rms": NaN,
+ "residual_update_rms": NaN,
+ "bias_to_clean_update_rms": NaN,
+ "residual_to_clean_update_rms": NaN,
+ "neutral_observations": 0
+ },
+ "wall_seconds": 1665.599752664566
+ }
+}
diff --git a/results/ep_bias/dillavou_c0/pep_sdil.json b/results/ep_bias/dillavou_c0/pep_sdil.json
new file mode 100644
index 0000000..c569050
--- /dev/null
+++ b/results/ep_bias/dillavou_c0/pep_sdil.json
@@ -0,0 +1,270 @@
+{
+ "schema": "rain_ep_structured_bias_screen_v1",
+ "sdil": {
+ "revision": "65f617eaf07a87c84475ad0010dea844422163e1"
+ },
+ "author": {
+ "repository": "https://github.com/rain-neuromorphics/energy-based-learning",
+ "revision": "6b253fd8a5d267535f58ab79992256ef10031ceb"
+ },
+ "protocol": {
+ "dataset": "FashionMNIST",
+ "network": "author comparative-study ConvHopfieldEnergy32",
+ "network_protocol": "comparative32",
+ "algorithm": "equilibrium propagation",
+ "beta_policy": "fixed_positive",
+ "beta_seed": 7100,
+ "beta_value": 0.25,
+ "adapter": "dillavou",
+ "mode": "innovation",
+ "bias_ratio": 1.0,
+ "dillavou_drift_ratio": 0.0,
+ "dillavou_calibration_steps": 1,
+ "predictor_rate": 1.0,
+ "neutral_cadence": 0,
+ "layer_calibration_steps": 1,
+ "layer_bias_normalization": "clean_difference",
+ "calibration_batches": 0,
+ "calibration_observations": 0,
+ "calibration_seconds": 4.76837158203125e-07,
+ "extra_equilibrium_phases_for_predictor": 0,
+ "predictor_neutral_source": "instruction_off_local_update_probe",
+ "bias_ratio_normalization": "initial_clean_local_update_rms_for_simulation_only",
+ "bias_ratio_normalization_visible_to_predictor": false,
+ "epochs": 10,
+ "train_limit": 60000,
+ "test_limit": 10000,
+ "evaluation_split": "test",
+ "data_seed": 6200,
+ "batch_size": 128,
+ "training_iterations": 15,
+ "inference_iterations": 60,
+ "schedule_epochs": 100,
+ "seed": 1988,
+ "device": "cuda",
+ "determinism": "best_effort_warn_only",
+ "autodiff_used_for_learning": false
+ },
+ "hardware": {
+ "torch_version": "2.3.1+cu118",
+ "torch_cuda_version": "11.8",
+ "cuda_visible_devices": "3",
+ "device_name": "NVIDIA GeForce GTX 1080"
+ },
+ "metrics": [
+ {
+ "epoch": 1,
+ "train_accuracy": 0.6240333333333333,
+ "train_cost": 0.26950117823282876,
+ "test_accuracy": 0.7252,
+ "test_cost": 0.21449419848918916,
+ "finite": true,
+ "corrector": {
+ "step": 468,
+ "bias_model": "dillavou_constant_update",
+ "clean_update_rms": 0.0013031720422620305,
+ "bias_update_rms": 0.00015287711537102346,
+ "residual_update_rms": 8.505476264979924e-12,
+ "bias_to_clean_update_rms": 0.11731153709042222,
+ "residual_to_clean_update_rms": 6.526748571290878e-09,
+ "neutral_observations": 1
+ },
+ "wall_seconds": 830.515468120575
+ },
+ {
+ "epoch": 2,
+ "train_accuracy": 0.7224833333333334,
+ "train_cost": 0.21523845361073812,
+ "test_accuracy": 0.734,
+ "test_cost": 0.20494100348949432,
+ "finite": true,
+ "corrector": {
+ "step": 937,
+ "bias_model": "dillavou_constant_update",
+ "clean_update_rms": 0.0011456798542969432,
+ "bias_update_rms": 0.00015287711537102346,
+ "residual_update_rms": 5.783565269794748e-12,
+ "bias_to_clean_update_rms": 0.1334379013453439,
+ "residual_to_clean_update_rms": 5.048151320897481e-09,
+ "neutral_observations": 1
+ },
+ "wall_seconds": 1662.8209059238434
+ },
+ {
+ "epoch": 3,
+ "train_accuracy": 0.7034833333333333,
+ "train_cost": 0.2262856188774109,
+ "test_accuracy": 0.726,
+ "test_cost": 0.21046952879428862,
+ "finite": true,
+ "corrector": {
+ "step": 1406,
+ "bias_model": "dillavou_constant_update",
+ "clean_update_rms": 0.0007255708516996841,
+ "bias_update_rms": 0.00015287711537102346,
+ "residual_update_rms": 5.307226022279889e-12,
+ "bias_to_clean_update_rms": 0.21069908612356955,
+ "residual_to_clean_update_rms": 7.314552410488184e-09,
+ "neutral_observations": 1
+ },
+ "wall_seconds": 2494.675737142563
+ },
+ {
+ "epoch": 4,
+ "train_accuracy": 0.6376166666666667,
+ "train_cost": 0.2644129397074382,
+ "test_accuracy": 0.5606,
+ "test_cost": 0.3176894040584564,
+ "finite": true,
+ "corrector": {
+ "step": 1875,
+ "bias_model": "dillavou_constant_update",
+ "clean_update_rms": 0.0015035734195279979,
+ "bias_update_rms": 0.00015287711537102346,
+ "residual_update_rms": 4.902649731971089e-12,
+ "bias_to_clean_update_rms": 0.10167585658638119,
+ "residual_to_clean_update_rms": 3.260665337852361e-09,
+ "neutral_observations": 1
+ },
+ "wall_seconds": 3326.451648235321
+ },
+ {
+ "epoch": 5,
+ "train_accuracy": 0.3769,
+ "train_cost": 0.3791497839609782,
+ "test_accuracy": 0.1949,
+ "test_cost": 0.4102668016910553,
+ "finite": true,
+ "corrector": {
+ "step": 2344,
+ "bias_model": "dillavou_constant_update",
+ "clean_update_rms": 0.001314406637263836,
+ "bias_update_rms": 0.00015287711537102346,
+ "residual_update_rms": 4.888212328688676e-12,
+ "bias_to_clean_update_rms": 0.11630884312123037,
+ "residual_to_clean_update_rms": 3.718949821239744e-09,
+ "neutral_observations": 1
+ },
+ "wall_seconds": 4158.306345939636
+ },
+ {
+ "epoch": 6,
+ "train_accuracy": 0.11983333333333333,
+ "train_cost": 0.44674621194203695,
+ "test_accuracy": 0.1,
+ "test_cost": 0.46038982095718384,
+ "finite": true,
+ "corrector": {
+ "step": 2813,
+ "bias_model": "dillavou_constant_update",
+ "clean_update_rms": 0.0003853588444705456,
+ "bias_update_rms": 0.00015287711537102346,
+ "residual_update_rms": 4.241559819955997e-12,
+ "bias_to_clean_update_rms": 0.39671365420732785,
+ "residual_to_clean_update_rms": 1.1006779475331841e-08,
+ "neutral_observations": 1
+ },
+ "wall_seconds": 4989.840263605118
+ },
+ {
+ "epoch": 7,
+ "train_accuracy": 0.10178333333333334,
+ "train_cost": 0.45519645392100017,
+ "test_accuracy": 0.1,
+ "test_cost": 0.45710823802948,
+ "finite": true,
+ "corrector": {
+ "step": 3282,
+ "bias_model": "dillavou_constant_update",
+ "clean_update_rms": 0.000238805277082506,
+ "bias_update_rms": 0.00015287711537102346,
+ "residual_update_rms": 1.1631105114721004e-12,
+ "bias_to_clean_update_rms": 0.6401747785422899,
+ "residual_to_clean_update_rms": 4.8705394021517026e-09,
+ "neutral_observations": 1
+ },
+ "wall_seconds": 5820.923452377319
+ },
+ {
+ "epoch": 8,
+ "train_accuracy": 0.09983333333333333,
+ "train_cost": 0.4550814468383789,
+ "test_accuracy": 0.1,
+ "test_cost": 0.45869329319000246,
+ "finite": true,
+ "corrector": {
+ "step": 3751,
+ "bias_model": "dillavou_constant_update",
+ "clean_update_rms": 0.0003874432503687363,
+ "bias_update_rms": 0.00015287711537102346,
+ "residual_update_rms": 1.0505062911282254e-13,
+ "bias_to_clean_update_rms": 0.39457937446458996,
+ "residual_to_clean_update_rms": 2.711381060654537e-10,
+ "neutral_observations": 1
+ },
+ "wall_seconds": 6652.601692676544
+ },
+ {
+ "epoch": 9,
+ "train_accuracy": 0.09838333333333334,
+ "train_cost": 0.4546400879542033,
+ "test_accuracy": 0.1,
+ "test_cost": 0.4577524483680725,
+ "finite": true,
+ "corrector": {
+ "step": 4220,
+ "bias_model": "dillavou_constant_update",
+ "clean_update_rms": 0.00029708848957804774,
+ "bias_update_rms": 0.00015287711537102346,
+ "residual_update_rms": 4.140955151143751e-12,
+ "bias_to_clean_update_rms": 0.5145844444803417,
+ "residual_to_clean_update_rms": 1.3938457047006819e-08,
+ "neutral_observations": 1
+ },
+ "wall_seconds": 7484.504533529282
+ },
+ {
+ "epoch": 10,
+ "train_accuracy": 0.10006666666666666,
+ "train_cost": 0.45555214653015136,
+ "test_accuracy": 0.1,
+ "test_cost": 0.4571452916145325,
+ "finite": true,
+ "corrector": {
+ "step": 4689,
+ "bias_model": "dillavou_constant_update",
+ "clean_update_rms": 0.00023774306744370527,
+ "bias_update_rms": 0.00015287711537102346,
+ "residual_update_rms": 3.794692534694495e-12,
+ "bias_to_clean_update_rms": 0.6430350084013404,
+ "residual_to_clean_update_rms": 1.596131729726686e-08,
+ "neutral_observations": 1
+ },
+ "wall_seconds": 8315.11565542221
+ }
+ ],
+ "epochs_completed": 10,
+ "beta_sign_counts": {
+ "positive": 4690,
+ "negative": 0
+ },
+ "final": {
+ "epoch": 10,
+ "train_accuracy": 0.10006666666666666,
+ "train_cost": 0.45555214653015136,
+ "test_accuracy": 0.1,
+ "test_cost": 0.4571452916145325,
+ "finite": true,
+ "corrector": {
+ "step": 4689,
+ "bias_model": "dillavou_constant_update",
+ "clean_update_rms": 0.00023774306744370527,
+ "bias_update_rms": 0.00015287711537102346,
+ "residual_update_rms": 3.794692534694495e-12,
+ "bias_to_clean_update_rms": 0.6430350084013404,
+ "residual_to_clean_update_rms": 1.596131729726686e-08,
+ "neutral_observations": 1
+ },
+ "wall_seconds": 8315.11565542221
+ }
+}
diff --git a/results/ep_bias/dillavou_c0/random_clean.json b/results/ep_bias/dillavou_c0/random_clean.json
new file mode 100644
index 0000000..c66a9a7
--- /dev/null
+++ b/results/ep_bias/dillavou_c0/random_clean.json
@@ -0,0 +1,171 @@
+{
+ "schema": "rain_ep_structured_bias_screen_v1",
+ "sdil": {
+ "revision": "65f617eaf07a87c84475ad0010dea844422163e1"
+ },
+ "author": {
+ "repository": "https://github.com/rain-neuromorphics/energy-based-learning",
+ "revision": "6b253fd8a5d267535f58ab79992256ef10031ceb"
+ },
+ "protocol": {
+ "dataset": "FashionMNIST",
+ "network": "author comparative-study ConvHopfieldEnergy32",
+ "network_protocol": "comparative32",
+ "algorithm": "equilibrium propagation",
+ "beta_policy": "random_sign",
+ "beta_seed": 7100,
+ "beta_value": 0.25,
+ "adapter": "dillavou",
+ "mode": "clean",
+ "bias_ratio": 1.0,
+ "dillavou_drift_ratio": 0.0,
+ "dillavou_calibration_steps": 1,
+ "predictor_rate": 1.0,
+ "neutral_cadence": 0,
+ "layer_calibration_steps": 1,
+ "layer_bias_normalization": "clean_difference",
+ "calibration_batches": 0,
+ "calibration_observations": 0,
+ "calibration_seconds": 2.384185791015625e-07,
+ "extra_equilibrium_phases_for_predictor": 0,
+ "predictor_neutral_source": "instruction_off_local_update_probe",
+ "bias_ratio_normalization": "initial_clean_local_update_rms_for_simulation_only",
+ "bias_ratio_normalization_visible_to_predictor": false,
+ "epochs": 10,
+ "train_limit": 60000,
+ "test_limit": 10000,
+ "evaluation_split": "test",
+ "data_seed": 6200,
+ "batch_size": 128,
+ "training_iterations": 15,
+ "inference_iterations": 60,
+ "schedule_epochs": 100,
+ "seed": 1988,
+ "device": "cuda",
+ "determinism": "best_effort_warn_only",
+ "autodiff_used_for_learning": false
+ },
+ "hardware": {
+ "torch_version": "2.3.1+cu118",
+ "torch_cuda_version": "11.8",
+ "cuda_visible_devices": "4",
+ "device_name": "NVIDIA GeForce GTX 1080"
+ },
+ "metrics": [
+ {
+ "epoch": 1,
+ "train_accuracy": 0.6263833333333333,
+ "train_cost": 0.2547279439608256,
+ "test_accuracy": 0.7752,
+ "test_cost": 0.16445912487506867,
+ "finite": true,
+ "corrector": {},
+ "wall_seconds": 790.465966463089
+ },
+ {
+ "epoch": 2,
+ "train_accuracy": 0.7772666666666667,
+ "train_cost": 0.16738989297548929,
+ "test_accuracy": 0.7839,
+ "test_cost": 0.16023902473449708,
+ "finite": true,
+ "corrector": {},
+ "wall_seconds": 1577.164415359497
+ },
+ {
+ "epoch": 3,
+ "train_accuracy": 0.7781666666666667,
+ "train_cost": 0.16374242378870646,
+ "test_accuracy": 0.7716,
+ "test_cost": 0.16426111673116683,
+ "finite": true,
+ "corrector": {},
+ "wall_seconds": 2362.6045484542847
+ },
+ {
+ "epoch": 4,
+ "train_accuracy": 0.7665666666666666,
+ "train_cost": 0.1713330840587616,
+ "test_accuracy": 0.7575,
+ "test_cost": 0.186199333691597,
+ "finite": true,
+ "corrector": {},
+ "wall_seconds": 3146.721355199814
+ },
+ {
+ "epoch": 5,
+ "train_accuracy": 0.7519166666666667,
+ "train_cost": 0.1845080192565918,
+ "test_accuracy": 0.7414,
+ "test_cost": 0.18556401858329774,
+ "finite": true,
+ "corrector": {},
+ "wall_seconds": 3929.5435218811035
+ },
+ {
+ "epoch": 6,
+ "train_accuracy": 0.7203833333333334,
+ "train_cost": 0.20764003632863362,
+ "test_accuracy": 0.6789,
+ "test_cost": 0.2430113084077835,
+ "finite": true,
+ "corrector": {},
+ "wall_seconds": 4711.062379598618
+ },
+ {
+ "epoch": 7,
+ "train_accuracy": 0.4110666666666667,
+ "train_cost": 0.35641372086207074,
+ "test_accuracy": 0.1,
+ "test_cost": 0.46262577285766604,
+ "finite": true,
+ "corrector": {},
+ "wall_seconds": 5491.247609376907
+ },
+ {
+ "epoch": 8,
+ "train_accuracy": 0.1,
+ "train_cost": 0.45775474071502686,
+ "test_accuracy": 0.1,
+ "test_cost": 0.45456055669784545,
+ "finite": true,
+ "corrector": {},
+ "wall_seconds": 6271.208564519882
+ },
+ {
+ "epoch": 9,
+ "train_accuracy": 0.09943333333333333,
+ "train_cost": 0.45761741638183595,
+ "test_accuracy": 0.1,
+ "test_cost": 0.4610685874938965,
+ "finite": true,
+ "corrector": {},
+ "wall_seconds": 7051.188853025436
+ },
+ {
+ "epoch": 10,
+ "train_accuracy": 0.09846666666666666,
+ "train_cost": 0.45765557657877604,
+ "test_accuracy": 0.1,
+ "test_cost": 0.4531411005973816,
+ "finite": true,
+ "corrector": {},
+ "wall_seconds": 7831.132164478302
+ }
+ ],
+ "epochs_completed": 10,
+ "beta_sign_counts": {
+ "positive": 2303,
+ "negative": 2387
+ },
+ "final": {
+ "epoch": 10,
+ "train_accuracy": 0.09846666666666666,
+ "train_cost": 0.45765557657877604,
+ "test_accuracy": 0.1,
+ "test_cost": 0.4531411005973816,
+ "finite": true,
+ "corrector": {},
+ "wall_seconds": 7831.132164478302
+ }
+}
diff --git a/results/ep_bias/dillavou_c0/random_raw.json b/results/ep_bias/dillavou_c0/random_raw.json
new file mode 100644
index 0000000..c268d4b
--- /dev/null
+++ b/results/ep_bias/dillavou_c0/random_raw.json
@@ -0,0 +1,99 @@
+{
+ "schema": "rain_ep_structured_bias_screen_v1",
+ "sdil": {
+ "revision": "65f617eaf07a87c84475ad0010dea844422163e1"
+ },
+ "author": {
+ "repository": "https://github.com/rain-neuromorphics/energy-based-learning",
+ "revision": "6b253fd8a5d267535f58ab79992256ef10031ceb"
+ },
+ "protocol": {
+ "dataset": "FashionMNIST",
+ "network": "author comparative-study ConvHopfieldEnergy32",
+ "network_protocol": "comparative32",
+ "algorithm": "equilibrium propagation",
+ "beta_policy": "random_sign",
+ "beta_seed": 7100,
+ "beta_value": 0.25,
+ "adapter": "dillavou",
+ "mode": "raw",
+ "bias_ratio": 1.0,
+ "dillavou_drift_ratio": 0.0,
+ "dillavou_calibration_steps": 1,
+ "predictor_rate": 1.0,
+ "neutral_cadence": 0,
+ "layer_calibration_steps": 1,
+ "layer_bias_normalization": "clean_difference",
+ "calibration_batches": 0,
+ "calibration_observations": 0,
+ "calibration_seconds": 4.76837158203125e-07,
+ "extra_equilibrium_phases_for_predictor": 0,
+ "predictor_neutral_source": "instruction_off_local_update_probe",
+ "bias_ratio_normalization": "initial_clean_local_update_rms_for_simulation_only",
+ "bias_ratio_normalization_visible_to_predictor": false,
+ "epochs": 10,
+ "train_limit": 60000,
+ "test_limit": 10000,
+ "evaluation_split": "test",
+ "data_seed": 6200,
+ "batch_size": 128,
+ "training_iterations": 15,
+ "inference_iterations": 60,
+ "schedule_epochs": 100,
+ "seed": 1988,
+ "device": "cuda",
+ "determinism": "best_effort_warn_only",
+ "autodiff_used_for_learning": false
+ },
+ "hardware": {
+ "torch_version": "2.3.1+cu118",
+ "torch_cuda_version": "11.8",
+ "cuda_visible_devices": "5",
+ "device_name": "NVIDIA GeForce GTX 1080"
+ },
+ "metrics": [
+ {
+ "epoch": 1,
+ "train_accuracy": 0.10205,
+ "train_cost": NaN,
+ "test_accuracy": 0.1,
+ "test_cost": NaN,
+ "finite": false,
+ "corrector": {
+ "step": 468,
+ "bias_model": "dillavou_constant_update",
+ "clean_update_rms": NaN,
+ "bias_update_rms": NaN,
+ "residual_update_rms": NaN,
+ "bias_to_clean_update_rms": NaN,
+ "residual_to_clean_update_rms": NaN,
+ "neutral_observations": 0
+ },
+ "wall_seconds": 828.8401348590851
+ }
+ ],
+ "epochs_completed": 1,
+ "beta_sign_counts": {
+ "positive": 223,
+ "negative": 246
+ },
+ "final": {
+ "epoch": 1,
+ "train_accuracy": 0.10205,
+ "train_cost": NaN,
+ "test_accuracy": 0.1,
+ "test_cost": NaN,
+ "finite": false,
+ "corrector": {
+ "step": 468,
+ "bias_model": "dillavou_constant_update",
+ "clean_update_rms": NaN,
+ "bias_update_rms": NaN,
+ "residual_update_rms": NaN,
+ "bias_to_clean_update_rms": NaN,
+ "residual_to_clean_update_rms": NaN,
+ "neutral_observations": 0
+ },
+ "wall_seconds": 828.8401348590851
+ }
+}
diff --git a/results/ep_bias/dillavou_c0/summary.json b/results/ep_bias/dillavou_c0/summary.json
new file mode 100644
index 0000000..e6cc518
--- /dev/null
+++ b/results/ep_bias/dillavou_c0/summary.json
@@ -0,0 +1,483 @@
+{
+ "centered_clean": {
+ "trajectory": [
+ {
+ "epoch": 1,
+ "test_accuracy": 0.792,
+ "test_cost": 0.15573115186691283,
+ "finite": true
+ },
+ {
+ "epoch": 2,
+ "test_accuracy": 0.8135,
+ "test_cost": 0.1375195680141449,
+ "finite": true
+ },
+ {
+ "epoch": 3,
+ "test_accuracy": 0.8574,
+ "test_cost": 0.1070521926999092,
+ "finite": true
+ },
+ {
+ "epoch": 4,
+ "test_accuracy": 0.8465,
+ "test_cost": 0.11115882776975632,
+ "finite": true
+ },
+ {
+ "epoch": 5,
+ "test_accuracy": 0.8717,
+ "test_cost": 0.09622300601005554,
+ "finite": true
+ },
+ {
+ "epoch": 6,
+ "test_accuracy": 0.86,
+ "test_cost": 0.1034158871769905,
+ "finite": true
+ },
+ {
+ "epoch": 7,
+ "test_accuracy": 0.8724,
+ "test_cost": 0.09512372477054595,
+ "finite": true
+ },
+ {
+ "epoch": 8,
+ "test_accuracy": 0.8745,
+ "test_cost": 0.09160860464572906,
+ "finite": true
+ },
+ {
+ "epoch": 9,
+ "test_accuracy": 0.871,
+ "test_cost": 0.09528597943782806,
+ "finite": true
+ },
+ {
+ "epoch": 10,
+ "test_accuracy": 0.8867,
+ "test_cost": 0.08445086604356766,
+ "finite": true
+ }
+ ],
+ "final": {
+ "epoch": 10,
+ "train_accuracy": 0.8811,
+ "train_cost": 0.08831276926994323,
+ "test_accuracy": 0.8867,
+ "test_cost": 0.08445086604356766,
+ "finite": true,
+ "corrector": {},
+ "wall_seconds": 7940.900921821594
+ }
+ },
+ "centered_raw": {
+ "trajectory": [
+ {
+ "epoch": 1,
+ "test_accuracy": 0.1,
+ "test_cost": NaN,
+ "finite": false
+ }
+ ],
+ "final": {
+ "epoch": 1,
+ "train_accuracy": 0.10061666666666666,
+ "train_cost": NaN,
+ "test_accuracy": 0.1,
+ "test_cost": NaN,
+ "finite": false,
+ "corrector": {
+ "step": 468,
+ "bias_model": "dillavou_constant_update",
+ "clean_update_rms": NaN,
+ "bias_update_rms": NaN,
+ "residual_update_rms": NaN,
+ "bias_to_clean_update_rms": NaN,
+ "residual_to_clean_update_rms": NaN,
+ "neutral_observations": 0
+ },
+ "wall_seconds": 813.3471133708954
+ }
+ },
+ "pep_clean": {
+ "trajectory": [
+ {
+ "epoch": 1,
+ "test_accuracy": 0.7315,
+ "test_cost": 0.20986583371162415,
+ "finite": true
+ },
+ {
+ "epoch": 2,
+ "test_accuracy": 0.5922,
+ "test_cost": 0.4188939518928528,
+ "finite": true
+ },
+ {
+ "epoch": 3,
+ "test_accuracy": 0.5733,
+ "test_cost": 0.2982772967338562,
+ "finite": true
+ },
+ {
+ "epoch": 4,
+ "test_accuracy": 0.4685,
+ "test_cost": 0.34045493516922,
+ "finite": true
+ },
+ {
+ "epoch": 5,
+ "test_accuracy": 0.338,
+ "test_cost": 0.42704891023635866,
+ "finite": true
+ },
+ {
+ "epoch": 6,
+ "test_accuracy": 0.2028,
+ "test_cost": 0.44713303966522217,
+ "finite": true
+ },
+ {
+ "epoch": 7,
+ "test_accuracy": 0.1,
+ "test_cost": 0.451286998796463,
+ "finite": true
+ },
+ {
+ "epoch": 8,
+ "test_accuracy": 0.1,
+ "test_cost": 0.45172959218025205,
+ "finite": true
+ },
+ {
+ "epoch": 9,
+ "test_accuracy": 0.1,
+ "test_cost": 0.45050861291885375,
+ "finite": true
+ },
+ {
+ "epoch": 10,
+ "test_accuracy": 0.1,
+ "test_cost": 0.45086712436676024,
+ "finite": true
+ }
+ ],
+ "final": {
+ "epoch": 10,
+ "train_accuracy": 0.09518333333333333,
+ "train_cost": 0.45089836565653485,
+ "test_accuracy": 0.1,
+ "test_cost": 0.45086712436676024,
+ "finite": true,
+ "corrector": {},
+ "wall_seconds": 7688.960968732834
+ }
+ },
+ "pep_constant": {
+ "trajectory": [
+ {
+ "epoch": 1,
+ "test_accuracy": 0.7252,
+ "test_cost": 0.21449419848918916,
+ "finite": true
+ },
+ {
+ "epoch": 2,
+ "test_accuracy": 0.734,
+ "test_cost": 0.20494100348949432,
+ "finite": true
+ },
+ {
+ "epoch": 3,
+ "test_accuracy": 0.726,
+ "test_cost": 0.21046952879428862,
+ "finite": true
+ },
+ {
+ "epoch": 4,
+ "test_accuracy": 0.5606,
+ "test_cost": 0.3176894040584564,
+ "finite": true
+ },
+ {
+ "epoch": 5,
+ "test_accuracy": 0.1949,
+ "test_cost": 0.4102668016910553,
+ "finite": true
+ },
+ {
+ "epoch": 6,
+ "test_accuracy": 0.1,
+ "test_cost": 0.46038982095718384,
+ "finite": true
+ },
+ {
+ "epoch": 7,
+ "test_accuracy": 0.1,
+ "test_cost": 0.45710823802948,
+ "finite": true
+ },
+ {
+ "epoch": 8,
+ "test_accuracy": 0.1,
+ "test_cost": 0.45869329319000246,
+ "finite": true
+ },
+ {
+ "epoch": 9,
+ "test_accuracy": 0.1,
+ "test_cost": 0.4577524483680725,
+ "finite": true
+ },
+ {
+ "epoch": 10,
+ "test_accuracy": 0.1,
+ "test_cost": 0.4571452916145325,
+ "finite": true
+ }
+ ],
+ "final": {
+ "epoch": 10,
+ "train_accuracy": 0.10006666666666666,
+ "train_cost": 0.45555214653015136,
+ "test_accuracy": 0.1,
+ "test_cost": 0.4571452916145325,
+ "finite": true,
+ "corrector": {
+ "step": 4689,
+ "bias_model": "dillavou_constant_update",
+ "clean_update_rms": 0.00023774306744370527,
+ "bias_update_rms": 0.00015287711537102346,
+ "residual_update_rms": 3.794692534694495e-12,
+ "bias_to_clean_update_rms": 0.6430350084013404,
+ "residual_to_clean_update_rms": 1.596131729726686e-08,
+ "neutral_observations": 1
+ },
+ "wall_seconds": 8229.516099214554
+ }
+ },
+ "pep_raw": {
+ "trajectory": [
+ {
+ "epoch": 1,
+ "test_accuracy": 0.1064,
+ "test_cost": 92706.8582,
+ "finite": true
+ },
+ {
+ "epoch": 2,
+ "test_accuracy": 0.1,
+ "test_cost": NaN,
+ "finite": false
+ }
+ ],
+ "final": {
+ "epoch": 2,
+ "train_accuracy": 0.09923333333333334,
+ "train_cost": NaN,
+ "test_accuracy": 0.1,
+ "test_cost": NaN,
+ "finite": false,
+ "corrector": {
+ "step": 937,
+ "bias_model": "dillavou_constant_update",
+ "clean_update_rms": NaN,
+ "bias_update_rms": NaN,
+ "residual_update_rms": NaN,
+ "bias_to_clean_update_rms": NaN,
+ "residual_to_clean_update_rms": NaN,
+ "neutral_observations": 0
+ },
+ "wall_seconds": 1665.599752664566
+ }
+ },
+ "pep_sdil": {
+ "trajectory": [
+ {
+ "epoch": 1,
+ "test_accuracy": 0.7252,
+ "test_cost": 0.21449419848918916,
+ "finite": true
+ },
+ {
+ "epoch": 2,
+ "test_accuracy": 0.734,
+ "test_cost": 0.20494100348949432,
+ "finite": true
+ },
+ {
+ "epoch": 3,
+ "test_accuracy": 0.726,
+ "test_cost": 0.21046952879428862,
+ "finite": true
+ },
+ {
+ "epoch": 4,
+ "test_accuracy": 0.5606,
+ "test_cost": 0.3176894040584564,
+ "finite": true
+ },
+ {
+ "epoch": 5,
+ "test_accuracy": 0.1949,
+ "test_cost": 0.4102668016910553,
+ "finite": true
+ },
+ {
+ "epoch": 6,
+ "test_accuracy": 0.1,
+ "test_cost": 0.46038982095718384,
+ "finite": true
+ },
+ {
+ "epoch": 7,
+ "test_accuracy": 0.1,
+ "test_cost": 0.45710823802948,
+ "finite": true
+ },
+ {
+ "epoch": 8,
+ "test_accuracy": 0.1,
+ "test_cost": 0.45869329319000246,
+ "finite": true
+ },
+ {
+ "epoch": 9,
+ "test_accuracy": 0.1,
+ "test_cost": 0.4577524483680725,
+ "finite": true
+ },
+ {
+ "epoch": 10,
+ "test_accuracy": 0.1,
+ "test_cost": 0.4571452916145325,
+ "finite": true
+ }
+ ],
+ "final": {
+ "epoch": 10,
+ "train_accuracy": 0.10006666666666666,
+ "train_cost": 0.45555214653015136,
+ "test_accuracy": 0.1,
+ "test_cost": 0.4571452916145325,
+ "finite": true,
+ "corrector": {
+ "step": 4689,
+ "bias_model": "dillavou_constant_update",
+ "clean_update_rms": 0.00023774306744370527,
+ "bias_update_rms": 0.00015287711537102346,
+ "residual_update_rms": 3.794692534694495e-12,
+ "bias_to_clean_update_rms": 0.6430350084013404,
+ "residual_to_clean_update_rms": 1.596131729726686e-08,
+ "neutral_observations": 1
+ },
+ "wall_seconds": 8315.11565542221
+ }
+ },
+ "random_clean": {
+ "trajectory": [
+ {
+ "epoch": 1,
+ "test_accuracy": 0.7752,
+ "test_cost": 0.16445912487506867,
+ "finite": true
+ },
+ {
+ "epoch": 2,
+ "test_accuracy": 0.7839,
+ "test_cost": 0.16023902473449708,
+ "finite": true
+ },
+ {
+ "epoch": 3,
+ "test_accuracy": 0.7716,
+ "test_cost": 0.16426111673116683,
+ "finite": true
+ },
+ {
+ "epoch": 4,
+ "test_accuracy": 0.7575,
+ "test_cost": 0.186199333691597,
+ "finite": true
+ },
+ {
+ "epoch": 5,
+ "test_accuracy": 0.7414,
+ "test_cost": 0.18556401858329774,
+ "finite": true
+ },
+ {
+ "epoch": 6,
+ "test_accuracy": 0.6789,
+ "test_cost": 0.2430113084077835,
+ "finite": true
+ },
+ {
+ "epoch": 7,
+ "test_accuracy": 0.1,
+ "test_cost": 0.46262577285766604,
+ "finite": true
+ },
+ {
+ "epoch": 8,
+ "test_accuracy": 0.1,
+ "test_cost": 0.45456055669784545,
+ "finite": true
+ },
+ {
+ "epoch": 9,
+ "test_accuracy": 0.1,
+ "test_cost": 0.4610685874938965,
+ "finite": true
+ },
+ {
+ "epoch": 10,
+ "test_accuracy": 0.1,
+ "test_cost": 0.4531411005973816,
+ "finite": true
+ }
+ ],
+ "final": {
+ "epoch": 10,
+ "train_accuracy": 0.09846666666666666,
+ "train_cost": 0.45765557657877604,
+ "test_accuracy": 0.1,
+ "test_cost": 0.4531411005973816,
+ "finite": true,
+ "corrector": {},
+ "wall_seconds": 7831.132164478302
+ }
+ },
+ "random_raw": {
+ "trajectory": [
+ {
+ "epoch": 1,
+ "test_accuracy": 0.1,
+ "test_cost": NaN,
+ "finite": false
+ }
+ ],
+ "final": {
+ "epoch": 1,
+ "train_accuracy": 0.10205,
+ "train_cost": NaN,
+ "test_accuracy": 0.1,
+ "test_cost": NaN,
+ "finite": false,
+ "corrector": {
+ "step": 468,
+ "bias_model": "dillavou_constant_update",
+ "clean_update_rms": NaN,
+ "bias_update_rms": NaN,
+ "residual_update_rms": NaN,
+ "bias_to_clean_update_rms": NaN,
+ "residual_to_clean_update_rms": NaN,
+ "neutral_observations": 0
+ },
+ "wall_seconds": 828.8401348590851
+ }
+ }
+}
diff --git a/results/ep_bias/released_profile_r0/intercept_c10.json b/results/ep_bias/released_profile_r0/intercept_c10.json
new file mode 100644
index 0000000..83e3ac8
--- /dev/null
+++ b/results/ep_bias/released_profile_r0/intercept_c10.json
@@ -0,0 +1,116 @@
+{
+ "schema": "rain_ep_structured_bias_screen_v1",
+ "sdil": {
+ "revision": "65f617eaf07a87c84475ad0010dea844422163e1"
+ },
+ "author": {
+ "repository": "https://github.com/rain-neuromorphics/energy-based-learning",
+ "revision": "6b253fd8a5d267535f58ab79992256ef10031ceb"
+ },
+ "protocol": {
+ "dataset": "FashionMNIST",
+ "network": "author comparative-study ConvHopfieldEnergy32",
+ "network_protocol": "comparative32",
+ "algorithm": "equilibrium propagation",
+ "beta_policy": "fixed_positive",
+ "beta_seed": 7100,
+ "beta_value": 0.25,
+ "adapter": "dillavou",
+ "mode": "constant",
+ "bias_ratio": 1.0,
+ "dillavou_drift_ratio": 0.0,
+ "dillavou_calibration_steps": 1,
+ "dillavou_profile": {
+ "normalized_offsets": [
+ 0.9356214982615908,
+ 1.6020613079954447,
+ -0.10013991355431538,
+ 0.7402593971899275
+ ],
+ "normalized_state_variations": [
+ 0.5259526502913017,
+ 0.31316961348123956,
+ 0.3831972460091073,
+ -0.04782433762159926
+ ],
+ "source": "/home/yurenh2/sdil/results/physical_bias/p0_state_dependence.json"
+ },
+ "predictor_rate": 1.0,
+ "neutral_cadence": 10,
+ "layer_calibration_steps": 1,
+ "layer_bias_normalization": "clean_difference",
+ "calibration_batches": 0,
+ "calibration_observations": 0,
+ "calibration_seconds": 4.76837158203125e-07,
+ "extra_equilibrium_phases_for_predictor": 0,
+ "predictor_neutral_source": "instruction_off_local_update_probe",
+ "bias_ratio_normalization": "initial_clean_local_update_rms_for_simulation_only",
+ "bias_ratio_normalization_visible_to_predictor": false,
+ "epochs": 1,
+ "train_limit": 10000,
+ "test_limit": 2000,
+ "evaluation_split": "train_holdout",
+ "data_seed": 6200,
+ "batch_size": 128,
+ "training_iterations": 15,
+ "inference_iterations": 60,
+ "schedule_epochs": 100,
+ "seed": 1988,
+ "device": "cuda",
+ "determinism": "best_effort_warn_only",
+ "autodiff_used_for_learning": false
+ },
+ "hardware": {
+ "torch_version": "2.3.1+cu118",
+ "torch_cuda_version": "11.8",
+ "cuda_visible_devices": "4",
+ "device_name": "NVIDIA GeForce GTX 1080"
+ },
+ "metrics": [
+ {
+ "epoch": 1,
+ "train_accuracy": 0.3082,
+ "train_cost": 0.415790057182312,
+ "test_accuracy": 0.448,
+ "test_cost": 0.34728983402252195,
+ "finite": true,
+ "corrector": {
+ "step": 78,
+ "bias_model": "dillavou_released_affine_update",
+ "bias_profile_source": "/home/yurenh2/sdil/results/physical_bias/p0_state_dependence.json",
+ "clean_update_rms": 0.0016930877404937195,
+ "bias_update_rms": 0.00018724772369851212,
+ "residual_update_rms": 1.008199141467324e-06,
+ "bias_to_clean_update_rms": 0.1105954046090423,
+ "residual_to_clean_update_rms": 0.0005954795592420533,
+ "neutral_observations": 9
+ },
+ "wall_seconds": 137.7758538722992
+ }
+ ],
+ "epochs_completed": 1,
+ "beta_sign_counts": {
+ "positive": 79,
+ "negative": 0
+ },
+ "final": {
+ "epoch": 1,
+ "train_accuracy": 0.3082,
+ "train_cost": 0.415790057182312,
+ "test_accuracy": 0.448,
+ "test_cost": 0.34728983402252195,
+ "finite": true,
+ "corrector": {
+ "step": 78,
+ "bias_model": "dillavou_released_affine_update",
+ "bias_profile_source": "/home/yurenh2/sdil/results/physical_bias/p0_state_dependence.json",
+ "clean_update_rms": 0.0016930877404937195,
+ "bias_update_rms": 0.00018724772369851212,
+ "residual_update_rms": 1.008199141467324e-06,
+ "bias_to_clean_update_rms": 0.1105954046090423,
+ "residual_to_clean_update_rms": 0.0005954795592420533,
+ "neutral_observations": 9
+ },
+ "wall_seconds": 137.7758538722992
+ }
+}
diff --git a/results/ep_bias/released_profile_r0/intercept_c50.json b/results/ep_bias/released_profile_r0/intercept_c50.json
new file mode 100644
index 0000000..0d82ca8
--- /dev/null
+++ b/results/ep_bias/released_profile_r0/intercept_c50.json
@@ -0,0 +1,116 @@
+{
+ "schema": "rain_ep_structured_bias_screen_v1",
+ "sdil": {
+ "revision": "65f617eaf07a87c84475ad0010dea844422163e1"
+ },
+ "author": {
+ "repository": "https://github.com/rain-neuromorphics/energy-based-learning",
+ "revision": "6b253fd8a5d267535f58ab79992256ef10031ceb"
+ },
+ "protocol": {
+ "dataset": "FashionMNIST",
+ "network": "author comparative-study ConvHopfieldEnergy32",
+ "network_protocol": "comparative32",
+ "algorithm": "equilibrium propagation",
+ "beta_policy": "fixed_positive",
+ "beta_seed": 7100,
+ "beta_value": 0.25,
+ "adapter": "dillavou",
+ "mode": "constant",
+ "bias_ratio": 1.0,
+ "dillavou_drift_ratio": 0.0,
+ "dillavou_calibration_steps": 1,
+ "dillavou_profile": {
+ "normalized_offsets": [
+ 0.9356214982615908,
+ 1.6020613079954447,
+ -0.10013991355431538,
+ 0.7402593971899275
+ ],
+ "normalized_state_variations": [
+ 0.5259526502913017,
+ 0.31316961348123956,
+ 0.3831972460091073,
+ -0.04782433762159926
+ ],
+ "source": "/home/yurenh2/sdil/results/physical_bias/p0_state_dependence.json"
+ },
+ "predictor_rate": 1.0,
+ "neutral_cadence": 50,
+ "layer_calibration_steps": 1,
+ "layer_bias_normalization": "clean_difference",
+ "calibration_batches": 0,
+ "calibration_observations": 0,
+ "calibration_seconds": 2.384185791015625e-07,
+ "extra_equilibrium_phases_for_predictor": 0,
+ "predictor_neutral_source": "instruction_off_local_update_probe",
+ "bias_ratio_normalization": "initial_clean_local_update_rms_for_simulation_only",
+ "bias_ratio_normalization_visible_to_predictor": false,
+ "epochs": 1,
+ "train_limit": 10000,
+ "test_limit": 2000,
+ "evaluation_split": "train_holdout",
+ "data_seed": 6200,
+ "batch_size": 128,
+ "training_iterations": 15,
+ "inference_iterations": 60,
+ "schedule_epochs": 100,
+ "seed": 1988,
+ "device": "cuda",
+ "determinism": "best_effort_warn_only",
+ "autodiff_used_for_learning": false
+ },
+ "hardware": {
+ "torch_version": "2.3.1+cu118",
+ "torch_cuda_version": "11.8",
+ "cuda_visible_devices": "6",
+ "device_name": "NVIDIA GeForce GTX 1080"
+ },
+ "metrics": [
+ {
+ "epoch": 1,
+ "train_accuracy": 0.2968,
+ "train_cost": 0.41704807319641113,
+ "test_accuracy": 0.484,
+ "test_cost": 0.33677254581451416,
+ "finite": true,
+ "corrector": {
+ "step": 78,
+ "bias_model": "dillavou_released_affine_update",
+ "bias_profile_source": "/home/yurenh2/sdil/results/physical_bias/p0_state_dependence.json",
+ "clean_update_rms": 0.001004134662831455,
+ "bias_update_rms": 0.0001499973501478135,
+ "residual_update_rms": 7.584770313871661e-06,
+ "bias_to_clean_update_rms": 0.14937971539081377,
+ "residual_to_clean_update_rms": 0.007553538977017441,
+ "neutral_observations": 3
+ },
+ "wall_seconds": 138.1658763885498
+ }
+ ],
+ "epochs_completed": 1,
+ "beta_sign_counts": {
+ "positive": 79,
+ "negative": 0
+ },
+ "final": {
+ "epoch": 1,
+ "train_accuracy": 0.2968,
+ "train_cost": 0.41704807319641113,
+ "test_accuracy": 0.484,
+ "test_cost": 0.33677254581451416,
+ "finite": true,
+ "corrector": {
+ "step": 78,
+ "bias_model": "dillavou_released_affine_update",
+ "bias_profile_source": "/home/yurenh2/sdil/results/physical_bias/p0_state_dependence.json",
+ "clean_update_rms": 0.001004134662831455,
+ "bias_update_rms": 0.0001499973501478135,
+ "residual_update_rms": 7.584770313871661e-06,
+ "bias_to_clean_update_rms": 0.14937971539081377,
+ "residual_to_clean_update_rms": 0.007553538977017441,
+ "neutral_observations": 3
+ },
+ "wall_seconds": 138.1658763885498
+ }
+}
diff --git a/results/ep_bias/released_profile_r0/intercept_initial.json b/results/ep_bias/released_profile_r0/intercept_initial.json
new file mode 100644
index 0000000..4f6dd47
--- /dev/null
+++ b/results/ep_bias/released_profile_r0/intercept_initial.json
@@ -0,0 +1,116 @@
+{
+ "schema": "rain_ep_structured_bias_screen_v1",
+ "sdil": {
+ "revision": "65f617eaf07a87c84475ad0010dea844422163e1"
+ },
+ "author": {
+ "repository": "https://github.com/rain-neuromorphics/energy-based-learning",
+ "revision": "6b253fd8a5d267535f58ab79992256ef10031ceb"
+ },
+ "protocol": {
+ "dataset": "FashionMNIST",
+ "network": "author comparative-study ConvHopfieldEnergy32",
+ "network_protocol": "comparative32",
+ "algorithm": "equilibrium propagation",
+ "beta_policy": "fixed_positive",
+ "beta_seed": 7100,
+ "beta_value": 0.25,
+ "adapter": "dillavou",
+ "mode": "constant",
+ "bias_ratio": 1.0,
+ "dillavou_drift_ratio": 0.0,
+ "dillavou_calibration_steps": 1,
+ "dillavou_profile": {
+ "normalized_offsets": [
+ 0.9356214982615908,
+ 1.6020613079954447,
+ -0.10013991355431538,
+ 0.7402593971899275
+ ],
+ "normalized_state_variations": [
+ 0.5259526502913017,
+ 0.31316961348123956,
+ 0.3831972460091073,
+ -0.04782433762159926
+ ],
+ "source": "/home/yurenh2/sdil/results/physical_bias/p0_state_dependence.json"
+ },
+ "predictor_rate": 1.0,
+ "neutral_cadence": 0,
+ "layer_calibration_steps": 1,
+ "layer_bias_normalization": "clean_difference",
+ "calibration_batches": 0,
+ "calibration_observations": 0,
+ "calibration_seconds": 9.5367431640625e-07,
+ "extra_equilibrium_phases_for_predictor": 0,
+ "predictor_neutral_source": "instruction_off_local_update_probe",
+ "bias_ratio_normalization": "initial_clean_local_update_rms_for_simulation_only",
+ "bias_ratio_normalization_visible_to_predictor": false,
+ "epochs": 1,
+ "train_limit": 10000,
+ "test_limit": 2000,
+ "evaluation_split": "train_holdout",
+ "data_seed": 6200,
+ "batch_size": 128,
+ "training_iterations": 15,
+ "inference_iterations": 60,
+ "schedule_epochs": 100,
+ "seed": 1988,
+ "device": "cuda",
+ "determinism": "best_effort_warn_only",
+ "autodiff_used_for_learning": false
+ },
+ "hardware": {
+ "torch_version": "2.3.1+cu118",
+ "torch_cuda_version": "11.8",
+ "cuda_visible_devices": "2",
+ "device_name": "NVIDIA GeForce GTX 1080"
+ },
+ "metrics": [
+ {
+ "epoch": 1,
+ "train_accuracy": 0.3058,
+ "train_cost": 0.4113296781539917,
+ "test_accuracy": 0.499,
+ "test_cost": 0.32454667282104493,
+ "finite": true,
+ "corrector": {
+ "step": 78,
+ "bias_model": "dillavou_released_affine_update",
+ "bias_profile_source": "/home/yurenh2/sdil/results/physical_bias/p0_state_dependence.json",
+ "clean_update_rms": 0.0013323988546713012,
+ "bias_update_rms": 0.00014826292038605285,
+ "residual_update_rms": 1.1076213507649078e-05,
+ "bias_to_clean_update_rms": 0.11127517849948082,
+ "residual_to_clean_update_rms": 0.008312986362016609,
+ "neutral_observations": 1
+ },
+ "wall_seconds": 139.38151288032532
+ }
+ ],
+ "epochs_completed": 1,
+ "beta_sign_counts": {
+ "positive": 79,
+ "negative": 0
+ },
+ "final": {
+ "epoch": 1,
+ "train_accuracy": 0.3058,
+ "train_cost": 0.4113296781539917,
+ "test_accuracy": 0.499,
+ "test_cost": 0.32454667282104493,
+ "finite": true,
+ "corrector": {
+ "step": 78,
+ "bias_model": "dillavou_released_affine_update",
+ "bias_profile_source": "/home/yurenh2/sdil/results/physical_bias/p0_state_dependence.json",
+ "clean_update_rms": 0.0013323988546713012,
+ "bias_update_rms": 0.00014826292038605285,
+ "residual_update_rms": 1.1076213507649078e-05,
+ "bias_to_clean_update_rms": 0.11127517849948082,
+ "residual_to_clean_update_rms": 0.008312986362016609,
+ "neutral_observations": 1
+ },
+ "wall_seconds": 139.38151288032532
+ }
+}
diff --git a/results/ep_bias/released_profile_r0/pep_clean.json b/results/ep_bias/released_profile_r0/pep_clean.json
new file mode 100644
index 0000000..5d723a7
--- /dev/null
+++ b/results/ep_bias/released_profile_r0/pep_clean.json
@@ -0,0 +1,96 @@
+{
+ "schema": "rain_ep_structured_bias_screen_v1",
+ "sdil": {
+ "revision": "65f617eaf07a87c84475ad0010dea844422163e1"
+ },
+ "author": {
+ "repository": "https://github.com/rain-neuromorphics/energy-based-learning",
+ "revision": "6b253fd8a5d267535f58ab79992256ef10031ceb"
+ },
+ "protocol": {
+ "dataset": "FashionMNIST",
+ "network": "author comparative-study ConvHopfieldEnergy32",
+ "network_protocol": "comparative32",
+ "algorithm": "equilibrium propagation",
+ "beta_policy": "fixed_positive",
+ "beta_seed": 7100,
+ "beta_value": 0.25,
+ "adapter": "dillavou",
+ "mode": "clean",
+ "bias_ratio": 1.0,
+ "dillavou_drift_ratio": 0.0,
+ "dillavou_calibration_steps": 1,
+ "dillavou_profile": {
+ "normalized_offsets": [
+ 0.9356214982615908,
+ 1.6020613079954447,
+ -0.10013991355431538,
+ 0.7402593971899275
+ ],
+ "normalized_state_variations": [
+ 0.5259526502913017,
+ 0.31316961348123956,
+ 0.3831972460091073,
+ -0.04782433762159926
+ ],
+ "source": "/home/yurenh2/sdil/results/physical_bias/p0_state_dependence.json"
+ },
+ "predictor_rate": 1.0,
+ "neutral_cadence": 0,
+ "layer_calibration_steps": 1,
+ "layer_bias_normalization": "clean_difference",
+ "calibration_batches": 0,
+ "calibration_observations": 0,
+ "calibration_seconds": 4.76837158203125e-07,
+ "extra_equilibrium_phases_for_predictor": 0,
+ "predictor_neutral_source": "instruction_off_local_update_probe",
+ "bias_ratio_normalization": "initial_clean_local_update_rms_for_simulation_only",
+ "bias_ratio_normalization_visible_to_predictor": false,
+ "epochs": 1,
+ "train_limit": 10000,
+ "test_limit": 2000,
+ "evaluation_split": "train_holdout",
+ "data_seed": 6200,
+ "batch_size": 128,
+ "training_iterations": 15,
+ "inference_iterations": 60,
+ "schedule_epochs": 100,
+ "seed": 1988,
+ "device": "cuda",
+ "determinism": "best_effort_warn_only",
+ "autodiff_used_for_learning": false
+ },
+ "hardware": {
+ "torch_version": "2.3.1+cu118",
+ "torch_cuda_version": "11.8",
+ "cuda_visible_devices": "0",
+ "device_name": "NVIDIA GeForce GTX 1080"
+ },
+ "metrics": [
+ {
+ "epoch": 1,
+ "train_accuracy": 0.3004,
+ "train_cost": 0.41798436822891233,
+ "test_accuracy": 0.532,
+ "test_cost": 0.3340995168685913,
+ "finite": true,
+ "corrector": {},
+ "wall_seconds": 130.98123741149902
+ }
+ ],
+ "epochs_completed": 1,
+ "beta_sign_counts": {
+ "positive": 79,
+ "negative": 0
+ },
+ "final": {
+ "epoch": 1,
+ "train_accuracy": 0.3004,
+ "train_cost": 0.41798436822891233,
+ "test_accuracy": 0.532,
+ "test_cost": 0.3340995168685913,
+ "finite": true,
+ "corrector": {},
+ "wall_seconds": 130.98123741149902
+ }
+}
diff --git a/results/ep_bias/released_profile_r0/profile_raw.json b/results/ep_bias/released_profile_r0/profile_raw.json
new file mode 100644
index 0000000..4f03a15
--- /dev/null
+++ b/results/ep_bias/released_profile_r0/profile_raw.json
@@ -0,0 +1,116 @@
+{
+ "schema": "rain_ep_structured_bias_screen_v1",
+ "sdil": {
+ "revision": "65f617eaf07a87c84475ad0010dea844422163e1"
+ },
+ "author": {
+ "repository": "https://github.com/rain-neuromorphics/energy-based-learning",
+ "revision": "6b253fd8a5d267535f58ab79992256ef10031ceb"
+ },
+ "protocol": {
+ "dataset": "FashionMNIST",
+ "network": "author comparative-study ConvHopfieldEnergy32",
+ "network_protocol": "comparative32",
+ "algorithm": "equilibrium propagation",
+ "beta_policy": "fixed_positive",
+ "beta_seed": 7100,
+ "beta_value": 0.25,
+ "adapter": "dillavou",
+ "mode": "raw",
+ "bias_ratio": 1.0,
+ "dillavou_drift_ratio": 0.0,
+ "dillavou_calibration_steps": 1,
+ "dillavou_profile": {
+ "normalized_offsets": [
+ 0.9356214982615908,
+ 1.6020613079954447,
+ -0.10013991355431538,
+ 0.7402593971899275
+ ],
+ "normalized_state_variations": [
+ 0.5259526502913017,
+ 0.31316961348123956,
+ 0.3831972460091073,
+ -0.04782433762159926
+ ],
+ "source": "/home/yurenh2/sdil/results/physical_bias/p0_state_dependence.json"
+ },
+ "predictor_rate": 1.0,
+ "neutral_cadence": 0,
+ "layer_calibration_steps": 1,
+ "layer_bias_normalization": "clean_difference",
+ "calibration_batches": 0,
+ "calibration_observations": 0,
+ "calibration_seconds": 2.384185791015625e-06,
+ "extra_equilibrium_phases_for_predictor": 0,
+ "predictor_neutral_source": "instruction_off_local_update_probe",
+ "bias_ratio_normalization": "initial_clean_local_update_rms_for_simulation_only",
+ "bias_ratio_normalization_visible_to_predictor": false,
+ "epochs": 1,
+ "train_limit": 10000,
+ "test_limit": 2000,
+ "evaluation_split": "train_holdout",
+ "data_seed": 6200,
+ "batch_size": 128,
+ "training_iterations": 15,
+ "inference_iterations": 60,
+ "schedule_epochs": 100,
+ "seed": 1988,
+ "device": "cuda",
+ "determinism": "best_effort_warn_only",
+ "autodiff_used_for_learning": false
+ },
+ "hardware": {
+ "torch_version": "2.3.1+cu118",
+ "torch_cuda_version": "11.8",
+ "cuda_visible_devices": "1",
+ "device_name": "NVIDIA GeForce GTX 1080"
+ },
+ "metrics": [
+ {
+ "epoch": 1,
+ "train_accuracy": 0.2465,
+ "train_cost": 0.430538116979599,
+ "test_accuracy": 0.4,
+ "test_cost": 0.36289122581481936,
+ "finite": true,
+ "corrector": {
+ "step": 78,
+ "bias_model": "dillavou_released_affine_update",
+ "bias_profile_source": "/home/yurenh2/sdil/results/physical_bias/p0_state_dependence.json",
+ "clean_update_rms": 0.0015931195032637647,
+ "bias_update_rms": 0.00012595502742491298,
+ "residual_update_rms": 0.00012595502784527396,
+ "bias_to_clean_update_rms": 0.07906188278209739,
+ "residual_to_clean_update_rms": 0.07906188304595768,
+ "neutral_observations": 0
+ },
+ "wall_seconds": 138.65675354003906
+ }
+ ],
+ "epochs_completed": 1,
+ "beta_sign_counts": {
+ "positive": 79,
+ "negative": 0
+ },
+ "final": {
+ "epoch": 1,
+ "train_accuracy": 0.2465,
+ "train_cost": 0.430538116979599,
+ "test_accuracy": 0.4,
+ "test_cost": 0.36289122581481936,
+ "finite": true,
+ "corrector": {
+ "step": 78,
+ "bias_model": "dillavou_released_affine_update",
+ "bias_profile_source": "/home/yurenh2/sdil/results/physical_bias/p0_state_dependence.json",
+ "clean_update_rms": 0.0015931195032637647,
+ "bias_update_rms": 0.00012595502742491298,
+ "residual_update_rms": 0.00012595502784527396,
+ "bias_to_clean_update_rms": 0.07906188278209739,
+ "residual_to_clean_update_rms": 0.07906188304595768,
+ "neutral_observations": 0
+ },
+ "wall_seconds": 138.65675354003906
+ }
+}
diff --git a/results/ep_bias/released_profile_r0/sdil_c10.json b/results/ep_bias/released_profile_r0/sdil_c10.json
new file mode 100644
index 0000000..842fece
--- /dev/null
+++ b/results/ep_bias/released_profile_r0/sdil_c10.json
@@ -0,0 +1,116 @@
+{
+ "schema": "rain_ep_structured_bias_screen_v1",
+ "sdil": {
+ "revision": "65f617eaf07a87c84475ad0010dea844422163e1"
+ },
+ "author": {
+ "repository": "https://github.com/rain-neuromorphics/energy-based-learning",
+ "revision": "6b253fd8a5d267535f58ab79992256ef10031ceb"
+ },
+ "protocol": {
+ "dataset": "FashionMNIST",
+ "network": "author comparative-study ConvHopfieldEnergy32",
+ "network_protocol": "comparative32",
+ "algorithm": "equilibrium propagation",
+ "beta_policy": "fixed_positive",
+ "beta_seed": 7100,
+ "beta_value": 0.25,
+ "adapter": "dillavou",
+ "mode": "innovation",
+ "bias_ratio": 1.0,
+ "dillavou_drift_ratio": 0.0,
+ "dillavou_calibration_steps": 1,
+ "dillavou_profile": {
+ "normalized_offsets": [
+ 0.9356214982615908,
+ 1.6020613079954447,
+ -0.10013991355431538,
+ 0.7402593971899275
+ ],
+ "normalized_state_variations": [
+ 0.5259526502913017,
+ 0.31316961348123956,
+ 0.3831972460091073,
+ -0.04782433762159926
+ ],
+ "source": "/home/yurenh2/sdil/results/physical_bias/p0_state_dependence.json"
+ },
+ "predictor_rate": 1.0,
+ "neutral_cadence": 10,
+ "layer_calibration_steps": 1,
+ "layer_bias_normalization": "clean_difference",
+ "calibration_batches": 0,
+ "calibration_observations": 0,
+ "calibration_seconds": 7.152557373046875e-07,
+ "extra_equilibrium_phases_for_predictor": 0,
+ "predictor_neutral_source": "instruction_off_local_update_probe",
+ "bias_ratio_normalization": "initial_clean_local_update_rms_for_simulation_only",
+ "bias_ratio_normalization_visible_to_predictor": false,
+ "epochs": 1,
+ "train_limit": 10000,
+ "test_limit": 2000,
+ "evaluation_split": "train_holdout",
+ "data_seed": 6200,
+ "batch_size": 128,
+ "training_iterations": 15,
+ "inference_iterations": 60,
+ "schedule_epochs": 100,
+ "seed": 1988,
+ "device": "cuda",
+ "determinism": "best_effort_warn_only",
+ "autodiff_used_for_learning": false
+ },
+ "hardware": {
+ "torch_version": "2.3.1+cu118",
+ "torch_cuda_version": "11.8",
+ "cuda_visible_devices": "5",
+ "device_name": "NVIDIA GeForce GTX 1080"
+ },
+ "metrics": [
+ {
+ "epoch": 1,
+ "train_accuracy": 0.3051,
+ "train_cost": 0.4161894171714783,
+ "test_accuracy": 0.499,
+ "test_cost": 0.32872381591796873,
+ "finite": true,
+ "corrector": {
+ "step": 78,
+ "bias_model": "dillavou_released_affine_update",
+ "bias_profile_source": "/home/yurenh2/sdil/results/physical_bias/p0_state_dependence.json",
+ "clean_update_rms": 0.0010029431500714274,
+ "bias_update_rms": 0.00018726186920531594,
+ "residual_update_rms": 9.534908075830887e-07,
+ "bias_to_clean_update_rms": 0.18671234674864629,
+ "residual_to_clean_update_rms": 0.000950692776071289,
+ "neutral_observations": 9
+ },
+ "wall_seconds": 138.70472860336304
+ }
+ ],
+ "epochs_completed": 1,
+ "beta_sign_counts": {
+ "positive": 79,
+ "negative": 0
+ },
+ "final": {
+ "epoch": 1,
+ "train_accuracy": 0.3051,
+ "train_cost": 0.4161894171714783,
+ "test_accuracy": 0.499,
+ "test_cost": 0.32872381591796873,
+ "finite": true,
+ "corrector": {
+ "step": 78,
+ "bias_model": "dillavou_released_affine_update",
+ "bias_profile_source": "/home/yurenh2/sdil/results/physical_bias/p0_state_dependence.json",
+ "clean_update_rms": 0.0010029431500714274,
+ "bias_update_rms": 0.00018726186920531594,
+ "residual_update_rms": 9.534908075830887e-07,
+ "bias_to_clean_update_rms": 0.18671234674864629,
+ "residual_to_clean_update_rms": 0.000950692776071289,
+ "neutral_observations": 9
+ },
+ "wall_seconds": 138.70472860336304
+ }
+}
diff --git a/results/ep_bias/released_profile_r0/sdil_c50.json b/results/ep_bias/released_profile_r0/sdil_c50.json
new file mode 100644
index 0000000..016684c
--- /dev/null
+++ b/results/ep_bias/released_profile_r0/sdil_c50.json
@@ -0,0 +1,116 @@
+{
+ "schema": "rain_ep_structured_bias_screen_v1",
+ "sdil": {
+ "revision": "65f617eaf07a87c84475ad0010dea844422163e1"
+ },
+ "author": {
+ "repository": "https://github.com/rain-neuromorphics/energy-based-learning",
+ "revision": "6b253fd8a5d267535f58ab79992256ef10031ceb"
+ },
+ "protocol": {
+ "dataset": "FashionMNIST",
+ "network": "author comparative-study ConvHopfieldEnergy32",
+ "network_protocol": "comparative32",
+ "algorithm": "equilibrium propagation",
+ "beta_policy": "fixed_positive",
+ "beta_seed": 7100,
+ "beta_value": 0.25,
+ "adapter": "dillavou",
+ "mode": "innovation",
+ "bias_ratio": 1.0,
+ "dillavou_drift_ratio": 0.0,
+ "dillavou_calibration_steps": 1,
+ "dillavou_profile": {
+ "normalized_offsets": [
+ 0.9356214982615908,
+ 1.6020613079954447,
+ -0.10013991355431538,
+ 0.7402593971899275
+ ],
+ "normalized_state_variations": [
+ 0.5259526502913017,
+ 0.31316961348123956,
+ 0.3831972460091073,
+ -0.04782433762159926
+ ],
+ "source": "/home/yurenh2/sdil/results/physical_bias/p0_state_dependence.json"
+ },
+ "predictor_rate": 1.0,
+ "neutral_cadence": 50,
+ "layer_calibration_steps": 1,
+ "layer_bias_normalization": "clean_difference",
+ "calibration_batches": 0,
+ "calibration_observations": 0,
+ "calibration_seconds": 7.152557373046875e-07,
+ "extra_equilibrium_phases_for_predictor": 0,
+ "predictor_neutral_source": "instruction_off_local_update_probe",
+ "bias_ratio_normalization": "initial_clean_local_update_rms_for_simulation_only",
+ "bias_ratio_normalization_visible_to_predictor": false,
+ "epochs": 1,
+ "train_limit": 10000,
+ "test_limit": 2000,
+ "evaluation_split": "train_holdout",
+ "data_seed": 6200,
+ "batch_size": 128,
+ "training_iterations": 15,
+ "inference_iterations": 60,
+ "schedule_epochs": 100,
+ "seed": 1988,
+ "device": "cuda",
+ "determinism": "best_effort_warn_only",
+ "autodiff_used_for_learning": false
+ },
+ "hardware": {
+ "torch_version": "2.3.1+cu118",
+ "torch_cuda_version": "11.8",
+ "cuda_visible_devices": "7",
+ "device_name": "NVIDIA GeForce GTX 1080"
+ },
+ "metrics": [
+ {
+ "epoch": 1,
+ "train_accuracy": 0.3023,
+ "train_cost": 0.4136846197605133,
+ "test_accuracy": 0.471,
+ "test_cost": 0.3420136547088623,
+ "finite": true,
+ "corrector": {
+ "step": 78,
+ "bias_model": "dillavou_released_affine_update",
+ "bias_profile_source": "/home/yurenh2/sdil/results/physical_bias/p0_state_dependence.json",
+ "clean_update_rms": 0.000828735017397769,
+ "bias_update_rms": 0.00015105536874253497,
+ "residual_update_rms": 6.152254308883878e-06,
+ "bias_to_clean_update_rms": 0.1822722167778663,
+ "residual_to_clean_update_rms": 0.007423668820224321,
+ "neutral_observations": 3
+ },
+ "wall_seconds": 137.71566247940063
+ }
+ ],
+ "epochs_completed": 1,
+ "beta_sign_counts": {
+ "positive": 79,
+ "negative": 0
+ },
+ "final": {
+ "epoch": 1,
+ "train_accuracy": 0.3023,
+ "train_cost": 0.4136846197605133,
+ "test_accuracy": 0.471,
+ "test_cost": 0.3420136547088623,
+ "finite": true,
+ "corrector": {
+ "step": 78,
+ "bias_model": "dillavou_released_affine_update",
+ "bias_profile_source": "/home/yurenh2/sdil/results/physical_bias/p0_state_dependence.json",
+ "clean_update_rms": 0.000828735017397769,
+ "bias_update_rms": 0.00015105536874253497,
+ "residual_update_rms": 6.152254308883878e-06,
+ "bias_to_clean_update_rms": 0.1822722167778663,
+ "residual_to_clean_update_rms": 0.007423668820224321,
+ "neutral_observations": 3
+ },
+ "wall_seconds": 137.71566247940063
+ }
+}
diff --git a/results/ep_bias/released_profile_r0/sdil_initial.json b/results/ep_bias/released_profile_r0/sdil_initial.json
new file mode 100644
index 0000000..aafc26e
--- /dev/null
+++ b/results/ep_bias/released_profile_r0/sdil_initial.json
@@ -0,0 +1,116 @@
+{
+ "schema": "rain_ep_structured_bias_screen_v1",
+ "sdil": {
+ "revision": "65f617eaf07a87c84475ad0010dea844422163e1"
+ },
+ "author": {
+ "repository": "https://github.com/rain-neuromorphics/energy-based-learning",
+ "revision": "6b253fd8a5d267535f58ab79992256ef10031ceb"
+ },
+ "protocol": {
+ "dataset": "FashionMNIST",
+ "network": "author comparative-study ConvHopfieldEnergy32",
+ "network_protocol": "comparative32",
+ "algorithm": "equilibrium propagation",
+ "beta_policy": "fixed_positive",
+ "beta_seed": 7100,
+ "beta_value": 0.25,
+ "adapter": "dillavou",
+ "mode": "innovation",
+ "bias_ratio": 1.0,
+ "dillavou_drift_ratio": 0.0,
+ "dillavou_calibration_steps": 1,
+ "dillavou_profile": {
+ "normalized_offsets": [
+ 0.9356214982615908,
+ 1.6020613079954447,
+ -0.10013991355431538,
+ 0.7402593971899275
+ ],
+ "normalized_state_variations": [
+ 0.5259526502913017,
+ 0.31316961348123956,
+ 0.3831972460091073,
+ -0.04782433762159926
+ ],
+ "source": "/home/yurenh2/sdil/results/physical_bias/p0_state_dependence.json"
+ },
+ "predictor_rate": 1.0,
+ "neutral_cadence": 0,
+ "layer_calibration_steps": 1,
+ "layer_bias_normalization": "clean_difference",
+ "calibration_batches": 0,
+ "calibration_observations": 0,
+ "calibration_seconds": 2.384185791015625e-07,
+ "extra_equilibrium_phases_for_predictor": 0,
+ "predictor_neutral_source": "instruction_off_local_update_probe",
+ "bias_ratio_normalization": "initial_clean_local_update_rms_for_simulation_only",
+ "bias_ratio_normalization_visible_to_predictor": false,
+ "epochs": 1,
+ "train_limit": 10000,
+ "test_limit": 2000,
+ "evaluation_split": "train_holdout",
+ "data_seed": 6200,
+ "batch_size": 128,
+ "training_iterations": 15,
+ "inference_iterations": 60,
+ "schedule_epochs": 100,
+ "seed": 1988,
+ "device": "cuda",
+ "determinism": "best_effort_warn_only",
+ "autodiff_used_for_learning": false
+ },
+ "hardware": {
+ "torch_version": "2.3.1+cu118",
+ "torch_cuda_version": "11.8",
+ "cuda_visible_devices": "3",
+ "device_name": "NVIDIA GeForce GTX 1080"
+ },
+ "metrics": [
+ {
+ "epoch": 1,
+ "train_accuracy": 0.3058,
+ "train_cost": 0.4113296781539917,
+ "test_accuracy": 0.499,
+ "test_cost": 0.32454667282104493,
+ "finite": true,
+ "corrector": {
+ "step": 78,
+ "bias_model": "dillavou_released_affine_update",
+ "bias_profile_source": "/home/yurenh2/sdil/results/physical_bias/p0_state_dependence.json",
+ "clean_update_rms": 0.0013323988546713012,
+ "bias_update_rms": 0.00014826292038605285,
+ "residual_update_rms": 1.1076213507649078e-05,
+ "bias_to_clean_update_rms": 0.11127517849948082,
+ "residual_to_clean_update_rms": 0.008312986362016609,
+ "neutral_observations": 1
+ },
+ "wall_seconds": 142.44494032859802
+ }
+ ],
+ "epochs_completed": 1,
+ "beta_sign_counts": {
+ "positive": 79,
+ "negative": 0
+ },
+ "final": {
+ "epoch": 1,
+ "train_accuracy": 0.3058,
+ "train_cost": 0.4113296781539917,
+ "test_accuracy": 0.499,
+ "test_cost": 0.32454667282104493,
+ "finite": true,
+ "corrector": {
+ "step": 78,
+ "bias_model": "dillavou_released_affine_update",
+ "bias_profile_source": "/home/yurenh2/sdil/results/physical_bias/p0_state_dependence.json",
+ "clean_update_rms": 0.0013323988546713012,
+ "bias_update_rms": 0.00014826292038605285,
+ "residual_update_rms": 1.1076213507649078e-05,
+ "bias_to_clean_update_rms": 0.11127517849948082,
+ "residual_to_clean_update_rms": 0.008312986362016609,
+ "neutral_observations": 1
+ },
+ "wall_seconds": 142.44494032859802
+ }
+}
diff --git a/results/ep_bias/released_profile_r0/summary.json b/results/ep_bias/released_profile_r0/summary.json
new file mode 100644
index 0000000..28a6a2e
--- /dev/null
+++ b/results/ep_bias/released_profile_r0/summary.json
@@ -0,0 +1,128 @@
+{
+ "intercept_c10": {
+ "test_accuracy": 0.448,
+ "test_cost": 0.34728983402252195,
+ "finite": true,
+ "wall_seconds": 137.7758538722992,
+ "corrector": {
+ "step": 78,
+ "bias_model": "dillavou_released_affine_update",
+ "bias_profile_source": "/home/yurenh2/sdil/results/physical_bias/p0_state_dependence.json",
+ "clean_update_rms": 0.0016930877404937195,
+ "bias_update_rms": 0.00018724772369851212,
+ "residual_update_rms": 1.008199141467324e-06,
+ "bias_to_clean_update_rms": 0.1105954046090423,
+ "residual_to_clean_update_rms": 0.0005954795592420533,
+ "neutral_observations": 9
+ }
+ },
+ "intercept_c50": {
+ "test_accuracy": 0.484,
+ "test_cost": 0.33677254581451416,
+ "finite": true,
+ "wall_seconds": 138.1658763885498,
+ "corrector": {
+ "step": 78,
+ "bias_model": "dillavou_released_affine_update",
+ "bias_profile_source": "/home/yurenh2/sdil/results/physical_bias/p0_state_dependence.json",
+ "clean_update_rms": 0.001004134662831455,
+ "bias_update_rms": 0.0001499973501478135,
+ "residual_update_rms": 7.584770313871661e-06,
+ "bias_to_clean_update_rms": 0.14937971539081377,
+ "residual_to_clean_update_rms": 0.007553538977017441,
+ "neutral_observations": 3
+ }
+ },
+ "intercept_initial": {
+ "test_accuracy": 0.499,
+ "test_cost": 0.32454667282104493,
+ "finite": true,
+ "wall_seconds": 139.38151288032532,
+ "corrector": {
+ "step": 78,
+ "bias_model": "dillavou_released_affine_update",
+ "bias_profile_source": "/home/yurenh2/sdil/results/physical_bias/p0_state_dependence.json",
+ "clean_update_rms": 0.0013323988546713012,
+ "bias_update_rms": 0.00014826292038605285,
+ "residual_update_rms": 1.1076213507649078e-05,
+ "bias_to_clean_update_rms": 0.11127517849948082,
+ "residual_to_clean_update_rms": 0.008312986362016609,
+ "neutral_observations": 1
+ }
+ },
+ "pep_clean": {
+ "test_accuracy": 0.532,
+ "test_cost": 0.3340995168685913,
+ "finite": true,
+ "wall_seconds": 130.98123741149902,
+ "corrector": {}
+ },
+ "profile_raw": {
+ "test_accuracy": 0.4,
+ "test_cost": 0.36289122581481936,
+ "finite": true,
+ "wall_seconds": 138.65675354003906,
+ "corrector": {
+ "step": 78,
+ "bias_model": "dillavou_released_affine_update",
+ "bias_profile_source": "/home/yurenh2/sdil/results/physical_bias/p0_state_dependence.json",
+ "clean_update_rms": 0.0015931195032637647,
+ "bias_update_rms": 0.00012595502742491298,
+ "residual_update_rms": 0.00012595502784527396,
+ "bias_to_clean_update_rms": 0.07906188278209739,
+ "residual_to_clean_update_rms": 0.07906188304595768,
+ "neutral_observations": 0
+ }
+ },
+ "sdil_c10": {
+ "test_accuracy": 0.499,
+ "test_cost": 0.32872381591796873,
+ "finite": true,
+ "wall_seconds": 138.70472860336304,
+ "corrector": {
+ "step": 78,
+ "bias_model": "dillavou_released_affine_update",
+ "bias_profile_source": "/home/yurenh2/sdil/results/physical_bias/p0_state_dependence.json",
+ "clean_update_rms": 0.0010029431500714274,
+ "bias_update_rms": 0.00018726186920531594,
+ "residual_update_rms": 9.534908075830887e-07,
+ "bias_to_clean_update_rms": 0.18671234674864629,
+ "residual_to_clean_update_rms": 0.000950692776071289,
+ "neutral_observations": 9
+ }
+ },
+ "sdil_c50": {
+ "test_accuracy": 0.471,
+ "test_cost": 0.3420136547088623,
+ "finite": true,
+ "wall_seconds": 137.71566247940063,
+ "corrector": {
+ "step": 78,
+ "bias_model": "dillavou_released_affine_update",
+ "bias_profile_source": "/home/yurenh2/sdil/results/physical_bias/p0_state_dependence.json",
+ "clean_update_rms": 0.000828735017397769,
+ "bias_update_rms": 0.00015105536874253497,
+ "residual_update_rms": 6.152254308883878e-06,
+ "bias_to_clean_update_rms": 0.1822722167778663,
+ "residual_to_clean_update_rms": 0.007423668820224321,
+ "neutral_observations": 3
+ }
+ },
+ "sdil_initial": {
+ "test_accuracy": 0.499,
+ "test_cost": 0.32454667282104493,
+ "finite": true,
+ "wall_seconds": 142.44494032859802,
+ "corrector": {
+ "step": 78,
+ "bias_model": "dillavou_released_affine_update",
+ "bias_profile_source": "/home/yurenh2/sdil/results/physical_bias/p0_state_dependence.json",
+ "clean_update_rms": 0.0013323988546713012,
+ "bias_update_rms": 0.00014826292038605285,
+ "residual_update_rms": 1.1076213507649078e-05,
+ "bias_to_clean_update_rms": 0.11127517849948082,
+ "residual_to_clean_update_rms": 0.008312986362016609,
+ "neutral_observations": 1
+ }
+ }
+}