RBA Physics-Informed Single-Model Solver#

Module for the residual-based attention physics-informed single-model solver class.

class RBAPhysicsInformedSingleModelSolver(problem, model, optimizer=None, scheduler=None, weighting=None, loss=None, eta=0.001, gamma=0.999, regularized_conditions=None)[source]

Bases: PhysicsInformedMixin, ResidualBasedAttentionMixin, SingleModelSolver

Residual-based attention solver for physics-informed learning problems.

This solver approximates the solution of a differential problem using a single model equipped with residual-based attention weights. It can be used for both forward and inverse problems.

Given a model \(\mathcal{M}\), the predicted solution is

\[\hat{\mathbf{u}}(\mathbf{x}) = \mathcal{M}(\mathbf{x}).\]

The solver minimizes a weighted objective in which each residual contribution is scaled by an attention weight. For a problem with governing equation operator \(\mathcal{A}\) in the domain \(\Omega\) and boundary operator \(\mathcal{B}\) on the boundary \(\partial\Omega\), the objective can be written as

\[\mathcal{L}_{\mathrm{problem}} = \frac{1}{N_{\Omega}} \sum_{i=1}^{N_{\Omega}} \lambda_{\Omega}^{i} \mathcal{L} \left( \mathcal{A}[\hat{\mathbf{u}}](\mathbf{x}_i) \right) + \frac{1}{N_{\partial\Omega}} \sum_{i=1}^{N_{\partial\Omega}} \lambda_{\partial\Omega}^{i} \mathcal{L} \left( \mathcal{B}[\hat{\mathbf{u}}](\mathbf{x}_i) \right),\]

where \(\mathcal{L}\) is the selected loss function, typically the mean squared error, and \(\lambda_{\Omega}^{i}\) and \(\lambda_{\partial\Omega}^{i}\) are the attention weights associated with the domain and boundary residuals, respectively.

At each epoch, the attention weights are updated according to the magnitude of the corresponding residuals:

\[\lambda_i^{k+1} = \gamma \lambda_i^k + \eta \frac{|r_i|}{\max_j |r_j|},\]

where \(r_i\) is the residual at point \(i\), \(\gamma\) is the decay rate, and \(\eta\) is the learning rate used for the attention weight update.

See also

Original reference: Anagnostopoulos, S. J., Toscano, J. D., Stergiopulos, N., & Karniadakis, G. E. (2024). Residual-based attention and connection to information bottleneck theory in PINNs. Computer Methods in Applied Mechanics and Engineering, 421, 116805. DOI: 10.1016/j.cma.2024.116805.

Initialization of the RBAPhysicsInformedSingleModelSolver class.

Parameters:
  • problem (BaseProblem) – The problem to be solved.

  • model (torch.nn.Module) – The model used by the solver.

  • optimizer (TorchOptimizer) – The optimizer used by the solver. If None, the torch.optim.Adam optimizer with a learning rate of 0.001 is used. Default is None.

  • scheduler (TorchScheduler) – The scheduler used by the solver. If None, the torch.optim.lr_scheduler.ConstantLR scheduler with a factor of 1.0 is used. Default is None.

  • weighting (BaseWeighting) – The weighting strategy used to combine condition losses. If None, no weighting is applied. Default is None.

  • loss – The loss function used to compute residual losses. If None, torch.nn.MSELoss is used. Default is None.

  • eta (float | int) – The learning rate for the residual-based attention weights update. Default is 0.001.

  • gamma (float) – The decay factor for the residual-based attention mechanism. Default is 0.999.

  • regularized_conditions (str | list[str]) – The names of the conditions that should receive attention regularization. If None, all conditions are regularized. Default is None.