Configure Unlearning Algorithm (CUL Main)
Unlearning algorithm is the core part of continual unlearning, determining how requested tasks are learned after training each task.
Unlearning algorithm is a sub-config under the experiment index config (CUL Main). To configure a custom unlearning algorithm, you need to create a YAML file in unlearning_algorithm/
folder. Below shows an example of the unlearning algorithm config.
Example
configs
βββ __init__.py
βββ entrance.yaml
βββ experiment
β βββ example_culmain_train.yaml
β βββ ...
βββ unlearning_algorithm
β βββ independent_unlearn.yaml
...
configs/experiment/example_culmain_train.yaml
defaults:
...
- /unlearning_algorithm: independent_unlearn.yaml
...
configs/unlearning_algorithm/independent_unlearn.yaml
_target_: clarena.unlearning_algorithms.IndependentUnlearn
Supported Unlearning Algorithms & Required Config Fields
In CLArena, we implemented many unlearning algorithms as Python classes in clarena.unlearning_algorithms
module that you can use for your experiment.
To choose a unlearning algorithm, assign the _target_
field to the class name of the unlearning algorithm. For example, to use the IndependentUnlearn
algorithm, set _target_
field to clarena.unlearning_algorithms.IndependentUnlearn
. Each unlearning 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 unlearning algorithm class can be found in API documentation.
Below is the full list of supported unlearning algorithms. Note that the βUnlearning Algorithmβ is exactly the class name that the _target_
field is assigned.
Unlearning Algorithm | Description | Required Config Fields |
---|---|---|
IndependentUnlearn | TBC. | Same as IndependentUnlearn class arguments (excluding model ) |
AmnesiacHATUnlearn | TBC. | Same as AmnesiacHATUnlearn class arguments (excluding model ) |