Diffusion policies are increasingly built by composing \(K\) components and summing their score
predictions into a single composed score to create modular and adaptable systems. In practice,
however, the components are not supervised individually during training, so they end up
redundant. As such, we introduce a drop-in score-decorrelation loss, added to the diffusion
objective with weight \(\lambda\), that penalizes overlap between the components' noise
predictions \(\epsilon_{\theta_i}\):
\[
\mathcal{L}_{\text{decorr}}
= \mathbb{E}\Big[\tfrac{2}{K(K-1)} \sum_{i<j} \big(q_i^\top q_j\big)^2\Big],
\qquad
q_i = \frac{|\epsilon_{\theta_i}|}{\|\epsilon_{\theta_i}\|_2 + \delta}
\]
In the 2D navigation task on the right, as the slider is pushed and \(\lambda\) increases, the two
factors align with the coordinate axes (up/down - left/right) and become interpretable. They
can then be recombined, with three copies of Factor 1, one per axis, solving
out-of-distribution 3D navigation tasks zero-shot.