From d8fe36a0c44fd45edb6a637d3530fdaeeca74fd5 Mon Sep 17 00:00:00 2001 From: YurenHao0426 Date: Thu, 6 Aug 2026 17:15:51 -0500 Subject: results: audit Rain EP bias confirmation --- results/ep_bias/c1/launch-s1989.json | 24 ++++ results/ep_bias/c1/launch-s1990.json | 24 ++++ results/ep_bias/c1/launch-s1991.json | 24 ++++ results/ep_bias/c1/launch-s1992.json | 24 ++++ results/ep_bias/c1/launch-s1993.json | 24 ++++ results/ep_bias/c1/rain-ep-c1-s1989-clean.json | 89 +++++++++++++ results/ep_bias/c1/rain-ep-c1-s1989-constant.json | 121 ++++++++++++++++++ .../ep_bias/c1/rain-ep-c1-s1989-innovation.json | 121 ++++++++++++++++++ results/ep_bias/c1/rain-ep-c1-s1989-noise.json | 121 ++++++++++++++++++ results/ep_bias/c1/rain-ep-c1-s1989-oracle.json | 121 ++++++++++++++++++ results/ep_bias/c1/rain-ep-c1-s1989-raw.json | 121 ++++++++++++++++++ results/ep_bias/c1/rain-ep-c1-s1990-clean.json | 89 +++++++++++++ results/ep_bias/c1/rain-ep-c1-s1990-constant.json | 121 ++++++++++++++++++ .../ep_bias/c1/rain-ep-c1-s1990-innovation.json | 121 ++++++++++++++++++ results/ep_bias/c1/rain-ep-c1-s1990-noise.json | 121 ++++++++++++++++++ results/ep_bias/c1/rain-ep-c1-s1990-oracle.json | 121 ++++++++++++++++++ results/ep_bias/c1/rain-ep-c1-s1990-raw.json | 121 ++++++++++++++++++ results/ep_bias/c1/rain-ep-c1-s1991-clean.json | 89 +++++++++++++ results/ep_bias/c1/rain-ep-c1-s1991-constant.json | 121 ++++++++++++++++++ .../ep_bias/c1/rain-ep-c1-s1991-innovation.json | 121 ++++++++++++++++++ results/ep_bias/c1/rain-ep-c1-s1991-noise.json | 121 ++++++++++++++++++ results/ep_bias/c1/rain-ep-c1-s1991-oracle.json | 121 ++++++++++++++++++ results/ep_bias/c1/rain-ep-c1-s1991-raw.json | 121 ++++++++++++++++++ results/ep_bias/c1/rain-ep-c1-s1992-clean.json | 89 +++++++++++++ results/ep_bias/c1/rain-ep-c1-s1992-constant.json | 121 ++++++++++++++++++ .../ep_bias/c1/rain-ep-c1-s1992-innovation.json | 121 ++++++++++++++++++ results/ep_bias/c1/rain-ep-c1-s1992-noise.json | 121 ++++++++++++++++++ results/ep_bias/c1/rain-ep-c1-s1992-oracle.json | 121 ++++++++++++++++++ results/ep_bias/c1/rain-ep-c1-s1992-raw.json | 121 ++++++++++++++++++ results/ep_bias/c1/rain-ep-c1-s1993-clean.json | 89 +++++++++++++ results/ep_bias/c1/rain-ep-c1-s1993-constant.json | 121 ++++++++++++++++++ .../ep_bias/c1/rain-ep-c1-s1993-innovation.json | 121 ++++++++++++++++++ results/ep_bias/c1/rain-ep-c1-s1993-noise.json | 121 ++++++++++++++++++ results/ep_bias/c1/rain-ep-c1-s1993-oracle.json | 121 ++++++++++++++++++ results/ep_bias/c1/rain-ep-c1-s1993-raw.json | 121 ++++++++++++++++++ results/ep_bias/c1_gate.json | 142 +++++++++++++++++++++ 36 files changed, 3732 insertions(+) create mode 100644 results/ep_bias/c1/launch-s1989.json create mode 100644 results/ep_bias/c1/launch-s1990.json create mode 100644 results/ep_bias/c1/launch-s1991.json create mode 100644 results/ep_bias/c1/launch-s1992.json create mode 100644 results/ep_bias/c1/launch-s1993.json create mode 100644 results/ep_bias/c1/rain-ep-c1-s1989-clean.json create mode 100644 results/ep_bias/c1/rain-ep-c1-s1989-constant.json create mode 100644 results/ep_bias/c1/rain-ep-c1-s1989-innovation.json create mode 100644 results/ep_bias/c1/rain-ep-c1-s1989-noise.json create mode 100644 results/ep_bias/c1/rain-ep-c1-s1989-oracle.json create mode 100644 results/ep_bias/c1/rain-ep-c1-s1989-raw.json create mode 100644 results/ep_bias/c1/rain-ep-c1-s1990-clean.json create mode 100644 results/ep_bias/c1/rain-ep-c1-s1990-constant.json create mode 100644 results/ep_bias/c1/rain-ep-c1-s1990-innovation.json create mode 100644 results/ep_bias/c1/rain-ep-c1-s1990-noise.json create mode 100644 results/ep_bias/c1/rain-ep-c1-s1990-oracle.json create mode 100644 results/ep_bias/c1/rain-ep-c1-s1990-raw.json create mode 100644 results/ep_bias/c1/rain-ep-c1-s1991-clean.json create mode 100644 results/ep_bias/c1/rain-ep-c1-s1991-constant.json create mode 100644 results/ep_bias/c1/rain-ep-c1-s1991-innovation.json create mode 100644 results/ep_bias/c1/rain-ep-c1-s1991-noise.json create mode 100644 results/ep_bias/c1/rain-ep-c1-s1991-oracle.json create mode 100644 results/ep_bias/c1/rain-ep-c1-s1991-raw.json create mode 100644 results/ep_bias/c1/rain-ep-c1-s1992-clean.json create mode 100644 results/ep_bias/c1/rain-ep-c1-s1992-constant.json create mode 100644 results/ep_bias/c1/rain-ep-c1-s1992-innovation.json create mode 100644 results/ep_bias/c1/rain-ep-c1-s1992-noise.json create mode 100644 results/ep_bias/c1/rain-ep-c1-s1992-oracle.json create mode 100644 results/ep_bias/c1/rain-ep-c1-s1992-raw.json create mode 100644 results/ep_bias/c1/rain-ep-c1-s1993-clean.json create mode 100644 results/ep_bias/c1/rain-ep-c1-s1993-constant.json create mode 100644 results/ep_bias/c1/rain-ep-c1-s1993-innovation.json create mode 100644 results/ep_bias/c1/rain-ep-c1-s1993-noise.json create mode 100644 results/ep_bias/c1/rain-ep-c1-s1993-oracle.json create mode 100644 results/ep_bias/c1/rain-ep-c1-s1993-raw.json create mode 100644 results/ep_bias/c1_gate.json diff --git a/results/ep_bias/c1/launch-s1989.json b/results/ep_bias/c1/launch-s1989.json new file mode 100644 index 0000000..3f188be --- /dev/null +++ b/results/ep_bias/c1/launch-s1989.json @@ -0,0 +1,24 @@ +{ + "author_revision": "6b253fd8a5d267535f58ab79992256ef10031ceb", + "conditions": [ + "clean", + "raw", + "same_rms_noise", + "constant", + "innovation", + "oracle" + ], + "cuda_visible_devices": "5", + "outputs": [ + "results/ep_bias/c1/rain-ep-c1-s1989-clean.json", + "results/ep_bias/c1/rain-ep-c1-s1989-raw.json", + "results/ep_bias/c1/rain-ep-c1-s1989-noise.json", + "results/ep_bias/c1/rain-ep-c1-s1989-constant.json", + "results/ep_bias/c1/rain-ep-c1-s1989-innovation.json", + "results/ep_bias/c1/rain-ep-c1-s1989-oracle.json" + ], + "sdil_revision": "a10a84066a6f7aa38d86b1a71ed371c9c6f22815", + "seed": 1989, + "stage": "rain_ep_bias_c1", + "wall_seconds": 226.93412446975708 +} diff --git a/results/ep_bias/c1/launch-s1990.json b/results/ep_bias/c1/launch-s1990.json new file mode 100644 index 0000000..18a83fa --- /dev/null +++ b/results/ep_bias/c1/launch-s1990.json @@ -0,0 +1,24 @@ +{ + "author_revision": "6b253fd8a5d267535f58ab79992256ef10031ceb", + "conditions": [ + "clean", + "raw", + "same_rms_noise", + "constant", + "innovation", + "oracle" + ], + "cuda_visible_devices": "7", + "outputs": [ + "results/ep_bias/c1/rain-ep-c1-s1990-clean.json", + "results/ep_bias/c1/rain-ep-c1-s1990-raw.json", + "results/ep_bias/c1/rain-ep-c1-s1990-noise.json", + "results/ep_bias/c1/rain-ep-c1-s1990-constant.json", + "results/ep_bias/c1/rain-ep-c1-s1990-innovation.json", + "results/ep_bias/c1/rain-ep-c1-s1990-oracle.json" + ], + "sdil_revision": "a10a84066a6f7aa38d86b1a71ed371c9c6f22815", + "seed": 1990, + "stage": "rain_ep_bias_c1", + "wall_seconds": 226.81082963943481 +} diff --git a/results/ep_bias/c1/launch-s1991.json b/results/ep_bias/c1/launch-s1991.json new file mode 100644 index 0000000..4efa76b --- /dev/null +++ b/results/ep_bias/c1/launch-s1991.json @@ -0,0 +1,24 @@ +{ + "author_revision": "6b253fd8a5d267535f58ab79992256ef10031ceb", + "conditions": [ + "clean", + "raw", + "same_rms_noise", + "constant", + "innovation", + "oracle" + ], + "cuda_visible_devices": "5", + "outputs": [ + "results/ep_bias/c1/rain-ep-c1-s1991-clean.json", + "results/ep_bias/c1/rain-ep-c1-s1991-raw.json", + "results/ep_bias/c1/rain-ep-c1-s1991-noise.json", + "results/ep_bias/c1/rain-ep-c1-s1991-constant.json", + "results/ep_bias/c1/rain-ep-c1-s1991-innovation.json", + "results/ep_bias/c1/rain-ep-c1-s1991-oracle.json" + ], + "sdil_revision": "a10a84066a6f7aa38d86b1a71ed371c9c6f22815", + "seed": 1991, + "stage": "rain_ep_bias_c1", + "wall_seconds": 230.86860918998718 +} diff --git a/results/ep_bias/c1/launch-s1992.json b/results/ep_bias/c1/launch-s1992.json new file mode 100644 index 0000000..12a4efa --- /dev/null +++ b/results/ep_bias/c1/launch-s1992.json @@ -0,0 +1,24 @@ +{ + "author_revision": "6b253fd8a5d267535f58ab79992256ef10031ceb", + "conditions": [ + "clean", + "raw", + "same_rms_noise", + "constant", + "innovation", + "oracle" + ], + "cuda_visible_devices": "7", + "outputs": [ + "results/ep_bias/c1/rain-ep-c1-s1992-clean.json", + "results/ep_bias/c1/rain-ep-c1-s1992-raw.json", + "results/ep_bias/c1/rain-ep-c1-s1992-noise.json", + "results/ep_bias/c1/rain-ep-c1-s1992-constant.json", + "results/ep_bias/c1/rain-ep-c1-s1992-innovation.json", + "results/ep_bias/c1/rain-ep-c1-s1992-oracle.json" + ], + "sdil_revision": "a10a84066a6f7aa38d86b1a71ed371c9c6f22815", + "seed": 1992, + "stage": "rain_ep_bias_c1", + "wall_seconds": 226.50743961334229 +} diff --git a/results/ep_bias/c1/launch-s1993.json b/results/ep_bias/c1/launch-s1993.json new file mode 100644 index 0000000..52b7311 --- /dev/null +++ b/results/ep_bias/c1/launch-s1993.json @@ -0,0 +1,24 @@ +{ + "author_revision": "6b253fd8a5d267535f58ab79992256ef10031ceb", + "conditions": [ + "clean", + "raw", + "same_rms_noise", + "constant", + "innovation", + "oracle" + ], + "cuda_visible_devices": "5", + "outputs": [ + "results/ep_bias/c1/rain-ep-c1-s1993-clean.json", + "results/ep_bias/c1/rain-ep-c1-s1993-raw.json", + "results/ep_bias/c1/rain-ep-c1-s1993-noise.json", + "results/ep_bias/c1/rain-ep-c1-s1993-constant.json", + "results/ep_bias/c1/rain-ep-c1-s1993-innovation.json", + "results/ep_bias/c1/rain-ep-c1-s1993-oracle.json" + ], + "sdil_revision": "a10a84066a6f7aa38d86b1a71ed371c9c6f22815", + "seed": 1993, + "stage": "rain_ep_bias_c1", + "wall_seconds": 229.66089177131653 +} diff --git a/results/ep_bias/c1/rain-ep-c1-s1989-clean.json b/results/ep_bias/c1/rain-ep-c1-s1989-clean.json new file mode 100644 index 0000000..abea4e1 --- /dev/null +++ b/results/ep_bias/c1/rain-ep-c1-s1989-clean.json @@ -0,0 +1,89 @@ +{ + "schema": "rain_ep_structured_bias_screen_v1", + "sdil": { + "revision": "a10a84066a6f7aa38d86b1a71ed371c9c6f22815" + }, + "author": { + "repository": "https://github.com/rain-neuromorphics/energy-based-learning", + "revision": "6b253fd8a5d267535f58ab79992256ef10031ceb" + }, + "protocol": { + "dataset": "FashionMNIST", + "network": "author ConvHopfieldEnergy28 32-64-10", + "algorithm": "positive equilibrium propagation", + "adapter": "layer", + "mode": "clean", + "bias_ratio": 0.01, + "predictor_rate": 0.2, + "neutral_cadence": 1, + "layer_calibration_steps": 1, + "calibration_batches": 0, + "calibration_observations": 0, + "calibration_seconds": 2.384185791015625e-07, + "extra_equilibrium_phases_for_predictor": 0, + "predictor_neutral_source": "existing_first_EP_phase", + "bias_ratio_normalization": "experimenter_initial_clean_layer_state_difference_rms", + "bias_ratio_normalization_visible_to_predictor": false, + "epochs": 3, + "train_limit": 10000, + "test_limit": 2000, + "evaluation_split": "train_holdout", + "data_seed": 6100, + "batch_size": 128, + "training_iterations": 12, + "inference_iterations": 30, + "seed": 1989, + "device": "cuda", + "determinism": "author_default", + "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.6011, + "train_cost": 0.3022894215583801, + "test_accuracy": 0.7545, + "test_cost": 0.21480901718139647, + "finite": true, + "corrector": {}, + "wall_seconds": 11.132749795913696 + }, + { + "epoch": 2, + "train_accuracy": 0.7858, + "train_cost": 0.1894368099451065, + "test_accuracy": 0.7985, + "test_cost": 0.1832209153175354, + "finite": true, + "corrector": {}, + "wall_seconds": 21.85284399986267 + }, + { + "epoch": 3, + "train_accuracy": 0.823, + "train_cost": 0.16825321094989776, + "test_accuracy": 0.7705, + "test_cost": 0.22080597877502442, + "finite": true, + "corrector": {}, + "wall_seconds": 32.49429488182068 + } + ], + "epochs_completed": 3, + "final": { + "epoch": 3, + "train_accuracy": 0.823, + "train_cost": 0.16825321094989776, + "test_accuracy": 0.7705, + "test_cost": 0.22080597877502442, + "finite": true, + "corrector": {}, + "wall_seconds": 32.49429488182068 + } +} diff --git a/results/ep_bias/c1/rain-ep-c1-s1989-constant.json b/results/ep_bias/c1/rain-ep-c1-s1989-constant.json new file mode 100644 index 0000000..da41128 --- /dev/null +++ b/results/ep_bias/c1/rain-ep-c1-s1989-constant.json @@ -0,0 +1,121 @@ +{ + "schema": "rain_ep_structured_bias_screen_v1", + "sdil": { + "revision": "a10a84066a6f7aa38d86b1a71ed371c9c6f22815" + }, + "author": { + "repository": "https://github.com/rain-neuromorphics/energy-based-learning", + "revision": "6b253fd8a5d267535f58ab79992256ef10031ceb" + }, + "protocol": { + "dataset": "FashionMNIST", + "network": "author ConvHopfieldEnergy28 32-64-10", + "algorithm": "positive equilibrium propagation", + "adapter": "layer", + "mode": "constant", + "bias_ratio": 0.01, + "predictor_rate": 0.2, + "neutral_cadence": 1, + "layer_calibration_steps": 1, + "calibration_batches": 0, + "calibration_observations": 0, + "calibration_seconds": 4.76837158203125e-07, + "extra_equilibrium_phases_for_predictor": 0, + "predictor_neutral_source": "existing_first_EP_phase", + "bias_ratio_normalization": "experimenter_initial_clean_layer_state_difference_rms", + "bias_ratio_normalization_visible_to_predictor": false, + "epochs": 3, + "train_limit": 10000, + "test_limit": 2000, + "evaluation_split": "train_holdout", + "data_seed": 6100, + "batch_size": 128, + "training_iterations": 12, + "inference_iterations": 30, + "seed": 1989, + "device": "cuda", + "determinism": "author_default", + "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.5553, + "train_cost": 0.3266469940185547, + "test_accuracy": 0.6585, + "test_cost": 0.27255614757537844, + "finite": true, + "corrector": { + "step": 78, + "clean_state_difference_rms": 0.0026502849865602716, + "bias_state_difference_rms": 6.597840815104088e-05, + "residual_state_difference_rms": 6.63382732544915e-05, + "bias_to_clean_state_difference_rms": 0.0248948352670074, + "residual_to_clean_state_difference_rms": 0.02503061881680507, + "neutral_observations": 128 + }, + "wall_seconds": 11.414257526397705 + }, + { + "epoch": 2, + "train_accuracy": 0.7128, + "train_cost": 0.24951929726600647, + "test_accuracy": 0.7085, + "test_cost": 0.26604074382781984, + "finite": true, + "corrector": { + "step": 157, + "clean_state_difference_rms": 0.0022326491427416568, + "bias_state_difference_rms": 6.530270542461897e-05, + "residual_state_difference_rms": 7.004920600982192e-05, + "bias_to_clean_state_difference_rms": 0.029248977895572213, + "residual_to_clean_state_difference_rms": 0.031374927958363684, + "neutral_observations": 128 + }, + "wall_seconds": 22.033861875534058 + }, + { + "epoch": 3, + "train_accuracy": 0.6942, + "train_cost": 0.2630636814117432, + "test_accuracy": 0.681, + "test_cost": 0.26452357196807863, + "finite": true, + "corrector": { + "step": 236, + "clean_state_difference_rms": 0.00238359278809533, + "bias_state_difference_rms": 7.094849044473985e-05, + "residual_state_difference_rms": 6.888688589975997e-05, + "bias_to_clean_state_difference_rms": 0.029765357068995427, + "residual_to_clean_state_difference_rms": 0.028900442325471953, + "neutral_observations": 128 + }, + "wall_seconds": 32.970885038375854 + } + ], + "epochs_completed": 3, + "final": { + "epoch": 3, + "train_accuracy": 0.6942, + "train_cost": 0.2630636814117432, + "test_accuracy": 0.681, + "test_cost": 0.26452357196807863, + "finite": true, + "corrector": { + "step": 236, + "clean_state_difference_rms": 0.00238359278809533, + "bias_state_difference_rms": 7.094849044473985e-05, + "residual_state_difference_rms": 6.888688589975997e-05, + "bias_to_clean_state_difference_rms": 0.029765357068995427, + "residual_to_clean_state_difference_rms": 0.028900442325471953, + "neutral_observations": 128 + }, + "wall_seconds": 32.970885038375854 + } +} diff --git a/results/ep_bias/c1/rain-ep-c1-s1989-innovation.json b/results/ep_bias/c1/rain-ep-c1-s1989-innovation.json new file mode 100644 index 0000000..37127bb --- /dev/null +++ b/results/ep_bias/c1/rain-ep-c1-s1989-innovation.json @@ -0,0 +1,121 @@ +{ + "schema": "rain_ep_structured_bias_screen_v1", + "sdil": { + "revision": "a10a84066a6f7aa38d86b1a71ed371c9c6f22815" + }, + "author": { + "repository": "https://github.com/rain-neuromorphics/energy-based-learning", + "revision": "6b253fd8a5d267535f58ab79992256ef10031ceb" + }, + "protocol": { + "dataset": "FashionMNIST", + "network": "author ConvHopfieldEnergy28 32-64-10", + "algorithm": "positive equilibrium propagation", + "adapter": "layer", + "mode": "innovation", + "bias_ratio": 0.01, + "predictor_rate": 0.2, + "neutral_cadence": 1, + "layer_calibration_steps": 1, + "calibration_batches": 0, + "calibration_observations": 0, + "calibration_seconds": 7.152557373046875e-07, + "extra_equilibrium_phases_for_predictor": 0, + "predictor_neutral_source": "existing_first_EP_phase", + "bias_ratio_normalization": "experimenter_initial_clean_layer_state_difference_rms", + "bias_ratio_normalization_visible_to_predictor": false, + "epochs": 3, + "train_limit": 10000, + "test_limit": 2000, + "evaluation_split": "train_holdout", + "data_seed": 6100, + "batch_size": 128, + "training_iterations": 12, + "inference_iterations": 30, + "seed": 1989, + "device": "cuda", + "determinism": "author_default", + "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.5915, + "train_cost": 0.309255326461792, + "test_accuracy": 0.7545, + "test_cost": 0.2258686990737915, + "finite": true, + "corrector": { + "step": 78, + "clean_state_difference_rms": 0.002857925972761342, + "bias_state_difference_rms": 6.838680302328663e-05, + "residual_state_difference_rms": 1.710082041081434e-05, + "bias_to_clean_state_difference_rms": 0.023928822396057713, + "residual_to_clean_state_difference_rms": 0.005983647083164804, + "neutral_observations": 128 + }, + "wall_seconds": 11.530439376831055 + }, + { + "epoch": 2, + "train_accuracy": 0.7674, + "train_cost": 0.20665442609786988, + "test_accuracy": 0.783, + "test_cost": 0.1913930902481079, + "finite": true, + "corrector": { + "step": 157, + "clean_state_difference_rms": 0.0022606185726693454, + "bias_state_difference_rms": 6.800653175633376e-05, + "residual_state_difference_rms": 1.7386926461635754e-05, + "bias_to_clean_state_difference_rms": 0.030083151832213533, + "residual_to_clean_state_difference_rms": 0.007691225168120784, + "neutral_observations": 128 + }, + "wall_seconds": 22.41246509552002 + }, + { + "epoch": 3, + "train_accuracy": 0.7971, + "train_cost": 0.18733456535339355, + "test_accuracy": 0.75, + "test_cost": 0.22606964588165282, + "finite": true, + "corrector": { + "step": 236, + "clean_state_difference_rms": 0.0035759885538431554, + "bias_state_difference_rms": 6.749654427279662e-05, + "residual_state_difference_rms": 1.7722733219605922e-05, + "bias_to_clean_state_difference_rms": 0.018874932974899297, + "residual_to_clean_state_difference_rms": 0.004956037457267333, + "neutral_observations": 128 + }, + "wall_seconds": 33.14427208900452 + } + ], + "epochs_completed": 3, + "final": { + "epoch": 3, + "train_accuracy": 0.7971, + "train_cost": 0.18733456535339355, + "test_accuracy": 0.75, + "test_cost": 0.22606964588165282, + "finite": true, + "corrector": { + "step": 236, + "clean_state_difference_rms": 0.0035759885538431554, + "bias_state_difference_rms": 6.749654427279662e-05, + "residual_state_difference_rms": 1.7722733219605922e-05, + "bias_to_clean_state_difference_rms": 0.018874932974899297, + "residual_to_clean_state_difference_rms": 0.004956037457267333, + "neutral_observations": 128 + }, + "wall_seconds": 33.14427208900452 + } +} diff --git a/results/ep_bias/c1/rain-ep-c1-s1989-noise.json b/results/ep_bias/c1/rain-ep-c1-s1989-noise.json new file mode 100644 index 0000000..e4928ec --- /dev/null +++ b/results/ep_bias/c1/rain-ep-c1-s1989-noise.json @@ -0,0 +1,121 @@ +{ + "schema": "rain_ep_structured_bias_screen_v1", + "sdil": { + "revision": "a10a84066a6f7aa38d86b1a71ed371c9c6f22815" + }, + "author": { + "repository": "https://github.com/rain-neuromorphics/energy-based-learning", + "revision": "6b253fd8a5d267535f58ab79992256ef10031ceb" + }, + "protocol": { + "dataset": "FashionMNIST", + "network": "author ConvHopfieldEnergy28 32-64-10", + "algorithm": "positive equilibrium propagation", + "adapter": "layer", + "mode": "same_rms_noise", + "bias_ratio": 0.01, + "predictor_rate": 0.2, + "neutral_cadence": 1, + "layer_calibration_steps": 1, + "calibration_batches": 0, + "calibration_observations": 0, + "calibration_seconds": 4.76837158203125e-07, + "extra_equilibrium_phases_for_predictor": 0, + "predictor_neutral_source": "existing_first_EP_phase", + "bias_ratio_normalization": "experimenter_initial_clean_layer_state_difference_rms", + "bias_ratio_normalization_visible_to_predictor": false, + "epochs": 3, + "train_limit": 10000, + "test_limit": 2000, + "evaluation_split": "train_holdout", + "data_seed": 6100, + "batch_size": 128, + "training_iterations": 12, + "inference_iterations": 30, + "seed": 1989, + "device": "cuda", + "determinism": "author_default", + "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.6017, + "train_cost": 0.30215022211074827, + "test_accuracy": 0.761, + "test_cost": 0.2138809404373169, + "finite": true, + "corrector": { + "step": 78, + "clean_state_difference_rms": 0.002920974688811938, + "bias_state_difference_rms": 6.663539274315504e-05, + "residual_state_difference_rms": 6.636989063542658e-05, + "bias_to_clean_state_difference_rms": 0.022812725149035092, + "residual_to_clean_state_difference_rms": 0.02272183011021623, + "neutral_observations": 0 + }, + "wall_seconds": 11.205537796020508 + }, + { + "epoch": 2, + "train_accuracy": 0.7882, + "train_cost": 0.188776060628891, + "test_accuracy": 0.8015, + "test_cost": 0.1777397050857544, + "finite": true, + "corrector": { + "step": 157, + "clean_state_difference_rms": 0.0032720191567634283, + "bias_state_difference_rms": 6.637821262985081e-05, + "residual_state_difference_rms": 6.59492970724865e-05, + "bias_to_clean_state_difference_rms": 0.020286621028071827, + "residual_to_clean_state_difference_rms": 0.020155535133761667, + "neutral_observations": 0 + }, + "wall_seconds": 21.835002899169922 + }, + { + "epoch": 3, + "train_accuracy": 0.822, + "train_cost": 0.16819184494018555, + "test_accuracy": 0.7965, + "test_cost": 0.18230166244506835, + "finite": true, + "corrector": { + "step": 236, + "clean_state_difference_rms": 0.0061238763125476565, + "bias_state_difference_rms": 6.725749249790725e-05, + "residual_state_difference_rms": 6.796068294087145e-05, + "bias_to_clean_state_difference_rms": 0.010982830002640399, + "residual_to_clean_state_difference_rms": 0.011097657671762877, + "neutral_observations": 0 + }, + "wall_seconds": 32.36355447769165 + } + ], + "epochs_completed": 3, + "final": { + "epoch": 3, + "train_accuracy": 0.822, + "train_cost": 0.16819184494018555, + "test_accuracy": 0.7965, + "test_cost": 0.18230166244506835, + "finite": true, + "corrector": { + "step": 236, + "clean_state_difference_rms": 0.0061238763125476565, + "bias_state_difference_rms": 6.725749249790725e-05, + "residual_state_difference_rms": 6.796068294087145e-05, + "bias_to_clean_state_difference_rms": 0.010982830002640399, + "residual_to_clean_state_difference_rms": 0.011097657671762877, + "neutral_observations": 0 + }, + "wall_seconds": 32.36355447769165 + } +} diff --git a/results/ep_bias/c1/rain-ep-c1-s1989-oracle.json b/results/ep_bias/c1/rain-ep-c1-s1989-oracle.json new file mode 100644 index 0000000..b5b6f8f --- /dev/null +++ b/results/ep_bias/c1/rain-ep-c1-s1989-oracle.json @@ -0,0 +1,121 @@ +{ + "schema": "rain_ep_structured_bias_screen_v1", + "sdil": { + "revision": "a10a84066a6f7aa38d86b1a71ed371c9c6f22815" + }, + "author": { + "repository": "https://github.com/rain-neuromorphics/energy-based-learning", + "revision": "6b253fd8a5d267535f58ab79992256ef10031ceb" + }, + "protocol": { + "dataset": "FashionMNIST", + "network": "author ConvHopfieldEnergy28 32-64-10", + "algorithm": "positive equilibrium propagation", + "adapter": "layer", + "mode": "oracle", + "bias_ratio": 0.01, + "predictor_rate": 0.2, + "neutral_cadence": 1, + "layer_calibration_steps": 1, + "calibration_batches": 0, + "calibration_observations": 0, + "calibration_seconds": 4.76837158203125e-07, + "extra_equilibrium_phases_for_predictor": 0, + "predictor_neutral_source": "existing_first_EP_phase", + "bias_ratio_normalization": "experimenter_initial_clean_layer_state_difference_rms", + "bias_ratio_normalization_visible_to_predictor": false, + "epochs": 3, + "train_limit": 10000, + "test_limit": 2000, + "evaluation_split": "train_holdout", + "data_seed": 6100, + "batch_size": 128, + "training_iterations": 12, + "inference_iterations": 30, + "seed": 1989, + "device": "cuda", + "determinism": "author_default", + "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.6015, + "train_cost": 0.3034141411781311, + "test_accuracy": 0.754, + "test_cost": 0.21173695945739746, + "finite": true, + "corrector": { + "step": 78, + "clean_state_difference_rms": 0.002906076951234828, + "bias_state_difference_rms": 6.633172397976592e-05, + "residual_state_difference_rms": 0.0, + "bias_to_clean_state_difference_rms": 0.022825178098460453, + "residual_to_clean_state_difference_rms": 0.0, + "neutral_observations": 0 + }, + "wall_seconds": 11.141616821289062 + }, + { + "epoch": 2, + "train_accuracy": 0.7856, + "train_cost": 0.1894871323108673, + "test_accuracy": 0.793, + "test_cost": 0.1828599739074707, + "finite": true, + "corrector": { + "step": 157, + "clean_state_difference_rms": 0.0030744827654543543, + "bias_state_difference_rms": 6.586380885647234e-05, + "residual_state_difference_rms": 0.0, + "bias_to_clean_state_difference_rms": 0.021422728270437653, + "residual_to_clean_state_difference_rms": 0.0, + "neutral_observations": 0 + }, + "wall_seconds": 21.80730104446411 + }, + { + "epoch": 3, + "train_accuracy": 0.8242, + "train_cost": 0.16800354764461517, + "test_accuracy": 0.7675, + "test_cost": 0.21805441284179689, + "finite": true, + "corrector": { + "step": 236, + "clean_state_difference_rms": 0.005753258290239676, + "bias_state_difference_rms": 6.595299498610449e-05, + "residual_state_difference_rms": 0.0, + "bias_to_clean_state_difference_rms": 0.011463590136043925, + "residual_to_clean_state_difference_rms": 0.0, + "neutral_observations": 0 + }, + "wall_seconds": 32.480507373809814 + } + ], + "epochs_completed": 3, + "final": { + "epoch": 3, + "train_accuracy": 0.8242, + "train_cost": 0.16800354764461517, + "test_accuracy": 0.7675, + "test_cost": 0.21805441284179689, + "finite": true, + "corrector": { + "step": 236, + "clean_state_difference_rms": 0.005753258290239676, + "bias_state_difference_rms": 6.595299498610449e-05, + "residual_state_difference_rms": 0.0, + "bias_to_clean_state_difference_rms": 0.011463590136043925, + "residual_to_clean_state_difference_rms": 0.0, + "neutral_observations": 0 + }, + "wall_seconds": 32.480507373809814 + } +} diff --git a/results/ep_bias/c1/rain-ep-c1-s1989-raw.json b/results/ep_bias/c1/rain-ep-c1-s1989-raw.json new file mode 100644 index 0000000..c810065 --- /dev/null +++ b/results/ep_bias/c1/rain-ep-c1-s1989-raw.json @@ -0,0 +1,121 @@ +{ + "schema": "rain_ep_structured_bias_screen_v1", + "sdil": { + "revision": "a10a84066a6f7aa38d86b1a71ed371c9c6f22815" + }, + "author": { + "repository": "https://github.com/rain-neuromorphics/energy-based-learning", + "revision": "6b253fd8a5d267535f58ab79992256ef10031ceb" + }, + "protocol": { + "dataset": "FashionMNIST", + "network": "author ConvHopfieldEnergy28 32-64-10", + "algorithm": "positive equilibrium propagation", + "adapter": "layer", + "mode": "raw", + "bias_ratio": 0.01, + "predictor_rate": 0.2, + "neutral_cadence": 1, + "layer_calibration_steps": 1, + "calibration_batches": 0, + "calibration_observations": 0, + "calibration_seconds": 4.76837158203125e-07, + "extra_equilibrium_phases_for_predictor": 0, + "predictor_neutral_source": "existing_first_EP_phase", + "bias_ratio_normalization": "experimenter_initial_clean_layer_state_difference_rms", + "bias_ratio_normalization_visible_to_predictor": false, + "epochs": 3, + "train_limit": 10000, + "test_limit": 2000, + "evaluation_split": "train_holdout", + "data_seed": 6100, + "batch_size": 128, + "training_iterations": 12, + "inference_iterations": 30, + "seed": 1989, + "device": "cuda", + "determinism": "author_default", + "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.4335, + "train_cost": 0.4560521974563599, + "test_accuracy": 0.306, + "test_cost": 0.7802567749023438, + "finite": true, + "corrector": { + "step": 78, + "clean_state_difference_rms": 0.0032625819183305306, + "bias_state_difference_rms": 8.008660649985776e-05, + "residual_state_difference_rms": 8.008660851268821e-05, + "bias_to_clean_state_difference_rms": 0.024547002498204927, + "residual_to_clean_state_difference_rms": 0.024547003115148965, + "neutral_observations": 0 + }, + "wall_seconds": 11.117750644683838 + }, + { + "epoch": 2, + "train_accuracy": 0.3683, + "train_cost": 0.58563308801651, + "test_accuracy": 0.279, + "test_cost": 0.8746520080566407, + "finite": true, + "corrector": { + "step": 157, + "clean_state_difference_rms": 0.002783718474111749, + "bias_state_difference_rms": 7.21401487570343e-05, + "residual_state_difference_rms": 7.214014093610922e-05, + "bias_to_clean_state_difference_rms": 0.02591503035523495, + "residual_to_clean_state_difference_rms": 0.02591502754571051, + "neutral_observations": 0 + }, + "wall_seconds": 21.870208740234375 + }, + { + "epoch": 3, + "train_accuracy": 0.36, + "train_cost": 0.5739224248886109, + "test_accuracy": 0.2115, + "test_cost": 0.6092560310363769, + "finite": true, + "corrector": { + "step": 236, + "clean_state_difference_rms": 0.002947041962686802, + "bias_state_difference_rms": 8.032219654963042e-05, + "residual_state_difference_rms": 8.032219654963042e-05, + "bias_to_clean_state_difference_rms": 0.02725519268697522, + "residual_to_clean_state_difference_rms": 0.02725519268697522, + "neutral_observations": 0 + }, + "wall_seconds": 32.614163637161255 + } + ], + "epochs_completed": 3, + "final": { + "epoch": 3, + "train_accuracy": 0.36, + "train_cost": 0.5739224248886109, + "test_accuracy": 0.2115, + "test_cost": 0.6092560310363769, + "finite": true, + "corrector": { + "step": 236, + "clean_state_difference_rms": 0.002947041962686802, + "bias_state_difference_rms": 8.032219654963042e-05, + "residual_state_difference_rms": 8.032219654963042e-05, + "bias_to_clean_state_difference_rms": 0.02725519268697522, + "residual_to_clean_state_difference_rms": 0.02725519268697522, + "neutral_observations": 0 + }, + "wall_seconds": 32.614163637161255 + } +} diff --git a/results/ep_bias/c1/rain-ep-c1-s1990-clean.json b/results/ep_bias/c1/rain-ep-c1-s1990-clean.json new file mode 100644 index 0000000..904c424 --- /dev/null +++ b/results/ep_bias/c1/rain-ep-c1-s1990-clean.json @@ -0,0 +1,89 @@ +{ + "schema": "rain_ep_structured_bias_screen_v1", + "sdil": { + "revision": "a10a84066a6f7aa38d86b1a71ed371c9c6f22815" + }, + "author": { + "repository": "https://github.com/rain-neuromorphics/energy-based-learning", + "revision": "6b253fd8a5d267535f58ab79992256ef10031ceb" + }, + "protocol": { + "dataset": "FashionMNIST", + "network": "author ConvHopfieldEnergy28 32-64-10", + "algorithm": "positive equilibrium propagation", + "adapter": "layer", + "mode": "clean", + "bias_ratio": 0.01, + "predictor_rate": 0.2, + "neutral_cadence": 1, + "layer_calibration_steps": 1, + "calibration_batches": 0, + "calibration_observations": 0, + "calibration_seconds": 7.152557373046875e-07, + "extra_equilibrium_phases_for_predictor": 0, + "predictor_neutral_source": "existing_first_EP_phase", + "bias_ratio_normalization": "experimenter_initial_clean_layer_state_difference_rms", + "bias_ratio_normalization_visible_to_predictor": false, + "epochs": 3, + "train_limit": 10000, + "test_limit": 2000, + "evaluation_split": "train_holdout", + "data_seed": 6100, + "batch_size": 128, + "training_iterations": 12, + "inference_iterations": 30, + "seed": 1990, + "device": "cuda", + "determinism": "author_default", + "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.6606, + "train_cost": 0.27158473813533784, + "test_accuracy": 0.7665, + "test_cost": 0.21203059673309327, + "finite": true, + "corrector": {}, + "wall_seconds": 11.449177265167236 + }, + { + "epoch": 2, + "train_accuracy": 0.7968, + "train_cost": 0.18956614887714385, + "test_accuracy": 0.752, + "test_cost": 0.2672611417770386, + "finite": true, + "corrector": {}, + "wall_seconds": 22.77556300163269 + }, + { + "epoch": 3, + "train_accuracy": 0.7573, + "train_cost": 0.21449728202819823, + "test_accuracy": 0.716, + "test_cost": 0.25428798484802245, + "finite": true, + "corrector": {}, + "wall_seconds": 33.53775382041931 + } + ], + "epochs_completed": 3, + "final": { + "epoch": 3, + "train_accuracy": 0.7573, + "train_cost": 0.21449728202819823, + "test_accuracy": 0.716, + "test_cost": 0.25428798484802245, + "finite": true, + "corrector": {}, + "wall_seconds": 33.53775382041931 + } +} diff --git a/results/ep_bias/c1/rain-ep-c1-s1990-constant.json b/results/ep_bias/c1/rain-ep-c1-s1990-constant.json new file mode 100644 index 0000000..58343e0 --- /dev/null +++ b/results/ep_bias/c1/rain-ep-c1-s1990-constant.json @@ -0,0 +1,121 @@ +{ + "schema": "rain_ep_structured_bias_screen_v1", + "sdil": { + "revision": "a10a84066a6f7aa38d86b1a71ed371c9c6f22815" + }, + "author": { + "repository": "https://github.com/rain-neuromorphics/energy-based-learning", + "revision": "6b253fd8a5d267535f58ab79992256ef10031ceb" + }, + "protocol": { + "dataset": "FashionMNIST", + "network": "author ConvHopfieldEnergy28 32-64-10", + "algorithm": "positive equilibrium propagation", + "adapter": "layer", + "mode": "constant", + "bias_ratio": 0.01, + "predictor_rate": 0.2, + "neutral_cadence": 1, + "layer_calibration_steps": 1, + "calibration_batches": 0, + "calibration_observations": 0, + "calibration_seconds": 7.152557373046875e-07, + "extra_equilibrium_phases_for_predictor": 0, + "predictor_neutral_source": "existing_first_EP_phase", + "bias_ratio_normalization": "experimenter_initial_clean_layer_state_difference_rms", + "bias_ratio_normalization_visible_to_predictor": false, + "epochs": 3, + "train_limit": 10000, + "test_limit": 2000, + "evaluation_split": "train_holdout", + "data_seed": 6100, + "batch_size": 128, + "training_iterations": 12, + "inference_iterations": 30, + "seed": 1990, + "device": "cuda", + "determinism": "author_default", + "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.6403, + "train_cost": 0.2912232979774475, + "test_accuracy": 0.5785, + "test_cost": 0.47831679725646975, + "finite": true, + "corrector": { + "step": 78, + "clean_state_difference_rms": 0.003846313872765165, + "bias_state_difference_rms": 6.728917558210017e-05, + "residual_state_difference_rms": 6.0271901427063764e-05, + "bias_to_clean_state_difference_rms": 0.01749445776086004, + "residual_to_clean_state_difference_rms": 0.015670042388853073, + "neutral_observations": 128 + }, + "wall_seconds": 11.210429906845093 + }, + { + "epoch": 2, + "train_accuracy": 0.7726, + "train_cost": 0.211278013920784, + "test_accuracy": 0.732, + "test_cost": 0.295507266998291, + "finite": true, + "corrector": { + "step": 157, + "clean_state_difference_rms": 0.0035800436626807707, + "bias_state_difference_rms": 6.331647259818047e-05, + "residual_state_difference_rms": 5.445370315955731e-05, + "bias_to_clean_state_difference_rms": 0.017685949827429895, + "residual_to_clean_state_difference_rms": 0.015210346099181891, + "neutral_observations": 128 + }, + "wall_seconds": 21.87259602546692 + }, + { + "epoch": 3, + "train_accuracy": 0.7974, + "train_cost": 0.19731631968021393, + "test_accuracy": 0.7915, + "test_cost": 0.1933894157409668, + "finite": true, + "corrector": { + "step": 236, + "clean_state_difference_rms": 0.003832221287101308, + "bias_state_difference_rms": 6.0639572439556253e-05, + "residual_state_difference_rms": 5.4245437626596826e-05, + "bias_to_clean_state_difference_rms": 0.015823609310782787, + "residual_to_clean_state_difference_rms": 0.014155090106403556, + "neutral_observations": 128 + }, + "wall_seconds": 32.520140409469604 + } + ], + "epochs_completed": 3, + "final": { + "epoch": 3, + "train_accuracy": 0.7974, + "train_cost": 0.19731631968021393, + "test_accuracy": 0.7915, + "test_cost": 0.1933894157409668, + "finite": true, + "corrector": { + "step": 236, + "clean_state_difference_rms": 0.003832221287101308, + "bias_state_difference_rms": 6.0639572439556253e-05, + "residual_state_difference_rms": 5.4245437626596826e-05, + "bias_to_clean_state_difference_rms": 0.015823609310782787, + "residual_to_clean_state_difference_rms": 0.014155090106403556, + "neutral_observations": 128 + }, + "wall_seconds": 32.520140409469604 + } +} diff --git a/results/ep_bias/c1/rain-ep-c1-s1990-innovation.json b/results/ep_bias/c1/rain-ep-c1-s1990-innovation.json new file mode 100644 index 0000000..44804e8 --- /dev/null +++ b/results/ep_bias/c1/rain-ep-c1-s1990-innovation.json @@ -0,0 +1,121 @@ +{ + "schema": "rain_ep_structured_bias_screen_v1", + "sdil": { + "revision": "a10a84066a6f7aa38d86b1a71ed371c9c6f22815" + }, + "author": { + "repository": "https://github.com/rain-neuromorphics/energy-based-learning", + "revision": "6b253fd8a5d267535f58ab79992256ef10031ceb" + }, + "protocol": { + "dataset": "FashionMNIST", + "network": "author ConvHopfieldEnergy28 32-64-10", + "algorithm": "positive equilibrium propagation", + "adapter": "layer", + "mode": "innovation", + "bias_ratio": 0.01, + "predictor_rate": 0.2, + "neutral_cadence": 1, + "layer_calibration_steps": 1, + "calibration_batches": 0, + "calibration_observations": 0, + "calibration_seconds": 7.152557373046875e-07, + "extra_equilibrium_phases_for_predictor": 0, + "predictor_neutral_source": "existing_first_EP_phase", + "bias_ratio_normalization": "experimenter_initial_clean_layer_state_difference_rms", + "bias_ratio_normalization_visible_to_predictor": false, + "epochs": 3, + "train_limit": 10000, + "test_limit": 2000, + "evaluation_split": "train_holdout", + "data_seed": 6100, + "batch_size": 128, + "training_iterations": 12, + "inference_iterations": 30, + "seed": 1990, + "device": "cuda", + "determinism": "author_default", + "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.6534, + "train_cost": 0.27704137275218965, + "test_accuracy": 0.743, + "test_cost": 0.23728040504455566, + "finite": true, + "corrector": { + "step": 78, + "clean_state_difference_rms": 0.003950793878449728, + "bias_state_difference_rms": 6.619825706081344e-05, + "residual_state_difference_rms": 1.4009402496767348e-05, + "bias_to_clean_state_difference_rms": 0.01675568483132036, + "residual_to_clean_state_difference_rms": 0.003545971500356928, + "neutral_observations": 128 + }, + "wall_seconds": 12.013960123062134 + }, + { + "epoch": 2, + "train_accuracy": 0.7989, + "train_cost": 0.1906227728366852, + "test_accuracy": 0.7465, + "test_cost": 0.29076750564575193, + "finite": true, + "corrector": { + "step": 157, + "clean_state_difference_rms": 0.007041249074002256, + "bias_state_difference_rms": 5.557759851380955e-05, + "residual_state_difference_rms": 1.2844341837577522e-05, + "bias_to_clean_state_difference_rms": 0.007893144799977821, + "residual_to_clean_state_difference_rms": 0.0018241567231304858, + "neutral_observations": 128 + }, + "wall_seconds": 22.8679838180542 + }, + { + "epoch": 3, + "train_accuracy": 0.7798, + "train_cost": 0.19880174379348756, + "test_accuracy": 0.7365, + "test_cost": 0.26134266757965086, + "finite": true, + "corrector": { + "step": 236, + "clean_state_difference_rms": 0.015526498281142899, + "bias_state_difference_rms": 5.2816102348688366e-05, + "residual_state_difference_rms": 1.2644605297071703e-05, + "bias_to_clean_state_difference_rms": 0.0034016750842547736, + "residual_to_clean_state_difference_rms": 0.0008143887351875545, + "neutral_observations": 128 + }, + "wall_seconds": 33.61022162437439 + } + ], + "epochs_completed": 3, + "final": { + "epoch": 3, + "train_accuracy": 0.7798, + "train_cost": 0.19880174379348756, + "test_accuracy": 0.7365, + "test_cost": 0.26134266757965086, + "finite": true, + "corrector": { + "step": 236, + "clean_state_difference_rms": 0.015526498281142899, + "bias_state_difference_rms": 5.2816102348688366e-05, + "residual_state_difference_rms": 1.2644605297071703e-05, + "bias_to_clean_state_difference_rms": 0.0034016750842547736, + "residual_to_clean_state_difference_rms": 0.0008143887351875545, + "neutral_observations": 128 + }, + "wall_seconds": 33.61022162437439 + } +} diff --git a/results/ep_bias/c1/rain-ep-c1-s1990-noise.json b/results/ep_bias/c1/rain-ep-c1-s1990-noise.json new file mode 100644 index 0000000..0f906de --- /dev/null +++ b/results/ep_bias/c1/rain-ep-c1-s1990-noise.json @@ -0,0 +1,121 @@ +{ + "schema": "rain_ep_structured_bias_screen_v1", + "sdil": { + "revision": "a10a84066a6f7aa38d86b1a71ed371c9c6f22815" + }, + "author": { + "repository": "https://github.com/rain-neuromorphics/energy-based-learning", + "revision": "6b253fd8a5d267535f58ab79992256ef10031ceb" + }, + "protocol": { + "dataset": "FashionMNIST", + "network": "author ConvHopfieldEnergy28 32-64-10", + "algorithm": "positive equilibrium propagation", + "adapter": "layer", + "mode": "same_rms_noise", + "bias_ratio": 0.01, + "predictor_rate": 0.2, + "neutral_cadence": 1, + "layer_calibration_steps": 1, + "calibration_batches": 0, + "calibration_observations": 0, + "calibration_seconds": 4.76837158203125e-07, + "extra_equilibrium_phases_for_predictor": 0, + "predictor_neutral_source": "existing_first_EP_phase", + "bias_ratio_normalization": "experimenter_initial_clean_layer_state_difference_rms", + "bias_ratio_normalization_visible_to_predictor": false, + "epochs": 3, + "train_limit": 10000, + "test_limit": 2000, + "evaluation_split": "train_holdout", + "data_seed": 6100, + "batch_size": 128, + "training_iterations": 12, + "inference_iterations": 30, + "seed": 1990, + "device": "cuda", + "determinism": "author_default", + "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.6606, + "train_cost": 0.2711284995079041, + "test_accuracy": 0.7695, + "test_cost": 0.21486114978790283, + "finite": true, + "corrector": { + "step": 78, + "clean_state_difference_rms": 0.004382640501626218, + "bias_state_difference_rms": 6.519336663563045e-05, + "residual_state_difference_rms": 6.081398983373392e-05, + "bias_to_clean_state_difference_rms": 0.014875362606501689, + "residual_to_clean_state_difference_rms": 0.013876107294487957, + "neutral_observations": 0 + }, + "wall_seconds": 11.801432371139526 + }, + { + "epoch": 2, + "train_accuracy": 0.7966, + "train_cost": 0.193299808883667, + "test_accuracy": 0.7525, + "test_cost": 0.24858134269714355, + "finite": true, + "corrector": { + "step": 157, + "clean_state_difference_rms": 0.009390866291523628, + "bias_state_difference_rms": 5.791614317927597e-05, + "residual_state_difference_rms": 5.8279208576671995e-05, + "bias_to_clean_state_difference_rms": 0.006167284399688682, + "residual_to_clean_state_difference_rms": 0.0062059459444413455, + "neutral_observations": 0 + }, + "wall_seconds": 22.535385847091675 + }, + { + "epoch": 3, + "train_accuracy": 0.757, + "train_cost": 0.21369371700286866, + "test_accuracy": 0.7555, + "test_cost": 0.23777267742156982, + "finite": true, + "corrector": { + "step": 236, + "clean_state_difference_rms": 0.017618557436717388, + "bias_state_difference_rms": 5.067106094167618e-05, + "residual_state_difference_rms": 5.0358076160204636e-05, + "bias_to_clean_state_difference_rms": 0.0028760050942693407, + "residual_to_clean_state_difference_rms": 0.002858240598929939, + "neutral_observations": 0 + }, + "wall_seconds": 33.32496356964111 + } + ], + "epochs_completed": 3, + "final": { + "epoch": 3, + "train_accuracy": 0.757, + "train_cost": 0.21369371700286866, + "test_accuracy": 0.7555, + "test_cost": 0.23777267742156982, + "finite": true, + "corrector": { + "step": 236, + "clean_state_difference_rms": 0.017618557436717388, + "bias_state_difference_rms": 5.067106094167618e-05, + "residual_state_difference_rms": 5.0358076160204636e-05, + "bias_to_clean_state_difference_rms": 0.0028760050942693407, + "residual_to_clean_state_difference_rms": 0.002858240598929939, + "neutral_observations": 0 + }, + "wall_seconds": 33.32496356964111 + } +} diff --git a/results/ep_bias/c1/rain-ep-c1-s1990-oracle.json b/results/ep_bias/c1/rain-ep-c1-s1990-oracle.json new file mode 100644 index 0000000..50de466 --- /dev/null +++ b/results/ep_bias/c1/rain-ep-c1-s1990-oracle.json @@ -0,0 +1,121 @@ +{ + "schema": "rain_ep_structured_bias_screen_v1", + "sdil": { + "revision": "a10a84066a6f7aa38d86b1a71ed371c9c6f22815" + }, + "author": { + "repository": "https://github.com/rain-neuromorphics/energy-based-learning", + "revision": "6b253fd8a5d267535f58ab79992256ef10031ceb" + }, + "protocol": { + "dataset": "FashionMNIST", + "network": "author ConvHopfieldEnergy28 32-64-10", + "algorithm": "positive equilibrium propagation", + "adapter": "layer", + "mode": "oracle", + "bias_ratio": 0.01, + "predictor_rate": 0.2, + "neutral_cadence": 1, + "layer_calibration_steps": 1, + "calibration_batches": 0, + "calibration_observations": 0, + "calibration_seconds": 4.76837158203125e-07, + "extra_equilibrium_phases_for_predictor": 0, + "predictor_neutral_source": "existing_first_EP_phase", + "bias_ratio_normalization": "experimenter_initial_clean_layer_state_difference_rms", + "bias_ratio_normalization_visible_to_predictor": false, + "epochs": 3, + "train_limit": 10000, + "test_limit": 2000, + "evaluation_split": "train_holdout", + "data_seed": 6100, + "batch_size": 128, + "training_iterations": 12, + "inference_iterations": 30, + "seed": 1990, + "device": "cuda", + "determinism": "author_default", + "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.663, + "train_cost": 0.2711967014312744, + "test_accuracy": 0.766, + "test_cost": 0.21661818218231202, + "finite": true, + "corrector": { + "step": 78, + "clean_state_difference_rms": 0.004383474383014145, + "bias_state_difference_rms": 6.424731530485976e-05, + "residual_state_difference_rms": 0.0, + "bias_to_clean_state_difference_rms": 0.014656710565896432, + "residual_to_clean_state_difference_rms": 0.0, + "neutral_observations": 0 + }, + "wall_seconds": 11.130960702896118 + }, + { + "epoch": 2, + "train_accuracy": 0.7939, + "train_cost": 0.19159410698413848, + "test_accuracy": 0.7845, + "test_cost": 0.19456660175323487, + "finite": true, + "corrector": { + "step": 157, + "clean_state_difference_rms": 0.006276390941576456, + "bias_state_difference_rms": 5.6911655092403044e-05, + "residual_state_difference_rms": 0.0, + "bias_to_clean_state_difference_rms": 0.009067576513662549, + "residual_to_clean_state_difference_rms": 0.0, + "neutral_observations": 0 + }, + "wall_seconds": 21.652936697006226 + }, + { + "epoch": 3, + "train_accuracy": 0.7567, + "train_cost": 0.21386824369430543, + "test_accuracy": 0.775, + "test_cost": 0.20413391971588135, + "finite": true, + "corrector": { + "step": 236, + "clean_state_difference_rms": 0.012864366347042662, + "bias_state_difference_rms": 5.502748172659873e-05, + "residual_state_difference_rms": 0.0, + "bias_to_clean_state_difference_rms": 0.004277512023687725, + "residual_to_clean_state_difference_rms": 0.0, + "neutral_observations": 0 + }, + "wall_seconds": 32.14521074295044 + } + ], + "epochs_completed": 3, + "final": { + "epoch": 3, + "train_accuracy": 0.7567, + "train_cost": 0.21386824369430543, + "test_accuracy": 0.775, + "test_cost": 0.20413391971588135, + "finite": true, + "corrector": { + "step": 236, + "clean_state_difference_rms": 0.012864366347042662, + "bias_state_difference_rms": 5.502748172659873e-05, + "residual_state_difference_rms": 0.0, + "bias_to_clean_state_difference_rms": 0.004277512023687725, + "residual_to_clean_state_difference_rms": 0.0, + "neutral_observations": 0 + }, + "wall_seconds": 32.14521074295044 + } +} diff --git a/results/ep_bias/c1/rain-ep-c1-s1990-raw.json b/results/ep_bias/c1/rain-ep-c1-s1990-raw.json new file mode 100644 index 0000000..b88bfdd --- /dev/null +++ b/results/ep_bias/c1/rain-ep-c1-s1990-raw.json @@ -0,0 +1,121 @@ +{ + "schema": "rain_ep_structured_bias_screen_v1", + "sdil": { + "revision": "a10a84066a6f7aa38d86b1a71ed371c9c6f22815" + }, + "author": { + "repository": "https://github.com/rain-neuromorphics/energy-based-learning", + "revision": "6b253fd8a5d267535f58ab79992256ef10031ceb" + }, + "protocol": { + "dataset": "FashionMNIST", + "network": "author ConvHopfieldEnergy28 32-64-10", + "algorithm": "positive equilibrium propagation", + "adapter": "layer", + "mode": "raw", + "bias_ratio": 0.01, + "predictor_rate": 0.2, + "neutral_cadence": 1, + "layer_calibration_steps": 1, + "calibration_batches": 0, + "calibration_observations": 0, + "calibration_seconds": 4.76837158203125e-07, + "extra_equilibrium_phases_for_predictor": 0, + "predictor_neutral_source": "existing_first_EP_phase", + "bias_ratio_normalization": "experimenter_initial_clean_layer_state_difference_rms", + "bias_ratio_normalization_visible_to_predictor": false, + "epochs": 3, + "train_limit": 10000, + "test_limit": 2000, + "evaluation_split": "train_holdout", + "data_seed": 6100, + "batch_size": 128, + "training_iterations": 12, + "inference_iterations": 30, + "seed": 1990, + "device": "cuda", + "determinism": "author_default", + "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.6435, + "train_cost": 0.30328409667015077, + "test_accuracy": 0.6785, + "test_cost": 0.3523319435119629, + "finite": true, + "corrector": { + "step": 78, + "clean_state_difference_rms": 0.0033119347849553797, + "bias_state_difference_rms": 6.6284849790889e-05, + "residual_state_difference_rms": 6.628485708670791e-05, + "bias_to_clean_state_difference_rms": 0.02001393568858634, + "residual_to_clean_state_difference_rms": 0.020013937891473592, + "neutral_observations": 0 + }, + "wall_seconds": 10.86359453201294 + }, + { + "epoch": 2, + "train_accuracy": 0.7475, + "train_cost": 0.2544722128391266, + "test_accuracy": 0.753, + "test_cost": 0.21176387977600097, + "finite": true, + "corrector": { + "step": 157, + "clean_state_difference_rms": 0.0020992335596391395, + "bias_state_difference_rms": 6.207869622846194e-05, + "residual_state_difference_rms": 6.207869038584998e-05, + "bias_to_clean_state_difference_rms": 0.02957207688654393, + "residual_to_clean_state_difference_rms": 0.029572074103331968, + "neutral_observations": 0 + }, + "wall_seconds": 21.41861319541931 + }, + { + "epoch": 3, + "train_accuracy": 0.6686, + "train_cost": 0.3153200741767883, + "test_accuracy": 0.288, + "test_cost": 0.7219673614501954, + "finite": true, + "corrector": { + "step": 236, + "clean_state_difference_rms": 0.002748038110100187, + "bias_state_difference_rms": 6.0595257126204136e-05, + "residual_state_difference_rms": 6.0595257126204136e-05, + "bias_to_clean_state_difference_rms": 0.02205037000887698, + "residual_to_clean_state_difference_rms": 0.02205037000887698, + "neutral_observations": 0 + }, + "wall_seconds": 31.973445892333984 + } + ], + "epochs_completed": 3, + "final": { + "epoch": 3, + "train_accuracy": 0.6686, + "train_cost": 0.3153200741767883, + "test_accuracy": 0.288, + "test_cost": 0.7219673614501954, + "finite": true, + "corrector": { + "step": 236, + "clean_state_difference_rms": 0.002748038110100187, + "bias_state_difference_rms": 6.0595257126204136e-05, + "residual_state_difference_rms": 6.0595257126204136e-05, + "bias_to_clean_state_difference_rms": 0.02205037000887698, + "residual_to_clean_state_difference_rms": 0.02205037000887698, + "neutral_observations": 0 + }, + "wall_seconds": 31.973445892333984 + } +} diff --git a/results/ep_bias/c1/rain-ep-c1-s1991-clean.json b/results/ep_bias/c1/rain-ep-c1-s1991-clean.json new file mode 100644 index 0000000..55b6d01 --- /dev/null +++ b/results/ep_bias/c1/rain-ep-c1-s1991-clean.json @@ -0,0 +1,89 @@ +{ + "schema": "rain_ep_structured_bias_screen_v1", + "sdil": { + "revision": "a10a84066a6f7aa38d86b1a71ed371c9c6f22815" + }, + "author": { + "repository": "https://github.com/rain-neuromorphics/energy-based-learning", + "revision": "6b253fd8a5d267535f58ab79992256ef10031ceb" + }, + "protocol": { + "dataset": "FashionMNIST", + "network": "author ConvHopfieldEnergy28 32-64-10", + "algorithm": "positive equilibrium propagation", + "adapter": "layer", + "mode": "clean", + "bias_ratio": 0.01, + "predictor_rate": 0.2, + "neutral_cadence": 1, + "layer_calibration_steps": 1, + "calibration_batches": 0, + "calibration_observations": 0, + "calibration_seconds": 4.76837158203125e-07, + "extra_equilibrium_phases_for_predictor": 0, + "predictor_neutral_source": "existing_first_EP_phase", + "bias_ratio_normalization": "experimenter_initial_clean_layer_state_difference_rms", + "bias_ratio_normalization_visible_to_predictor": false, + "epochs": 3, + "train_limit": 10000, + "test_limit": 2000, + "evaluation_split": "train_holdout", + "data_seed": 6100, + "batch_size": 128, + "training_iterations": 12, + "inference_iterations": 30, + "seed": 1991, + "device": "cuda", + "determinism": "author_default", + "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.6286, + "train_cost": 0.2864802133560181, + "test_accuracy": 0.7565, + "test_cost": 0.2155777521133423, + "finite": true, + "corrector": {}, + "wall_seconds": 11.806015729904175 + }, + { + "epoch": 2, + "train_accuracy": 0.795, + "train_cost": 0.18370667338371277, + "test_accuracy": 0.808, + "test_cost": 0.17455010938644408, + "finite": true, + "corrector": {}, + "wall_seconds": 22.56948685646057 + }, + { + "epoch": 3, + "train_accuracy": 0.7993, + "train_cost": 0.18258129904270173, + "test_accuracy": 0.7485, + "test_cost": 0.22590363597869872, + "finite": true, + "corrector": {}, + "wall_seconds": 33.01645755767822 + } + ], + "epochs_completed": 3, + "final": { + "epoch": 3, + "train_accuracy": 0.7993, + "train_cost": 0.18258129904270173, + "test_accuracy": 0.7485, + "test_cost": 0.22590363597869872, + "finite": true, + "corrector": {}, + "wall_seconds": 33.01645755767822 + } +} diff --git a/results/ep_bias/c1/rain-ep-c1-s1991-constant.json b/results/ep_bias/c1/rain-ep-c1-s1991-constant.json new file mode 100644 index 0000000..6166037 --- /dev/null +++ b/results/ep_bias/c1/rain-ep-c1-s1991-constant.json @@ -0,0 +1,121 @@ +{ + "schema": "rain_ep_structured_bias_screen_v1", + "sdil": { + "revision": "a10a84066a6f7aa38d86b1a71ed371c9c6f22815" + }, + "author": { + "repository": "https://github.com/rain-neuromorphics/energy-based-learning", + "revision": "6b253fd8a5d267535f58ab79992256ef10031ceb" + }, + "protocol": { + "dataset": "FashionMNIST", + "network": "author ConvHopfieldEnergy28 32-64-10", + "algorithm": "positive equilibrium propagation", + "adapter": "layer", + "mode": "constant", + "bias_ratio": 0.01, + "predictor_rate": 0.2, + "neutral_cadence": 1, + "layer_calibration_steps": 1, + "calibration_batches": 0, + "calibration_observations": 0, + "calibration_seconds": 4.76837158203125e-07, + "extra_equilibrium_phases_for_predictor": 0, + "predictor_neutral_source": "existing_first_EP_phase", + "bias_ratio_normalization": "experimenter_initial_clean_layer_state_difference_rms", + "bias_ratio_normalization_visible_to_predictor": false, + "epochs": 3, + "train_limit": 10000, + "test_limit": 2000, + "evaluation_split": "train_holdout", + "data_seed": 6100, + "batch_size": 128, + "training_iterations": 12, + "inference_iterations": 30, + "seed": 1991, + "device": "cuda", + "determinism": "author_default", + "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.595, + "train_cost": 0.3079300483226776, + "test_accuracy": 0.686, + "test_cost": 0.2951688404083252, + "finite": true, + "corrector": { + "step": 78, + "clean_state_difference_rms": 0.002362031429817802, + "bias_state_difference_rms": 8.45503174928388e-05, + "residual_state_difference_rms": 0.0001021557688121655, + "bias_to_clean_state_difference_rms": 0.035795593752687996, + "residual_to_clean_state_difference_rms": 0.04324911494511544, + "neutral_observations": 128 + }, + "wall_seconds": 11.810579061508179 + }, + { + "epoch": 2, + "train_accuracy": 0.7015, + "train_cost": 0.2631262734889984, + "test_accuracy": 0.6145, + "test_cost": 0.358705623626709, + "finite": true, + "corrector": { + "step": 157, + "clean_state_difference_rms": 0.002338978202995718, + "bias_state_difference_rms": 9.012169948331792e-05, + "residual_state_difference_rms": 0.00010061541371186737, + "bias_to_clean_state_difference_rms": 0.03853037166737672, + "residual_to_clean_state_difference_rms": 0.043016824005884746, + "neutral_observations": 128 + }, + "wall_seconds": 22.935576915740967 + }, + { + "epoch": 3, + "train_accuracy": 0.6428, + "train_cost": 0.3038617823123932, + "test_accuracy": 0.5425, + "test_cost": 0.33631735801696777, + "finite": true, + "corrector": { + "step": 236, + "clean_state_difference_rms": 0.00200867531958443, + "bias_state_difference_rms": 8.781145942341624e-05, + "residual_state_difference_rms": 8.677139877626471e-05, + "bias_to_clean_state_difference_rms": 0.04371610412457467, + "residual_to_clean_state_difference_rms": 0.04319831977336021, + "neutral_observations": 128 + }, + "wall_seconds": 33.97881603240967 + } + ], + "epochs_completed": 3, + "final": { + "epoch": 3, + "train_accuracy": 0.6428, + "train_cost": 0.3038617823123932, + "test_accuracy": 0.5425, + "test_cost": 0.33631735801696777, + "finite": true, + "corrector": { + "step": 236, + "clean_state_difference_rms": 0.00200867531958443, + "bias_state_difference_rms": 8.781145942341624e-05, + "residual_state_difference_rms": 8.677139877626471e-05, + "bias_to_clean_state_difference_rms": 0.04371610412457467, + "residual_to_clean_state_difference_rms": 0.04319831977336021, + "neutral_observations": 128 + }, + "wall_seconds": 33.97881603240967 + } +} diff --git a/results/ep_bias/c1/rain-ep-c1-s1991-innovation.json b/results/ep_bias/c1/rain-ep-c1-s1991-innovation.json new file mode 100644 index 0000000..105b20c --- /dev/null +++ b/results/ep_bias/c1/rain-ep-c1-s1991-innovation.json @@ -0,0 +1,121 @@ +{ + "schema": "rain_ep_structured_bias_screen_v1", + "sdil": { + "revision": "a10a84066a6f7aa38d86b1a71ed371c9c6f22815" + }, + "author": { + "repository": "https://github.com/rain-neuromorphics/energy-based-learning", + "revision": "6b253fd8a5d267535f58ab79992256ef10031ceb" + }, + "protocol": { + "dataset": "FashionMNIST", + "network": "author ConvHopfieldEnergy28 32-64-10", + "algorithm": "positive equilibrium propagation", + "adapter": "layer", + "mode": "innovation", + "bias_ratio": 0.01, + "predictor_rate": 0.2, + "neutral_cadence": 1, + "layer_calibration_steps": 1, + "calibration_batches": 0, + "calibration_observations": 0, + "calibration_seconds": 9.5367431640625e-07, + "extra_equilibrium_phases_for_predictor": 0, + "predictor_neutral_source": "existing_first_EP_phase", + "bias_ratio_normalization": "experimenter_initial_clean_layer_state_difference_rms", + "bias_ratio_normalization_visible_to_predictor": false, + "epochs": 3, + "train_limit": 10000, + "test_limit": 2000, + "evaluation_split": "train_holdout", + "data_seed": 6100, + "batch_size": 128, + "training_iterations": 12, + "inference_iterations": 30, + "seed": 1991, + "device": "cuda", + "determinism": "author_default", + "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.6208, + "train_cost": 0.2918812784910202, + "test_accuracy": 0.7425, + "test_cost": 0.22733802700042724, + "finite": true, + "corrector": { + "step": 78, + "clean_state_difference_rms": 0.002470225093881606, + "bias_state_difference_rms": 7.938935378218063e-05, + "residual_state_difference_rms": 3.5420947861829475e-05, + "bias_to_clean_state_difference_rms": 0.032138509959605176, + "residual_to_clean_state_difference_rms": 0.014339157977773805, + "neutral_observations": 128 + }, + "wall_seconds": 11.117533922195435 + }, + { + "epoch": 2, + "train_accuracy": 0.7786, + "train_cost": 0.20058452415466307, + "test_accuracy": 0.7985, + "test_cost": 0.19109041690826417, + "finite": true, + "corrector": { + "step": 157, + "clean_state_difference_rms": 0.003217710637771075, + "bias_state_difference_rms": 9.00612935920934e-05, + "residual_state_difference_rms": 3.7954618159723695e-05, + "bias_to_clean_state_difference_rms": 0.02798924568757349, + "residual_to_clean_state_difference_rms": 0.011795534910502411, + "neutral_observations": 128 + }, + "wall_seconds": 21.737785577774048 + }, + { + "epoch": 3, + "train_accuracy": 0.8023, + "train_cost": 0.18613034284114838, + "test_accuracy": 0.7665, + "test_cost": 0.202285578250885, + "finite": true, + "corrector": { + "step": 236, + "clean_state_difference_rms": 0.004655521418516836, + "bias_state_difference_rms": 8.437691457081638e-05, + "residual_state_difference_rms": 3.875328475699105e-05, + "bias_to_clean_state_difference_rms": 0.018124052492856393, + "residual_to_clean_state_difference_rms": 0.008324155615062586, + "neutral_observations": 128 + }, + "wall_seconds": 32.353110790252686 + } + ], + "epochs_completed": 3, + "final": { + "epoch": 3, + "train_accuracy": 0.8023, + "train_cost": 0.18613034284114838, + "test_accuracy": 0.7665, + "test_cost": 0.202285578250885, + "finite": true, + "corrector": { + "step": 236, + "clean_state_difference_rms": 0.004655521418516836, + "bias_state_difference_rms": 8.437691457081638e-05, + "residual_state_difference_rms": 3.875328475699105e-05, + "bias_to_clean_state_difference_rms": 0.018124052492856393, + "residual_to_clean_state_difference_rms": 0.008324155615062586, + "neutral_observations": 128 + }, + "wall_seconds": 32.353110790252686 + } +} diff --git a/results/ep_bias/c1/rain-ep-c1-s1991-noise.json b/results/ep_bias/c1/rain-ep-c1-s1991-noise.json new file mode 100644 index 0000000..4131b55 --- /dev/null +++ b/results/ep_bias/c1/rain-ep-c1-s1991-noise.json @@ -0,0 +1,121 @@ +{ + "schema": "rain_ep_structured_bias_screen_v1", + "sdil": { + "revision": "a10a84066a6f7aa38d86b1a71ed371c9c6f22815" + }, + "author": { + "repository": "https://github.com/rain-neuromorphics/energy-based-learning", + "revision": "6b253fd8a5d267535f58ab79992256ef10031ceb" + }, + "protocol": { + "dataset": "FashionMNIST", + "network": "author ConvHopfieldEnergy28 32-64-10", + "algorithm": "positive equilibrium propagation", + "adapter": "layer", + "mode": "same_rms_noise", + "bias_ratio": 0.01, + "predictor_rate": 0.2, + "neutral_cadence": 1, + "layer_calibration_steps": 1, + "calibration_batches": 0, + "calibration_observations": 0, + "calibration_seconds": 4.76837158203125e-07, + "extra_equilibrium_phases_for_predictor": 0, + "predictor_neutral_source": "existing_first_EP_phase", + "bias_ratio_normalization": "experimenter_initial_clean_layer_state_difference_rms", + "bias_ratio_normalization_visible_to_predictor": false, + "epochs": 3, + "train_limit": 10000, + "test_limit": 2000, + "evaluation_split": "train_holdout", + "data_seed": 6100, + "batch_size": 128, + "training_iterations": 12, + "inference_iterations": 30, + "seed": 1991, + "device": "cuda", + "determinism": "author_default", + "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.6276, + "train_cost": 0.28668752970695494, + "test_accuracy": 0.7605, + "test_cost": 0.20921922206878663, + "finite": true, + "corrector": { + "step": 78, + "clean_state_difference_rms": 0.0026107519268949316, + "bias_state_difference_rms": 8.442201549713874e-05, + "residual_state_difference_rms": 9.084367274527985e-05, + "bias_to_clean_state_difference_rms": 0.0323362838986947, + "residual_to_clean_state_difference_rms": 0.034795980349356194, + "neutral_observations": 0 + }, + "wall_seconds": 11.248369932174683 + }, + { + "epoch": 2, + "train_accuracy": 0.7972, + "train_cost": 0.18200266993045808, + "test_accuracy": 0.8035, + "test_cost": 0.19378243160247802, + "finite": true, + "corrector": { + "step": 157, + "clean_state_difference_rms": 0.005210345839079046, + "bias_state_difference_rms": 8.655030952208532e-05, + "residual_state_difference_rms": 8.563805599765018e-05, + "bias_to_clean_state_difference_rms": 0.016611240826459903, + "residual_to_clean_state_difference_rms": 0.016436155802814642, + "neutral_observations": 0 + }, + "wall_seconds": 21.980408668518066 + }, + { + "epoch": 3, + "train_accuracy": 0.7967, + "train_cost": 0.18370458579063415, + "test_accuracy": 0.6675, + "test_cost": 0.32882429313659667, + "finite": true, + "corrector": { + "step": 236, + "clean_state_difference_rms": 0.00915079697255937, + "bias_state_difference_rms": 7.815418078007217e-05, + "residual_state_difference_rms": 8.078700293735538e-05, + "bias_to_clean_state_difference_rms": 0.00854069662068061, + "residual_to_clean_state_difference_rms": 0.008828411686939678, + "neutral_observations": 0 + }, + "wall_seconds": 32.66379976272583 + } + ], + "epochs_completed": 3, + "final": { + "epoch": 3, + "train_accuracy": 0.7967, + "train_cost": 0.18370458579063415, + "test_accuracy": 0.6675, + "test_cost": 0.32882429313659667, + "finite": true, + "corrector": { + "step": 236, + "clean_state_difference_rms": 0.00915079697255937, + "bias_state_difference_rms": 7.815418078007217e-05, + "residual_state_difference_rms": 8.078700293735538e-05, + "bias_to_clean_state_difference_rms": 0.00854069662068061, + "residual_to_clean_state_difference_rms": 0.008828411686939678, + "neutral_observations": 0 + }, + "wall_seconds": 32.66379976272583 + } +} diff --git a/results/ep_bias/c1/rain-ep-c1-s1991-oracle.json b/results/ep_bias/c1/rain-ep-c1-s1991-oracle.json new file mode 100644 index 0000000..aef596a --- /dev/null +++ b/results/ep_bias/c1/rain-ep-c1-s1991-oracle.json @@ -0,0 +1,121 @@ +{ + "schema": "rain_ep_structured_bias_screen_v1", + "sdil": { + "revision": "a10a84066a6f7aa38d86b1a71ed371c9c6f22815" + }, + "author": { + "repository": "https://github.com/rain-neuromorphics/energy-based-learning", + "revision": "6b253fd8a5d267535f58ab79992256ef10031ceb" + }, + "protocol": { + "dataset": "FashionMNIST", + "network": "author ConvHopfieldEnergy28 32-64-10", + "algorithm": "positive equilibrium propagation", + "adapter": "layer", + "mode": "oracle", + "bias_ratio": 0.01, + "predictor_rate": 0.2, + "neutral_cadence": 1, + "layer_calibration_steps": 1, + "calibration_batches": 0, + "calibration_observations": 0, + "calibration_seconds": 9.5367431640625e-07, + "extra_equilibrium_phases_for_predictor": 0, + "predictor_neutral_source": "existing_first_EP_phase", + "bias_ratio_normalization": "experimenter_initial_clean_layer_state_difference_rms", + "bias_ratio_normalization_visible_to_predictor": false, + "epochs": 3, + "train_limit": 10000, + "test_limit": 2000, + "evaluation_split": "train_holdout", + "data_seed": 6100, + "batch_size": 128, + "training_iterations": 12, + "inference_iterations": 30, + "seed": 1991, + "device": "cuda", + "determinism": "author_default", + "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.6299, + "train_cost": 0.28678773560523985, + "test_accuracy": 0.757, + "test_cost": 0.21466482257843017, + "finite": true, + "corrector": { + "step": 78, + "clean_state_difference_rms": 0.0026049790793285905, + "bias_state_difference_rms": 8.394004418328762e-05, + "residual_state_difference_rms": 0.0, + "bias_to_clean_state_difference_rms": 0.032222924494626805, + "residual_to_clean_state_difference_rms": 0.0, + "neutral_observations": 0 + }, + "wall_seconds": 12.465707540512085 + }, + { + "epoch": 2, + "train_accuracy": 0.7968, + "train_cost": 0.18357751140594483, + "test_accuracy": 0.805, + "test_cost": 0.1778689308166504, + "finite": true, + "corrector": { + "step": 157, + "clean_state_difference_rms": 0.005167988524962169, + "bias_state_difference_rms": 8.633734883625906e-05, + "residual_state_difference_rms": 0.0, + "bias_to_clean_state_difference_rms": 0.016706180445106748, + "residual_to_clean_state_difference_rms": 0.0, + "neutral_observations": 0 + }, + "wall_seconds": 24.659721612930298 + }, + { + "epoch": 3, + "train_accuracy": 0.8006, + "train_cost": 0.18363067059516908, + "test_accuracy": 0.66, + "test_cost": 0.31295693683624265, + "finite": true, + "corrector": { + "step": 236, + "clean_state_difference_rms": 0.008770489987991693, + "bias_state_difference_rms": 7.464204361950914e-05, + "residual_state_difference_rms": 0.0, + "bias_to_clean_state_difference_rms": 0.008510589912502826, + "residual_to_clean_state_difference_rms": 0.0, + "neutral_observations": 0 + }, + "wall_seconds": 36.85823035240173 + } + ], + "epochs_completed": 3, + "final": { + "epoch": 3, + "train_accuracy": 0.8006, + "train_cost": 0.18363067059516908, + "test_accuracy": 0.66, + "test_cost": 0.31295693683624265, + "finite": true, + "corrector": { + "step": 236, + "clean_state_difference_rms": 0.008770489987991693, + "bias_state_difference_rms": 7.464204361950914e-05, + "residual_state_difference_rms": 0.0, + "bias_to_clean_state_difference_rms": 0.008510589912502826, + "residual_to_clean_state_difference_rms": 0.0, + "neutral_observations": 0 + }, + "wall_seconds": 36.85823035240173 + } +} diff --git a/results/ep_bias/c1/rain-ep-c1-s1991-raw.json b/results/ep_bias/c1/rain-ep-c1-s1991-raw.json new file mode 100644 index 0000000..3f535db --- /dev/null +++ b/results/ep_bias/c1/rain-ep-c1-s1991-raw.json @@ -0,0 +1,121 @@ +{ + "schema": "rain_ep_structured_bias_screen_v1", + "sdil": { + "revision": "a10a84066a6f7aa38d86b1a71ed371c9c6f22815" + }, + "author": { + "repository": "https://github.com/rain-neuromorphics/energy-based-learning", + "revision": "6b253fd8a5d267535f58ab79992256ef10031ceb" + }, + "protocol": { + "dataset": "FashionMNIST", + "network": "author ConvHopfieldEnergy28 32-64-10", + "algorithm": "positive equilibrium propagation", + "adapter": "layer", + "mode": "raw", + "bias_ratio": 0.01, + "predictor_rate": 0.2, + "neutral_cadence": 1, + "layer_calibration_steps": 1, + "calibration_batches": 0, + "calibration_observations": 0, + "calibration_seconds": 4.76837158203125e-07, + "extra_equilibrium_phases_for_predictor": 0, + "predictor_neutral_source": "existing_first_EP_phase", + "bias_ratio_normalization": "experimenter_initial_clean_layer_state_difference_rms", + "bias_ratio_normalization_visible_to_predictor": false, + "epochs": 3, + "train_limit": 10000, + "test_limit": 2000, + "evaluation_split": "train_holdout", + "data_seed": 6100, + "batch_size": 128, + "training_iterations": 12, + "inference_iterations": 30, + "seed": 1991, + "device": "cuda", + "determinism": "author_default", + "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.577, + "train_cost": 0.33761201457977297, + "test_accuracy": 0.5615, + "test_cost": 0.43006853103637693, + "finite": true, + "corrector": { + "step": 78, + "clean_state_difference_rms": 0.0023809005014334564, + "bias_state_difference_rms": 9.288215051157267e-05, + "residual_state_difference_rms": 9.288215398265422e-05, + "bias_to_clean_state_difference_rms": 0.03901135324876096, + "residual_to_clean_state_difference_rms": 0.039011354706646975, + "neutral_observations": 0 + }, + "wall_seconds": 11.003859996795654 + }, + { + "epoch": 2, + "train_accuracy": 0.5732, + "train_cost": 0.38016895189285277, + "test_accuracy": 0.4245, + "test_cost": 0.648435380935669, + "finite": true, + "corrector": { + "step": 157, + "clean_state_difference_rms": 0.002497732432988877, + "bias_state_difference_rms": 0.00011400955449380664, + "residual_state_difference_rms": 0.00011400955449380664, + "bias_to_clean_state_difference_rms": 0.04564522323849504, + "residual_to_clean_state_difference_rms": 0.04564522323849504, + "neutral_observations": 0 + }, + "wall_seconds": 21.67133378982544 + }, + { + "epoch": 3, + "train_accuracy": 0.4037, + "train_cost": 0.5053416069030762, + "test_accuracy": 0.096, + "test_cost": 1.0389843139648438, + "finite": true, + "corrector": { + "step": 236, + "clean_state_difference_rms": 0.012119475889763545, + "bias_state_difference_rms": 9.015432462439181e-05, + "residual_state_difference_rms": 9.01543217188047e-05, + "bias_to_clean_state_difference_rms": 0.007438797308102962, + "residual_to_clean_state_difference_rms": 0.0074387970683576846, + "neutral_observations": 0 + }, + "wall_seconds": 32.37710404396057 + } + ], + "epochs_completed": 3, + "final": { + "epoch": 3, + "train_accuracy": 0.4037, + "train_cost": 0.5053416069030762, + "test_accuracy": 0.096, + "test_cost": 1.0389843139648438, + "finite": true, + "corrector": { + "step": 236, + "clean_state_difference_rms": 0.012119475889763545, + "bias_state_difference_rms": 9.015432462439181e-05, + "residual_state_difference_rms": 9.01543217188047e-05, + "bias_to_clean_state_difference_rms": 0.007438797308102962, + "residual_to_clean_state_difference_rms": 0.0074387970683576846, + "neutral_observations": 0 + }, + "wall_seconds": 32.37710404396057 + } +} diff --git a/results/ep_bias/c1/rain-ep-c1-s1992-clean.json b/results/ep_bias/c1/rain-ep-c1-s1992-clean.json new file mode 100644 index 0000000..0e45e1c --- /dev/null +++ b/results/ep_bias/c1/rain-ep-c1-s1992-clean.json @@ -0,0 +1,89 @@ +{ + "schema": "rain_ep_structured_bias_screen_v1", + "sdil": { + "revision": "a10a84066a6f7aa38d86b1a71ed371c9c6f22815" + }, + "author": { + "repository": "https://github.com/rain-neuromorphics/energy-based-learning", + "revision": "6b253fd8a5d267535f58ab79992256ef10031ceb" + }, + "protocol": { + "dataset": "FashionMNIST", + "network": "author ConvHopfieldEnergy28 32-64-10", + "algorithm": "positive equilibrium propagation", + "adapter": "layer", + "mode": "clean", + "bias_ratio": 0.01, + "predictor_rate": 0.2, + "neutral_cadence": 1, + "layer_calibration_steps": 1, + "calibration_batches": 0, + "calibration_observations": 0, + "calibration_seconds": 7.152557373046875e-07, + "extra_equilibrium_phases_for_predictor": 0, + "predictor_neutral_source": "existing_first_EP_phase", + "bias_ratio_normalization": "experimenter_initial_clean_layer_state_difference_rms", + "bias_ratio_normalization_visible_to_predictor": false, + "epochs": 3, + "train_limit": 10000, + "test_limit": 2000, + "evaluation_split": "train_holdout", + "data_seed": 6100, + "batch_size": 128, + "training_iterations": 12, + "inference_iterations": 30, + "seed": 1992, + "device": "cuda", + "determinism": "author_default", + "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.6273, + "train_cost": 0.29040815691947935, + "test_accuracy": 0.739, + "test_cost": 0.21597536087036132, + "finite": true, + "corrector": {}, + "wall_seconds": 11.267897367477417 + }, + { + "epoch": 2, + "train_accuracy": 0.7806, + "train_cost": 0.19002434031963347, + "test_accuracy": 0.784, + "test_cost": 0.19156996774673463, + "finite": true, + "corrector": {}, + "wall_seconds": 21.94326090812683 + }, + { + "epoch": 3, + "train_accuracy": 0.8296, + "train_cost": 0.1646257798910141, + "test_accuracy": 0.8, + "test_cost": 0.19138924407958985, + "finite": true, + "corrector": {}, + "wall_seconds": 32.553590059280396 + } + ], + "epochs_completed": 3, + "final": { + "epoch": 3, + "train_accuracy": 0.8296, + "train_cost": 0.1646257798910141, + "test_accuracy": 0.8, + "test_cost": 0.19138924407958985, + "finite": true, + "corrector": {}, + "wall_seconds": 32.553590059280396 + } +} diff --git a/results/ep_bias/c1/rain-ep-c1-s1992-constant.json b/results/ep_bias/c1/rain-ep-c1-s1992-constant.json new file mode 100644 index 0000000..27a7d2b --- /dev/null +++ b/results/ep_bias/c1/rain-ep-c1-s1992-constant.json @@ -0,0 +1,121 @@ +{ + "schema": "rain_ep_structured_bias_screen_v1", + "sdil": { + "revision": "a10a84066a6f7aa38d86b1a71ed371c9c6f22815" + }, + "author": { + "repository": "https://github.com/rain-neuromorphics/energy-based-learning", + "revision": "6b253fd8a5d267535f58ab79992256ef10031ceb" + }, + "protocol": { + "dataset": "FashionMNIST", + "network": "author ConvHopfieldEnergy28 32-64-10", + "algorithm": "positive equilibrium propagation", + "adapter": "layer", + "mode": "constant", + "bias_ratio": 0.01, + "predictor_rate": 0.2, + "neutral_cadence": 1, + "layer_calibration_steps": 1, + "calibration_batches": 0, + "calibration_observations": 0, + "calibration_seconds": 4.76837158203125e-07, + "extra_equilibrium_phases_for_predictor": 0, + "predictor_neutral_source": "existing_first_EP_phase", + "bias_ratio_normalization": "experimenter_initial_clean_layer_state_difference_rms", + "bias_ratio_normalization_visible_to_predictor": false, + "epochs": 3, + "train_limit": 10000, + "test_limit": 2000, + "evaluation_split": "train_holdout", + "data_seed": 6100, + "batch_size": 128, + "training_iterations": 12, + "inference_iterations": 30, + "seed": 1992, + "device": "cuda", + "determinism": "author_default", + "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.5902, + "train_cost": 0.3120627148628235, + "test_accuracy": 0.7045, + "test_cost": 0.24707548332214355, + "finite": true, + "corrector": { + "step": 78, + "clean_state_difference_rms": 0.0027143535116990886, + "bias_state_difference_rms": 5.9528391979235206e-05, + "residual_state_difference_rms": 7.427145715366313e-05, + "bias_to_clean_state_difference_rms": 0.021930965042933025, + "residual_to_clean_state_difference_rms": 0.02736248496503753, + "neutral_observations": 128 + }, + "wall_seconds": 11.075387001037598 + }, + { + "epoch": 2, + "train_accuracy": 0.7414, + "train_cost": 0.2212689883708954, + "test_accuracy": 0.716, + "test_cost": 0.24074801540374755, + "finite": true, + "corrector": { + "step": 157, + "clean_state_difference_rms": 0.0015841599682046043, + "bias_state_difference_rms": 6.485081704873975e-05, + "residual_state_difference_rms": 7.517749256811239e-05, + "bias_to_clean_state_difference_rms": 0.040937038146619704, + "residual_to_clean_state_difference_rms": 0.04745574568035211, + "neutral_observations": 128 + }, + "wall_seconds": 21.946842193603516 + }, + { + "epoch": 3, + "train_accuracy": 0.7349, + "train_cost": 0.22387321407794952, + "test_accuracy": 0.7125, + "test_cost": 0.24272252082824708, + "finite": true, + "corrector": { + "step": 236, + "clean_state_difference_rms": 0.0019085533072664357, + "bias_state_difference_rms": 6.470501048753361e-05, + "residual_state_difference_rms": 7.232600844724221e-05, + "bias_to_clean_state_difference_rms": 0.03390264774957147, + "residual_to_clean_state_difference_rms": 0.03789572351575163, + "neutral_observations": 128 + }, + "wall_seconds": 32.633464336395264 + } + ], + "epochs_completed": 3, + "final": { + "epoch": 3, + "train_accuracy": 0.7349, + "train_cost": 0.22387321407794952, + "test_accuracy": 0.7125, + "test_cost": 0.24272252082824708, + "finite": true, + "corrector": { + "step": 236, + "clean_state_difference_rms": 0.0019085533072664357, + "bias_state_difference_rms": 6.470501048753361e-05, + "residual_state_difference_rms": 7.232600844724221e-05, + "bias_to_clean_state_difference_rms": 0.03390264774957147, + "residual_to_clean_state_difference_rms": 0.03789572351575163, + "neutral_observations": 128 + }, + "wall_seconds": 32.633464336395264 + } +} diff --git a/results/ep_bias/c1/rain-ep-c1-s1992-innovation.json b/results/ep_bias/c1/rain-ep-c1-s1992-innovation.json new file mode 100644 index 0000000..a2ddc33 --- /dev/null +++ b/results/ep_bias/c1/rain-ep-c1-s1992-innovation.json @@ -0,0 +1,121 @@ +{ + "schema": "rain_ep_structured_bias_screen_v1", + "sdil": { + "revision": "a10a84066a6f7aa38d86b1a71ed371c9c6f22815" + }, + "author": { + "repository": "https://github.com/rain-neuromorphics/energy-based-learning", + "revision": "6b253fd8a5d267535f58ab79992256ef10031ceb" + }, + "protocol": { + "dataset": "FashionMNIST", + "network": "author ConvHopfieldEnergy28 32-64-10", + "algorithm": "positive equilibrium propagation", + "adapter": "layer", + "mode": "innovation", + "bias_ratio": 0.01, + "predictor_rate": 0.2, + "neutral_cadence": 1, + "layer_calibration_steps": 1, + "calibration_batches": 0, + "calibration_observations": 0, + "calibration_seconds": 9.5367431640625e-07, + "extra_equilibrium_phases_for_predictor": 0, + "predictor_neutral_source": "existing_first_EP_phase", + "bias_ratio_normalization": "experimenter_initial_clean_layer_state_difference_rms", + "bias_ratio_normalization_visible_to_predictor": false, + "epochs": 3, + "train_limit": 10000, + "test_limit": 2000, + "evaluation_split": "train_holdout", + "data_seed": 6100, + "batch_size": 128, + "training_iterations": 12, + "inference_iterations": 30, + "seed": 1992, + "device": "cuda", + "determinism": "author_default", + "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.6219, + "train_cost": 0.2931982192993164, + "test_accuracy": 0.73, + "test_cost": 0.2339730987548828, + "finite": true, + "corrector": { + "step": 78, + "clean_state_difference_rms": 0.003092273363250303, + "bias_state_difference_rms": 6.326089813999766e-05, + "residual_state_difference_rms": 2.5405393177713153e-05, + "bias_to_clean_state_difference_rms": 0.020457731483837456, + "residual_to_clean_state_difference_rms": 0.008215765617503307, + "neutral_observations": 128 + }, + "wall_seconds": 10.886651039123535 + }, + { + "epoch": 2, + "train_accuracy": 0.7795, + "train_cost": 0.19473017418384553, + "test_accuracy": 0.7715, + "test_cost": 0.20821030187606812, + "finite": true, + "corrector": { + "step": 157, + "clean_state_difference_rms": 0.002112995646248839, + "bias_state_difference_rms": 6.88080310711277e-05, + "residual_state_difference_rms": 2.871437337352898e-05, + "bias_to_clean_state_difference_rms": 0.03256420863586789, + "residual_to_clean_state_difference_rms": 0.013589414358001664, + "neutral_observations": 128 + }, + "wall_seconds": 21.231201887130737 + }, + { + "epoch": 3, + "train_accuracy": 0.8087, + "train_cost": 0.17765036363601686, + "test_accuracy": 0.765, + "test_cost": 0.27533377552032473, + "finite": true, + "corrector": { + "step": 236, + "clean_state_difference_rms": 0.0032434995956973855, + "bias_state_difference_rms": 6.463516512366366e-05, + "residual_state_difference_rms": 2.461473045127847e-05, + "bias_to_clean_state_difference_rms": 0.019927600795574155, + "residual_to_clean_state_difference_rms": 0.0075889420439363585, + "neutral_observations": 128 + }, + "wall_seconds": 31.772440671920776 + } + ], + "epochs_completed": 3, + "final": { + "epoch": 3, + "train_accuracy": 0.8087, + "train_cost": 0.17765036363601686, + "test_accuracy": 0.765, + "test_cost": 0.27533377552032473, + "finite": true, + "corrector": { + "step": 236, + "clean_state_difference_rms": 0.0032434995956973855, + "bias_state_difference_rms": 6.463516512366366e-05, + "residual_state_difference_rms": 2.461473045127847e-05, + "bias_to_clean_state_difference_rms": 0.019927600795574155, + "residual_to_clean_state_difference_rms": 0.0075889420439363585, + "neutral_observations": 128 + }, + "wall_seconds": 31.772440671920776 + } +} diff --git a/results/ep_bias/c1/rain-ep-c1-s1992-noise.json b/results/ep_bias/c1/rain-ep-c1-s1992-noise.json new file mode 100644 index 0000000..931b6cd --- /dev/null +++ b/results/ep_bias/c1/rain-ep-c1-s1992-noise.json @@ -0,0 +1,121 @@ +{ + "schema": "rain_ep_structured_bias_screen_v1", + "sdil": { + "revision": "a10a84066a6f7aa38d86b1a71ed371c9c6f22815" + }, + "author": { + "repository": "https://github.com/rain-neuromorphics/energy-based-learning", + "revision": "6b253fd8a5d267535f58ab79992256ef10031ceb" + }, + "protocol": { + "dataset": "FashionMNIST", + "network": "author ConvHopfieldEnergy28 32-64-10", + "algorithm": "positive equilibrium propagation", + "adapter": "layer", + "mode": "same_rms_noise", + "bias_ratio": 0.01, + "predictor_rate": 0.2, + "neutral_cadence": 1, + "layer_calibration_steps": 1, + "calibration_batches": 0, + "calibration_observations": 0, + "calibration_seconds": 4.76837158203125e-07, + "extra_equilibrium_phases_for_predictor": 0, + "predictor_neutral_source": "existing_first_EP_phase", + "bias_ratio_normalization": "experimenter_initial_clean_layer_state_difference_rms", + "bias_ratio_normalization_visible_to_predictor": false, + "epochs": 3, + "train_limit": 10000, + "test_limit": 2000, + "evaluation_split": "train_holdout", + "data_seed": 6100, + "batch_size": 128, + "training_iterations": 12, + "inference_iterations": 30, + "seed": 1992, + "device": "cuda", + "determinism": "author_default", + "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.6271, + "train_cost": 0.29068793649673463, + "test_accuracy": 0.74, + "test_cost": 0.21460011959075928, + "finite": true, + "corrector": { + "step": 78, + "clean_state_difference_rms": 0.0032240252309377704, + "bias_state_difference_rms": 6.406043359413032e-05, + "residual_state_difference_rms": 6.097125308442652e-05, + "bias_to_clean_state_difference_rms": 0.01986970603685291, + "residual_to_clean_state_difference_rms": 0.018911530995274452, + "neutral_observations": 0 + }, + "wall_seconds": 11.044940710067749 + }, + { + "epoch": 2, + "train_accuracy": 0.7789, + "train_cost": 0.19032102336883544, + "test_accuracy": 0.792, + "test_cost": 0.18319503688812255, + "finite": true, + "corrector": { + "step": 157, + "clean_state_difference_rms": 0.0023161122640271248, + "bias_state_difference_rms": 6.44030091305619e-05, + "residual_state_difference_rms": 6.532330656819814e-05, + "bias_to_clean_state_difference_rms": 0.02780651444700767, + "residual_to_clean_state_difference_rms": 0.02820386022852695, + "neutral_observations": 0 + }, + "wall_seconds": 21.709823846817017 + }, + { + "epoch": 3, + "train_accuracy": 0.8257, + "train_cost": 0.1643563955783844, + "test_accuracy": 0.7925, + "test_cost": 0.21141723918914795, + "finite": true, + "corrector": { + "step": 236, + "clean_state_difference_rms": 0.0060313715011239555, + "bias_state_difference_rms": 6.319833271738037e-05, + "residual_state_difference_rms": 6.215701718067169e-05, + "bias_to_clean_state_difference_rms": 0.010478268948547318, + "residual_to_clean_state_difference_rms": 0.010305619073387973, + "neutral_observations": 0 + }, + "wall_seconds": 32.420751333236694 + } + ], + "epochs_completed": 3, + "final": { + "epoch": 3, + "train_accuracy": 0.8257, + "train_cost": 0.1643563955783844, + "test_accuracy": 0.7925, + "test_cost": 0.21141723918914795, + "finite": true, + "corrector": { + "step": 236, + "clean_state_difference_rms": 0.0060313715011239555, + "bias_state_difference_rms": 6.319833271738037e-05, + "residual_state_difference_rms": 6.215701718067169e-05, + "bias_to_clean_state_difference_rms": 0.010478268948547318, + "residual_to_clean_state_difference_rms": 0.010305619073387973, + "neutral_observations": 0 + }, + "wall_seconds": 32.420751333236694 + } +} diff --git a/results/ep_bias/c1/rain-ep-c1-s1992-oracle.json b/results/ep_bias/c1/rain-ep-c1-s1992-oracle.json new file mode 100644 index 0000000..f2fbf4f --- /dev/null +++ b/results/ep_bias/c1/rain-ep-c1-s1992-oracle.json @@ -0,0 +1,121 @@ +{ + "schema": "rain_ep_structured_bias_screen_v1", + "sdil": { + "revision": "a10a84066a6f7aa38d86b1a71ed371c9c6f22815" + }, + "author": { + "repository": "https://github.com/rain-neuromorphics/energy-based-learning", + "revision": "6b253fd8a5d267535f58ab79992256ef10031ceb" + }, + "protocol": { + "dataset": "FashionMNIST", + "network": "author ConvHopfieldEnergy28 32-64-10", + "algorithm": "positive equilibrium propagation", + "adapter": "layer", + "mode": "oracle", + "bias_ratio": 0.01, + "predictor_rate": 0.2, + "neutral_cadence": 1, + "layer_calibration_steps": 1, + "calibration_batches": 0, + "calibration_observations": 0, + "calibration_seconds": 4.76837158203125e-07, + "extra_equilibrium_phases_for_predictor": 0, + "predictor_neutral_source": "existing_first_EP_phase", + "bias_ratio_normalization": "experimenter_initial_clean_layer_state_difference_rms", + "bias_ratio_normalization_visible_to_predictor": false, + "epochs": 3, + "train_limit": 10000, + "test_limit": 2000, + "evaluation_split": "train_holdout", + "data_seed": 6100, + "batch_size": 128, + "training_iterations": 12, + "inference_iterations": 30, + "seed": 1992, + "device": "cuda", + "determinism": "author_default", + "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.6276, + "train_cost": 0.29050382299423216, + "test_accuracy": 0.7395, + "test_cost": 0.21734858417510985, + "finite": true, + "corrector": { + "step": 78, + "clean_state_difference_rms": 0.0033674371010980557, + "bias_state_difference_rms": 6.441586560432616e-05, + "residual_state_difference_rms": 0.0, + "bias_to_clean_state_difference_rms": 0.019129047899163847, + "residual_to_clean_state_difference_rms": 0.0, + "neutral_observations": 0 + }, + "wall_seconds": 11.605305671691895 + }, + { + "epoch": 2, + "train_accuracy": 0.7829, + "train_cost": 0.1898674944639206, + "test_accuracy": 0.7755, + "test_cost": 0.19717764663696288, + "finite": true, + "corrector": { + "step": 157, + "clean_state_difference_rms": 0.0024840473367642745, + "bias_state_difference_rms": 6.526918903529694e-05, + "residual_state_difference_rms": 0.0, + "bias_to_clean_state_difference_rms": 0.026275340276049945, + "residual_to_clean_state_difference_rms": 0.0, + "neutral_observations": 0 + }, + "wall_seconds": 22.597857236862183 + }, + { + "epoch": 3, + "train_accuracy": 0.8264, + "train_cost": 0.1655891648054123, + "test_accuracy": 0.797, + "test_cost": 0.20790825462341309, + "finite": true, + "corrector": { + "step": 236, + "clean_state_difference_rms": 0.0061178294049695865, + "bias_state_difference_rms": 6.345779833553422e-05, + "residual_state_difference_rms": 0.0, + "bias_to_clean_state_difference_rms": 0.010372600171555403, + "residual_to_clean_state_difference_rms": 0.0, + "neutral_observations": 0 + }, + "wall_seconds": 33.39494323730469 + } + ], + "epochs_completed": 3, + "final": { + "epoch": 3, + "train_accuracy": 0.8264, + "train_cost": 0.1655891648054123, + "test_accuracy": 0.797, + "test_cost": 0.20790825462341309, + "finite": true, + "corrector": { + "step": 236, + "clean_state_difference_rms": 0.0061178294049695865, + "bias_state_difference_rms": 6.345779833553422e-05, + "residual_state_difference_rms": 0.0, + "bias_to_clean_state_difference_rms": 0.010372600171555403, + "residual_to_clean_state_difference_rms": 0.0, + "neutral_observations": 0 + }, + "wall_seconds": 33.39494323730469 + } +} diff --git a/results/ep_bias/c1/rain-ep-c1-s1992-raw.json b/results/ep_bias/c1/rain-ep-c1-s1992-raw.json new file mode 100644 index 0000000..b9c5571 --- /dev/null +++ b/results/ep_bias/c1/rain-ep-c1-s1992-raw.json @@ -0,0 +1,121 @@ +{ + "schema": "rain_ep_structured_bias_screen_v1", + "sdil": { + "revision": "a10a84066a6f7aa38d86b1a71ed371c9c6f22815" + }, + "author": { + "repository": "https://github.com/rain-neuromorphics/energy-based-learning", + "revision": "6b253fd8a5d267535f58ab79992256ef10031ceb" + }, + "protocol": { + "dataset": "FashionMNIST", + "network": "author ConvHopfieldEnergy28 32-64-10", + "algorithm": "positive equilibrium propagation", + "adapter": "layer", + "mode": "raw", + "bias_ratio": 0.01, + "predictor_rate": 0.2, + "neutral_cadence": 1, + "layer_calibration_steps": 1, + "calibration_batches": 0, + "calibration_observations": 0, + "calibration_seconds": 4.76837158203125e-07, + "extra_equilibrium_phases_for_predictor": 0, + "predictor_neutral_source": "existing_first_EP_phase", + "bias_ratio_normalization": "experimenter_initial_clean_layer_state_difference_rms", + "bias_ratio_normalization_visible_to_predictor": false, + "epochs": 3, + "train_limit": 10000, + "test_limit": 2000, + "evaluation_split": "train_holdout", + "data_seed": 6100, + "batch_size": 128, + "training_iterations": 12, + "inference_iterations": 30, + "seed": 1992, + "device": "cuda", + "determinism": "author_default", + "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.5504, + "train_cost": 0.3610236132144928, + "test_accuracy": 0.4795, + "test_cost": 0.44488172721862795, + "finite": true, + "corrector": { + "step": 78, + "clean_state_difference_rms": 0.0025275629237519266, + "bias_state_difference_rms": 6.11072599616226e-05, + "residual_state_difference_rms": 6.110725204763139e-05, + "bias_to_clean_state_difference_rms": 0.0241763555666162, + "residual_to_clean_state_difference_rms": 0.024176352435540355, + "neutral_observations": 0 + }, + "wall_seconds": 11.53758454322815 + }, + { + "epoch": 2, + "train_accuracy": 0.4853, + "train_cost": 0.4426814793586731, + "test_accuracy": 0.272, + "test_cost": 0.7177818298339844, + "finite": true, + "corrector": { + "step": 157, + "clean_state_difference_rms": 0.0031626557640378277, + "bias_state_difference_rms": 6.963319548899079e-05, + "residual_state_difference_rms": 6.963319230586739e-05, + "bias_to_clean_state_difference_rms": 0.022017317306796822, + "residual_to_clean_state_difference_rms": 0.02201731630032516, + "neutral_observations": 0 + }, + "wall_seconds": 22.71524214744568 + }, + { + "epoch": 3, + "train_accuracy": 0.3721, + "train_cost": 0.5236975003242492, + "test_accuracy": 0.414, + "test_cost": 0.49992397499084473, + "finite": true, + "corrector": { + "step": 236, + "clean_state_difference_rms": 0.002803550988625349, + "bias_state_difference_rms": 7.683225400132594e-05, + "residual_state_difference_rms": 7.683226003332617e-05, + "bias_to_clean_state_difference_rms": 0.0274053349887525, + "residual_to_clean_state_difference_rms": 0.027405337140309672, + "neutral_observations": 0 + }, + "wall_seconds": 33.78792762756348 + } + ], + "epochs_completed": 3, + "final": { + "epoch": 3, + "train_accuracy": 0.3721, + "train_cost": 0.5236975003242492, + "test_accuracy": 0.414, + "test_cost": 0.49992397499084473, + "finite": true, + "corrector": { + "step": 236, + "clean_state_difference_rms": 0.002803550988625349, + "bias_state_difference_rms": 7.683225400132594e-05, + "residual_state_difference_rms": 7.683226003332617e-05, + "bias_to_clean_state_difference_rms": 0.0274053349887525, + "residual_to_clean_state_difference_rms": 0.027405337140309672, + "neutral_observations": 0 + }, + "wall_seconds": 33.78792762756348 + } +} diff --git a/results/ep_bias/c1/rain-ep-c1-s1993-clean.json b/results/ep_bias/c1/rain-ep-c1-s1993-clean.json new file mode 100644 index 0000000..9298720 --- /dev/null +++ b/results/ep_bias/c1/rain-ep-c1-s1993-clean.json @@ -0,0 +1,89 @@ +{ + "schema": "rain_ep_structured_bias_screen_v1", + "sdil": { + "revision": "a10a84066a6f7aa38d86b1a71ed371c9c6f22815" + }, + "author": { + "repository": "https://github.com/rain-neuromorphics/energy-based-learning", + "revision": "6b253fd8a5d267535f58ab79992256ef10031ceb" + }, + "protocol": { + "dataset": "FashionMNIST", + "network": "author ConvHopfieldEnergy28 32-64-10", + "algorithm": "positive equilibrium propagation", + "adapter": "layer", + "mode": "clean", + "bias_ratio": 0.01, + "predictor_rate": 0.2, + "neutral_cadence": 1, + "layer_calibration_steps": 1, + "calibration_batches": 0, + "calibration_observations": 0, + "calibration_seconds": 7.152557373046875e-07, + "extra_equilibrium_phases_for_predictor": 0, + "predictor_neutral_source": "existing_first_EP_phase", + "bias_ratio_normalization": "experimenter_initial_clean_layer_state_difference_rms", + "bias_ratio_normalization_visible_to_predictor": false, + "epochs": 3, + "train_limit": 10000, + "test_limit": 2000, + "evaluation_split": "train_holdout", + "data_seed": 6100, + "batch_size": 128, + "training_iterations": 12, + "inference_iterations": 30, + "seed": 1993, + "device": "cuda", + "determinism": "author_default", + "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.5533, + "train_cost": 0.3285980202674866, + "test_accuracy": 0.708, + "test_cost": 0.23227323246002196, + "finite": true, + "corrector": {}, + "wall_seconds": 11.357156038284302 + }, + { + "epoch": 2, + "train_accuracy": 0.7522, + "train_cost": 0.20173615772724152, + "test_accuracy": 0.768, + "test_cost": 0.1902358865737915, + "finite": true, + "corrector": {}, + "wall_seconds": 22.099834203720093 + }, + { + "epoch": 3, + "train_accuracy": 0.7887, + "train_cost": 0.17437110681533813, + "test_accuracy": 0.778, + "test_cost": 0.18138674449920655, + "finite": true, + "corrector": {}, + "wall_seconds": 32.82407355308533 + } + ], + "epochs_completed": 3, + "final": { + "epoch": 3, + "train_accuracy": 0.7887, + "train_cost": 0.17437110681533813, + "test_accuracy": 0.778, + "test_cost": 0.18138674449920655, + "finite": true, + "corrector": {}, + "wall_seconds": 32.82407355308533 + } +} diff --git a/results/ep_bias/c1/rain-ep-c1-s1993-constant.json b/results/ep_bias/c1/rain-ep-c1-s1993-constant.json new file mode 100644 index 0000000..ff4ed5a --- /dev/null +++ b/results/ep_bias/c1/rain-ep-c1-s1993-constant.json @@ -0,0 +1,121 @@ +{ + "schema": "rain_ep_structured_bias_screen_v1", + "sdil": { + "revision": "a10a84066a6f7aa38d86b1a71ed371c9c6f22815" + }, + "author": { + "repository": "https://github.com/rain-neuromorphics/energy-based-learning", + "revision": "6b253fd8a5d267535f58ab79992256ef10031ceb" + }, + "protocol": { + "dataset": "FashionMNIST", + "network": "author ConvHopfieldEnergy28 32-64-10", + "algorithm": "positive equilibrium propagation", + "adapter": "layer", + "mode": "constant", + "bias_ratio": 0.01, + "predictor_rate": 0.2, + "neutral_cadence": 1, + "layer_calibration_steps": 1, + "calibration_batches": 0, + "calibration_observations": 0, + "calibration_seconds": 4.76837158203125e-07, + "extra_equilibrium_phases_for_predictor": 0, + "predictor_neutral_source": "existing_first_EP_phase", + "bias_ratio_normalization": "experimenter_initial_clean_layer_state_difference_rms", + "bias_ratio_normalization_visible_to_predictor": false, + "epochs": 3, + "train_limit": 10000, + "test_limit": 2000, + "evaluation_split": "train_holdout", + "data_seed": 6100, + "batch_size": 128, + "training_iterations": 12, + "inference_iterations": 30, + "seed": 1993, + "device": "cuda", + "determinism": "author_default", + "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.5341, + "train_cost": 0.34079625742435454, + "test_accuracy": 0.622, + "test_cost": 0.30056933212280273, + "finite": true, + "corrector": { + "step": 78, + "clean_state_difference_rms": 0.002098381744367025, + "bias_state_difference_rms": 8.915044435786554e-05, + "residual_state_difference_rms": 9.582084018021796e-05, + "bias_to_clean_state_difference_rms": 0.04248533165959166, + "residual_to_clean_state_difference_rms": 0.04566416022129578, + "neutral_observations": 128 + }, + "wall_seconds": 11.65096116065979 + }, + { + "epoch": 2, + "train_accuracy": 0.6948, + "train_cost": 0.24951874573230742, + "test_accuracy": 0.7075, + "test_cost": 0.2353134069442749, + "finite": true, + "corrector": { + "step": 157, + "clean_state_difference_rms": 0.00202241005156775, + "bias_state_difference_rms": 8.398425602252974e-05, + "residual_state_difference_rms": 8.711167211254876e-05, + "bias_to_clean_state_difference_rms": 0.0415268189343828, + "residual_to_clean_state_difference_rms": 0.04307319974256494, + "neutral_observations": 128 + }, + "wall_seconds": 22.69250512123108 + }, + { + "epoch": 3, + "train_accuracy": 0.6981, + "train_cost": 0.24762562580108644, + "test_accuracy": 0.6675, + "test_cost": 0.2755371017456055, + "finite": true, + "corrector": { + "step": 236, + "clean_state_difference_rms": 0.0022535803533020923, + "bias_state_difference_rms": 8.682708514204154e-05, + "residual_state_difference_rms": 8.825382383163159e-05, + "bias_to_clean_state_difference_rms": 0.03852850643413573, + "residual_to_clean_state_difference_rms": 0.039161605088683146, + "neutral_observations": 128 + }, + "wall_seconds": 33.86230134963989 + } + ], + "epochs_completed": 3, + "final": { + "epoch": 3, + "train_accuracy": 0.6981, + "train_cost": 0.24762562580108644, + "test_accuracy": 0.6675, + "test_cost": 0.2755371017456055, + "finite": true, + "corrector": { + "step": 236, + "clean_state_difference_rms": 0.0022535803533020923, + "bias_state_difference_rms": 8.682708514204154e-05, + "residual_state_difference_rms": 8.825382383163159e-05, + "bias_to_clean_state_difference_rms": 0.03852850643413573, + "residual_to_clean_state_difference_rms": 0.039161605088683146, + "neutral_observations": 128 + }, + "wall_seconds": 33.86230134963989 + } +} diff --git a/results/ep_bias/c1/rain-ep-c1-s1993-innovation.json b/results/ep_bias/c1/rain-ep-c1-s1993-innovation.json new file mode 100644 index 0000000..6479125 --- /dev/null +++ b/results/ep_bias/c1/rain-ep-c1-s1993-innovation.json @@ -0,0 +1,121 @@ +{ + "schema": "rain_ep_structured_bias_screen_v1", + "sdil": { + "revision": "a10a84066a6f7aa38d86b1a71ed371c9c6f22815" + }, + "author": { + "repository": "https://github.com/rain-neuromorphics/energy-based-learning", + "revision": "6b253fd8a5d267535f58ab79992256ef10031ceb" + }, + "protocol": { + "dataset": "FashionMNIST", + "network": "author ConvHopfieldEnergy28 32-64-10", + "algorithm": "positive equilibrium propagation", + "adapter": "layer", + "mode": "innovation", + "bias_ratio": 0.01, + "predictor_rate": 0.2, + "neutral_cadence": 1, + "layer_calibration_steps": 1, + "calibration_batches": 0, + "calibration_observations": 0, + "calibration_seconds": 2.384185791015625e-07, + "extra_equilibrium_phases_for_predictor": 0, + "predictor_neutral_source": "existing_first_EP_phase", + "bias_ratio_normalization": "experimenter_initial_clean_layer_state_difference_rms", + "bias_ratio_normalization_visible_to_predictor": false, + "epochs": 3, + "train_limit": 10000, + "test_limit": 2000, + "evaluation_split": "train_holdout", + "data_seed": 6100, + "batch_size": 128, + "training_iterations": 12, + "inference_iterations": 30, + "seed": 1993, + "device": "cuda", + "determinism": "author_default", + "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.5454, + "train_cost": 0.3318629432678223, + "test_accuracy": 0.691, + "test_cost": 0.24734653759002687, + "finite": true, + "corrector": { + "step": 78, + "clean_state_difference_rms": 0.0020663430474800303, + "bias_state_difference_rms": 8.509872955804687e-05, + "residual_state_difference_rms": 4.093315093855041e-05, + "bias_to_clean_state_difference_rms": 0.04118325350760486, + "residual_to_clean_state_difference_rms": 0.019809465320131458, + "neutral_observations": 128 + }, + "wall_seconds": 11.396744966506958 + }, + { + "epoch": 2, + "train_accuracy": 0.742, + "train_cost": 0.21232684512138367, + "test_accuracy": 0.766, + "test_cost": 0.1939621686935425, + "finite": true, + "corrector": { + "step": 157, + "clean_state_difference_rms": 0.0021324197133257834, + "bias_state_difference_rms": 7.610348218023733e-05, + "residual_state_difference_rms": 3.5768974748868495e-05, + "bias_to_clean_state_difference_rms": 0.035688791331582724, + "residual_to_clean_state_difference_rms": 0.0167738904894488, + "neutral_observations": 128 + }, + "wall_seconds": 22.193567991256714 + }, + { + "epoch": 3, + "train_accuracy": 0.773, + "train_cost": 0.19085681636333465, + "test_accuracy": 0.708, + "test_cost": 0.23483854389190673, + "finite": true, + "corrector": { + "step": 236, + "clean_state_difference_rms": 0.0028770355386111704, + "bias_state_difference_rms": 8.370539574024296e-05, + "residual_state_difference_rms": 3.927379002538025e-05, + "bias_to_clean_state_difference_rms": 0.02909432108741, + "residual_to_clean_state_difference_rms": 0.013650783766243938, + "neutral_observations": 128 + }, + "wall_seconds": 32.84262800216675 + } + ], + "epochs_completed": 3, + "final": { + "epoch": 3, + "train_accuracy": 0.773, + "train_cost": 0.19085681636333465, + "test_accuracy": 0.708, + "test_cost": 0.23483854389190673, + "finite": true, + "corrector": { + "step": 236, + "clean_state_difference_rms": 0.0028770355386111704, + "bias_state_difference_rms": 8.370539574024296e-05, + "residual_state_difference_rms": 3.927379002538025e-05, + "bias_to_clean_state_difference_rms": 0.02909432108741, + "residual_to_clean_state_difference_rms": 0.013650783766243938, + "neutral_observations": 128 + }, + "wall_seconds": 32.84262800216675 + } +} diff --git a/results/ep_bias/c1/rain-ep-c1-s1993-noise.json b/results/ep_bias/c1/rain-ep-c1-s1993-noise.json new file mode 100644 index 0000000..ed00a61 --- /dev/null +++ b/results/ep_bias/c1/rain-ep-c1-s1993-noise.json @@ -0,0 +1,121 @@ +{ + "schema": "rain_ep_structured_bias_screen_v1", + "sdil": { + "revision": "a10a84066a6f7aa38d86b1a71ed371c9c6f22815" + }, + "author": { + "repository": "https://github.com/rain-neuromorphics/energy-based-learning", + "revision": "6b253fd8a5d267535f58ab79992256ef10031ceb" + }, + "protocol": { + "dataset": "FashionMNIST", + "network": "author ConvHopfieldEnergy28 32-64-10", + "algorithm": "positive equilibrium propagation", + "adapter": "layer", + "mode": "same_rms_noise", + "bias_ratio": 0.01, + "predictor_rate": 0.2, + "neutral_cadence": 1, + "layer_calibration_steps": 1, + "calibration_batches": 0, + "calibration_observations": 0, + "calibration_seconds": 7.152557373046875e-07, + "extra_equilibrium_phases_for_predictor": 0, + "predictor_neutral_source": "existing_first_EP_phase", + "bias_ratio_normalization": "experimenter_initial_clean_layer_state_difference_rms", + "bias_ratio_normalization_visible_to_predictor": false, + "epochs": 3, + "train_limit": 10000, + "test_limit": 2000, + "evaluation_split": "train_holdout", + "data_seed": 6100, + "batch_size": 128, + "training_iterations": 12, + "inference_iterations": 30, + "seed": 1993, + "device": "cuda", + "determinism": "author_default", + "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.5535, + "train_cost": 0.32840834393501284, + "test_accuracy": 0.7095, + "test_cost": 0.23197692680358886, + "finite": true, + "corrector": { + "step": 78, + "clean_state_difference_rms": 0.002022509090194915, + "bias_state_difference_rms": 8.14237883082258e-05, + "residual_state_difference_rms": 8.24159696930225e-05, + "bias_to_clean_state_difference_rms": 0.040258799677572156, + "residual_to_clean_state_difference_rms": 0.040749369232787894, + "neutral_observations": 0 + }, + "wall_seconds": 11.221695184707642 + }, + { + "epoch": 2, + "train_accuracy": 0.7546, + "train_cost": 0.2012055345058441, + "test_accuracy": 0.761, + "test_cost": 0.19147343158721924, + "finite": true, + "corrector": { + "step": 157, + "clean_state_difference_rms": 0.0021506861015693213, + "bias_state_difference_rms": 7.827020797483242e-05, + "residual_state_difference_rms": 8.061173993846021e-05, + "bias_to_clean_state_difference_rms": 0.036393134227128685, + "residual_to_clean_state_difference_rms": 0.03748187142681543, + "neutral_observations": 0 + }, + "wall_seconds": 22.09644913673401 + }, + { + "epoch": 3, + "train_accuracy": 0.7905, + "train_cost": 0.17391895575523378, + "test_accuracy": 0.76, + "test_cost": 0.19218462467193603, + "finite": true, + "corrector": { + "step": 236, + "clean_state_difference_rms": 0.00431065961366364, + "bias_state_difference_rms": 8.696194300908846e-05, + "residual_state_difference_rms": 9.068442021699315e-05, + "bias_to_clean_state_difference_rms": 0.020173697485517603, + "residual_to_clean_state_difference_rms": 0.021037249132255246, + "neutral_observations": 0 + }, + "wall_seconds": 32.918834924697876 + } + ], + "epochs_completed": 3, + "final": { + "epoch": 3, + "train_accuracy": 0.7905, + "train_cost": 0.17391895575523378, + "test_accuracy": 0.76, + "test_cost": 0.19218462467193603, + "finite": true, + "corrector": { + "step": 236, + "clean_state_difference_rms": 0.00431065961366364, + "bias_state_difference_rms": 8.696194300908846e-05, + "residual_state_difference_rms": 9.068442021699315e-05, + "bias_to_clean_state_difference_rms": 0.020173697485517603, + "residual_to_clean_state_difference_rms": 0.021037249132255246, + "neutral_observations": 0 + }, + "wall_seconds": 32.918834924697876 + } +} diff --git a/results/ep_bias/c1/rain-ep-c1-s1993-oracle.json b/results/ep_bias/c1/rain-ep-c1-s1993-oracle.json new file mode 100644 index 0000000..38981cc --- /dev/null +++ b/results/ep_bias/c1/rain-ep-c1-s1993-oracle.json @@ -0,0 +1,121 @@ +{ + "schema": "rain_ep_structured_bias_screen_v1", + "sdil": { + "revision": "a10a84066a6f7aa38d86b1a71ed371c9c6f22815" + }, + "author": { + "repository": "https://github.com/rain-neuromorphics/energy-based-learning", + "revision": "6b253fd8a5d267535f58ab79992256ef10031ceb" + }, + "protocol": { + "dataset": "FashionMNIST", + "network": "author ConvHopfieldEnergy28 32-64-10", + "algorithm": "positive equilibrium propagation", + "adapter": "layer", + "mode": "oracle", + "bias_ratio": 0.01, + "predictor_rate": 0.2, + "neutral_cadence": 1, + "layer_calibration_steps": 1, + "calibration_batches": 0, + "calibration_observations": 0, + "calibration_seconds": 4.76837158203125e-07, + "extra_equilibrium_phases_for_predictor": 0, + "predictor_neutral_source": "existing_first_EP_phase", + "bias_ratio_normalization": "experimenter_initial_clean_layer_state_difference_rms", + "bias_ratio_normalization_visible_to_predictor": false, + "epochs": 3, + "train_limit": 10000, + "test_limit": 2000, + "evaluation_split": "train_holdout", + "data_seed": 6100, + "batch_size": 128, + "training_iterations": 12, + "inference_iterations": 30, + "seed": 1993, + "device": "cuda", + "determinism": "author_default", + "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.5534, + "train_cost": 0.3284186030864716, + "test_accuracy": 0.7075, + "test_cost": 0.23131526947021486, + "finite": true, + "corrector": { + "step": 78, + "clean_state_difference_rms": 0.0020434437012768845, + "bias_state_difference_rms": 8.07784232211413e-05, + "residual_state_difference_rms": 0.0, + "bias_to_clean_state_difference_rms": 0.039530535228675674, + "residual_to_clean_state_difference_rms": 0.0, + "neutral_observations": 0 + }, + "wall_seconds": 11.123469352722168 + }, + { + "epoch": 2, + "train_accuracy": 0.7514, + "train_cost": 0.2012138037443161, + "test_accuracy": 0.764, + "test_cost": 0.18780557680130006, + "finite": true, + "corrector": { + "step": 157, + "clean_state_difference_rms": 0.0021569865013576317, + "bias_state_difference_rms": 7.73013838979194e-05, + "residual_state_difference_rms": 0.0, + "bias_to_clean_state_difference_rms": 0.03583767624380822, + "residual_to_clean_state_difference_rms": 0.0, + "neutral_observations": 0 + }, + "wall_seconds": 21.941245555877686 + }, + { + "epoch": 3, + "train_accuracy": 0.7894, + "train_cost": 0.17479706602096556, + "test_accuracy": 0.7785, + "test_cost": 0.17769927787780762, + "finite": true, + "corrector": { + "step": 236, + "clean_state_difference_rms": 0.004085592221684783, + "bias_state_difference_rms": 8.391387271937894e-05, + "residual_state_difference_rms": 0.0, + "bias_to_clean_state_difference_rms": 0.020538974074308183, + "residual_to_clean_state_difference_rms": 0.0, + "neutral_observations": 0 + }, + "wall_seconds": 32.66351532936096 + } + ], + "epochs_completed": 3, + "final": { + "epoch": 3, + "train_accuracy": 0.7894, + "train_cost": 0.17479706602096556, + "test_accuracy": 0.7785, + "test_cost": 0.17769927787780762, + "finite": true, + "corrector": { + "step": 236, + "clean_state_difference_rms": 0.004085592221684783, + "bias_state_difference_rms": 8.391387271937894e-05, + "residual_state_difference_rms": 0.0, + "bias_to_clean_state_difference_rms": 0.020538974074308183, + "residual_to_clean_state_difference_rms": 0.0, + "neutral_observations": 0 + }, + "wall_seconds": 32.66351532936096 + } +} diff --git a/results/ep_bias/c1/rain-ep-c1-s1993-raw.json b/results/ep_bias/c1/rain-ep-c1-s1993-raw.json new file mode 100644 index 0000000..3109e0a --- /dev/null +++ b/results/ep_bias/c1/rain-ep-c1-s1993-raw.json @@ -0,0 +1,121 @@ +{ + "schema": "rain_ep_structured_bias_screen_v1", + "sdil": { + "revision": "a10a84066a6f7aa38d86b1a71ed371c9c6f22815" + }, + "author": { + "repository": "https://github.com/rain-neuromorphics/energy-based-learning", + "revision": "6b253fd8a5d267535f58ab79992256ef10031ceb" + }, + "protocol": { + "dataset": "FashionMNIST", + "network": "author ConvHopfieldEnergy28 32-64-10", + "algorithm": "positive equilibrium propagation", + "adapter": "layer", + "mode": "raw", + "bias_ratio": 0.01, + "predictor_rate": 0.2, + "neutral_cadence": 1, + "layer_calibration_steps": 1, + "calibration_batches": 0, + "calibration_observations": 0, + "calibration_seconds": 4.76837158203125e-07, + "extra_equilibrium_phases_for_predictor": 0, + "predictor_neutral_source": "existing_first_EP_phase", + "bias_ratio_normalization": "experimenter_initial_clean_layer_state_difference_rms", + "bias_ratio_normalization_visible_to_predictor": false, + "epochs": 3, + "train_limit": 10000, + "test_limit": 2000, + "evaluation_split": "train_holdout", + "data_seed": 6100, + "batch_size": 128, + "training_iterations": 12, + "inference_iterations": 30, + "seed": 1993, + "device": "cuda", + "determinism": "author_default", + "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.5221, + "train_cost": 0.35150251541137695, + "test_accuracy": 0.4625, + "test_cost": 0.41989406204223634, + "finite": true, + "corrector": { + "step": 78, + "clean_state_difference_rms": 0.0021269951853266984, + "bias_state_difference_rms": 8.145977649637026e-05, + "residual_state_difference_rms": 8.14597725385699e-05, + "bias_to_clean_state_difference_rms": 0.03829805401456908, + "residual_to_clean_state_difference_rms": 0.03829805215382187, + "neutral_observations": 0 + }, + "wall_seconds": 11.182552576065063 + }, + { + "epoch": 2, + "train_accuracy": 0.5975, + "train_cost": 0.31837658939361574, + "test_accuracy": 0.4645, + "test_cost": 0.4121599712371826, + "finite": true, + "corrector": { + "step": 157, + "clean_state_difference_rms": 0.0023109612143787, + "bias_state_difference_rms": 8.070724427229029e-05, + "residual_state_difference_rms": 8.070724626964209e-05, + "bias_to_clean_state_difference_rms": 0.034923668891599445, + "residual_to_clean_state_difference_rms": 0.03492366975589427, + "neutral_observations": 0 + }, + "wall_seconds": 21.94075322151184 + }, + { + "epoch": 3, + "train_accuracy": 0.5688, + "train_cost": 0.3528038673877716, + "test_accuracy": 0.5595, + "test_cost": 0.33761077690124514, + "finite": true, + "corrector": { + "step": 236, + "clean_state_difference_rms": 0.002583136266813264, + "bias_state_difference_rms": 0.00010051006302668574, + "residual_state_difference_rms": 0.00010051005661137715, + "bias_to_clean_state_difference_rms": 0.03891008938164998, + "residual_to_clean_state_difference_rms": 0.03891008689811526, + "neutral_observations": 0 + }, + "wall_seconds": 33.88884472846985 + } + ], + "epochs_completed": 3, + "final": { + "epoch": 3, + "train_accuracy": 0.5688, + "train_cost": 0.3528038673877716, + "test_accuracy": 0.5595, + "test_cost": 0.33761077690124514, + "finite": true, + "corrector": { + "step": 236, + "clean_state_difference_rms": 0.002583136266813264, + "bias_state_difference_rms": 0.00010051006302668574, + "residual_state_difference_rms": 0.00010051005661137715, + "bias_to_clean_state_difference_rms": 0.03891008938164998, + "residual_to_clean_state_difference_rms": 0.03891008689811526, + "neutral_observations": 0 + }, + "wall_seconds": 33.88884472846985 + } +} diff --git a/results/ep_bias/c1_gate.json b/results/ep_bias/c1_gate.json new file mode 100644 index 0000000..1266bba --- /dev/null +++ b/results/ep_bias/c1_gate.json @@ -0,0 +1,142 @@ +{ + "author_revision": "6b253fd8a5d267535f58ab79992256ef10031ceb", + "checks": { + "clean_deficit_upper_95_below_3_points": false, + "finite_complete_required_conditions": true, + "innovation_beats_constant_every_seed": false, + "innovation_beats_raw_every_seed": true, + "innovation_constant_lower_95_at_least_5_points": false, + "innovation_raw_lower_95_at_least_10_points": true, + "innovation_residual_below_constant_every_seed": true, + "matched_128_neutral_observations": true, + "mean_clean_validation_at_least_70": true, + "mean_wall_overhead_at_most_15_percent": true, + "noise_abs_mean_upper_95_below_3_points": false, + "oracle_abs_mean_upper_95_below_3_points": false, + "protocol_fixed_and_bp_free": true, + "raw_damage_at_least_10_points_every_seed": true, + "single_author_revision": true, + "single_sdil_revision": true + }, + "gate": "fail", + "mean_clean_validation_accuracy": 0.7626000000000001, + "num_records": 30, + "rows": [ + { + "clean": 0.7705, + "clean_minus_innovation": 0.020499999999999963, + "constant": 0.681, + "innovation": 0.75, + "innovation_minus_constant": 0.06899999999999995, + "innovation_minus_oracle": -0.01749999999999996, + "innovation_minus_raw": 0.5385, + "innovation_wall_over_clean": 1.0200028100178125, + "noise_minus_clean": 0.026000000000000023, + "oracle": 0.7675, + "raw": 0.2115, + "same_rms_noise": 0.7965, + "seed": 1989 + }, + { + "clean": 0.716, + "clean_minus_innovation": -0.020500000000000074, + "constant": 0.7915, + "innovation": 0.7365, + "innovation_minus_constant": -0.05499999999999994, + "innovation_minus_oracle": -0.03849999999999998, + "innovation_minus_raw": 0.44850000000000007, + "innovation_wall_over_clean": 1.002160782870049, + "noise_minus_clean": 0.03949999999999998, + "oracle": 0.775, + "raw": 0.288, + "same_rms_noise": 0.7555, + "seed": 1990 + }, + { + "clean": 0.7485, + "clean_minus_innovation": -0.017999999999999905, + "constant": 0.5425, + "innovation": 0.7665, + "innovation_minus_constant": 0.22399999999999998, + "innovation_minus_oracle": 0.10649999999999993, + "innovation_minus_raw": 0.6705, + "innovation_wall_over_clean": 0.9799086026637867, + "noise_minus_clean": -0.08100000000000007, + "oracle": 0.66, + "raw": 0.096, + "same_rms_noise": 0.6675, + "seed": 1991 + }, + { + "clean": 0.8, + "clean_minus_innovation": 0.03500000000000003, + "constant": 0.7125, + "innovation": 0.765, + "innovation_minus_constant": 0.05249999999999999, + "innovation_minus_oracle": -0.03200000000000003, + "innovation_minus_raw": 0.35100000000000003, + "innovation_wall_over_clean": 0.9760042015047453, + "noise_minus_clean": -0.007500000000000062, + "oracle": 0.797, + "raw": 0.414, + "same_rms_noise": 0.7925, + "seed": 1992 + }, + { + "clean": 0.778, + "clean_minus_innovation": 0.07000000000000006, + "constant": 0.6675, + "innovation": 0.708, + "innovation_minus_constant": 0.04049999999999998, + "innovation_minus_oracle": -0.07050000000000001, + "innovation_minus_raw": 0.14849999999999997, + "innovation_wall_over_clean": 1.0005652695437517, + "noise_minus_clean": -0.018000000000000016, + "oracle": 0.7785, + "raw": 0.5595, + "same_rms_noise": 0.76, + "seed": 1993 + } + ], + "sdil_revision": "a10a84066a6f7aa38d86b1a71ed371c9c6f22815", + "stage": "rain_ep_bias_c1", + "statistics": { + "clean_minus_innovation": { + "lower_95": -0.018827912063523824, + "mean": 0.017400000000000016, + "sem": 0.016993675294061622, + "upper_95": 0.05362791206352385 + }, + "innovation_minus_constant": { + "lower_95": -0.029669484192664783, + "mean": 0.0662, + "sem": 0.044970156770907516, + "upper_95": 0.16206948419266476 + }, + "innovation_minus_oracle": { + "lower_95": -0.0753849705784051, + "mean": -0.01040000000000001, + "sem": 0.030482946051850025, + "upper_95": 0.0753849705784051 + }, + "innovation_minus_raw": { + "lower_95": 0.24346576516238344, + "mean": 0.4314, + "sem": 0.08815560106992634, + "upper_95": 0.6193342348376165 + }, + "innovation_wall_over_clean": { + "lower_95": 0.97858499866313, + "mean": 0.9957283333200291, + "sem": 0.008041541618681968, + "upper_95": 1.0128716679769283 + }, + "noise_minus_clean": { + "lower_95": -0.053022807458936866, + "mean": -0.00820000000000003, + "sem": 0.02102534185215547, + "upper_95": 0.053022807458936866 + } + }, + "test_policy": "test_set_never_loaded; fixed epoch-3 train holdout" +} -- cgit v1.2.3