![]() |
BMe Kutatói pályázat |
![]() |
A mély neurális hálózatok az elmúlt évtizedben kimagasló teljesítményt mutattak a különböző számítógépes látási feladatok megoldásában. Alkalmazásuknak azonban sokszor gátat szab a nagy számításikapacitás-igényük és méretük, mely a hatalmas paraméterszámuknak köszönhető. Ez különösen jelentős probléma az erőforráskorlátos eszközök esetén, mint például a mobiltelefonok vagy beágyazott rendszerek. Továbbá, ennek következtében számos hatékony MI-megoldás csak olyan kutatók és felhasználók számára érhető el, akik rendelkeznek drága, hatalmas teljesítményű grafikus processzorokkal. Rendkívül fontos ezért egy olyan neurálisháló-ritkító rendszer kifejlesztése, mely robosztusan alkalmazható különböző architektúrákon és doméneken.
A Számítógépes Látás és Gépi Tanulás kutatócsoport a Budapesti Műszaki és Gazdaságtudományi Egyetem Irányítástechnika és Informatika Tanszékén jött létre. Küldetése intelligens látórendszerek és képfeldolgozási módszerek megalkotása, valamint e megoldások alkalmazásainak kutatása. A kutatócsoport eredményei számos alkalmazási területen hasznosulnak. Ezek közül kiemelendő az intelligens robotok, autonóm járművek, térinformatika, okos városok, valamint a szimulációs tanuló rendszerek területe. A kutatócsoport több nagyteljesítményű grafikus processzorral is rendelkezik, mely tökéletes alapot biztosít a neurális hálózatokkal kapcsolatos kutatáshoz.
A neurális hálózatok hatalmas paraméterszáma okozta problémák megoldására egy lehetséges, jelenleg is használt módszer hagyományos a neurálisháló-ritkítás [1]. Ennek során a betanított, pontos modellből szabályszerűségek alkotásával jelöljük ki az eltávolítandó súlyokat, igyekezve a pontosság lehető legjobb megtartására. A keresési szabályok azonban egy bizonyos doménre korlátozzák a probléma feltérképezhetőségét, ami csökkenti az optimális megoldás megtalálásának valószínűségét. Emellett az ilyen megoldások nem általánosak; azok minden esetben egy konkrét neurális háló architektúrájához és adatbázisához (domén) készülnek. A probléma megközelíthető megerősítéses tanulás alkalmazásával is, melynek során a neurálisháló-alapú ágens emberi beavatkozás nélkül igyekszik megtalálni az optimális eltávolítandó súlyokat. Ezen megközelítés jelenleg is nyitott téma az irodalomban, ám a létező megoldások legnagyobb hátulütője, hogy az ágens számára a két legfontosabb környezeti változót – a modell paramétersűrűségét és a pontosságromlását – a modell tényleges ritkításával és a redukált modell tesztelésével határozzák meg futási időben, ami nagymértékben lelassítja az ágens tanítását [2][3]. Így ez a megoldás sem kínál általános, gyors és hatékony megoldást a neurálisháló-architektúrák ritkítására.
Munkámmal
szeretnék utat törni a neurálisháló-alapú megoldások széleskörű
alkalmazhatóságának a kisebb számítási kapacitással rendelkező, modern
digitális látórendszerekben. Célom egy olyan ritkítórendszer kifejlesztése,
mely egyrészt a létező megoldásokhoz képest jóval rövidebb időn belül állítja
elő a bemeneti háló ritkított változatát, emellett a különböző doménekben,
illetve különböző neurálisháló-architektúrákra általánosan alkalmazható, amire
tudomásom szerint még nincs példa az irodalomban.
A kutatás során megválaszolandó kérdések:
1. Lehetséges-e a megerősítéses tanulással automatizált neurálisháló-ritkítás
folyamatát jelentősen gyorsítani az irodalomban létező módszerekhez képest?
2. Lehetséges-e megerősítéses tanulással legalább olyan jó, vagy jobb
ritkítást elérni, mint hagyományos ritkítási szabályokkal egy széleskörűen
alkalmazott objektumdetektor esetében?
3. Lehetséges-e a megerősítéses tanulással automatizált ritkítórendszert általánosítani adatbázisok, azaz domének között?
4. Lehetséges-e a megerősítéses tanulással automatizált ritkítórendszert
általánosítani neurális háló architektúrák között?
A kitűzött célok eléréséhez és kérdések megválaszolásához egy innovatív, megerősítéses tanulással automatizált ritkítórendszert tervezek a széleskörűen használt YOLO típusú objektumdetektorokhoz [4]. Az eddig létező megoldásokkal szemben, az ágens tanítása során a környezeti változók meghatározására használt hosszas ritkítás és tesztelés helyett, azokat egy ún. állapotbecslő neurális háló jósolja. Ennek feladata, hogy megbecsülje a ritkítandó modell pontosságváltozását és paramétersűrűségét az addig törölt paraméterek mennyisége és az adott réteghez választott redukáló tényező függvényében. Az állapotbecslő hálót előzőleg, automatikusan generált adatokon tanítom.
Az elkészült rendszer működését az 1. ábra mutatja be. Az állapotbecslő hálót
(State
Predictor Network,
SPN) a betanított detektor háló felhasználásával tanítom be. Ezek után, a
ritkítandó modell architektúráját átadva a megerősítéses tanulási ágensnek, az
az állapotbecslő háló segítségével tanulja az optimális ritkítási stratégiát.
A tanítás végén a háló minden rétegéhez előáll egy ún. ritkítási tényező,
melyet felhasználva egy lépésben ritkítom a modellt.
1. ábra.
A javasolt
megerősítéses tanulással automatizált neurálisháló-ritkító rendszer
folyamatábrája.
Fontos kiemelni, hogy az állapotbecslő háló alkalmazásával lehetőség nyílik a modellalapú, multiágensű megerősítéses tanulás alkalmazása a ritkítórendszerben, ami nagymértékben felgyorsítja az ideális eltávolítandó paraméterek keresésének folyamatát (2. ábra).
2. ábra. Számítási gráf az ágens és a jutalomfüggvény között.
A legtöbb ritkítómódszerrel szemben, a tervezett rendszer strukturált
ritkítást végez, tehát egyes súlyok nullázása helyett teljes szűrőket távolít
el az architektúrából [5], amivel elősegíti a redukált modell futásának
érdemleges gyorsulását grafikus processzorokon (GPU) is.
Az adatbázisok közti általánosítást az állapotbecslő háló új adatbázison való
finomhangolásával közelíteném meg. Az architektúrák közti általánosítás
megvalósítása érdekében a modell architektúrájában lévő rétegek közti
függőségek kézi feltérképezése helyett egy ezt automatikusan megvalósító
könyvtárat alkalmaznék a rendszerben [6]. Ez azonban a későbbiekben
megköveteli, hogy az állapotbecslő háló dinamikus bemeneteket is tudjon
kezelni, hiszen a különböző architektúrákban eltérő a ritkítható rétegek
száma, amely az állapotbecslő háló egyik bemenetét képezi. Ennek eléréséhez az
eddigi állapotbecslő hálót egy transzformer architektúrára cserélném. Továbbá,
az ágens tanítását online végezném; az állapotbecslő hálót folyamatosan
finomhangolnám a tanítás során generált adatokon. Ez biztosítaná az
állapotbecslő háló robusztusságát, mely így kevésbé érzékennyé válik az
ismeretlen mintákra, ami stabilabb tanítást eredményezne.
Eddigi munkám során egy olyan megerősítésestanulás-alapú rendszert valósítottam meg, mely egy modern objektumdetektor hatékony ritkítását teszi lehetővé az ágens tanítási idejének csökkentése mellett. Az eddig létező megoldásokkal szemben a rendszerben a környezeti változók meghatározására használt hosszas folyamat helyett egy ún. állapotbecslő neurális hálót alkalmazok. Feladata, hogy megbecsülje a ritkítandó modell
pontosságváltozását és paramétersűrűségét az addig törölt paraméterek mennyisége és az adott réteghez választott redukáló tényező függvényében. Az állapotbecslő hálót automatikusan generált adatokon tanítom be az ágens tanítása előtt.
Az így elkészült ritkítórendszerrel sikeresen előállt a KITTI közlekedési
adatbázison betanított YOLOv4 objektumdetektor ritkított változata, mely a
kezdeti modellhez képest 61%-kal kevesebb súlyt tartalmaz, mindössze 3,6%-os
pontosságromlás mellett. Ez a kimagasló eredmény nagyban felülmúlja a
véletlenszerű ritkítást, amely 100%-os pontosságromlást eredményezett, és a
tesztelt hagyományos ritkítási szabályokat is: a legjobban teljesítő szabály
3% pontosságromlás mellett mindössze a súlyok 40,3%-át távolította el.
3. ábra. Különböző ritkítási szabályok összehasonlítása. Az x-tengelyen a háló rétegei láthatóak, az y-tengely a választott ritkítási tényezőt ábrázolja. A hagyományos szabályok saját szerkesztésűek, azon elterjedt feltételezésre hagyatkozva, hogy minél nagyobb egy réteg, annál nagyobb ritkítási tényezőt érdemes alkalmazni hozzá. Színjelölés: zöld – 1. hagyományos szabály, kék – 2. hagyományos szabály, narancs – javasolt módszerrel talált stratégia.
A javasolt módszer a ritkítórendszer sebességét illetően is jelentős eredményt
hozott: az állapotbecslő háló alkalmazása a teljes fejlesztési időt
12-szeresére csökkentette ahhoz képest, ha a „state-of-the-art”
megerősítésestanulás-alapú módszert használnánk az adott feladathoz.
Az eddig eredmények bizonyítják, hogy a vizsgálandó kérdések közül az első kettőre pozitív eredményt hozott a kutatás; sikeresen megvalósítottam egy innovatív automatikus ritkítórendszert, melyet egy új feladaton (objektumdetektor ritkítása) eredményesen alkalmaztam.
A javasolt neurálisháló-ritkító rendszerrel kapott neurálisháló-modellek kisebb méretének következtében alkalmazhatóvá válnak beágyazott rendszerekben, erőforráskorlátos berendezésekben és olyan esetekben, ahol a feldolgozási sebesség kritikus. A megoldás nyilvánossá tétele jelentős ipari hatással is bír, hiszen egy általános ritkítórendszer könnyedén integrálható saját fejlesztésű rendszerekbe is. Emellett a rendszer felhasználásával a megerősítésestanulás-alapú automatikus ritkítás területén történő fejlesztések elérhetővé válnának olyan kutatók számára is, akik nem rendelkeznek drága, nagyteljesítményű grafikus processzorokkal, hiszen annak egyik része sem igényelne nagy GPU-memóriát.
A kutatás jelen állása szerint a következő lépések az általánosítóképesség
kivizsgálását foglalják magukba, mind adatbázis, mind architektúra
szempontjából.
Saját publikációk
Blanka Bencsik, Márton Szemenyei: Multi-Domain Structural Pruning with Reinforcement Learning, Proceedings of the Workshop on the Advances in Information Technology 2024., Budapest, BME Irányítástechnika és Informatika Tanszék, pp 133–141
Bencsik, B.; Reményi, I.; Szemenyei, M.; Botzheim, J. Designing an Embedded Feature
Selection Algorithm for a Drowsiness Detector Model Based on Electroencephalogram
Data., Sensors 2023, 23, 1874. https://www.mdpi.com/1424-8220/23/4/1874
B. Bencsik and M. Szemenyei, „Efficient
Neural Network Pruning Using Model-Based
Reinforcement Learning”, 2022 International Symposium on Measurement and Control
in Robotics (ISMCR), Houston, TX, USA, 2022, pp. 1–8, doi:
10.1109/ISMCR56534.2022.9950598 https://ieeexplore.ieee.org/document/9950598
Blanka Bencsik, Márton Szemenyei: Efficient Neural Network Pruning Using Model-Based Reinforcement Learning, Proceedings of the Workshop on the Advances in
Information Technology 2022. Budapest, Magyarország: OSZK (2022) pp. 15–22.,
Hivatkozások:
[1]
Song Han, Jeff Pool, John Tran, and William J. Dally.
Learning both weights and connections for efficient neural networks. In
Proceedings
of
the 28th International Conference on Neural Information Processing Systems -
Volume
1, NIPS’15, pp 1135–1143, Cambridge, MA, USA, 2015. MIT Press.
[2] Yihui He, Ji Lin, Zhijian Liu, Hanrui Wang, Li-Jia Li, and Song Han. Amc: AutoML for Model Compression and Acceleration on Mobile Devices. In European Conference on Computer Vision, 2018.
[3] Manas Gupta, Siddharth Aravindan, Aleksandra Kalisz, Vijay Ramaseshan Chandrasekhar, and Lin Jie. Learning to prune deep neural networks via reinforcement learning. ArXiv, abs/2007.04756, 2020.
[4] Alexey Bochkovskiy, Chien-Yao Wang, and Hong-Yuan Mark Liao. Yolov4: Optimal speed and accuracy of object detection. ArXiv, abs/2004.10934, 2020.
[5] Hao Li, Asim Kadav, Igor Durdanovic, Hanan Samet, and Hans Peter Graf. Pruning filters for efficient convnets. ArXiv, abs/1608.08710, 2016.
[6] Gongfan Fang, Xinyin Ma, Mingli Song, Michael Bi Mi, and Xinchao Wang. Depgraph: Towards any structural pruning. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, pp 16091–16101, 2023.