Configure CUL Algorithm
CUL algorithm is the core part of continual unlearning, determining how requested tasks are learned after training each task.
CUL algorithm is a sub-config under the index config of:
- Continual unlearning main experiment
- Continual unlearning full experiment and the reference experiments
To configure a custom CUL algorithm, you need to create a YAML file in cul_algorithm/ folder. Below shows an example of the CUL algorithm config.
Example
configs
βββ __init__.py
βββ entrance.yaml
βββ index
β βββ example_cul_main_expr.yaml
β βββ ...
βββ cul_algorithm
β βββ independent_unlearn.yaml
...
example_configs/index/example_cul_main_expr.yaml
defaults:
...
- /cul_algorithm: independent_unlearn.yaml
...example_configs/cul_algorithm/independent_unlearn.yaml
_target_: clarena.cul_algorithms.IndependentUnlearnSupported CUL Algorithms & Required Config Fields
In CLArena, we implemented many CUL algorithms as Python classes in clarena.cul_algorithms module that you can use for your experiment.
To choose a CUL algorithm, assign the _target_ field to the class name of the CUL algorithm. For example, to use the IndependentUnlearn algorithm, set _target_ field to clarena.cul_algorithms.IndependentUnlearn. Each CUL algorithm has its own hyperparameters and configurations, which means it has its own required fields. The required fields are the same as the arguments of the class specified by _target_ (excluding model). The arguments of each CUL algorithm class can be found in API documentation.
Below is the full list of supported CUL algorithms. Note that the βUnlearning Algorithmβ is exactly the class name that the _target_ field is assigned.
| CUL Algorithm | Description | Required Config Fields |
|---|---|---|
| IndependentUnlearn | TBC. | Same as IndependentUnlearn class arguments (excluding model) |
| AmnesiacHATUnlearn | TBC. | Same as AmnesiacHATUnlearn class arguments (excluding model) |