Mély neurális hálózatok tömörítése mobil eszközökre

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

A sok különféle szenzorral ellátott okos eszköz - kiváltképp az okostelefonok -, az élet számos területén elterjedve egyre nagyobb mennyiségű adatot állítanak elő. Többek között ennek köszönhető, hogy egyre több az olyan szolgáltatás, amely az általuk előállított adatokra (kép, hang, hely) támaszkodik. Az adatok feldolgozására a hagyományos módszerek mellett ma már sok területen alkalmaznak gépi tanulást, melyen belül napjaink egyik leghatékonyabb módszere a mély tanulás. Az általa elért, sok esetben kimagasló eredményeket látva felvetődik: miért ne lehetne az adatokat helyben feldolgozni, az eszközön futtatott neurális hálózatokkal?

A mobil platformok korlátozott erőforrásai sokáig nem tették lehetővé összetettebb alkalmazások futtatását. Ezért az adatokat az olyan feladatok esetén, mint például a hang szöveggé alakítása, vagy az összetettebb képfelismerési problémák, a jelenleg elterjedt megoldásokban a felhőben értékelik ki, a felhasználó eszköze pedig csak megjeleníti a választ. Ezzel a módszerrel működik például az Apple Siri és a Google Assistant is. Nem működik viszont az eljárás akkor, ha az Internet nem érhető el, vagy az adat túl nagy mennyiségű, vagy valós időben kell a válasz vagy jogi akadályba ütközik az adatok feltöltése. Így vetődik fel újra a kérdés, hogy hogyan lehetne mégis megoldani az eszközön való futtatását a neurális hálózatoknak.

A mobil processzorok fejlődése, és az általunk elért memória növekedése, valamint az elmúlt évek kutatási eredményei segítik a neurális hálózatok offline alkalmazásának a lehetőségét okostelefonokon. A dolgozatomban áttekintek három tömörítő eljárást, amelyek mind a hálózat méretének csökkentését (és így egyben a predikció gyorsítását) célozzák meg, három különböző megközelítéssel. 1. A tudásátvitel módszere a hálózat egész struktúráját segít tömörebb formára hozni azáltal, hogy egy nagy, megfelelően betanult háló tudását át tudja vinni egy kisebb hálózatba 2. A neuronvágás egész neuronok eltávolítását teszi lehetővé; igaz, a jelenleg bemutatott megoldásban nagyon költséges heurisztikával. 3. A hálózat súlyait klaszterezve a hálózat súlymátrixait sokkal tömörebb formára lehet hozni a súlyvágás módszerével.

A három megoldás közül a súlyvágás alapú eljárást kidolgoztam, megvalósítottam, és a dolgozatomban implementáció szinten is bemutatom a hálózat tanításától a tömörítésén át az alkalmazásáig – iPhone készüléken.

Letölthető fájlok

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