Az adatjóslás új eszköze

Címkék

Nemrég hírt adtunk itt a HUP-on a Holografikus Kutatási
Stratégia módszeréről. A fejlesztések nem álltak meg,
újabb eredményekről számolhatunk be.Korábban láttuk, hogy a HRS módszer végeredménye egy
olyan hologram, amely a sokdimenziós tér egy részének
megmintázásából keletkezik. A hologram által képviselt
adatstruktúra nemcsak az optimumkritériumnak megfelelő
optimumot tartalmazza, hanem optimum- és
pesszimum-centrumokat is kijelöl. Mi lenne, ha ezt a fontos
észrevételt felhasználnánk a meg nem mintázott térrész
adatainak kiszámolására?

A jósló algoritmusok döntő többsége azon alapul, hogy input
paraméterek output paraméterekre gyakorolt hatásából
próbál meg valamilyen szabályt felállítani. A szabály segítségével ezután a hiányzó adatok kisebb-nagyobb hibával kiszámolhatók. Nevezzük el ezeket az algoritmusokat I/O
orientált algoritmusoknak. Ilyen algoritmus például a Mesterséges Neurális Hálók (ANN) módszere is.

Az HRS patching ilyen alapon az algoritmusok másik
csoportját alkotja, ugyanis a legmesszebbmenőkig figyelembe veszi azt, hogy a részsokaság, amelyből a hologram áll, milyen adatstruktúrával rendelkezik vagyis a kiszámolandó adat milyen messze van az optimum-centrumoktól és azoktól milyen irányba helyezkedik el. Ezért a HRS patching struktúra orientált algoritmus.

Ábrák és a magyarázat megtalálható ezen a
weblapon.

Várom észrevételeiteket, egyúttal köszönöm a figyelmet:

Végvári Lajos [meditor]

Hozzászólások

Új ANN ábrákat tettem föl a honlapra. Akit érdekel nézze

meg! Még mindig jelentős a különbség a HRS patching

javára. A következő 6 hétben újabb ábrák várhatók,

egyre bonyolultabb ANN hálókkal.

Üdv mindenkinek: meditor

Kedves Meditor!

Az összehasonlítás teljességgel használhatatlan. A futási idő fontos szempont, de egy algoritmus pontossága és futási ideje sok mindentől függhet.

Pl. milyen környezetben és milyen nyelven lett a ANN implementálva, milyen hálózattal, hány neuron, milyen aktivizációs függvénnyel, hány bites számábrázolás stb. stb.

Hasonlóan definiálni kell a te módszeredet is, és ha ez megtörtént akkor lehet összehasonlítást végezni szerintem. Persze ettől még lehet, hogy igaz, amit állítasz, csak így ez kevés.

Üdv,

Zoli

1. mindkét módszer linux alatt futott és C nyelven lett írva.

2. Nagyon sokféle paraméterű ANN lett kipróbálva és

a legjobban jósló adatát tettem ki. A rövidebb futásidejűek

rosszaban jósoltak.

Az eltérés az ANN és a HRS-patching négyzetes hibája között

akkora, hogy remény sincs olyan hálót felépíteni, ami

akár csak megközelítené is a HRS-patching eredményeit.

Ráadásul a futásidő exponenciálisan továbbnyúlna,

így is elviselhetetlenül hosszú.

Másfelöl meg: az összhasonlítás annyiból helyes,

hogy ugyanazon a pályán, ugyanazt a feladatot

kell megoldani mindkét módszernek. Hasonló ez

ahhoz, mikor két adattömörítő algoritmust

hasinlítasz össze. Az egyik körte a másik mogyoró,

tehát összevethetetlen lenne - ha nem lenne

egy feladat, ugyanaz a feladat mindkettőjük

számára kitüzve: tömörítsék össze mindketten

ugyanazt az adathalamzt, és amelyik ezt

tömörebben, gyorsabban teszi, az a jobb.

1. Sokszor az ANN mátroxokkal történő reprezentációja és a FORTRAN csodákra képes. Volt, hogy 100x gyorsulást értem el. Persze ez ANN specifikus, de egy próbát megér.

2. Ha ez így van, akkor miért nem írod oda, hogy az ANN ilyen paraméterű, olyen struktúrájú volt és akkor nincs vita, nincs kérdés.

3. An ANN univerzális approximátor, így elméletben létezik ugyanolyan jó háló. A futási időről pedig annyit, hogy ez a von Neumann architektúrájú chipekre igaz, ma már FPGA-ban könnyen lehet olyan neurális ICt csinálni, ami kihasználja az ANN párhuzamosságát és megintcsak több nagyságrendmyi gyorsulás érhető el.

Üdv,

Zoli

Ezzel egyetértek. A feladat ugyanaz, csak definiáljuk a versenyfeleket. A tömörítésnél is le van írva a két algoritmus pontos paraméterezése stb. és utána győzzön a jobbik.

Ha itt is le van írva, és mindenki számára egyértelmű, akkor minden rendben. Én nem a te algoritmusod jóságában kételkedek, sőt örülök, hogy ha ez tényleg ilyen jó, esetleg nekem is jól jön pár helyen, csak legyen minden a helyén.

Zoli

Az ANN részt nem én írtam, hanem egy matemetikus,

aki ANN specialista. Feltételezem (sőt: tudom), hogy jól

végezte a munkáját. Mindazonáltal az általad említett

dolgokról konzultálok vele.

A több nagyságrendi gyorsulást komolyan mondod?

ez azt jelentené, hogy mondjuk az ezredrészére

csökkenne a futásidő? Ez érdekes lenne! Szívesen

kipróbálnám.

Egyébként nem a futásidő a fő gond, hanem

a gyenge jóslási képesség. Szerinted van-e mód arra,

hogy ez lényegesen javuljon? Saját tapasztalatom

ugyanis az, hogy hiába változtatom a háló paramétereit,

ugrásszerű javulások nincsenek, sőt az is előfordul,

hogy egy egyszerűbb háló rövidebb idő alatt jobb

eredményt ér el, mint egy bonyolultabb.

Tartozom még az adatprecizitással: mindkét módszer

esetén float, azaz 32 bites, lebegőpontos.

Érdekelne, hogy Neked vannak és ha igen milyen

jellegű tapasztalataid az ANN-nel. Pl a mi konkrét

esetünkben tér 1 %-a megmintázva: milyen eséllyel

állíthatók vissza hiányzó adatok, függetlenül a futásidőtől,

float adatpontosságot használva?

Várom válaszod.

A gyorsulás saját tapasztalat eredménye. Nem általánosítható, de programozás i trükkökkel nagy mértékben gyorsítható a dolog, persze ezáltal az ANN-re kötötségek lépnek életbe.

Pl. bizonyos ANN-ek mátrixos alakra hoszhatóak, majd a műveletek mátrix műveletekké átírhatóak. Ezt hatékonyan implementálva, jelentős javulás eredményezhető. A FORTRAN azért jó, mert tipikisan SIMD gépekre készült, az ANNek és a mátrixok ilyen jellegűek, és sokkal jobban optimalizált kód jön létre, mint C-ben. Persze a nyelv kötöttebb.

Amúgy ANN specialista én sem vagyok, így én sem tudom megmondani, hogy milyen bonyolultságú ANN lenne neked a legjobb :-( Én az ANNt alapvetően másra használtam, használom.

Ja, és ANN chipek tényleg vannak, több cikk is született ebben a témában az utóbbi 2-3 évben, amióta az FPGAk már elég sok kapuval kezdtek rendelkezni.

Üdv,

Zoli

Meditor, hát neked elfelejtették megmondani, hogy:

"Az opensource szoftverekben nincs innováció" ?!

:)

Köszönöm a tájékoztatást. Én az ANN-hez annyit értek,

hogy megparaméterezem, azt hagyszóljon. Bízom a

jó háttérmunkában. Mégegyszer köszönöm a konstruktivitást.

Magánban szivesen vennék egy tájékoztatást, hogy

mivel foglalkozol (vagy egy honlapot), soha nem

lehet tudni alapon.

Minden jót: meditor

Meditor, engem nem versz át! Ezek szabásminták, a vak is látja. ;))))) Az buktatott le, hogy a kép szélén ott vannak a varrógépnél alkalmazandó öltésminták. ;)))))