STCH¶
- class torchjd.scalarization.STCH(mu, weights=None, reference=None)[source]¶
Scalarizerthat combines the input tensor of values using smooth Tchebycheff scalarization, as defined in Smooth Tchebycheff Scalarization for Multi-Objective Optimization.It returns
\[\mu \log \sum_{i=1}^m \exp\left(\frac{\lambda_i (f_i - z_i^*)}{\mu}\right),\]a smooth approximation of the (non-differentiable) weighted maximum \(\max_i \lambda_i (f_i - z_i^*)\) that becomes tighter as
mudecreases.Following the paper’s notation:
\(f_i\) is the \(i\)-th input value (the \(i\)-th objective),
\(m\) is the number of objectives (the number of elements of the input),
\(\lambda_i\) is its preference weight (the
weightsparameter),\(z_i^*\) is the \(i\)-th component of the ideal point (the
referenceparameter),\(\mu\) is the smoothing parameter (the
muparameter).
- Parameters:
mu (
float) – The smoothing parameter \(\mu\). Must be strictly positive. Smaller values make the scalarization closer to the maximum. The paper evaluates \(\mu \in \{0.01, 0.1, 0.5, 1\}\) and reports that a small \(\mu\) works reasonably well, while no single value is best across all problems.weights (
Tensor|None) – The preference vector \(\lambda\) applied to the values (in the paper, on the probability simplex). IfNone, a uniform preference summing to one is used. If provided, it must have the same shape as the values passed at call time.reference (
Tensor|None) – The ideal point \(z^*\) subtracted from the values. IfNone, no shift is applied. If provided, it must have the same shape as the values passed at call time.