2009
műszaki
Sztochasztikus bitfolyam alapú Celluláris Nemlineáris Hálózat és implementációja FPGA-án
Témavezető:
Dr. Cserey György
Dr. Cserey György
Összefoglaló
Az elmúlt 15 évben a Celluláris Neurális Hálózat (CNN) alapfelvetésétől számítva számos algoritmus lett publikálva és hardveres megvalósítás került piacra. A megvalósított CNN implementációkra az jellemző, hogy csak az egymással szomszédos cellák kapcsolódnak egymáshoz. Ez a felépítés a legalkalmasabb képfeldolgozási műveletek végzésére, például alakfelismerés és bináris morfológiák. Mivel ez a rendszer eredendően párhuzamos, ezért a jelenlegi implementációk futási sebessége egy bonyolultabb műveletsornál is elérheti az 1000 kép / másodpercet. A jelentős sikeres kutatási eredmények mellett a szilíciumon implementált csipek néhány olyan hátrányos tulajdonsággal is bírnak az elmélettel szemben, ami limitálja a hardveren történő megvalósítás paramétereit. Ilyen lehet például az analóg pontosság, nemlineáris templatek (utasítások) végzése, az adatátvitel miatt keletkező időtöbblet, vagy a méret növelhetősége.
Az irodalom áttekintése alapján mondhatjuk, hogy bár léteznek digitális implementációk és sztochasztikus szimulációkat is készítettek CNN csipen, de sztochasztikus bitfolyam alapú CNN implementáció (STCNN) eddig még nem készült. A sztochasztikus bitfolyamok egyik legfontosabb előnye, hogy az áramköri megvalósításuk kevés elemet igényel.
Megjegyzendő, hogy míg az analóg VLSI nem követi a Moore törvényt, addig a digitális
CNN implementációk és így az STCNN is ennek eleget tesz, azaz a technológia fejlődésével (méretcsökkenés) növekszik az áramkörsűrűség, nő a sebesség. Hátránya, hogy mivel alapvetően véletlen mintákon alapszik a bitfolyam, nem kerülhető el a zaj. Az elméleti eredményeinket FPGA rendszeren teszteltük, mely olyan eszköz, ami programozható logikai egységeket és összeköttetéseket tartalmaz. A speciális szerkezete lehetővé teszi, hogy bizonyos határon belül megfelelő programozással, bármilyen komplexitású logikai áramkör megvalósítható legyen.
Ezzel a munkával az volt az elsődleges célunk, hogy egy olyan CNN architektúrát tervezzünk, mely egyrészt hatékonyan megvalósítható FPGA-án illetve VLSI környezetben, másrészt robosztus nemlineáris operációkat lehessen futtatni rajta. A kidolgozás során igyekeztünk szem előtt tartani az univerzalitást és a sebességet. Az eredmények azt mutatják, hogy mindkettő tartható az implementáció során. Fontos kérdés, hogy egy-egy cella mekkora helyet igényel, de a méret növekedésével nemcsak egy cella méretével kell számolni, hanem a huzalozás helyigényével is, mely elméleti határt szabhat a megvalósításnak. Ezekre általános választ adhat az FPGA-án történő, akár kisebb méretű implementáció eredménye is.
Az irodalom áttekintése alapján mondhatjuk, hogy bár léteznek digitális implementációk és sztochasztikus szimulációkat is készítettek CNN csipen, de sztochasztikus bitfolyam alapú CNN implementáció (STCNN) eddig még nem készült. A sztochasztikus bitfolyamok egyik legfontosabb előnye, hogy az áramköri megvalósításuk kevés elemet igényel.
Megjegyzendő, hogy míg az analóg VLSI nem követi a Moore törvényt, addig a digitális
CNN implementációk és így az STCNN is ennek eleget tesz, azaz a technológia fejlődésével (méretcsökkenés) növekszik az áramkörsűrűség, nő a sebesség. Hátránya, hogy mivel alapvetően véletlen mintákon alapszik a bitfolyam, nem kerülhető el a zaj. Az elméleti eredményeinket FPGA rendszeren teszteltük, mely olyan eszköz, ami programozható logikai egységeket és összeköttetéseket tartalmaz. A speciális szerkezete lehetővé teszi, hogy bizonyos határon belül megfelelő programozással, bármilyen komplexitású logikai áramkör megvalósítható legyen.
Ezzel a munkával az volt az elsődleges célunk, hogy egy olyan CNN architektúrát tervezzünk, mely egyrészt hatékonyan megvalósítható FPGA-án illetve VLSI környezetben, másrészt robosztus nemlineáris operációkat lehessen futtatni rajta. A kidolgozás során igyekeztünk szem előtt tartani az univerzalitást és a sebességet. Az eredmények azt mutatják, hogy mindkettő tartható az implementáció során. Fontos kérdés, hogy egy-egy cella mekkora helyet igényel, de a méret növekedésével nemcsak egy cella méretével kell számolni, hanem a huzalozás helyigényével is, mely elméleti határt szabhat a megvalósításnak. Ezekre általános választ adhat az FPGA-án történő, akár kisebb méretű implementáció eredménye is.
Dr. Cserey György