hm_parameterized_interdependence
Bases: parameterized_interdependence
A parameterized interdependence function using hierarchical mapping (HM).
Notes
Formally, given the parameter vector \(\mathbf{w} \in R^{l_{\xi}}\), we partition \(\mathbf{w}\) into two sub-vectors and subsequently reshape them into two matrices \(\mathbf{A} \in R^{p \times q}\) and \(\mathbf{B} \in R^{s \times t}\) (where \(s =\frac{m}{p}\) and \(t = \frac{m'}{q}\)).
These two sub-matrices \(\mathbf{A}\) and \(\mathbf{B}\) help define the hypercomplex parameterized interdependence function as follows:
$$ \begin{equation} \xi(\mathbf{w}) = \mathbf{A} \otimes \mathbf{B} \in R^{m \times m'}, \end{equation} $$ whose required length of vector \(\mathbf{w}\) is \(l_{\xi} = pq + \frac{mm'}{pq}\).
Attributes:
Name | Type | Description |
---|---|---|
p |
int
|
Number of partitions in the input dimension. |
q |
int
|
Number of partitions in the output dimension. |
Methods:
Name | Description |
---|---|
__init__ |
Initializes the hierarchical mapping parameterized interdependence function. |
Source code in tinybig/interdependence/parameterized_interdependence.py
__init__(p, q=None, name='hm_parameterized_interdependence', *args, **kwargs)
Initializes the hierarchical mapping parameterized interdependence function.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
p
|
int
|
Number of partitions in the input dimension. |
required |
q
|
int
|
Number of partitions in the output dimension. Defaults to |
None
|
name
|
str
|
Name of the interdependence function. Defaults to 'hm_parameterized_interdependence'. |
'hm_parameterized_interdependence'
|
*args
|
tuple
|
Additional positional arguments. |
()
|
**kwargs
|
dict
|
Additional keyword arguments. |
{}
|
Raises:
Type | Description |
---|---|
ValueError
|
If the interdependence type is not supported. |
AssertionError
|
If the dimensions are not divisible by the partitions. |