added combined data

This commit is contained in:
2025-04-24 17:45:54 -04:00
parent 9674db6256
commit f34a4c0c5c
12 changed files with 681 additions and 182 deletions
+37
View File
@@ -0,0 +1,37 @@
seed,optimizer,augmentation,test_acc,robustness
42,sgd,none,0.7017,"{'0.1': 0.6874, '0.2': 0.6539, '0.3': 0.573}"
42,sgd,standard,0.6983,"{'0.1': 0.685, '0.2': 0.6393, '0.3': 0.5324}"
42,sgd,aggressive,0.6529,"{'0.1': 0.6441, '0.2': 0.5905, '0.3': 0.5073}"
42,adam,none,0.5754,"{'0.1': 0.5688, '0.2': 0.5225, '0.3': 0.461}"
42,adam,standard,0.5012,"{'0.1': 0.5008, '0.2': 0.4696, '0.3': 0.3933}"
42,adam,aggressive,0.4534,"{'0.1': 0.443, '0.2': 0.4074, '0.3': 0.3669}"
123,sgd,none,0.7018,"{'0.1': 0.6907, '0.2': 0.6513, '0.3': 0.5808}"
123,sgd,standard,0.6987,"{'0.1': 0.688, '0.2': 0.6378, '0.3': 0.5488}"
123,sgd,aggressive,0.6736,"{'0.1': 0.6591, '0.2': 0.6077, '0.3': 0.5265}"
123,adam,none,0.5414,"{'0.1': 0.5207, '0.2': 0.4721, '0.3': 0.3951}"
123,adam,standard,0.4439,"{'0.1': 0.4509, '0.2': 0.4256, '0.3': 0.3567}"
123,adam,aggressive,0.4519,"{'0.1': 0.4502, '0.2': 0.4266, '0.3': 0.3584}"
999,sgd,none,0.6778,"{'0.1': 0.669, '0.2': 0.6288, '0.3': 0.5506}"
999,sgd,standard,0.6961,"{'0.1': 0.6862, '0.2': 0.6491, '0.3': 0.5655}"
999,sgd,aggressive,0.6623,"{'0.1': 0.6504, '0.2': 0.5934, '0.3': 0.5163}"
999,adam,none,0.5477,"{'0.1': 0.5394, '0.2': 0.4983, '0.3': 0.4188}"
999,adam,standard,0.4508,"{'0.1': 0.4455, '0.2': 0.3987, '0.3': 0.308}"
999,adam,aggressive,0.4209,"{'0.1': 0.4268, '0.2': 0.4071, '0.3': 0.3368}"
42,sgd,none,0.7013,"{'0.1': 0.6895, '0.2': 0.6449, '0.3': 0.5712}"
42,sgd,standard,0.6791,"{'0.1': 0.6702, '0.2': 0.6315, '0.3': 0.5601}"
42,sgd,aggressive,0.6703,"{'0.1': 0.6505, '0.2': 0.587, '0.3': 0.5143}"
42,adam,none,0.5658,"{'0.1': 0.5575, '0.2': 0.5204, '0.3': 0.4498}"
42,adam,standard,0.4394,"{'0.1': 0.4385, '0.2': 0.4069, '0.3': 0.3476}"
42,adam,aggressive,0.45,"{'0.1': 0.4467, '0.2': 0.4168, '0.3': 0.3557}"
123,sgd,none,0.7002,"{'0.1': 0.6902, '0.2': 0.6511, '0.3': 0.5781}"
123,sgd,standard,0.6951,"{'0.1': 0.6833, '0.2': 0.6248, '0.3': 0.5406}"
123,sgd,aggressive,0.6766,"{'0.1': 0.6661, '0.2': 0.6188, '0.3': 0.5369}"
123,adam,none,0.4857,"{'0.1': 0.4851, '0.2': 0.4572, '0.3': 0.4191}"
123,adam,standard,0.4536,"{'0.1': 0.4517, '0.2': 0.4216, '0.3': 0.3551}"
123,adam,aggressive,0.4542,"{'0.1': 0.4568, '0.2': 0.4363, '0.3': 0.3909}"
999,sgd,none,0.6961,"{'0.1': 0.6845, '0.2': 0.6509, '0.3': 0.5702}"
999,sgd,standard,0.6896,"{'0.1': 0.6757, '0.2': 0.6251, '0.3': 0.5515}"
999,sgd,aggressive,0.663,"{'0.1': 0.6542, '0.2': 0.6143, '0.3': 0.5326}"
999,adam,none,0.5189,"{'0.1': 0.5138, '0.2': 0.4787, '0.3': 0.4115}"
999,adam,standard,0.4934,"{'0.1': 0.4822, '0.2': 0.4312, '0.3': 0.34}"
999,adam,aggressive,0.4039,"{'0.1': 0.4053, '0.2': 0.3814, '0.3': 0.3183}"
1 seed optimizer augmentation test_acc robustness
2 42 sgd none 0.7017 {'0.1': 0.6874, '0.2': 0.6539, '0.3': 0.573}
3 42 sgd standard 0.6983 {'0.1': 0.685, '0.2': 0.6393, '0.3': 0.5324}
4 42 sgd aggressive 0.6529 {'0.1': 0.6441, '0.2': 0.5905, '0.3': 0.5073}
5 42 adam none 0.5754 {'0.1': 0.5688, '0.2': 0.5225, '0.3': 0.461}
6 42 adam standard 0.5012 {'0.1': 0.5008, '0.2': 0.4696, '0.3': 0.3933}
7 42 adam aggressive 0.4534 {'0.1': 0.443, '0.2': 0.4074, '0.3': 0.3669}
8 123 sgd none 0.7018 {'0.1': 0.6907, '0.2': 0.6513, '0.3': 0.5808}
9 123 sgd standard 0.6987 {'0.1': 0.688, '0.2': 0.6378, '0.3': 0.5488}
10 123 sgd aggressive 0.6736 {'0.1': 0.6591, '0.2': 0.6077, '0.3': 0.5265}
11 123 adam none 0.5414 {'0.1': 0.5207, '0.2': 0.4721, '0.3': 0.3951}
12 123 adam standard 0.4439 {'0.1': 0.4509, '0.2': 0.4256, '0.3': 0.3567}
13 123 adam aggressive 0.4519 {'0.1': 0.4502, '0.2': 0.4266, '0.3': 0.3584}
14 999 sgd none 0.6778 {'0.1': 0.669, '0.2': 0.6288, '0.3': 0.5506}
15 999 sgd standard 0.6961 {'0.1': 0.6862, '0.2': 0.6491, '0.3': 0.5655}
16 999 sgd aggressive 0.6623 {'0.1': 0.6504, '0.2': 0.5934, '0.3': 0.5163}
17 999 adam none 0.5477 {'0.1': 0.5394, '0.2': 0.4983, '0.3': 0.4188}
18 999 adam standard 0.4508 {'0.1': 0.4455, '0.2': 0.3987, '0.3': 0.308}
19 999 adam aggressive 0.4209 {'0.1': 0.4268, '0.2': 0.4071, '0.3': 0.3368}
20 42 sgd none 0.7013 {'0.1': 0.6895, '0.2': 0.6449, '0.3': 0.5712}
21 42 sgd standard 0.6791 {'0.1': 0.6702, '0.2': 0.6315, '0.3': 0.5601}
22 42 sgd aggressive 0.6703 {'0.1': 0.6505, '0.2': 0.587, '0.3': 0.5143}
23 42 adam none 0.5658 {'0.1': 0.5575, '0.2': 0.5204, '0.3': 0.4498}
24 42 adam standard 0.4394 {'0.1': 0.4385, '0.2': 0.4069, '0.3': 0.3476}
25 42 adam aggressive 0.45 {'0.1': 0.4467, '0.2': 0.4168, '0.3': 0.3557}
26 123 sgd none 0.7002 {'0.1': 0.6902, '0.2': 0.6511, '0.3': 0.5781}
27 123 sgd standard 0.6951 {'0.1': 0.6833, '0.2': 0.6248, '0.3': 0.5406}
28 123 sgd aggressive 0.6766 {'0.1': 0.6661, '0.2': 0.6188, '0.3': 0.5369}
29 123 adam none 0.4857 {'0.1': 0.4851, '0.2': 0.4572, '0.3': 0.4191}
30 123 adam standard 0.4536 {'0.1': 0.4517, '0.2': 0.4216, '0.3': 0.3551}
31 123 adam aggressive 0.4542 {'0.1': 0.4568, '0.2': 0.4363, '0.3': 0.3909}
32 999 sgd none 0.6961 {'0.1': 0.6845, '0.2': 0.6509, '0.3': 0.5702}
33 999 sgd standard 0.6896 {'0.1': 0.6757, '0.2': 0.6251, '0.3': 0.5515}
34 999 sgd aggressive 0.663 {'0.1': 0.6542, '0.2': 0.6143, '0.3': 0.5326}
35 999 adam none 0.5189 {'0.1': 0.5138, '0.2': 0.4787, '0.3': 0.4115}
36 999 adam standard 0.4934 {'0.1': 0.4822, '0.2': 0.4312, '0.3': 0.34}
37 999 adam aggressive 0.4039 {'0.1': 0.4053, '0.2': 0.3814, '0.3': 0.3183}
+398
View File
@@ -0,0 +1,398 @@
[
{
"seed": 42,
"optimizer": "sgd",
"augmentation": "none",
"test_acc": 0.7017,
"robustness": {
"0.1": 0.6874,
"0.2": 0.6539,
"0.3": 0.573
}
},
{
"seed": 42,
"optimizer": "sgd",
"augmentation": "standard",
"test_acc": 0.6983,
"robustness": {
"0.1": 0.685,
"0.2": 0.6393,
"0.3": 0.5324
}
},
{
"seed": 42,
"optimizer": "sgd",
"augmentation": "aggressive",
"test_acc": 0.6529,
"robustness": {
"0.1": 0.6441,
"0.2": 0.5905,
"0.3": 0.5073
}
},
{
"seed": 42,
"optimizer": "adam",
"augmentation": "none",
"test_acc": 0.5754,
"robustness": {
"0.1": 0.5688,
"0.2": 0.5225,
"0.3": 0.461
}
},
{
"seed": 42,
"optimizer": "adam",
"augmentation": "standard",
"test_acc": 0.5012,
"robustness": {
"0.1": 0.5008,
"0.2": 0.4696,
"0.3": 0.3933
}
},
{
"seed": 42,
"optimizer": "adam",
"augmentation": "aggressive",
"test_acc": 0.4534,
"robustness": {
"0.1": 0.443,
"0.2": 0.4074,
"0.3": 0.3669
}
},
{
"seed": 123,
"optimizer": "sgd",
"augmentation": "none",
"test_acc": 0.7018,
"robustness": {
"0.1": 0.6907,
"0.2": 0.6513,
"0.3": 0.5808
}
},
{
"seed": 123,
"optimizer": "sgd",
"augmentation": "standard",
"test_acc": 0.6987,
"robustness": {
"0.1": 0.688,
"0.2": 0.6378,
"0.3": 0.5488
}
},
{
"seed": 123,
"optimizer": "sgd",
"augmentation": "aggressive",
"test_acc": 0.6736,
"robustness": {
"0.1": 0.6591,
"0.2": 0.6077,
"0.3": 0.5265
}
},
{
"seed": 123,
"optimizer": "adam",
"augmentation": "none",
"test_acc": 0.5414,
"robustness": {
"0.1": 0.5207,
"0.2": 0.4721,
"0.3": 0.3951
}
},
{
"seed": 123,
"optimizer": "adam",
"augmentation": "standard",
"test_acc": 0.4439,
"robustness": {
"0.1": 0.4509,
"0.2": 0.4256,
"0.3": 0.3567
}
},
{
"seed": 123,
"optimizer": "adam",
"augmentation": "aggressive",
"test_acc": 0.4519,
"robustness": {
"0.1": 0.4502,
"0.2": 0.4266,
"0.3": 0.3584
}
},
{
"seed": 999,
"optimizer": "sgd",
"augmentation": "none",
"test_acc": 0.6778,
"robustness": {
"0.1": 0.669,
"0.2": 0.6288,
"0.3": 0.5506
}
},
{
"seed": 999,
"optimizer": "sgd",
"augmentation": "standard",
"test_acc": 0.6961,
"robustness": {
"0.1": 0.6862,
"0.2": 0.6491,
"0.3": 0.5655
}
},
{
"seed": 999,
"optimizer": "sgd",
"augmentation": "aggressive",
"test_acc": 0.6623,
"robustness": {
"0.1": 0.6504,
"0.2": 0.5934,
"0.3": 0.5163
}
},
{
"seed": 999,
"optimizer": "adam",
"augmentation": "none",
"test_acc": 0.5477,
"robustness": {
"0.1": 0.5394,
"0.2": 0.4983,
"0.3": 0.4188
}
},
{
"seed": 999,
"optimizer": "adam",
"augmentation": "standard",
"test_acc": 0.4508,
"robustness": {
"0.1": 0.4455,
"0.2": 0.3987,
"0.3": 0.308
}
},
{
"seed": 999,
"optimizer": "adam",
"augmentation": "aggressive",
"test_acc": 0.4209,
"robustness": {
"0.1": 0.4268,
"0.2": 0.4071,
"0.3": 0.3368
}
},
{
"seed": 42,
"optimizer": "sgd",
"augmentation": "none",
"test_acc": 0.7013,
"robustness": {
"0.1": 0.6895,
"0.2": 0.6449,
"0.3": 0.5712
}
},
{
"seed": 42,
"optimizer": "sgd",
"augmentation": "standard",
"test_acc": 0.6791,
"robustness": {
"0.1": 0.6702,
"0.2": 0.6315,
"0.3": 0.5601
}
},
{
"seed": 42,
"optimizer": "sgd",
"augmentation": "aggressive",
"test_acc": 0.6703,
"robustness": {
"0.1": 0.6505,
"0.2": 0.587,
"0.3": 0.5143
}
},
{
"seed": 42,
"optimizer": "adam",
"augmentation": "none",
"test_acc": 0.5658,
"robustness": {
"0.1": 0.5575,
"0.2": 0.5204,
"0.3": 0.4498
}
},
{
"seed": 42,
"optimizer": "adam",
"augmentation": "standard",
"test_acc": 0.4394,
"robustness": {
"0.1": 0.4385,
"0.2": 0.4069,
"0.3": 0.3476
}
},
{
"seed": 42,
"optimizer": "adam",
"augmentation": "aggressive",
"test_acc": 0.45,
"robustness": {
"0.1": 0.4467,
"0.2": 0.4168,
"0.3": 0.3557
}
},
{
"seed": 123,
"optimizer": "sgd",
"augmentation": "none",
"test_acc": 0.7002,
"robustness": {
"0.1": 0.6902,
"0.2": 0.6511,
"0.3": 0.5781
}
},
{
"seed": 123,
"optimizer": "sgd",
"augmentation": "standard",
"test_acc": 0.6951,
"robustness": {
"0.1": 0.6833,
"0.2": 0.6248,
"0.3": 0.5406
}
},
{
"seed": 123,
"optimizer": "sgd",
"augmentation": "aggressive",
"test_acc": 0.6766,
"robustness": {
"0.1": 0.6661,
"0.2": 0.6188,
"0.3": 0.5369
}
},
{
"seed": 123,
"optimizer": "adam",
"augmentation": "none",
"test_acc": 0.4857,
"robustness": {
"0.1": 0.4851,
"0.2": 0.4572,
"0.3": 0.4191
}
},
{
"seed": 123,
"optimizer": "adam",
"augmentation": "standard",
"test_acc": 0.4536,
"robustness": {
"0.1": 0.4517,
"0.2": 0.4216,
"0.3": 0.3551
}
},
{
"seed": 123,
"optimizer": "adam",
"augmentation": "aggressive",
"test_acc": 0.4542,
"robustness": {
"0.1": 0.4568,
"0.2": 0.4363,
"0.3": 0.3909
}
},
{
"seed": 999,
"optimizer": "sgd",
"augmentation": "none",
"test_acc": 0.6961,
"robustness": {
"0.1": 0.6845,
"0.2": 0.6509,
"0.3": 0.5702
}
},
{
"seed": 999,
"optimizer": "sgd",
"augmentation": "standard",
"test_acc": 0.6896,
"robustness": {
"0.1": 0.6757,
"0.2": 0.6251,
"0.3": 0.5515
}
},
{
"seed": 999,
"optimizer": "sgd",
"augmentation": "aggressive",
"test_acc": 0.663,
"robustness": {
"0.1": 0.6542,
"0.2": 0.6143,
"0.3": 0.5326
}
},
{
"seed": 999,
"optimizer": "adam",
"augmentation": "none",
"test_acc": 0.5189,
"robustness": {
"0.1": 0.5138,
"0.2": 0.4787,
"0.3": 0.4115
}
},
{
"seed": 999,
"optimizer": "adam",
"augmentation": "standard",
"test_acc": 0.4934,
"robustness": {
"0.1": 0.4822,
"0.2": 0.4312,
"0.3": 0.34
}
},
{
"seed": 999,
"optimizer": "adam",
"augmentation": "aggressive",
"test_acc": 0.4039,
"robustness": {
"0.1": 0.4053,
"0.2": 0.3814,
"0.3": 0.3183
}
}
]
+14 -2
View File
@@ -173,9 +173,21 @@ def analyze_results(results_path='results.json'):
# composite label
df['condition'] = df['optimizer'] + '_' + df['augmentation']
fig, ax = plt.subplots(figsize=(12, 8))
colors = plt.cm.viridis(np.linspace(0.2, 0.8, len(df)))
df.plot.bar(x='condition', y='test_acc', rot=45, color=colors, ax=ax)
df.plot.bar(x='condition', y='test_acc', rot=45)
plt.ylabel('test accuracy')
plt.tight_layout()
# plt.tight_layout()
# only show every other tick label to avoid overcrowding
tick_labels = ax.get_xticklabels()
new_labels = [label.get_text() if i % 2 == 0 else "" for i, label in enumerate(tick_labels)]
ax.set_xticklabels(new_labels)
# ripped off the py docs --> viridis colormap for bars
colors = plt.cm.viridis(np.linspace(0.2, 0.8, len(df)))
@@ -267,6 +279,6 @@ if __name__ == '__main__':
# exit(1)
if args.analyze:
analyze_results()
analyze_results("combined_results.json")
else:
run_experiments(args)
Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

After

Width:  |  Height:  |  Size: 32 KiB

+16 -16
View File
@@ -3,15 +3,16 @@ import json
import pandas as pd
import matplotlib.pyplot as plt
BASE_DIR = "./on_GPU"
# BASE_DIR = "./on_GPU"
# training diagnostics
histories = []
for csv in glob.glob(f"{BASE_DIR}/analytics/history_*.csv"):
df = pd.read_csv(csv) # epochs x metrics
tag = "_".join(csv.split("_")[1:4]) # like sgd_none_42.csv
df['condition'] = tag.replace(".csv", "")
histories.append(df)
for BASE_DIR in ['./on_CPU', './on_GPU']:
for csv in glob.glob(f"{BASE_DIR}/analytics/history_*.csv"):
df = pd.read_csv(csv) # epochs x metrics
tag = "_".join(csv.split("_")[1:4]) # like sgd_none_42.csv
df['condition'] = tag.replace(".csv", "")
histories.append(df)
logs = pd.concat(histories, ignore_index=True)
@@ -20,9 +21,9 @@ mean_log = logs.groupby('epoch').mean(numeric_only=True)
plt.figure()
plt.plot(mean_log.index, mean_log['train_acc'],
color='tab:blue', label='train')
color='#228B22', label='train')
plt.plot(mean_log.index, mean_log['test_acc'],
color='tab:orange', label='validation')
color='#800080', label='validation')
plt.xlabel("epoch")
plt.ylabel("accuracy")
plt.legend()
@@ -31,14 +32,13 @@ ax = plt.gca()
ax.spines['top'].set_visible(False)
ax.spines['right'].set_visible(False)
plt.tight_layout()
plt.savefig(f"{BASE_DIR}/train_val_accuracy.png")
plt.savefig(f"train_val_accuracy.png")
# Plot train vs validation loss
plt.figure()
plt.plot(mean_log.index, mean_log['train_loss'],
color='tab:blue', label='train')
color='#008080', label='train') # teal
plt.plot(mean_log.index, mean_log['test_loss'],
color='tab:orange', label='validation')
color='#FF00FF', label='validation') # magenta
plt.xlabel("epoch")
plt.ylabel("crossentropy loss")
plt.legend()
@@ -47,10 +47,10 @@ ax = plt.gca()
ax.spines['top'].set_visible(False)
ax.spines['right'].set_visible(False)
plt.tight_layout()
plt.savefig(f"{BASE_DIR}/train_val_loss.png")
plt.savefig(f"train_val_loss.png")
# robustness curves
with open(f"{BASE_DIR}/results.json") as f:
with open(f"./combined_results.json") as f:
res = json.load(f)
df = pd.DataFrame(res)
@@ -68,7 +68,7 @@ for _, row in df.iterrows():
rob_df = pd.DataFrame(records)
pivot = rob_df.groupby(['optimizer', 'sigma']).acc.mean().unstack(0)
ax = pivot.plot(marker='o', linestyle='-', color=['#0072B2', '#D55E00'])
ax = pivot.plot(marker='o', linestyle='-', color=['#FF0000', '#00008B'])
plt.xlabel("Gaussian noise sigma")
plt.ylabel("accuracy")
plt.title("Noise robustness")
@@ -76,5 +76,5 @@ plt.grid(True)
ax.spines['top'].set_visible(False)
ax.spines['right'].set_visible(False)
plt.tight_layout()
plt.savefig(f"{BASE_DIR}/robustness_curve.png")
plt.savefig(f"./robustness_curve.png")
print("saved robustness_curve.png")
+216
View File
@@ -0,0 +1,216 @@
alabaster==1.0.0
annotated-types==0.7.0
anyascii==0.3.2
anyio==4.8.0
apparmor==4.0.3
application-utility==1.4.0
arandr==0.1.11
argcomplete==3.5.3
arrow==1.3.0
attrs==23.2.1.dev0
autocommand==2.2.2
Automat==22.10.0
b2==4.3.0
b2sdk==2.7.0
Babel==2.15.0
black==25.1.0
breezy==3.3.9
btrfsutil==6.13
build==1.2.2
CacheControl==0.14.2
cachy==0.3.0
certifi==2025.1.31
cffi==1.17.1
cfgv==3.4.0
chardet==5.2.0
charset-normalizer==3.4.1
cleo==2.1.0
click==8.1.8
configobj==5.0.9
constantly==23.10.4
crashtest==0.4.1
cryptography==44.0.2
cssselect2==0.7.0
Cython==0.29.37
dbus-python==1.4.0
deluge==2.1.1
distlib==0.3.9
distro==1.9.0
docopt==0.6.2
docutils==0.21.2
dulwich==0.22.8
ecdsa==0.19.0
editables==0.5
fastbencode==0.3.1
fastjsonschema==2.21.1
filelock==3.18.0
findpython==0.6.3
flit_core==3.11.0
GeoIP==1.3.2
gpg==1.24.2
gufw==24.4.0
h11==0.14.0
hatch==1.14.0
hatchling==1.27.0
html5lib==1.1
httpcore==1.0.7
httplib2==0.22.0
httpx==0.28.1
hyperlink==21.0.0
identify==2.6.9
idna==3.10
ifaddr==0.2.0
imagesize==1.4.1
importlib_metadata==7.2.1
incremental==22.10.0
inflect==7.5.0
iniconfig==2.0.0
installer==0.7.0
jaraco.classes==3.4.0
jaraco.collections==5.1.0
jaraco.context==6.0.1
jaraco.functools==4.1.0
jaraco.text==4.0.0
jeepney==0.9.0
Jinja2==3.1.5
jsonschema==4.23.0
jsonschema-specifications==2024.10.1
keyring==25.6.0
lark==1.2.2
launchpadlib==2.0.0
lazr.restfulclient==0.14.6
lazr.uri==1.0.6
legacy-cgi==2.6.3
lensfun==0.3.4
LibAppArmor==4.0.3
libtorrent==2.0.11
lit==19.1.7.dev0
lockfile==0.12.2
logfury==1.0.1
lxml==5.3.1
Mako==1.3.9.dev0
Markdown==3.7
markdown-it-py==3.0.0
MarkupSafe==2.1.5
material-color-utilities-python==0.1.5
mdurl==0.1.2
merge3==0.0.15
meson==1.7.2
more-itertools==10.6.0
msgpack==1.0.5
mypy_extensions==1.0.0
netifaces==0.11.0
nftables==0.1
nodeenv==1.9.1
npyscreen==4.10.5
oauthlib==3.2.2
ordered-set==4.1.0
packaging==24.2
pacman_mirrors==4.27
pathspec==0.12.1
patiencediff==0.2.15
pbs-installer==2025.3.17
pefile==2024.8.26
pexpect==4.9.0
phx-class-registry==4.0.6
pillow==11.1.0
pkginfo==1.12.0
platformdirs==4.3.6
pluggy==1.5.0
poetry==2.1.2
poetry-core==2.1.2
poetry-plugin-export==1.9.0
pre_commit==4.1.0
psutil==7.0.0
ptyprocess==0.7.0
pyasn1==0.6.0
pyasn1_modules==0.4.0
pycairo==1.27.0
pycparser==2.22
pydantic==2.11.2
pydantic_core==2.33.1
pygame_sdl2==2.1.0
Pygments==2.19.1
PyGObject==3.52.3
pynotify==1.3.0
pyOpenSSL==25.0.0
pyparsing==3.2.1
pyproject_hooks==1.2.0
PyQt5==5.15.11
PyQt5_sip==12.17.0
PyQt6==6.8.1
PyQt6_sip==13.10.0
PySocks==1.7.1
pytest==8.3.5
python-dateutil==2.9.0
pytz==2025.1
pyxdg==0.28
PyYAML==6.0.2
ranger-fm==1.9.4
RapidFuzz==3.12.2
referencing==0.35.1
regex==2024.11.6
rencode==1.0.6
reportlab==4.2.2
requests==2.32.3
requests-toolbelt==1.0.0
rich==14.0.0
roman-numerals-py==3.1.0
rpds-py==0.22.3
rsa==4.9
rst2ansi==0.1.5
SecretStorage==3.3.3
service-identity==24.2.0
setproctitle==1.3.5
setuptools==75.8.0
setuptools-scm==8.2.1
shellingham==1.5.4
simplejson==3.20.1
six==1.17.0
sniffio==1.3.1
snowballstemmer==2.2.0
speedtest-cli==2.1.3
Sphinx==8.2.3
sphinx_rtd_dark_mode==1.3.0
sphinx_rtd_theme==2.0.0
sphinxcontrib-applehelp==2.0.0
sphinxcontrib-devhelp==2.0.0
sphinxcontrib-htmlhelp==2.1.0
sphinxcontrib-jquery==4.1
sphinxcontrib-jsmath==1.0.1
sphinxcontrib-qthelp==2.0.0
sphinxcontrib-serializinghtml==2.0.0
svglib==1.5.1
systemd-python==235
tabulate==0.9.0
termcolor==2.5.0
tinycss2==1.4.0
tomli==2.0.1
tomli_w==1.2.0
tomlkit==0.13.2
torbrowser-launcher==0.3.7
tqdm==4.67.1
trove-classifiers==2025.3.19.19
Twisted==24.3.0
typeguard==4.4.2
types-python-dateutil==2.9.0.20241206
typing-inspection==0.4.0
typing_extensions==4.12.2
tzlocal==5.3.1
ueberzug==18.3.1
ufw==0.36.2
urllib3==2.3.0
userpath==1.9.2
uv==0.6.12
validate==5.0.9
validate-pyproject==0.24.1
virtualenv==20.28.0
wadllib==2.0.0
webencodings==0.5.1
wheel==0.45.1
woeusb-ng==0.2.12
wxPython==4.2.2
Yapsy==2.0.0
zipp==3.21.0
zope.interface==7.2
zstandard==0.23.0
Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

-164
View File
@@ -1,164 +0,0 @@
This outline provides a comprehensive roadmap for your project, ensuring that each part of the analysis is methodically planned—from background and experimental design through to the discussion of the results and their implications. You can adjust or expand any section to fit the specific requirements of your study or any additional ideas that emerge during your research process. Please create ANY code needed to make this work
---
# Title Page
- **Title:** Investigating the Impact of Training Algorithms and Data Augmentation on Network Robustness and Generalization
- **Authors:** [Your Name(s)]
- **Institution:** [Your Institution]
- **Date:** [Submission Date]
---
# Abstract
- **Overview:** Briefly summarize the aim of the study—how altering training algorithms and data augmentation strategies affects the robustness and generalization of deep neural networks.
- **Key Methods:** Outline the experimental approach, including model selection, variations in training algorithms, and augmentation techniques.
- **Results (anticipated):** State expected trends such as improved robustness with specific augmentation or algorithm modifications.
- **Implications:** Note the broader impact for understanding learning in cognitive systems and potential applications.
---
# 1. Introduction
## 1.1 Background
- **Deep Neural Networks (DNNs):** Brief description of DNNs and their widespread use in cognitive modeling.
- **Training Algorithms:** Overview of standard training methods (e.g., SGD, Adam) and their role in learning representations.
- **Data Augmentation:** Definition and examples of data augmentation strategies; why they are used to prevent overfitting and improve generalization.
## 1.2 Motivation
- **Robustness and Generalization:** Discuss the importance of robustness (resilience to input noise/perturbations) and generalization (performance on unseen data).
- **Relevance to Cognitive Modeling:** Explain how these factors parallel human learning processes and cognitive flexibility.
## 1.3 Research Question
- **Main Question:** “What are the consequences of altering the networks training algorithms or data augmentation strategies on its robustness and generalization?”
- **Hypothesis:** Present a hypothesis that specific modifications in training (e.g., adaptive optimizers) and augmentation (e.g., aggressive random transformations) can improve robustness and lead to better generalization.
## 1.4 Objectives
- **Objective 1:** Compare different training algorithms in terms of convergence behavior and robustness.
- **Objective 2:** Analyze the effect of various data augmentation strategies on model generalization.
- **Objective 3:** Identify combinations of training and augmentation methods that maximize both robustness and generalization performance.
---
# 2. Methods
## 2.1 Experimental Setup
- **Dataset Description:**
- Specify if using a synthetic dataset or an existing benchmark dataset (e.g., CIFAR-10/100, MNIST, or a cognitive modelingspecific dataset).
- Provide details on the datasets features and why it is suitable for testing robustness and generalization.
- **Model Architecture:**
- Describe the baseline deep neural network architecture.
- Justify choice in the context of the cognitive modeling domain.
## 2.2 Training Algorithms
- **Algorithms Considered:**
- List the standard optimizer(s) (e.g., SGD, Adam) and any variations (e.g., SGD with momentum, RMSProp).
- Outline modifications or alternative training regimes you plan to test.
- **Implementation Details:**
- Explain hyperparameter settings (learning rate, batch size, etc.).
- Note any regularization techniques (e.g., dropout, weight decay).
## 2.3 Data Augmentation Strategies
- **Augmentation Techniques:**
- List specific transformations (e.g., rotations, flips, scaling, noise injection, color jittering).
- Explain rationale for each technique in terms of simulating real-world variability.
- **Experimental Conditions:**
- Define control (no augmentation), standard augmentation, and aggressive augmentation groups.
## 2.4 Experimental Design
- **Factorial Design:**
- Describe how you will combine variations in training algorithms with different augmentation strategies.
- Outline the groups/conditions and how many runs or trials per condition.
- **Evaluation Metrics:**
- Define metrics for robustness (e.g., performance degradation under noise, adversarial robustness tests).
- Define generalization metrics (e.g., test accuracy, cross-validation performance, loss metrics).
- **Statistical Analysis:**
- Outline the statistical methods you will use to compare groups (e.g., ANOVA, t-tests, or non-parametric alternatives).
## 2.5 Implementation Environment
- **Software and Libraries:**
- List programming languages and frameworks (e.g., Python, TensorFlow or PyTorch).
- Mention any specific modules for data augmentation or custom training loops.
- **Hardware Requirements:**
- Describe computational resources (GPUs, cloud computing services).
---
# 3. Results (Planned/Anticipated)
## 3.1 Training Performance
- **Convergence Analysis:**
- Present plots of training and validation loss curves for each condition.
- Compare convergence speed across training algorithms.
## 3.2 Robustness Evaluation
- **Robustness Metrics:**
- Show how performance changes under input perturbations or noise conditions.
- Graphs or tables comparing degradation rates among models.
## 3.3 Generalization Performance
- **Generalization Metrics:**
- Compare test accuracies across the different augmentation strategies.
- Visualization (e.g., bar graphs or box plots) of performance metrics.
## 3.4 Combined Effects
- **Interaction Effects:**
- Analyze interaction between training algorithm and augmentation strategy.
- Use statistical tests to determine significant differences between groups.
---
# 4. Discussion
## 4.1 Interpretation of Results
- **Training Algorithm Impact:**
- Discuss how changes in the optimizer affect learning dynamics and robustness.
- **Data Augmentation Impact:**
- Interpret which augmentation strategies provided the best improvements in generalization.
- **Interaction Effects:**
- Reflect on how training and augmentation interact—are there synergistic effects?
## 4.2 Comparison with Literature
- **Cognitive Modeling Parallels:**
- Compare findings with human cognitive robustness and adaptability research.
- **Related Work:**
- Discuss similarities and differences with previous studies in machine learning and cognitive modeling.
## 4.3 Limitations
- **Experimental Constraints:**
- Note potential limitations (dataset size, architecture complexity, computational resources).
- **Generalizability:**
- Discuss the extent to which findings can be generalized to other tasks or models.
## 4.4 Future Directions
- **Further Modifications:**
- Suggest testing additional optimizers, augmentation techniques, or hybrid training methods.
- **Extensions:**
- Propose applying the findings to real-world cognitive tasks or more complex architectures.
- **Integration with Cognitive Theories:**
- Explore how the improved model training strategies can inform cognitive science theories of learning.
---
# 5. Conclusion
- **Summary of Findings:**
- Recap the key insights regarding the effect of training algorithm and augmentation strategy modifications on model robustness and generalization.
- **Implications for Cognitive Modeling:**
- Highlight the broader significance for both machine learning applications and our understanding of human cognitive processes.
- **Final Remarks:**
- Conclude with thoughts on the potential impact of these strategies on future neural network design and cognitive simulation research.
---
# 6. References
- **Literature Cited:**
- List all key articles, books, and other sources that support your background, methods, and discussion sections.
---
# 7. Appendices (if applicable)
- **Additional Figures and Tables:**
- Include supplementary graphs, tables, or detailed descriptions of experimental protocols.
- **Code Samples or Pseudocode:**
- Provide representative snippets of the implementation, if needed, with comments in a consistent style.
Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB