Kommunikációs hálózatok idősorainak analízise neuronhálózatokkal Máté György Diplomamunka Témavezető: Csabai István
A mesterséges neuronhálózatok alkalmazási lehetőségei Idegrendszerünk működésének modellezése Komputációs feladatok Információ tárolás, előhívás (memória) Szekvencia reprodukálás Szekvencia folytatás …
A hálózatok felépítése, neuronok működése Neuronok Valós szám: x, neuron állapota (értéke) Kapcsolatok vagy súlyok Átviteli függvény ( f ), pl. lineáris vagy előjel szerű Hálózat tanítása a súlyok megfelelő változtatását jelenti. Lehet online és offline. Itt csak online tanulási folyamatok szerepelnek. ~ Kimenet (érték) Bemenetek Neuron
Neuronok működése A neuron értékének kiszámítása Alapeset x = f ( hozzá érkező súlyozott összeg ) Információt őriz előző állapotáról (szivárgó integrátor), különböző lehetőségek pl. x(t) = r x(t-1) + f ( … )
Előrecsatolt (feed-forward) hálózatok
Előrecsatolt hálózatok jellemzői Neuronok rétegekben Bemeneti, kimeneti és rejtett rétegek Rétegeken belül a neuronok nem hatnak egymásra Az n-ik rétegre csak az n-1-ik réteg hat A neuronok értékét a bemenetek egyértelműen meghatározzák (függvény tulajdonság) 1 rejtett réteggel bármely folytonos függvény előállítására alkalmasak 2 rejtett réteggel gyakorlatilag minden függvény megvalósítható Triviálisan taníthatók
Rekurrens hálózatok
Rekurrens hálózatok jellemzői Bemeneti, rejtett és kimeneti réteg Bemeneti réteg kapcsolatban van a rejtett réteggel és esetleg a kimenettel is Rejtett réteg (reservoir) neuronjai (belső neuronok) kapcsolatban vannak egymással Kimeneti réteg visszahathat a rejtett rétegre (visszacsatolás) Kimenetek között is lehet kapcsolat Taníthatatlanként voltak elkönyvelve
Rekurrens hálózatok jellemzői A rejtett és a kimeneti neuronok értéke mindenképpen függ a hálózat előző állapotától Belső dinamika megléte A reservoir szűri a bemenő jeleket Késlelteti, simítja Van frekvencia karakterisztikája
Az „Echo State” megközelítés Csak a kimenő súlyok változtatása(H. Jaeger) Ezzel a tanítás Bemenő jelek transzformációja Jelszintézis Így taníthatóvá válnak a rekurrens hálózatok!
Az RLS algoritmus
Előrecsatolt és rekurrens hálózatok Előrecsatolt hálózatok Neuronok rétegekben Kimenetek a bemenetek függvényei Zajos jelek előrejelzésére nem jók Rekurrens hálózatok Neuronok között tetszőleges kapcsolatok Belső dinamika Ráadott jel korrelációi megjelennek a dinamikában Zajos jeleknél is használhatók
Az Internet felépítése Egyik legnagyobb kommunikációs hálózat Makroszkopikusan egyszerű elemekből épül fel Host Router (adatok irányítása) Link (kapcsolatok) Kapcsolatok adottak Nem központilag vezérelt, küldő gépek maguk döntenek a csomagküldésről
Internet és alhálózatok
A TCP algoritmus 90%-ban vezérli a kommunikációt Nincsenek aktív elemek RTT-k folyamatos mérése Csomagvesztés észlelése Egy idő után torlódást okoz Torlódást megszüntet
A TCP üzemmódjai Lassú kezdés Kommunikáció megkezdése Inincializáció Torlódáskerülő üzemmód Fő üzemmód Nagy rátával hosszú távú adatküldés Torlódási ablak (CWND) Visszafogott üzemmód
A TCP torlódáskerülő üzemmódban 18. ábra – TCP algoritmus 1 router + konstans háttér mellett. A router telítettsége és a torlódási ablak. Az algoritmus periodikusan működik, csomagvesztéskor lefeleződik a hálózatba kiküldött csomagok száma (torlódási ablak lefeleződése)
Rekurrens hálózatok alkalmazása idősor előrejelzésre
Cél és tanítás menete Egy időben változó jel jövőbeli viselkedését szeretnénk a hálózatokkal jósoltatni. 1. Súlyok inicializálása 2. Bemenetekre a tanulandó jel legutolsó értékeit írjuk (lépésenként a bemenetek tolódnak) 3. Kimeneten a jel soron következő vagy későbbi értékét szeretnénk kapni → hibajel 4. Súlyok megfelelő változtatása
Jóslás menete A tanítás befejezése után: 1. A hálózatot magára hagyjuk (csak ha a soron következő értékkel tanítottunk!!): a bemenetre minden lépésben a valódi jel helyett a saját kimenetét adjuk a kimenetet a valódi jel aktuális értékével összehasonlítva nézzük a jóslás milyenségét 2. Nem hagyjuk magára a bemenetre továbbra is a valódi jelet adjuk a kimenetet itt is a valódi jel aktuális értékével hasonlítjuk össze ez 1 (vagy több) lépéses jóslások sorozatának felel meg
Időbeli RTT mérés RTT mérés az ELTE és a Semmelweis Egyetem között Bemenetek: 117 Rejtett neuronok: 46 Spektrálsugár: 0,9 Tanítási idő: 2390
Jóslás – magára hagyott hálózat ~200 lépés 10-es szekvencia jóslása jó 100-as szekvencia jóslása elfogadható Amplitúdó jóslása nem különösebben jó Korrelációs együttható 10 realizációra: 0,6564
Jóslás – 20 lépéses előrejelzések Szekvencia elsajátítása jó Amplitúdó jóslása nem különösebben jó Tanulás befejeztével nem romlik
Másik RTT mérés Bemenetek: 117 Rejtett neuronok: 96 Spektrálsugár: 0,5 Tanítás: 3200 100 lépéses spektrum A jel lecseng, zajszűrés Amplitúdóban nem jó Amplitúdók aránya jó
Rendelkezésre álló sávszélesség mérése Elrendezés: Küldő Fogadó Routeren keresztül kommunikáció Fizikai BW: c(t) Háttér: c b (t) Rendelkezésre álló BW: C(t) = c(t) – c b (t)
Rendelkezésre álló sávszélesség mérése Késleltetés: d(t) Küldési ráta: S(t) Késleltetés következő időpontban: d(t+dt)=d(t)+(S(t)–C(t))*dt Szabad sávszélesség: C(t)=S(t)–(d(t+dt)–d(t))/dtProblémák Teli router: túlküldésre nem nő a késleltetés Üres router: alulküldésre nem csökken a késleltetés
Rendelkezésre álló sávszélesség mérése Teli router + túlküldés csomagvesztés L[t,t+dt] Üres router + alulküldés változatlan késleltetés csomagvesztés nélkül Additív tag: P Köztes állapot + tökéletes küldés tévesen üres router + alulküldés jelzése Nem kiküszöbölhető probléma, túlküldési hajlam lehet.
A rendelkezésre álló sávszélesség becslése C(t) = S(t) – (d(t + dt) – d(t)) / dt – k L[t, t + dt] + P P = p > 0ha 0ha < d(t + dt) – d(t) < és L[t, t + dt] = 0 P = 0egyébként ahol 0 (| | >= | |)[1] k > 0 és p > 0 előre meghatározott [1] számok. k = 0,4 p = 0,5 = –1,5 = 1,5 [1][1] A szimulációban egyenlőség van, de ha |e1| > |e2|, azzal tovább csökkenthető a telítési hajlam, viszont gyakrabban történhetnek kiürülések. Az egyenlőséget igen közelinek találtam az optimális beállításhoz. [1]
A csomagküldő algoritmus 1. Adatgyűjtés (C(t)) tanítás nélkül 2. RNN tanítása jóslás nélkül 3. Jósolt szabad sávszélesség alkalmazása küldési rátának Adatgyűjtés és tanítás folyamatosan Jelen pillanat: t Legutolsó információ (becsült C érték): t 0 Kimenet és bemenet távolsága időben: t Kell: t 0 + t >= t Bemenetre: C(t 1 ) Kimenet legyen: C(t 2 ) Tanítás (C(t 1 ), C(t 2 )) -vel Kell: t 1 + t = t 2 <= t 0
A csomagküldő algoritmus Tanítás csak akkor, ha megerősítés érkezik t – 1 –ben t 0 ’-ről az utolsó információ t 0 ’ < t 0 1. Tanítás (C(t 1 ),C(t 2 )) = (C(t 0 ’ + 1 – T),C(t 0 ’ + 1)) párral 2. t 1 ++; t 2 ++amíg t 2 < t 0 ; tanítás (C(t 1 ),C(t 2 )) párral (t 2 = t 0 –ban (C(t 0 – T),C(t 0 ) pár) 3. Jóslás: hálózat bemenetére C(t 0 – T + 1), C(t 0 – T + 2), …, C(t – T) hálózat jósol: C’(t 0 + 1), C’(t 0 + 2), …, C’(t) 4. Hálózat jóslását csomagküldési rátának beállítjuk: S(t) = C’(t) ha 0,01 <= C’(t) <= 1,0 ha C’(t) < 0,01S(t) = 0,01(leállás elleni védelem!!) ha C’(t) > 1,0S(t) = 1,0(mivel fizikai BW = 1)
1 gép + szinuszos háttér c b (t) = 0,5 + 0,2 sin(0,04 t) Nagyon jó adaptáció: lokálisan jó sávszélesség kihasználás, hosszú távon nagyon jó Fázis jóslása pontatlan Globális sávszélesség kihasználás 100% körüli Egyes realizációk között nem jelentős eltérések
1 gép + szinuszos háttér Sávszélesség kihasználtság lokálisan szinuszos Router telítettsége: globálisan kis alulküldés ebben a realizációban
Szinusz + zaj háttér Előző szinusz + zaj Optimális ráta: 1 / 3 Kis mértékű alulküldés, BW kihasználtság ~90% Realizációk között nagyobb eltérések
Poisson háttér Minden időpontban q = 0,65 valószínűséggel háttércsomag Optimális ráta: 0,35 Tökéletes sávszélesség kihasználás
Konstans háttér Háttér rátája: 0,4 Optimális ráta: 0,6 Túlküldés: ~2% Router megtelése után szabályoz vissza Sok téves „üres router” jelzés, mivel szabályos a háttér
Az algoritmus kiterjesztése két gépre 1 gépnél kiváló sávszélesség kihasználás 2 gépnél összes kihasználás jó lehet Egyenlőtlen osztozás a sávszélességen?
Szinuszos háttér Háttér: 0,4 + 0,2 sin(0,04 t) Egyenlőtlen sávszélesség elosztás Összes sávszélesség kihasználás: ~100%
Poisson háttér: egyenlőtlen sávszélesség elosztás, gyakori alul- vagy túlküldés Konstans háttér = két gép egy szabad csatornán: Összkihasználás jó Valamelyik gép kiválasztódása jelentős Ábrán: konstans háttér
Gépek számának növelése Instabilitások, oszcilláló küldési ráták Valamely gép(ek) kiválasztódása Alul- vagy túlküldések 5 gép esete: 1. és 2. számú gép rátái és router telítettsége
Összefoglalás Kommunikációs hálózatok idősorai – lehetőségek szerint – előre jelezhetők Korrelációk, spektrum megtanulhatók egy RNN számára Szabad sávszélesség kihasználása sávszélesség előrejelzéssel 1 géppel kiváló 2 géppel összességében jó, igazságtalan osztozás Sok géppel nem jó + igazságtalan osztozás
Kitekintés Az algoritmus csak fix háttér mellett jó. Ez a gyakorlatban nem teljesül Fix háttérnél TCP leváltható lenne Egymás ellen dolgozó algoritmusok nem működnek megfelelően TCP egyenlőre marad! Aktív elemek alkalmazása?
Hivatkozások J. Hertz, A. Krogh, R. G. Palmer: Introduction to the Theory of Neural Computation Bronstein, Szemengyajev, Musiol, Mühlig: Matematikai Kézikönyv Benkő T., Benkő L., Tóth B.: Programozzunk C nyelven! H. Jaeger, „The echo state approach to analysing and training recurrent neural networks” ftp://borneo.gmd.de/pub/indy/publications_herbert/EchoStatesTechRep.pdf H. Jaeger, H. Haas, „Harnessing nonlinearity: predicting chaotic systems and saving energy in wireless telecommunication” bremen.de/hjaeger/pubs/ScienceArticlePlusSOMPreprint.pdf bremen.de/hjaeger/pubs/ScienceArticlePlusSOMPreprint.pdfhttp:// bremen.de/hjaeger/pubs/ScienceArticlePlusSOMPreprint.pdf J. Chen: Adaptive filters (kurzus anyaga) M. Makula, M. Čerňanský: Echo state networks Vattay Gábor: Kommunikációs hálózatok forgalmának modellezése (előadás jegyzet) Kourosh Rahnamai, Payman Arabshahi, Andrew Gray: Model Predictive Neural Control of TCP Flow in AQM Networks K. Fukuda, L. A. Nunes Amaral and H. E. Stanley: Similarities between communication dynamics in the Internet and the autonomic nervous system X. Liu, K. Ravindran, B. Liu, D. Loguinov: SingleHop Probing Asymptotics in Available Bandwidth Estimation: SamplePath Analysis X. Liu, K. Ravindran, D. Loguinov: What Signals Do Packet-pair Dispersions Carry?