parameterizations
CloakStandardDeviationParameterization
¶
Bases: ScaledStandardDeviationParameterization
A parameterization of rhos tensors (on the domain of all real numbers) as standard deviations tensors (on the open domain of
min_scale
to max_scale
).
min_scale
is strictly less than max_scale
, and both must be nonnegative real numbers.
Added in version 0.11.0.
__init__
¶
Construct a layer to perform the reparameterization.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
scale |
tuple[float, float]
|
The asymptotic minimum and maximum values of the parameterized standard deviations. |
(0.0001, 2.0)
|
shallow |
float
|
A temperature-like parameter which controls the spread of the parameterization. Controls both the magnitude of
parameterized standard deviations and their rate of change with respect to rhos. |
1.0
|
forward
¶
forward(rhos: Tensor) -> torch.Tensor
Apply the parameterization to a rhos tensor.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
rhos |
Tensor
|
A rhos tensor. |
required |
Returns:
Type | Description |
---|---|
torch.Tensor
|
A standard deviation tensor. |
inverse
¶
inverse(std: Tensor) -> torch.Tensor
Apply the inverse parameterization to a standard deviation tensor.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
std |
Tensor
|
A standard deviation tensor. |
required |
Returns:
Type | Description |
---|---|
torch.Tensor
|
A rhos tensor. |
reset_parameters
¶
Reinitialize parameters and buffers.
This method is useful for initializing tensors created on the meta device.
Raises:
Type | Description |
---|---|
ValueError
|
If |
ValueError
|
If |
DirectStandardDeviationParameterization
¶
Bases: ScaledStandardDeviationParameterization
A direct parameterization of rhos tensors as standard deviations tensors (clamped into the closed domain of min_scale
to
max_scale
).
__init__
¶
forward
¶
forward(rhos: Tensor) -> torch.Tensor
Clamp a rhos tensor into the closed domain of min_scale
to max_scale
.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
rhos |
Tensor
|
A rhos tensor. |
required |
Returns:
Type | Description |
---|---|
torch.Tensor
|
A standard deviation tensor. |
reset_parameters
¶
Reinitialize parameters and buffers.
This method is useful for initializing tensors created on the meta device.
Raises:
Type | Description |
---|---|
ValueError
|
If |
ValueError
|
If |
ValueError
|
If |
ScaledStandardDeviationParameterization
¶
Bases: StandardDeviationParameterization
Defines the common structures necessary to parameterize rhos tensors (on the domain of all real numbers) as standard deviation
tensors (on the domain of min_scale
to max_scale
).
min_scale
is strictly less than max_scale
, and both must be nonnegative real numbers.
__init__
¶
forward
abstractmethod
¶
forward(rhos: Tensor) -> torch.Tensor
Apply the parameterization to a rhos tensor.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
rhos |
Tensor
|
A rhos tensor. |
required |
Returns:
Type | Description |
---|---|
torch.Tensor
|
A standard deviation tensor. |
inverse
abstractmethod
¶
inverse(std: Tensor) -> torch.Tensor
Apply the inverse parameterization to a standard deviation tensor.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
std |
Tensor
|
A standard deviation tensor. |
required |
Returns:
Type | Description |
---|---|
torch.Tensor
|
A rhos tensor. |
reset_parameters
¶
Reinitialize parameters and buffers.
This method is useful for initializing tensors created on the meta device.
Raises:
Type | Description |
---|---|
ValueError
|
If |
ValueError
|
If |
ValueError
|
If |
StandardDeviationParameterization
¶
Defines the interface for the reparameterization of rhos tensors (on the domain of all real numbers) as standard deviation tensors (on the domain of nonnegative real numbers) of the applied transformation.
Rhos can be learned directly or estimated as the output of a neural network.
The derivative of this parameterization defines the rate of change of the standard deviations with respect rhos. When combined with a so-called "noise loss", used to penalize the standard deviations from deviating from the target distribution, and a task loss (i.e. classification, token prediction), we define a complete training objective and loss landscape for transform layers.
Added in version 0.11.0.
forward
abstractmethod
¶
forward(rhos: Tensor) -> torch.Tensor
Apply the parameterization to a rhos tensor.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
rhos |
Tensor
|
A rhos tensor. |
required |
Returns:
Type | Description |
---|---|
torch.Tensor
|
A standard deviation tensor. |
inverse
abstractmethod
¶
inverse(std: Tensor) -> torch.Tensor
Apply the inverse parameterization to a standard deviation tensor.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
std |
Tensor
|
A standard deviation tensor. |
required |
Returns:
Type | Description |
---|---|
torch.Tensor
|
A rhos tensor. |
reset_parameters
abstractmethod
¶
Reinitialize parameters and buffers.
This method is useful for initializing tensors created on the meta device.