added combined data
@@ -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}"
|
||||
|
@@ -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
|
||||
}
|
||||
}
|
||||
]
|
||||
@@ -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)
|
||||
|
||||
|
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 28 KiB |
|
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 32 KiB |
@@ -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("cross‑entropy 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")
|
||||
|
||||
@@ -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
|
||||
|
After Width: | Height: | Size: 34 KiB |
@@ -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 network’s 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 modeling–specific dataset).
|
||||
- Provide details on the dataset’s 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.
|
||||
|
After Width: | Height: | Size: 34 KiB |
|
After Width: | Height: | Size: 29 KiB |
|
After Width: | Height: | Size: 31 KiB |