def __new__(cls, *args, **kwargs): cls.name = "parametric_defense" grid_params = [] grid_params.append({ 'model': [ 'logistic_regression', 'adv_logistic_regression_50', 'advPruning_logistic_regression_50', ], 'ord': [ATTACK_NORM], 'dataset': tree_datasets, 'attack': ['pgd'], 'random_seed': random_seed, }) grid_params.append({ 'model': [ 'mlp', 'adv_mlp_50', 'advPruning_mlp_50', ], 'ord': [ATTACK_NORM], 'dataset': tree_datasets, 'attack': ['pgd'], 'random_seed': random_seed, }) cls.grid_params = grid_params return RobustExperiments.__new__(cls, *args, **kwargs)
def __new__(cls, *args, **kwargs): cls.name = "rf-robustness" attacks = ['RBA_Approx_RF_100'] invert_ds_eps = {} for k, v in ds_eps.items(): invert_ds_eps.setdefault(v, []).append( auto_var.get_var_shown_name("dataset", k)) grid_params = [] for ds in tree_datasets: v, k = [ds], ds_eps[auto_var.get_var_shown_name("dataset", ds)] models = [ 'random_forest_100_d5', f'adv_rf_100_{k}_d5', f'robust_rf_100_{k}_d5', f'advPruning_rf_100_{k}_d5', ] grid_params.append({ 'model': models, 'ord': [ATTACK_NORM], 'dataset': v, 'attack': attacks, 'random_seed': random_seed, }) cls.grid_params = grid_params return RobustExperiments.__new__(cls, *args, **kwargs)
def __new__(cls, *args, **kwargs): cls.name = "dt-robustness" attacks = ['pgd'] invert_ds_eps = {} for k, v in ds_eps.items(): invert_ds_eps.setdefault(v, []).append( auto_var.get_var_shown_name("dataset", k)) grid_params = [] for ds in tree_datasets: v, k = [ds], ds_eps[auto_var.get_var_shown_name("dataset", ds)] models = [ 'logistic_regression', f'adv_logistic_regression_{k}', f'advPruning_logistic_regression_{k}', ] grid_params.append({ 'model': models, 'ord': [ATTACK_NORM], 'dataset': v, 'attack': attacks, 'random_seed': random_seed, }) cls.grid_params = grid_params return RobustExperiments.__new__(cls, *args, **kwargs)
def __new__(cls, *args, **kwargs): cls.name = "compare_nns" grid_params = [] for i in [1, 3, 5, 7]: grid_params.append({ 'model': ['knn%d' % i], 'ord': [ATTACK_NORM], 'dataset': datasets, 'attack': ['RBA_Approx_KNN_k%d_50' % i], 'random_seed': random_seed, }) cls.grid_params = grid_params return RobustExperiments.__new__(cls, *args, **kwargs)
def __new__(cls, *args, **kwargs): cls.name = "nn_k3_robustness_figs" nn_k3_models = [ 'knn3', 'advPruning_nn_k3_30', ] grid_params = { 'model': nn_k3_models, 'attack': ['RBA_Approx_KNN_k3_50'], 'dataset': datasets, 'ord': [ATTACK_NORM], 'random_seed': random_seed, } cls.grid_params = grid_params return RobustExperiments.__new__(cls, *args, **kwargs)
def __new__(cls, *args, **kwargs): cls.name = "compare_attacks" grid_params = [] grid_params.append({ 'model': ['knn1'], 'ord': [ATTACK_NORM], 'dataset': datasets, 'attack': [ 'direct_k1', 'blackbox', 'kernelsub_c1000_pgd', 'RBA_Exact_KNN_k1', 'RBA_Approx_KNN_k1_50', ], 'random_seed': random_seed, }) grid_params.append({ 'model': ['knn3'], 'ord': [ATTACK_NORM], 'dataset': datasets, 'attack': [ 'direct_k3', 'blackbox', 'kernelsub_c1000_pgd', 'RBA_Approx_KNN_k3_50' ], 'random_seed': random_seed, }) grid_params.append({ 'model': ['decision_tree_d5'], 'ord': [ATTACK_NORM], 'dataset': tree_datasets, 'attack': ['dt_papernots', 'blackbox', 'RBA_Exact_DT'], 'random_seed': random_seed, }) grid_params.append({ 'model': ['random_forest_100_d5'], 'ord': [ATTACK_NORM], 'dataset': tree_datasets, 'attack': ['blackbox', 'RBA_Approx_RF_100'], 'random_seed': random_seed, }) cls.grid_params = grid_params return RobustExperiments.__new__(cls, *args, **kwargs)
def __new__(cls, *args, **kwargs): cls.name = "rf_robustness_figs" rf_models = [ 'random_forest_100_d5', 'robust_rf_100_30_d5', 'advPruning_rf_100_30_d5', ] grid_params = { 'model': rf_models, 'attack': ['RBA_Approx_RF_100'], 'dataset': tree_datasets, 'ord': [ATTACK_NORM], 'random_seed': random_seed, } cls.grid_params = grid_params return RobustExperiments.__new__(cls, *args, **kwargs)
def __new__(cls, *args, **kwargs): dt_models = [ 'decision_tree_d5', 'robust_decision_tree_d5_30', 'advPruning_decision_tree_d5_30', ] cls.name = "dt_robustness_figs" grid_params = { 'model': dt_models, 'attack': ['RBA_Exact_DT'], 'dataset': tree_datasets, 'ord': [ATTACK_NORM], 'random_seed': random_seed, } cls.grid_params = grid_params return RobustExperiments.__new__(cls, *args, **kwargs)
def __new__(cls, *args, **kwargs): cls.name = "dt-robustness" attacks = ['pgd'] grid_params = [] for ds in tree_datasets: v, k = [ds], ds_eps[auto_var.get_var_shown_name("dataset", ds)] models = ['mlp', f'adv_mlp_{k}', f'advPruning_mlp_{k}'] grid_params.append({ 'model': models, 'ord': [ATTACK_NORM], 'dataset': v, 'attack': attacks, 'random_seed': random_seed, }) cls.grid_params = grid_params return RobustExperiments.__new__(cls, *args, **kwargs)
def __new__(cls, *args, **kwargs): cls.name = "3nn_robustness" grid_params = [] grid_params.append({ 'model': [ 'knn3', 'advPruning_nn_k3_10', 'advPruning_nn_k3_30', 'advPruning_nn_k3_50', ], 'ord': [ATTACK_NORM], 'dataset': datasets, 'attack': ['RBA_Approx_KNN_k3_50'], #, 'blackbox'], 'random_seed': random_seed, }) cls.grid_params = grid_params return RobustExperiments.__new__(cls, *args, **kwargs)
def __new__(cls, *args, **kwargs): cls.name = "fullds" grid_params = [] grid_params.append({ 'model': [ 'random_forest_500_d10', 'approxAP_rf_500_20_d10', 'xgb_xgb_models/prune_fullmnist_pca100_20_rf_linf.0200.model', "knn1", "approxAP_nn_k1_20", "knn3", "approxAP_nn_k3_20", 'xgb_xgb_models/prune_fullmnist_pca100_20_linf.unrob.0200.model', 'xgb_xgb_models/fullmnist_pca100.unrob.0200.model', 'xgb_xgb_models/fullmnist_pca100.0200.model', ], 'ord': [ATTACK_NORM], 'dataset': ['fullmnist_pca100'], 'attack': ['blackbox'], 'random_seed': random_seed, }) grid_params.append({ 'model': [ 'random_forest_500_d10', 'approxAP_rf_500_20_d10', 'xgb_xgb_models/prune_fullfashion_pca100_20_rf_linf.0200.model', "knn1", "approxAP_nn_k1_20", "knn3", "approxAP_nn_k3_20", 'xgb_xgb_models/prune_fullfashion_pca100_20_linf.unrob.0200.model', 'xgb_xgb_models/fullfashion_pca100.unrob.0200.model', 'xgb_xgb_models/fullfashion_pca100.0200.model', ], 'ord': [ATTACK_NORM], 'dataset': ['fullfashion_pca100'], 'attack': ['blackbox'], 'random_seed': random_seed, }) cls.grid_params = grid_params return RobustExperiments.__new__(cls, *args, **kwargs)
def __new__(cls, *args, **kwargs): cls.name = "dt-robustness" models = [ 'decision_tree_d5', 'advPruning_decision_tree_d5_10', 'advPruning_decision_tree_d5_30', 'advPruning_decision_tree_d5_50', ] attacks = ['RBA_Exact_DT'] grid_params = [] grid_params.append({ 'model': models, 'ord': [ATTACK_NORM], 'dataset': tree_datasets, 'attack': attacks, 'random_seed': random_seed, }) cls.grid_params = grid_params return RobustExperiments.__new__(cls, *args, **kwargs)
def __new__(cls, *args, **kwargs): cls.name = "fullds" grid_params = [] grid_params.append({ 'model': [ 'faisslshknn_3_200', 'approxAP_faisslshknn_3_200_500', 'random_forest_100_d10', 'approxAP_rf_100_500_d10', 'mlp', 'adv_mlp_500', ], 'ord': [ATTACK_NORM], 'dataset': ['fullmnist', 'fullfashion'], 'attack': ['blackbox'], 'random_seed': random_seed, }) cls.grid_params = grid_params return RobustExperiments.__new__(cls, *args, **kwargs)
def __new__(cls, *args, **kwargs): cls.name = "mlp-at-robustness" models = [ 'mlp', 'adv_mlp_25', 'adv_mlp_50', 'adv_mlp_75', ] attacks = ['pgd'] grid_params = [] grid_params.append({ 'model': models, 'ord': [ATTACK_NORM], 'dataset': tree_datasets, 'attack': attacks, 'random_seed': random_seed, }) cls.grid_params = grid_params return RobustExperiments.__new__(cls, *args, **kwargs)
def __new__(cls, *args, **kwargs): cls.name = "fullds_l2" grid_params = [] grid_params.append({ 'model': [ 'random_forest_300_d10', 'approxAP_rf_300_500_d10', "knn1", "approxAP_nn_k1_500", "knn3", "approxAP_nn_k3_500", ], 'ord': [ATTACK_NORM], 'dataset': ['fullmnist', 'fullfashion'], 'attack': ['blackbox'], 'random_seed': random_seed, }) cls.grid_params = grid_params return RobustExperiments.__new__(cls, *args, **kwargs)
def __new__(cls, *args, **kwargs): cls.name = "lr-ap-robustness" models = [ 'logistic_regression', 'advPruning_logistic_regression_25', 'advPruning_logistic_regression_50', 'advPruning_logistic_regression_75', ] attacks = ['pgd'] grid_params = [] grid_params.append({ 'model': models, 'ord': [ATTACK_NORM], 'dataset': tree_datasets, 'attack': attacks, 'random_seed': random_seed, }) cls.grid_params = grid_params return RobustExperiments.__new__(cls, *args, **kwargs)
def __new__(cls, *args, **kwargs): cls.name = "1nn_robustness" grid_params = [] grid_params.append({ 'model': [ 'knn1', 'advPruning_nn_k1_25', 'advPruning_nn_k1_50', 'advPruning_nn_k1_75', #'adv_nn_k1_10', 'adv_nn_k1_30', 'adv_nn_k1_50', #'robustv2_nn_k1_10', 'robustv2_nn_k1_30', 'robustv2_nn_k1_50', ], 'ord': [ATTACK_NORM], 'dataset': datasets, 'attack': ['RBA_Exact_KNN_k1'], #, 'blackbox'], 'random_seed': random_seed, }) cls.grid_params = grid_params return RobustExperiments.__new__(cls, *args, **kwargs)
def __new__(cls, *args, **kwargs): cls.name = "dt-robustness" attacks = ['pgd'] grid_params = [] for ds in tree_datasets: k = 30 models = [ 'logistic_regression', f'adv_logistic_regression_{k}', f'advPruning_logistic_regression_{k}', ] grid_params.append({ 'model': models, 'ord': [ATTACK_NORM], 'dataset': [ds], 'attack': attacks, 'random_seed': random_seed, }) cls.grid_params = grid_params return RobustExperiments.__new__(cls, *args, **kwargs)
def __new__(cls, *args, **kwargs): cls.name = "rf-robustness" attacks = ['RBA_Approx_KNN_k3_50'] grid_params = [] for ds in datasets: k = 30 models = [ 'knn3', f'adv_nn_k3_{k}', f'robustv2_nn_k3_{k}', f'advPruning_nn_k3_{k}', ] grid_params.append({ 'model': models, 'ord': [ATTACK_NORM], 'dataset': [ds], 'attack': attacks, 'random_seed': random_seed, }) cls.grid_params = grid_params return RobustExperiments.__new__(cls, *args, **kwargs)
def __new__(cls, *args, **kwargs): cls.name = "rf-robustness" attacks = ['RBA_Approx_RF_100'] grid_params = [] for ds in tree_datasets: k = 30 models = [ 'random_forest_100_d5', f'adv_rf_100_{k}_d5', f'robust_rf_100_{k}_d5', f'advPruning_rf_100_{k}_d5', ] grid_params.append({ 'model': models, 'ord': [ATTACK_NORM], 'dataset': [ds], 'attack': attacks, 'random_seed': random_seed, }) cls.grid_params = grid_params return RobustExperiments.__new__(cls, *args, **kwargs)
def __new__(cls, *args, **kwargs): cls.name = "rf-robustness_l2" attacks = ['RBA_Approx_KNN_k3_50'] grid_params = [] for ds in datasets: v, k = [ds], ds_eps[auto_var.get_var_shown_name("dataset", ds)] models = [ 'knn3', f'adv_nn_k3_{k}', f'robustv2_nn_k3_{k}', f'advPruning_nn_k3_{k}', ] grid_params.append({ 'model': models, 'ord': [ATTACK_NORM], 'dataset': v, 'attack': attacks, 'random_seed': random_seed, }) cls.grid_params = grid_params return RobustExperiments.__new__(cls, *args, **kwargs)
def __new__(cls, *args, **kwargs): cls.name = "rf-robustness" models = [ 'random_forest_100_d5', #'adv_rf_100_10_d5', 'adv_rf_100_30_d5', 'adv_rf_100_50_d5', #'robust_rf_100_10_d5', 'robust_rf_100_30_d5', 'robust_rf_100_50_d5', 'advPruning_rf_100_25_d5', 'advPruning_rf_100_50_d5', 'advPruning_rf_100_75_d5', #'robustv2_rf_100_10_d5', 'robustv2_rf_100_30_d5', 'robustv2_rf_100_50_d5', ] attacks = ['RBA_Approx_RF_100'] grid_params = [] grid_params.append({ 'model': models, 'ord': [ATTACK_NORM], 'dataset': tree_datasets, 'attack': attacks, 'random_seed': random_seed, }) cls.grid_params = grid_params return RobustExperiments.__new__(cls, *args, **kwargs)
def __new__(cls, *args, **kwargs): cls.name = "compare_defense" def_strength = 50 grid_params = [] grid_params.append({ 'model': [ 'knn1', f'adv_nn_k1_{def_strength}', f'robustv2_nn_k1_{def_strength}', f'advPruning_nn_k1_{def_strength}' ], 'ord': [ATTACK_NORM], 'dataset': datasets, 'attack': ['RBA_Exact_KNN_k1'], 'random_seed': random_seed, }) grid_params.append({ 'model': [ 'knn3', f'adv_nn_k3_{def_strength}', f'advPruning_nn_k3_{def_strength}' ], 'ord': [ATTACK_NORM], 'dataset': datasets, 'attack': ['RBA_Approx_KNN_k3_50'], 'random_seed': random_seed, }) grid_params.append({ 'model': [ 'decision_tree_d5', f'adv_decision_tree_d5_{def_strength}', f'robust_decision_tree_d5_{def_strength}', f'advPruning_decision_tree_d5_{def_strength}', ], 'ord': [ATTACK_NORM], 'dataset': tree_datasets, 'attack': ['RBA_Exact_DT'], 'random_seed': random_seed, }) grid_params.append({ 'model': [ 'random_forest_100_d5', f'adv_rf_100_{def_strength}_d5', f'robust_rf_100_{def_strength}_d5', f'advPruning_rf_100_{def_strength}_d5', ], 'ord': [ATTACK_NORM], 'dataset': tree_datasets, 'attack': ['RBA_Approx_RF_100'], 'random_seed': random_seed, }) grid_params.append({ 'model': [ 'logistic_regression', f'adv_logistic_regression_{def_strength}', f'advPruning_logistic_regression_{def_strength}', ], 'ord': [ATTACK_NORM], 'dataset': tree_datasets, 'attack': ['pgd'], 'random_seed': random_seed, }) grid_params.append({ 'model': [ 'mlp', f'adv_mlp_{def_strength}', f'advPruning_mlp_{def_strength}', ], 'ord': [ATTACK_NORM], 'dataset': tree_datasets, 'attack': ['pgd'], 'random_seed': random_seed, }) cls.grid_params = grid_params return RobustExperiments.__new__(cls, *args, **kwargs)
def __new__(cls, *args, **kwargs): cls.name = "tst_scores" grid_params = [] grid_params.append({ 'model': [ #'knn1', 'advPruning_nn_k1_10', 'advPruning_nn_k1_30', 'advPruning_nn_k1_50', 'knn1', 'advPruning_nn_k1_25', 'advPruning_nn_k1_50', 'advPruning_nn_k1_75', ], 'ord': [ATTACK_NORM], 'dataset': datasets, 'attack': ['RBA_Exact_KNN_k1'], #, 'blackbox'], 'random_seed': random_seed, }) grid_params.append({ 'model': [ 'knn3', 'advPruning_nn_k3_25', 'advPruning_nn_k3_50', 'advPruning_nn_k3_75', ], 'ord': [ATTACK_NORM], 'dataset': datasets, 'attack': ['RBA_Approx_KNN_k3_50'], #, 'blackbox'], 'random_seed': random_seed, }) grid_params.append({ 'model': [ 'decision_tree_d5', 'advPruning_decision_tree_d5_25', 'advPruning_decision_tree_d5_50', 'advPruning_decision_tree_d5_75', ], 'ord': [ATTACK_NORM], 'dataset': tree_datasets, 'attack': ['RBA_Exact_DT'], 'random_seed': random_seed, }) grid_params.append({ 'model': [ 'random_forest_100_d5', 'advPruning_rf_100_25_d5', 'advPruning_rf_100_50_d5', 'advPruning_rf_100_75_d5', ], 'ord': [ATTACK_NORM], 'dataset': tree_datasets, 'attack': ['RBA_Approx_RF_100'], 'random_seed': random_seed, }) cls.grid_params = grid_params return RobustExperiments.__new__(cls, *args, **kwargs)