Neuron activity metric¤
Neuron activity metric.
NeuronActivityMetric
¤
Bases: Metric
Neuron activity metric.
Example
With a single component and a horizon of 2 activations, the metric will return nothing after the first activation is added and then computed, and then return the number of dead neurons after the second activation is added (with update). The breakdown by component isn't shown here as there is just one component.
metric = NeuronActivityMetric(num_learned_features=3) learned_activations = torch.tensor([ ... [1., 0., 1.], # Batch 1 (single component): learned features (2 active neurons) ... [0., 0., 0.] # Batch 2 (single component): learned features (0 active neuron) ... ]) metric.forward(learned_activations) tensor(1)
Source code in sparse_autoencoder/metrics/train/neuron_activity.py
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 |
|
__init__(num_learned_features, num_components=None, threshold_is_dead_portion_fires=0.0)
¤
Initialise the metric.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
num_learned_features |
PositiveInt
|
Number of learned features. |
required |
num_components |
PositiveInt | None
|
Number of components. |
None
|
threshold_is_dead_portion_fires |
Annotated[float, Field(strict=True, ge=0, le=1)]
|
Thresholds for counting a neuron as dead (portion of activation vectors that it fires for must be less than or equal to this number). Commonly used values are 0.0, 1e-5 and 1e-6. |
0.0
|
Source code in sparse_autoencoder/metrics/train/neuron_activity.py
44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 |
|
compute()
¤
Compute the metric.
Note that torchmetrics converts shape [0]
tensors into scalars (shape 0
).
Source code in sparse_autoencoder/metrics/train/neuron_activity.py
101 102 103 104 105 106 107 108 109 110 111 112 |
|
update(learned_activations, **kwargs)
¤
Update the metric state.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
learned_activations |
Float[Tensor, names(BATCH, COMPONENT_OPTIONAL, LEARNT_FEATURE)]
|
The learned activations. |
required |
**kwargs |
Any
|
Ignored keyword arguments (to allow use with other metrics in a collection). |
{}
|
Source code in sparse_autoencoder/metrics/train/neuron_activity.py
78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 |
|