.. _metoda:
Neuronske mreže podržane fizičkim zakonima
==============================================
Neuronska mreža potkrepljena fizičkim zakonima (u daljem tekstu NMPFZ) je tehnika mašinskog učenja koja može se koristiti za aproksimaciju rešenja parcijalne diferencijalne jednačine. Parcijalne diferencijalne jednačine sa odgovarajućim početnim i graničnim uslovima mogu se izraziti u opštem obliku kao:
.. math::
:label: eq:osnovne
u_{t}\mathcal{+ N}\lbrack u\rbrack &= 0,\ \ X \in \Omega,\ t \in \lbrack 0,T\rbrack, \\
u(X,0) &= h(X),\ \ X \in \Omega, \\
u(X,t) &= g(X,t),\ \ X \in \Omega_{g},\ t \in \lbrack 0,T\rbrack.
Ovde je :math:`\mathcal{N}` diferencijalni operator, :math:`X \in {\Omega \subseteq R}^{d}` i :math:`t \in R` predstavljaju prostorne i vremenske koordinate, respektivno, dok je :math:`\Omega \subseteq R` celokupni domen problema. :math:`\Omega_{g} \subseteq \Omega` predstavlja računski domen graničnih uslova, :math:`u(X,t)` je rešenje parcijalne diferencijalne jednačine sa početnim uslovom :math:`h(X)` i graničnim uslovom :math:`g(X,t)`. Ovakva formulacija se takođe može primeniti i na parcijalne diferencijalne jednačine višeg reda, pošto se jednačine višeg reda mogu napisati i u obliku sistema jednačina prvog reda.
U originalnoj formulaciji :cite:t:`raissi2019physics`, NMPFZ se sastoji od dve podmreže:
- aproksimator mreže i
- rezidualne mreže.
**Aproksimator mreža** prima ulaz :math:`(X,t)`, prolazi kroz proces obuke i kao izlaz daje približno rešenje :math:`\widehat{u}(X,t)` parcijalne diferencijalne jednačine. Mreža aproksimatora se trenira na mreži tačaka, tzv. **kolokacionih tačaka**, uzorkovanih iz domena problema. Težine i pristrasnosti (eng. *bias*) aproksimator mreže su parametri koji se mogu trenirati minimiziranjem kompozitne funkcije gubitka u sledećem obliku:
.. math::
:label: eq:loss1
\mathcal{L =}\mathcal{L}_{r} + \mathcal{L}_{0} + \mathcal{L}_{b},
gde su
.. math::
:label: eq:loss2
\mathcal{L}_{r} = \frac{1}{N_{r}}\sum_{i = 1}^{N_{r}}{\left| u\left( X^{i},t^{i} \right) + \mathcal{N}\left\lbrack u\left( X^{i},t^{i} \right) \right\rbrack \right|^{2},} \\
\mathcal{L}_{0} = \frac{1}{N_{0}}\sum_{i = 1}^{N_{0}}{\left| u\left( X^{i},t^{i} \right) - h^{i} \right|^{2},} \\
\mathcal{L}_{b} = \frac{1}{N_{b}}\sum_{i = 1}^{N_{b}}\left| u\left( X^{i},t^{i} \right) - g^{i} \right|^{2}.
Ovde, :math:`\mathcal{L}_{r}`, :math:`\mathcal{L}_{0}` i :math:`\mathcal{L}_{b}` predstavljaju reziduale osnovne diferencijalne jednačine, početnih i graničnih
uslova, respektivno. Pored toga, :math:`N_{r}`, :math:`N_{0}` i :math:`N_{b}` su brojevi kolokacionih tačaka domena problema, domena početnih i graničnih uslova, respektivno. Ovi reziduali se izračunavaju komponentom NMPFZ modela koji se ne obučava, a zove se **rezidualna mreža**. Da bi se izračunao gubitak
:math:`\mathcal{L}_{r}`, NMPFZ zahteva izvode izlaza u odnosu na ulaze. Taj račun se postiže tzv. automatskom diferencijacijom.
**Automatska diferencijacija** je ključni pokretač razvoja NMPFZ-a i ključni je element koji razlikuje NMPFZ od sličnih nastojanja 90-ih godina prošlog veka. Na primer, :cite:t:`psichogios1992` i :cite:t:`fotiadis1998` su se oslanjali na manuelno izvođenje pravila propagacije unazad. Danas se računa na automatsku diferencijaciju koja je implementirana u većini okvira za duboko učenje, kao što su `Tensorflow `__ i `PyTorch `_. Na ovaj način izbegavamo numeričku diskretizaciju tokom računanja izvoda svih redova u prostor-vremenu.
Šema tipičnog NMPFZ-a je prikazana na :numref:`pinnschema` na kojoj je jednostavna parcijalna diferencijalna jednačina :math:`\frac{\partial f}{\partial x} + \frac{\partial f}{\partial y} = 0` iskorišćena kao primer. Kao što je prikazano, mreža aproksimatora se koristi za aproksimaciju rešenja :math:`u(X,t)`, koje zatim ide na rezidualnu mrežu za izračunavanje funkcije gubitka diferencijalne jednačine :math:`\mathcal{L}_{r}`, gubitka graničnih uslova :math:`\mathcal{L}_{b}`, i gubitka početnih uslova :math:`\mathcal{L}_{0}`. Težine i pristrasnosti aproksimatorske mreže obučeni su korišćenjem prilagođene funkcije gubitka koja se sastoji od reziduala :math:`\mathcal{L}_{r}`, :math:`\mathcal{L}_{0}`, i :math:`\mathcal{L}_{b}` kroz tehniku gradijenta spuštanja zasnovanu na propagaciji unazad.
.. _pinnschema:
.. figure:: pinn.png
:width: 80%
Arhitektura NMPFZ-a i standardna petlja za obuku NMPFZ-a konstruisana za rešavanje jednostavne parcijalne diferencijalne jednačine, gde *PDE* i *Cons* označavaju jednačine, dok *R* i *I* predstavljaju njihove reziduale. Mreža aproksimatora je podvrgnuta procesu obuke i daje približno rešenje. Rezidualna mreža je deo NMPFZ-a koji se ne obučava i koji je sposoban da izračuna izvode izlaza aproksimatorske mreže u odnosu na ulaze, što rezultira kompozitnom funkcijom gubitka, označenom sa *MSE*.
U narednoj sekciji :ref:`primer` opisaćemo kako bi izgledala konstrukcija kompozitne funkcije gubitka za logističku jednačinu.