FPGA-n implementált, sztochasztikus bitfolyam alapú programozható neurális hálózat Rák Ádám Konzulens: Cserey György, Ph.D OTDK előadás, kiegészített verzió 2007 eKut PPKE Információs Technológiai Kar
Miről lesz szó? ● Bevezető ● Az FPGA-ák működése ● A sztochasztikus bitfolyam ● Neurális hálózatok ● Megvalósítás ● Szimuláció ● Mérés ● Összegzés ● STCNN
Motiváció ● Szabályzási feladatot szeretnék megvalósítani robotlábon ● Kis késleltetésü beavatkozás szükséges ● Hogyan tudnánk ideghálót egyszerűen hardverben megvalósítani? ● A mikrovezérlők túl lassúak erre a feladatra, céleszköz szükséges
FPGA működése Logikai blokk Huzalozó
Sztochasztikus bitfolyam Véletlen bitfolyam Szorzás: ÉS kapu hatása a várható értékre VAGY kapu hatása a várható értékre
Sztochasztikus bitfolyam Összeadás közelítése Közelítő összeadó egyenlete
Összeadás közelítése A közelítés működik, a „zavar” tagok magasabb hatványon vannak, de túl sok alkatrész A+B „A + B”
Neurális hálózatok Előrecsatolt topológia Minden mindennel kapcsolat Idegsejt modell
Megvalósítás idegsejt Idegsejt modell
Megvalósítás referencia értékek Pszeudo véletlen bitfolyam generátor Referencia bitfolyam generátor E = 0.5
Megvalósítás szinapszis Súlyozó logika Implementált programozható súly
Megvalósítás hálózat A megvalósított három neuronos idegháló B1B2B3 C A A: Programozó logika B: Neuronok C: Szinapszis mátrix
Szimuláció 10 idegsejtes hálózat Oszcilláció stimuláció hatására (alapjelenség) Autonóm oszcilláció
Mérés Sztochasztikus viselkedésTelítődés
Mérés Egymást követő láncbakötött idegsejtek Sztochasztikus viselkedés Késleltetés 3 E=0.5 2 E<0.5 Külső inger (E=1) 1 E<0.5
Összegzés ● Sztochasztikus ideghálózatot sikerült implementálni FPGA- án ● Szimulációnak megfelelően viselkedik a hálózat ● Képes többféleképpen oszcillálni, mozgásminták generálására is lehet használni ● Bizonyos idegsejt (és súly) számig bővíthető, FPGA blokkszámától függően ● A biztonságos működési frekvenciának akár kétszeresével is képes működni
STCNN (STochastic-bitstream Cellular Neural Network) RNG & AIC LCCU LMLM STCNN nucleus (LUTs) FSM