diff options
| -rw-r--r-- | RAIN_EP_RELEASED_PROFILE.md | 24 | ||||
| -rw-r--r-- | results/ep_bias/centered_r1/centered_clean.json | 82 | ||||
| -rw-r--r-- | results/ep_bias/centered_r1/fixed_intercept.json | 102 | ||||
| -rw-r--r-- | results/ep_bias/centered_r1/fixed_raw.json | 102 | ||||
| -rw-r--r-- | results/ep_bias/centered_r1/fixed_sdil.json | 102 | ||||
| -rw-r--r-- | results/ep_bias/centered_r1/profile_intercept_c10.json | 116 | ||||
| -rw-r--r-- | results/ep_bias/centered_r1/profile_oracle.json | 116 | ||||
| -rw-r--r-- | results/ep_bias/centered_r1/profile_raw.json | 116 | ||||
| -rw-r--r-- | results/ep_bias/centered_r1/profile_sdil_c10.json | 116 | ||||
| -rw-r--r-- | results/ep_bias/centered_r1/summary.json | 42 |
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 + } +} |
