summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--RAIN_EP_RELEASED_PROFILE.md24
-rw-r--r--results/ep_bias/centered_r1/centered_clean.json82
-rw-r--r--results/ep_bias/centered_r1/fixed_intercept.json102
-rw-r--r--results/ep_bias/centered_r1/fixed_raw.json102
-rw-r--r--results/ep_bias/centered_r1/fixed_sdil.json102
-rw-r--r--results/ep_bias/centered_r1/profile_intercept_c10.json116
-rw-r--r--results/ep_bias/centered_r1/profile_oracle.json116
-rw-r--r--results/ep_bias/centered_r1/profile_raw.json116
-rw-r--r--results/ep_bias/centered_r1/profile_sdil_c10.json116
-rw-r--r--results/ep_bias/centered_r1/summary.json42
10 files changed, 918 insertions, 0 deletions
diff --git a/RAIN_EP_RELEASED_PROFILE.md b/RAIN_EP_RELEASED_PROFILE.md
index c5bed5e..796f36e 100644
--- a/RAIN_EP_RELEASED_PROFILE.md
+++ b/RAIN_EP_RELEASED_PROFILE.md
@@ -81,3 +81,27 @@ split, one epoch compares centered clean, fixed raw/intercept/SDIL, released-
profile raw/intercept/SDIL, and a released-profile oracle. Downstream holdout
accuracy is the only selection endpoint. Residual diagnostics are retained
only to catch implementation errors.
+
+R1 used 10,000 FashionMNIST training examples and a disjoint 2,000-example
+holdout drawn from the official training set, one epoch, one fixed seed, and
+the author's comparative ConvHopfieldEnergy32 network. Holdout accuracy was:
+
+| hardware condition | correction | accuracy |
+|---|---|---:|
+| no hardware bias | none | 46.00% |
+| constant per-parameter bias | none | 10.00% |
+| constant per-parameter bias | intercept-only | 45.45% |
+| constant per-parameter bias | affine SDIL | 45.45% |
+| released state-dependent profile | none | 32.70% |
+| released state-dependent profile | intercept-only, cadence 10 | 43.85% |
+| released state-dependent profile | affine SDIL, cadence 10 | 42.35% |
+| released state-dependent profile | exact oracle subtraction | 46.00% |
+
+This is positive evidence that a local neutral measurement can rescue a
+centered-EP learner from a damaging constant hardware offset: both local
+correctors recover 45.45% from 10.00%, close to the 46.00% clean endpoint.
+It is negative evidence for the stronger state-dependent claim at the frozen
+R1 setting: affine SDIL is 1.50 percentage points below the matched local
+intercept and 3.65 points below the oracle. The state-dependent result must
+therefore be treated as unconfirmed until a paired multi-seed accuracy study
+shows otherwise. No residual-bias diagnostic can override this endpoint.
diff --git a/results/ep_bias/centered_r1/centered_clean.json b/results/ep_bias/centered_r1/centered_clean.json
new file mode 100644
index 0000000..cbb481d
--- /dev/null
+++ b/results/ep_bias/centered_r1/centered_clean.json
@@ -0,0 +1,82 @@
+{
+ "schema": "rain_ep_structured_bias_screen_v1",
+ "sdil": {
+ "revision": "8303dfb554a77d9f96d6feb8fb99d3493a726682"
+ },
+ "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,
+ "dillavou_profile": null,
+ "predictor_rate": 1.0,
+ "neutral_cadence": 0,
+ "layer_calibration_steps": 1,
+ "layer_bias_normalization": "clean_difference",
+ "calibration_batches": 0,
+ "calibration_observations": 0,
+ "calibration_seconds": 6.4373016357421875e-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": "0",
+ "device_name": "NVIDIA GeForce GTX 1080"
+ },
+ "metrics": [
+ {
+ "epoch": 1,
+ "train_accuracy": 0.2308,
+ "train_cost": 0.43626737241744995,
+ "test_accuracy": 0.46,
+ "test_cost": 0.3839309253692627,
+ "finite": true,
+ "corrector": {},
+ "wall_seconds": 130.83766984939575
+ }
+ ],
+ "epochs_completed": 1,
+ "beta_sign_counts": {
+ "positive": 79,
+ "negative": 79
+ },
+ "final": {
+ "epoch": 1,
+ "train_accuracy": 0.2308,
+ "train_cost": 0.43626737241744995,
+ "test_accuracy": 0.46,
+ "test_cost": 0.3839309253692627,
+ "finite": true,
+ "corrector": {},
+ "wall_seconds": 130.83766984939575
+ }
+}
diff --git a/results/ep_bias/centered_r1/fixed_intercept.json b/results/ep_bias/centered_r1/fixed_intercept.json
new file mode 100644
index 0000000..a57fd44
--- /dev/null
+++ b/results/ep_bias/centered_r1/fixed_intercept.json
@@ -0,0 +1,102 @@
+{
+ "schema": "rain_ep_structured_bias_screen_v1",
+ "sdil": {
+ "revision": "8303dfb554a77d9f96d6feb8fb99d3493a726682"
+ },
+ "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": "constant",
+ "bias_ratio": 1.0,
+ "dillavou_drift_ratio": 0.0,
+ "dillavou_calibration_steps": 1,
+ "dillavou_profile": null,
+ "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": "2",
+ "device_name": "NVIDIA GeForce GTX 1080"
+ },
+ "metrics": [
+ {
+ "epoch": 1,
+ "train_accuracy": 0.2304,
+ "train_cost": 0.43666934490203857,
+ "test_accuracy": 0.4545,
+ "test_cost": 0.3803917226791382,
+ "finite": true,
+ "corrector": {
+ "step": 78,
+ "bias_model": "dillavou_constant_update",
+ "bias_profile_source": null,
+ "clean_update_rms": 0.0011044484336776698,
+ "bias_update_rms": 0.00021003472899291755,
+ "residual_update_rms": 1.0602810794642005e-11,
+ "bias_to_clean_update_rms": 0.19017160293625407,
+ "residual_to_clean_update_rms": 9.600095822795477e-09,
+ "neutral_observations": 1
+ },
+ "wall_seconds": 137.8658630847931
+ }
+ ],
+ "epochs_completed": 1,
+ "beta_sign_counts": {
+ "positive": 79,
+ "negative": 79
+ },
+ "final": {
+ "epoch": 1,
+ "train_accuracy": 0.2304,
+ "train_cost": 0.43666934490203857,
+ "test_accuracy": 0.4545,
+ "test_cost": 0.3803917226791382,
+ "finite": true,
+ "corrector": {
+ "step": 78,
+ "bias_model": "dillavou_constant_update",
+ "bias_profile_source": null,
+ "clean_update_rms": 0.0011044484336776698,
+ "bias_update_rms": 0.00021003472899291755,
+ "residual_update_rms": 1.0602810794642005e-11,
+ "bias_to_clean_update_rms": 0.19017160293625407,
+ "residual_to_clean_update_rms": 9.600095822795477e-09,
+ "neutral_observations": 1
+ },
+ "wall_seconds": 137.8658630847931
+ }
+}
diff --git a/results/ep_bias/centered_r1/fixed_raw.json b/results/ep_bias/centered_r1/fixed_raw.json
new file mode 100644
index 0000000..03565bf
--- /dev/null
+++ b/results/ep_bias/centered_r1/fixed_raw.json
@@ -0,0 +1,102 @@
+{
+ "schema": "rain_ep_structured_bias_screen_v1",
+ "sdil": {
+ "revision": "8303dfb554a77d9f96d6feb8fb99d3493a726682"
+ },
+ "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,
+ "dillavou_profile": null,
+ "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": "1",
+ "device_name": "NVIDIA GeForce GTX 1080"
+ },
+ "metrics": [
+ {
+ "epoch": 1,
+ "train_accuracy": 0.1149,
+ "train_cost": 0.5673354202270507,
+ "test_accuracy": 0.1,
+ "test_cost": 0.47174265670776366,
+ "finite": true,
+ "corrector": {
+ "step": 78,
+ "bias_model": "dillavou_constant_update",
+ "bias_profile_source": null,
+ "clean_update_rms": 0.00034128432355234276,
+ "bias_update_rms": 0.00021003472899291755,
+ "residual_update_rms": 0.00021003472840012337,
+ "bias_to_clean_update_rms": 0.6154244848011735,
+ "residual_to_clean_update_rms": 0.6154244830642224,
+ "neutral_observations": 0
+ },
+ "wall_seconds": 137.8575496673584
+ }
+ ],
+ "epochs_completed": 1,
+ "beta_sign_counts": {
+ "positive": 79,
+ "negative": 79
+ },
+ "final": {
+ "epoch": 1,
+ "train_accuracy": 0.1149,
+ "train_cost": 0.5673354202270507,
+ "test_accuracy": 0.1,
+ "test_cost": 0.47174265670776366,
+ "finite": true,
+ "corrector": {
+ "step": 78,
+ "bias_model": "dillavou_constant_update",
+ "bias_profile_source": null,
+ "clean_update_rms": 0.00034128432355234276,
+ "bias_update_rms": 0.00021003472899291755,
+ "residual_update_rms": 0.00021003472840012337,
+ "bias_to_clean_update_rms": 0.6154244848011735,
+ "residual_to_clean_update_rms": 0.6154244830642224,
+ "neutral_observations": 0
+ },
+ "wall_seconds": 137.8575496673584
+ }
+}
diff --git a/results/ep_bias/centered_r1/fixed_sdil.json b/results/ep_bias/centered_r1/fixed_sdil.json
new file mode 100644
index 0000000..344b626
--- /dev/null
+++ b/results/ep_bias/centered_r1/fixed_sdil.json
@@ -0,0 +1,102 @@
+{
+ "schema": "rain_ep_structured_bias_screen_v1",
+ "sdil": {
+ "revision": "8303dfb554a77d9f96d6feb8fb99d3493a726682"
+ },
+ "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": "innovation",
+ "bias_ratio": 1.0,
+ "dillavou_drift_ratio": 0.0,
+ "dillavou_calibration_steps": 1,
+ "dillavou_profile": null,
+ "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.2304,
+ "train_cost": 0.43666934490203857,
+ "test_accuracy": 0.4545,
+ "test_cost": 0.3803917226791382,
+ "finite": true,
+ "corrector": {
+ "step": 78,
+ "bias_model": "dillavou_constant_update",
+ "bias_profile_source": null,
+ "clean_update_rms": 0.0011044484336776698,
+ "bias_update_rms": 0.00021003472899291755,
+ "residual_update_rms": 1.0602810794642005e-11,
+ "bias_to_clean_update_rms": 0.19017160293625407,
+ "residual_to_clean_update_rms": 9.600095822795477e-09,
+ "neutral_observations": 1
+ },
+ "wall_seconds": 137.94070744514465
+ }
+ ],
+ "epochs_completed": 1,
+ "beta_sign_counts": {
+ "positive": 79,
+ "negative": 79
+ },
+ "final": {
+ "epoch": 1,
+ "train_accuracy": 0.2304,
+ "train_cost": 0.43666934490203857,
+ "test_accuracy": 0.4545,
+ "test_cost": 0.3803917226791382,
+ "finite": true,
+ "corrector": {
+ "step": 78,
+ "bias_model": "dillavou_constant_update",
+ "bias_profile_source": null,
+ "clean_update_rms": 0.0011044484336776698,
+ "bias_update_rms": 0.00021003472899291755,
+ "residual_update_rms": 1.0602810794642005e-11,
+ "bias_to_clean_update_rms": 0.19017160293625407,
+ "residual_to_clean_update_rms": 9.600095822795477e-09,
+ "neutral_observations": 1
+ },
+ "wall_seconds": 137.94070744514465
+ }
+}
diff --git a/results/ep_bias/centered_r1/profile_intercept_c10.json b/results/ep_bias/centered_r1/profile_intercept_c10.json
new file mode 100644
index 0000000..73d1168
--- /dev/null
+++ b/results/ep_bias/centered_r1/profile_intercept_c10.json
@@ -0,0 +1,116 @@
+{
+ "schema": "rain_ep_structured_bias_screen_v1",
+ "sdil": {
+ "revision": "8303dfb554a77d9f96d6feb8fb99d3493a726682"
+ },
+ "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": "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": "5",
+ "device_name": "NVIDIA GeForce GTX 1080"
+ },
+ "metrics": [
+ {
+ "epoch": 1,
+ "train_accuracy": 0.249,
+ "train_cost": 0.4324162456512451,
+ "test_accuracy": 0.4385,
+ "test_cost": 0.3619317226409912,
+ "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.0004936866395159558,
+ "bias_update_rms": 0.00025171011857831057,
+ "residual_update_rms": 1.413279982759424e-06,
+ "bias_to_clean_update_rms": 0.5098580727748768,
+ "residual_to_clean_update_rms": 0.002862706562497013,
+ "neutral_observations": 9
+ },
+ "wall_seconds": 138.1002230644226
+ }
+ ],
+ "epochs_completed": 1,
+ "beta_sign_counts": {
+ "positive": 79,
+ "negative": 79
+ },
+ "final": {
+ "epoch": 1,
+ "train_accuracy": 0.249,
+ "train_cost": 0.4324162456512451,
+ "test_accuracy": 0.4385,
+ "test_cost": 0.3619317226409912,
+ "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.0004936866395159558,
+ "bias_update_rms": 0.00025171011857831057,
+ "residual_update_rms": 1.413279982759424e-06,
+ "bias_to_clean_update_rms": 0.5098580727748768,
+ "residual_to_clean_update_rms": 0.002862706562497013,
+ "neutral_observations": 9
+ },
+ "wall_seconds": 138.1002230644226
+ }
+}
diff --git a/results/ep_bias/centered_r1/profile_oracle.json b/results/ep_bias/centered_r1/profile_oracle.json
new file mode 100644
index 0000000..df6fb8e
--- /dev/null
+++ b/results/ep_bias/centered_r1/profile_oracle.json
@@ -0,0 +1,116 @@
+{
+ "schema": "rain_ep_structured_bias_screen_v1",
+ "sdil": {
+ "revision": "8303dfb554a77d9f96d6feb8fb99d3493a726682"
+ },
+ "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": "oracle",
+ "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": "7",
+ "device_name": "NVIDIA GeForce GTX 1080"
+ },
+ "metrics": [
+ {
+ "epoch": 1,
+ "train_accuracy": 0.2308,
+ "train_cost": 0.43626737241744995,
+ "test_accuracy": 0.46,
+ "test_cost": 0.3839309253692627,
+ "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.0009772534371706094,
+ "bias_update_rms": 0.0002524120618225105,
+ "residual_update_rms": 0.0,
+ "bias_to_clean_update_rms": 0.2582872080279461,
+ "residual_to_clean_update_rms": 0.0,
+ "neutral_observations": 0
+ },
+ "wall_seconds": 137.5885124206543
+ }
+ ],
+ "epochs_completed": 1,
+ "beta_sign_counts": {
+ "positive": 79,
+ "negative": 79
+ },
+ "final": {
+ "epoch": 1,
+ "train_accuracy": 0.2308,
+ "train_cost": 0.43626737241744995,
+ "test_accuracy": 0.46,
+ "test_cost": 0.3839309253692627,
+ "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.0009772534371706094,
+ "bias_update_rms": 0.0002524120618225105,
+ "residual_update_rms": 0.0,
+ "bias_to_clean_update_rms": 0.2582872080279461,
+ "residual_to_clean_update_rms": 0.0,
+ "neutral_observations": 0
+ },
+ "wall_seconds": 137.5885124206543
+ }
+}
diff --git a/results/ep_bias/centered_r1/profile_raw.json b/results/ep_bias/centered_r1/profile_raw.json
new file mode 100644
index 0000000..f9bf595
--- /dev/null
+++ b/results/ep_bias/centered_r1/profile_raw.json
@@ -0,0 +1,116 @@
+{
+ "schema": "rain_ep_structured_bias_screen_v1",
+ "sdil": {
+ "revision": "8303dfb554a77d9f96d6feb8fb99d3493a726682"
+ },
+ "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,
+ "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": "4",
+ "device_name": "NVIDIA GeForce GTX 1080"
+ },
+ "metrics": [
+ {
+ "epoch": 1,
+ "train_accuracy": 0.2093,
+ "train_cost": 0.4421197051048279,
+ "test_accuracy": 0.327,
+ "test_cost": 0.46289371490478515,
+ "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.0012909030409078857,
+ "bias_update_rms": 0.0001695388850772445,
+ "residual_update_rms": 0.00016953888489916748,
+ "bias_to_clean_update_rms": 0.13133355465489385,
+ "residual_to_clean_update_rms": 0.13133355451694623,
+ "neutral_observations": 0
+ },
+ "wall_seconds": 137.36874747276306
+ }
+ ],
+ "epochs_completed": 1,
+ "beta_sign_counts": {
+ "positive": 79,
+ "negative": 79
+ },
+ "final": {
+ "epoch": 1,
+ "train_accuracy": 0.2093,
+ "train_cost": 0.4421197051048279,
+ "test_accuracy": 0.327,
+ "test_cost": 0.46289371490478515,
+ "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.0012909030409078857,
+ "bias_update_rms": 0.0001695388850772445,
+ "residual_update_rms": 0.00016953888489916748,
+ "bias_to_clean_update_rms": 0.13133355465489385,
+ "residual_to_clean_update_rms": 0.13133355451694623,
+ "neutral_observations": 0
+ },
+ "wall_seconds": 137.36874747276306
+ }
+}
diff --git a/results/ep_bias/centered_r1/profile_sdil_c10.json b/results/ep_bias/centered_r1/profile_sdil_c10.json
new file mode 100644
index 0000000..dfaa9a9
--- /dev/null
+++ b/results/ep_bias/centered_r1/profile_sdil_c10.json
@@ -0,0 +1,116 @@
+{
+ "schema": "rain_ep_structured_bias_screen_v1",
+ "sdil": {
+ "revision": "8303dfb554a77d9f96d6feb8fb99d3493a726682"
+ },
+ "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": "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": 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": "6",
+ "device_name": "NVIDIA GeForce GTX 1080"
+ },
+ "metrics": [
+ {
+ "epoch": 1,
+ "train_accuracy": 0.2498,
+ "train_cost": 0.4320692925453186,
+ "test_accuracy": 0.4235,
+ "test_cost": 0.3628904857635498,
+ "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.0006811105802259239,
+ "bias_update_rms": 0.0002513182896654536,
+ "residual_update_rms": 1.327408381150856e-06,
+ "bias_to_clean_update_rms": 0.3689830946130532,
+ "residual_to_clean_update_rms": 0.0019488882124111997,
+ "neutral_observations": 9
+ },
+ "wall_seconds": 137.58509063720703
+ }
+ ],
+ "epochs_completed": 1,
+ "beta_sign_counts": {
+ "positive": 79,
+ "negative": 79
+ },
+ "final": {
+ "epoch": 1,
+ "train_accuracy": 0.2498,
+ "train_cost": 0.4320692925453186,
+ "test_accuracy": 0.4235,
+ "test_cost": 0.3628904857635498,
+ "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.0006811105802259239,
+ "bias_update_rms": 0.0002513182896654536,
+ "residual_update_rms": 1.327408381150856e-06,
+ "bias_to_clean_update_rms": 0.3689830946130532,
+ "residual_to_clean_update_rms": 0.0019488882124111997,
+ "neutral_observations": 9
+ },
+ "wall_seconds": 137.58509063720703
+ }
+}
diff --git a/results/ep_bias/centered_r1/summary.json b/results/ep_bias/centered_r1/summary.json
new file mode 100644
index 0000000..4efdce1
--- /dev/null
+++ b/results/ep_bias/centered_r1/summary.json
@@ -0,0 +1,42 @@
+{
+ "centered_clean": {
+ "holdout_accuracy": 0.46,
+ "finite": true,
+ "wall_seconds": 130.83766984939575
+ },
+ "fixed_intercept": {
+ "holdout_accuracy": 0.4545,
+ "finite": true,
+ "wall_seconds": 137.8658630847931
+ },
+ "fixed_raw": {
+ "holdout_accuracy": 0.1,
+ "finite": true,
+ "wall_seconds": 137.8575496673584
+ },
+ "fixed_sdil": {
+ "holdout_accuracy": 0.4545,
+ "finite": true,
+ "wall_seconds": 137.94070744514465
+ },
+ "profile_intercept_c10": {
+ "holdout_accuracy": 0.4385,
+ "finite": true,
+ "wall_seconds": 138.1002230644226
+ },
+ "profile_oracle": {
+ "holdout_accuracy": 0.46,
+ "finite": true,
+ "wall_seconds": 137.5885124206543
+ },
+ "profile_raw": {
+ "holdout_accuracy": 0.327,
+ "finite": true,
+ "wall_seconds": 137.36874747276306
+ },
+ "profile_sdil_c10": {
+ "holdout_accuracy": 0.4235,
+ "finite": true,
+ "wall_seconds": 137.58509063720703
+ }
+}