A neurális hálózatok alkalmazása a különböző valós világban előforduló problémák megoldásában már régóta központi szerepet játszik, különösen azokban az esetekben, amikor a bemenet és a kimenet közötti összefüggés nem ismert, vagy túl komplex ahhoz, hogy matematikai modellezéssel pontosan leírható legyen. A neurális hálózatok, és ezen belül is a feedforward architektúrák, a legkülönbözőbb típusú problémákra nyújtanak megoldásokat. Azonban ahhoz, hogy megértsük, miért van szükség több rétegből álló mély hálózatokra, fontos először tisztázni a neurális hálózatok alapvető képességeit, különösen a univerzális reprezentációs tételt.

A neurális hálózatok legfontosabb matematikai alapja az univerzális reprezentációs tétel, amely kimondja, hogy egy megfelelő aktivációs függvénnyel rendelkező feedforward hálózat egyetlen rejtett réteggel képes minden folytonos függvényt közelíteni egy ismert és egyszerű funkcionális reprezentációval. Ezt a tételt Hornik et al. (1989) fogalmazta meg, és megállapította, hogy bármilyen folytonos bemenet-kimenet függvényt közelíteni lehet egy egyszerű, egyetlen rejtett réteget tartalmazó hálózattal. A tétel szerint, ha a rejtett rétegben elég sok neuront használunk, a hálózat képes lesz a bemenetek és kimenetek közötti függvényt bármilyen kívánt pontossággal approximálni.

Formálisan, egy feedforward hálózat egyetlen rejtett réteggel képes minden folytonos funkciót közelíteni, függetlenül attól, hogy az aktivációs függvény típusa, a bemeneti dimenzió, vagy az adatok milyensége. Az univerzális közelítés tétel tehát fontos, mivel azt jelzi, hogy a feedforward hálózatok egy rejtett réteggel képesek bármilyen folytonos függvény közelítésére, bár a tétel nem ad konkrét információt arról, hogyan kell konfigurálni egy hálózatot a megfelelő közelítési tulajdonságok eléréséhez.

Azonban a tétel nem minden kérdést válaszol meg. Míg a hálózatok egyetlen rejtett rétegével bármilyen folytonos függvényt képesek közelíteni, a több rétegből álló mély hálózatok szükségessége még nem teljesen világos. Miért van szükség több rejtett rétegre? A válasz erre a kérdésre még mindig nyitott, de több tényező is hozzájárul ahhoz, hogy a mélyebb hálózatok előnyösebbek legyenek bizonyos feladatokban. A több réteg használatának előnyei közé tartozik, hogy komplexebb és nagyobb dimenziójú adatokkal tudnak megbirkózni, miközben hatékonyabban tanulhatják meg a rejtett összefüggéseket az adatok között. A hálózatok tanulási képessége, amit a Vapnik–Chervonenkis (VC) dimenzióval mérhetünk, kulcsszerepet játszik abban, hogy a hálózatok képesek-e jól teljesíteni a valós alkalmazásokban.

A VC dimenzió egy klasszikus mérőszám, amely azt méri, hogy hány adatpontot képes egy modell helyesen osztályozni minden lehetséges címkézési rend szerint. Ez az érték fontos szerepet játszik a hálózatok tanulási képességében és általában a tanulás által generált hibák minimalizálásában. A neurális hálózatok esetében a VC dimenzió a modell expresszivitását és tanulhatóságát egyaránt befolyásolja, és kulcsfontosságú ahhoz, hogy megértsük, miért szükségesek a mélyebb, több rétegből álló hálózatok.

A több rétegű hálózatok a funkciók közelítésében is előnyösebbek, mivel lehetővé teszik, hogy a modell fokozatosan, rétegről rétegre tanulja meg a bonyolultabb jellemzőket, amelyek egy egyszerűbb, egyetlen rejtett réteggel rendelkező hálózat számára nem lennének elérhetőek. A mélyebb hálózatok képesek olyan nem-lineáris függvényeket közelíteni, amelyek nem közelíthetők meg egyetlen rejtett réteg segítségével. Ezért van szükség a mélyebb struktúrákra, ha a hálózatok célja egy bonyolult, nem-lineáris összefüggés megtanulása.

Fontos megérteni, hogy a neurális hálózatok tanulási folyamata nem csupán a közelítésről szól. Az optimális hálózatszerkezetek és azok konfigurálásának kérdése mellett a tanulási algoritmusok hatékonysága is kulcsfontosságú. A klasszikus univerzális reprezentációs tétel nem veszi figyelembe azokat a gyakorlati problémákat, amelyek a hálózatok tanulásával kapcsolatosak, például az optimális súlyok megtalálásának nehézségeit, a túltanulást (overfitting) és az általánosítási képességeket, amelyek a hálózatok teljesítményét nagymértékben befolyásolják.

A neurális hálózatok működése és tanulása tehát komplex folyamat, amelyben a mélyebb architektúrák és a megfelelő konfigurálás elengedhetetlene

Hogyan értelmezzük a neurális hálózatok érzékenységeit és interakciós hatásait?

A neurális hálózatok interpretálhatósága egy kulcsfontosságú kérdés a gépi tanulás területén. A hálózatok által adott előrejelzések magyarázata elengedhetetlen a modellek bizalomgerjesztő használatához, különösen akkor, amikor az alkalmazásuk kritikus döntéseket eredményezhet. A hálózatok érzékenységeinek és interakciós hatásainak vizsgálata fontos eszközként szolgálhat a magyarázhatóság növelésében.

A klasszikus lineáris regressziós modell esetében az érzékenységeket egyszerűen a modell paramétereivel, a β-költségekkel lehet összekapcsolni, és ezek a paraméterek közvetlenül kifejezik az egyes bemeneti változók hatását a kimenetre. A neurális hálózatokban azonban, amelyek komplexebb nemlineáris függvényeket használnak, az érzékenységek kiszámítása bonyolultabb, és több réteget is figyelembe kell venni. Az érzékenységek kiszámítása az úgynevezett láncszabály segítségével történhet, amely lehetővé teszi, hogy a bemeneti változók hatása a kimenetre nyomon követhető legyen, figyelembe véve a hálózat minden egyes rétegét és aktivációs függvényét.

Például egy egyszerű neurális hálózatban, amely egyetlen rejtett réteget tartalmaz, a bemeneti változók érzékenységét úgy számolhatjuk ki, hogy az aktivációs függvényt alkalmazzuk minden egyes rétegen. A láncszabály alkalmazásával a változók hatása fokozatosan épül fel a különböző rétegeken keresztül. Egy tipikus aktivációs függvény, mint a tanh(x), folyamatosan differenciálható, és a deriváltja, 1 − tanh²(x), globálisan korlátozott, így az érzékenységek is kontrollálhatók. A ReLU (Rectified Linear Unit) aktivációs függvény nem differenciálható mindenhol, így ezt nem lehet a láncszabály szerint kezelni, és a ReLU alapú modellek interpretálhatósága más megközelítést igényel.

A neurális hálózatokban a bemeneti érzékenységek számításánál a súlyokat és torzításokat kell figyelembe venni. Az érzékenység kiszámítása során figyelembe kell venni a súlyok közötti kapcsolatokat is, amelyeket a súlymátrixok szorzataként ábrázolhatunk. A súlymátrixok szorzata meghatározza a kimeneti változók változása és a bemeneti változók közötti kapcsolatokat. Ez a kapcsolat különböző rétegekben történő összesítéssel bonyolódik, ami a modell érzékenységeit meghatározza.

A több réteges neurális hálózatok esetében az érzékenységek kiszámítása tovább bonyolódik, mivel minden egyes réteg érzékenysége hozzáadódik a következő réteghez. A modell érzékenységét a Jacobimátrix segítségével számolhatjuk ki, amely egyes rétegekre vonatkozóan tartalmazza a súlyok és a bemeneti változók közötti kapcsolatokat. A Jacobimátrix segítségével meghatározhatjuk az érzékenységeket és a pairwise (páros) interakciókat is, amelyek az egyes bemeneti változók közötti kapcsolatokra utalnak.

Az interakciós hatások elemzése különösen fontos lehet, ha a bemeneti változók kölcsönhatásaival kell foglalkoznunk. A másodrendű érzékenységek, amelyeket a Hessian mátrix elemeinek értékelésével számolhatunk ki, segíthetnek megérteni, hogyan hatnak egymásra a különböző bemeneti változók. Ezáltal a neurális hálózatok nem csupán az egyes bemeneti változók hatását, hanem azok kölcsönhatásait is képesek értelmezni, így pontosabb képet adva a modell viselkedéséről.

A magyarázhatóság szempontjából a neurális hálózatok érzékenységeinek és interakciós hatásainak elemzése rendkívül fontos, mivel segíthet a modell működésének jobb megértésében. Az egyszerű példák, mint például a Friedman-adatok, amelyekben az interakciók és a nemlineáris hatások fontos szerepet játszanak, jól illusztrálják, hogyan rangsorolhatók a bemeneti változók és azok kölcsönhatásai a modellben. A különböző interpretálhatósági módszerek, például Garson és Olden algoritmusai, összehasonlíthatók a modell érzékenységeinek és interakciós hatásainak rangsorolásával, és gyakran az utóbbi módszer biztosítja a legpontosabb és legértelmezhetőbb eredményeket.

Fontos, hogy a neurális hálózatok interpretálhatóságának növelésére tett erőfeszítések ne csak a bemeneti változók érzékenységeinek megértésére korlátozódjanak. Az architektúra optimalizálása, mint például a rejtett rétegek számának növelése, növelheti a hálózat kifejezőerejét, de ezzel párhuzamosan csökkentheti az értelmezhetőséget is. A tanulási folyamatok során figyelembe kell venni, hogy a súlyok, a rétegek és az aktivációs függvények közötti kölcsönhatások hogyan befolyásolják a modell érzékenységeit, és hogy ezek a hatások miként változnak a hálózat architektúrája és a tanulási paraméterek módosításával.

A neurális hálózatok értelmezhetősége tehát összetett kérdés, amelynek megértése elengedhetetlen a mélyebb és pontosabb gépi tanulásos modellek építéséhez. Az érzékenységek és interakciós hatások elemzése nemcsak a modellek fejlesztését szolgálja, hanem a döntéshozók számára is biztosítja a szükséges magyarázatokat, hogy megbízhatóbb és átláthatóbb döntéseket hozhassanak.

Hogyan becsüljük meg a feltételes kovariancia mátrixot a heteroszkedasztikus hibáknál?

A hibák feltételes kovariancia mátrixának becslése szükséges a modellekhez való illeszkedéshez, különösen akkor, ha heteroszkedasztikus hibákról van szó. A következő lépések segítségével végezhetjük el ezt a feladatot, figyelembe véve a megfelelő notációkat, ahol ()T a vektor transzponáltját, és ()′ a heteroszkedasztikus hiba modell paramétereit jelöli.

Az első lépésben minden egyes t időpontra (t = 1, ..., T) meg kell becsülni a hibát az edzéskészleten, ε N t ∈ R, a szokásos, nem súlyozott veszteségfüggvény segítségével. Ehhez szükségesek az aktuális súlyok, Ŵt, és az eltolások, b̂t, amelyek az alábbi hiba egyenletet eredményezik:

εt=ytF(XW^t).\varepsilon_t = y_t - F(X Ŵ_t ).

Ezután becsülhetjük a mintavételi feltételes kovariancia mátrixot a következő képlettel:

Σ^=1Tt=1TεtεtT.\hat{\Sigma} = \frac{1}{T} \sum_{t=1}^{T} \varepsilon_t \varepsilon_t^T.

A harmadik lépésben a legáltalánosabb legkisebb négyzetek módszerét alkalmazzuk a heteroszkedasztikus neurális háló modell illesztésére. A hibát a következő módon módosítjuk:

εt=ytFW^t(Xt).\varepsilon'_t = y_t - F Ŵ'_t (X_t).

Ez a modell finomított hibákkal használható előrejelzésekhez, módosítás nélkül. Az ilyen mintavételi kovariancia mátrix hatása az edzéskészlet megfigyeléseinek fontosságát módosítja, figyelembe véve a hibák szórását és azok korrelációját. Ezt az eljárást szélesebb értelemben egyfajta RNN analógiaként is felfoghatjuk, amely a GARCH modellek kiterjesztéseként működik az AR modellekhez. A GARCH modellek azonban paraméteres eloszlást használnak a hibákhoz, és előrejelzést adnak a feltételes volatilitásra, míg a GRNN-ek az empirikus hibaeloszlásra támaszkodnak, és nem végzik el közvetlenül a feltételes volatilitás előrejelzését.

A modellek tovább fejleszthetők, ha egy külön regressziót alkalmazunk az empirikus feltételes volatilitás diagonálisai alapján, keresztvalidációval a time series adatokkal. Ez különösen fontos lehet, ha a modellek alkalmazásával dinamikus volatilitás előrejelzéseket szeretnénk végezni.

A Gated Recurrent Units (GRU) kiterjesztése a dinamikus időbeli sorozatmodellekhez olyan alapvető koncepciók kiterjesztésére épít, amelyek a sorozatelemzésben már jól ismertek. Ezen modellek középpontjában a simított RNN áll, amely egy további skaláris simító paramétert tartalmaz, az α-t, amely hosszú távú memóriát biztosít a hálózat számára.

Az α-RNN modellek esetében a simító paraméter fix értéken van beállítva, és az előrejelzési egyenletek a következőképpen alakulnak:

y^t+1=Wyh^t+by,\hat{y}_{t+1} = W_y ĥ_t + b_y,
h^t=σ(Uhh~t1+Whyt+bh),ĥ_t = \sigma(U_h h̃_{t-1} + W_h y_t + b_h),
h~t=αh^t1+(1α)h~t1.h̃_t = α ĥ_{t-1} + (1 - α) h̃_{t-1}.

Az α-RNN-ek tehát a simított rejtett állapotokkal bővítik a hagyományos RNN-t, amely a rövid memória korlátaival rendelkezik. A simítás hatása az, hogy az α paraméter változtatásával a modell memóriája végtelen hosszúvá válik, amikor α ≠ 1. A különleges esetekben, amikor α = 1, visszatérünk az egyszerű RNN-hez, amely rövid távú memóriahosszúságot biztosít.

A dinamikus α-RNN-ek dinamikus exponenciális simítást alkalmaznak, amely az α t értéket időben változtatja. Az exponenciális simítás időfüggő, konvex kombinációja a simított kimeneti értéknek, ỹt, és az aktuális megfigyelésnek, yt:

y~t+1=αtyt+(1αt)y~t.ỹ_{t+1} = α_t y_t + (1 - α_t) ỹ_t.

Ez a simítás úgy értelmezhető, mint egy dinamikus előrejelzési hibajavítás. Az α_t paraméterek változása lehetővé teszi a modell számára, hogy figyelembe vegye az előrejelzési hibát, miközben az inputokhoz való érzékenységet is módosítja.

Az új módszerek közül a Neural Network Exponential Smoothing egy olyan eljárás, amely a rejtett állapotok simítását alkalmazza az α_t paraméterek használatával. Az RNN hálózat a simított rejtett állapotokat az alábbi egyenletek segítségével frissíti:

h~t=α^th^t+(1α^t)h~t1,h̃_t = α̂_t ∘ ĥ_t + (1 - α̂_t) ∘ h̃_{t-1},
α^t=σ(Uαh~t1+Wαxt+bα),α̂_t = σ(U_α h̃_{t-1} + W_α x_t + b_α),
h^t=σ(Uhh~t1+Whxt+bh),ĥ_t = σ(U_h h̃_{t-1} + W_h x_t + b_h),

ahol a σ az aktivációs függvény. Ezzel a megközelítéssel a modell képes figyelembe venni a különböző szintű simítást a rejtett állapotoknál, amely segíti a hosszú távú memória megőrzését, miközben a bemeneti adatokat is integrálja a dinamikus előrejelzésekhez.

A GRU modellek tehát dinamikus, adaptív előrejelzési hibajavítást alkalmaznak, miközben a hálózat megfelelően képes kezelni a hosszú távú memóriát és az időbeli adatokat. Ez az új technológia az RNN-ek hagyományos működésének kiterjesztése, lehetővé téve a hatékonyabb modellezést és előrejelzést a különböző típusú időbeli adatok számára.

Milyen módszerekkel lehet megoldani a Markov-döntési problémákat a megerősítéses tanulásban?

A megerősítéses tanulás (RL) és a dinamikai programozás (DP) közötti egyik alapvető különbség abban rejlik, hogy a megerősítéses tanulás nem követeli meg a világ pontos modelljének ismeretét. Ezzel szemben a DP esetén a Bellman-egyenletek pontos megoldására törekednek, amely csak akkor lehetséges, ha tökéletes modell áll rendelkezésre, és az állapot- és akciótér dimenziója kellően alacsony. A valóságban azonban a legtöbb probléma, különösen a nagy dimenziójú problémák esetében, nem rendelkezik ilyen tökéletes modellel. A megerősítéses tanulás tehát olyan adatokra épít, amelyek a világ tényleges eloszlásából származnak, és az optimalizálási folyamat során kizárólag ezeket az adatokat használja fel. A modellek ugyanakkor nem teljesen haszontalanok; a modellalapú megközelítések a világ belső modelljének felépítésére törekednek, hogy ezáltal segítsék az optimális politika megtalálását, de a jelenlegi részben a modell nélküli megközelítések kerülnek előtérbe.

A megerősítéses tanulás kulcsfontosságú különbsége a dinamikai programozással szemben, hogy nem célja a tökéletes megoldás elérése, hanem egy „megfelelően jó” megoldás keresése. Ez az alapvető paradigmaváltás a dimenziók szaporodásával kapcsolatos problémák miatt vált szükségessé. A DP-vel ellentétben, amely az értékalapú függvényeket és a tranzíciós valószínűségeket táblázatos formában ábrázolja, a megerősítéses tanulás a funkcionális közelítéseket alkalmazza, hogy kezelni tudja a magas dimenziós diszkrét vagy folytonos állapot- és akciótér problémákat. Az ilyen algoritmusok a klasszikus DP-t használó alacsony dimenziós problémák esetén könnyen ellenőrizhetők és tesztelhetők, azonban a gyakorlatban a funkcionális közelítések szükségesek.

A Monte Carlo módszerek az RL egyik alapvető megközelítései, és nem igényelnek előzetes tudást a környezetről. Az ilyen módszerek kizárólag tapasztalatokat használnak, amelyeket a környezetből szerzett minták révén szereznek. Ha szimulált környezetben dolgozunk, a Monte Carlo módszerek lehetővé teszik, hogy a Markov-döntési problémákat szimulációval oldjuk meg, anélkül hogy pontos ismeretünk lenne a környezetről. Az RL-ben alkalmazott Monte Carlo módszerek tehát nem a Bellman-egyenleteket alkalmazzák, hanem az akcióérték-függvény közvetlen definícióját. Az akcióérték-függvényt a következő képlettel lehet kifejezni:

Qtπ(s,a)=Et[GtSt=s,At=a]Q^\pi_t(s,a) = \mathbb{E}_t[G_t | S_t = s, A_t = a]

ahol GtG_t a teljes hozamot jelöli, és a cél az, hogy az egyes állapot-akció párokhoz tartozó értékeket a megfigyelt adatok alapján becsüljük meg.

A Monte Carlo módszerek gyakran episzodikusan, véges időtávra alkalmazhatók, és nem igényelnek a környezet pontos átmeneti valószínűségeit. A minták alapján végzett értékelések lehetővé teszik, hogy az akcióérték-függvényt az empirikus átlag segítségével becsüljük meg. Ha például rendelkezésünkre áll egy NN darab TT-lépéses trajektóriát tartalmazó adatcsomag, akkor a következő módon becsülhetjük az akcióérték-függvényt:

Qtπ(s,a)=1Nn=1NGt(n)Q^\pi_t(s,a) = \frac{1}{N} \sum_{n=1}^{N} G_t^{(n)}

Ebben az összefüggésben a π\pi policy-ként szerepel, amelyet az adatgyűjtés során alkalmaztak. Ezért a Monte Carlo módszer on-policy algoritmusnak számít, mivel csak azokkal az adatokkal tud optimalizálni, amelyek az optimális politikával lettek generálva. Ezzel szemben az off-policy algoritmusok más, alacsonyabb szintű politikákból származó adatokat is felhasználhatnak az optimális politika megtalálására.

A megerősítéses tanulás és a dinamikai programozás közötti különbségek világosan megmutatják, hogy miért nem elegendő a pontos világmodell ismerete a valós problémák megoldásához. A gyakorlatban a legtöbb alkalmazás esetén a megerősítéses tanulás a szimulált tapasztalatok és a minták alapján végzi el az optimalizálást, miközben alkalmazkodik a világ komplexitásához és a rendelkezésre álló adatokhoz. Az ilyen módszerek rendkívül hasznosak a valódi, nem tökéletes környezetekben történő döntéshozatali problémák megoldásában.