Mély neurális hálózatok futtatása Android okostelefonon

OData támogatás
Konzulens:
Dr. Gyires-Tóth Bálint Pál
Távközlési és Médiainformatikai Tanszék

Mára a mély tanulás paradigmán alapuló mély neurális hálózatok a gépi tanulás talán legaktívabban kutatott ágazatává váltak. A mély neuronhálók nagy mennyiségű adatot képesek hatékonyan feldolgozni és ezek alapján modellt építeni. A számítógépek (különösképpen a grafikus gyorsítókártyák) számítási kapacitás növekedésének köszönhetően egyre nagyobb és bonyolultabb modelleket vagyunk képesek tanítani belátható időn belül. A mély neurális hálózatok címkézésben, osztályozásban és regressziós feladatokban, bizonyos körülmények mellett már az emberi pontosságot is képesek elérni és akár megelőzni azt.

Napjainkban az okostelefonok behálózzák a mindennapjainkat, ezeket használjuk telefonos beszélgetésre, játékra, tájékozódásra és egyre nagyobb elvárásaink vannak a funkciókat illetően. A technológia gyors fejlődésének köszönhetően sok esetben már a PC-k és a laptopok feladatait képesek ellátni a mobiltelefonok. Sok Android alkalmazásban már olyan funkciók vannak, amelyek háttérében valamilyen mély neurális hálózat dolgozik. Ehhez azonban sok esetben szükség van internet kapcsolatra, mert ezen az algoritmusok nagy teljesítményű szervereken futnak, és onnan szolgáltatnak adatokat az alkalmazásnak.

Dolgozatom során azt vizsgálom, hogy milyen módon lehet mély neurális hálózatokat futtatni Android okostelefonon és ezeknek ennek milyen erőforrás igényei vannak. Először áttekintetem a releváns publikációkat a témában. Bemutatom a munkám során létrehozott rendszert, amely megadja, hogy milyen lépéseket kell tenni a mély neurális hálózat tervezésétől addig, hogy egy Android alkalmazásba ezt be lehessen építeni és futtatni. Készítettem egy demonstrációs mintaalkalmazást Android készülékre, amely az MNIST adatbázison tanított modellt képes futtatni. Ezt összehasonlítottam a TensorFlow által készített mintaalkalmazással, amelyet átalakítottam olyan formára, hogy Android Studioban is lehessen dolgozni vele. A két alkalmazás erőforrás igényét egy háttérfolyamattal mértem és a tesztek után kiértékeltem az eredményeket. A kisméretű neurális hálózat teljesítmény igénye elfogadható, azonban a nagy modellek esetén az okostelefon processzora 65 °C fok fölé is emelkedhet, ami már nem tekinthető felhasználó barát működésnek.

Letölthető fájlok

A témához tartozó fájlokat csak bejelentkezett felhasználók tölthetik le.