(a) We initialise alpha_learnable = 0. Why is this reasonable, and how does the data loss correct it?
Initialising alpha_learnable = 0 means we start with the assumption of no cubic stiffness, which is the simplest possible model. This is a reasonable prior if we have no information about \alpha. The data loss then corrects this: at \alpha = 0, the network’s physics loss forces it to learn a solution that satisfies the linear ODE, which will not match the observed displacements (since the true data was generated with \alpha = 1). The mismatch between the network’s prediction and the data creates a gradient that flows back through the physics residual to alpha_learnable, gradually pushing it upward toward the value that makes the predicted trajectory match the observations.
(b) What does \partial\mathcal{L}_\text{phys}/\partial\hat\alpha represent?
\partial\mathcal{L}_\text{phys}/\partial\hat\alpha is the rate of change of the physics loss with respect to the estimated cubic stiffness:
\frac{2}{N_f}\sum_i r_i \cdot \hat{x}_i^3
so the gradient is large and positive when the residual r_i is large and the predicted displacement \hat{x}_i is large. The optimiser uses this gradient to decide how to adjust \hat\alpha: if increasing \hat\alpha would reduce the residual (i.e. the current \hat\alpha underestimates the true stiffness), the gradient will be negative and the optimiser will increase \hat\alpha.
(c) Why is \mathcal{L}_\text{data} especially critical here? What happens without it?
Without data, the loss contains only \mathcal{L}_\text{IC} and \mathcal{L}_\text{phys}. But the system m\ddot{x} + c\dot{x} + kx + \hat\alpha x^3 = F\cos(\Omega t) with given ICs has a unique solution for any value of \hat\alpha – each choice of \hat\alpha gives a different but equally valid (self-consistent) trajectory. There is no mechanism to prefer \hat\alpha = 1 over \hat\alpha = 0 or \hat\alpha = 5. The data loss is what anchors the problem: it says “the solution must also match these specific observed values,” which constrains \hat\alpha to the value consistent with those observations.
(d) Give a real engineering scenario where \alpha might be unknown. How would an inverse PINN help?
One example: structural health monitoring of a rubber vibration isolator. Rubber isolators exhibit nonlinear stiffness (the \alpha x^3 term arises from the material’s hyperelastic behaviour), but the precise \alpha depends on rubber compound, temperature, and ageing as it changes over the life of the component. Here, we can attach an accelerometer to the isolated mass (sensor data) and use an inverse PINN to identify the current \alpha from the vibration response in operation, without needing to remove and test the isolator in a lab. This enables condition monitoring and remaining-life prediction.
(e) Could we identify multiple unknown parameters simultaneously? What makes it harder?
Yes, in principle, we can declare multiple nn.Parameter scalars (\hat\alpha, \hat{c}, etc.) and add them all to the optimiser. However, identifying multiple parameters is harder because:
- identifiability: different parameter combinations may produce similar responses, making it impossible to uniquely recover individual values from limited data;
- loss landscape complexity, more parameters create a higher-dimensional optimisation problem with more saddle points and local minima;
- data requirements increase: each additional unknown requires more diverse observations to constrain it independently. Careful experimental design (e.g. varying forcing frequency or amplitude) is often needed to make the multi-parameter problem well-posed.