SMRČKA, M. Neuronové sítě na platformě AURIX [online]. Brno: Vysoké učení technické v Brně. Fakulta elektrotechniky a komunikačních technologií. 2022.

Posudky

Posudek vedoucího

Blaha, Petr

Cílem práce bylo vyzkoušet možnosti on-line implementace natrénovaných neuronových sítí na vestavných zařízeních, konkrétně v procesoru AURIX 2G od firmy Infineon. Tento procesor je primárně navržen pro automotive aplikace s vysokou úrovní zabezpečení. Nejedná se o běžně rozšířený procesor, jako třeba architektura ARM, kde je implementace umělé inteligence podporována více, takže k němu není možné nalézt konkrétní příklady implementace na internetu. Úloha je na zvolené platformě mnohem obtížnější, neboť vyžaduje výrazně větší množství modifikací a úprav k rozjetí aplikace. AURIX platforma se běžně používá na úlohy řízení elektrických motorů elektromobilů. Poskytnutá neuronová síť byla navržena pro on-line diagnostiku těchto motorů, konkrétně pro diagnostiku mezizávitového zkratu PMS motoru. Vedle využití čtyř různých nástrojů pro implementaci ANN student realizoval sadu softwarových nástrojů pro on-line spouštění inference (komunikace po Ethernetu, DMA přístup do paměti), pro vyhodnocení doby trvání inference (využití GPT12) a pro určení přesnosti klasifikace. Diplomová práce je napsána čtivě, v logickém sledu a je prostá gramatických chyb a překlepů. Způsob implementace NN do procesoru AURIX při použití různých nástrojů je popsán podrobně, se zaměřením na problémy, které bylo při řešení nutné překlenout. Může velmi snadno posloužit jako návod, který čtenáře provede jednotlivými kroky při implementaci. Student tím plně splnil přání vedoucího, aby bylo na práci možné v budoucnu jednoduše navázat. Práce s literaturou je příkladná. V dokumentu se autor odkazuje na 35 zdrojů. Většina z nich je z podstaty práce ve formě anglicky psaných manuálů a dokumentace k použitým nástrojům. Student se účastnil pravidelných konzultací, na kterých vždy aktivně popsal dosažené výsledky své práce, případně problémy, na které narazil a plán budoucího postupu. Student postupoval systematicky, iniciativně a samostatně. Vzhledem k tomu, že použité nástroje pro implementaci NN nejsou komerční, a činnost na nich není dokončená, nebyla studentova práce vůbec jednoduchá. Věnoval obrovské úsilí k překlenutí problémů s neshodami mezi poskytovaným programovým vybavením a jeho popisem. To ho stálo velké množství času, který na konci možná trochu chyběl. Předložená diplomová práce podle mého názoru splňuje všechny body zadání. Ve svém srovnání student zahrnul specifika daného procesoru, jako je množství jader, možnosti přístupu do různých pamětí a různé nastavení parametrů kompilace. Pokusil se o nástin možného využití více jader procesoru pro inferenci ANN. Při vypracování diplomové práce student dle mého názoru prokázal vysokou míru šikovnosti, entusiasmu a výborné inženýrské schopnosti. Navrhuji hodnocení A (95 bodů).

Navrhovaná známka
A
Body
95

Posudek oponenta

Buchta, Luděk

Pan Michal Smrčka vypracoval diplomovou práci na téma: Neuronové sítě na platformě AURIX. Zadání diplomové práce lze považovat za náročné jak z odborného hlediska, tak z hlediska času, jenž je nutný vynaložit pro proniknutí do problematiky implementace neuronových sítí. Práce je přehledná a čtivě napsaná, samotný text je logicky členěn do čtyř kapitol. První kapitola se zabývá obecným úvodem do neuronových sítí a seznámením se s Deep Learning Toolbox v prostředí MATLAB a API Keras. V druhé kapitole jsou popsány základní vlastnosti a specifika knihoven (Keras2c, AIfES, TFLM a NNoM) vybraných pro následnou implementaci neuronové sítě na platformu AURIX TC397. Další kapitola je věnována přípravě rozhraní zvolené platformy AURIX. Student v této kapitole popisuje modifikace zdrojového kódu pro obsluhu Ethernetového rozhraní, kterou musel učinit, aby mohl emulovat zasílání testovacích dat z reálného motoru pomocí PC. Následně se zabývá tvorbu funkce pro vyhodnocení rychlosti klasifikace neuronové sítě. Což vyžadovalo od studenta vynaložení značného úsilí, protože proniknout a následně modifikovat nebo rozšířit demo aplikaci pro mikrokontrolér AURIX TC397 je velmi komplexní a časově náročná práce. Poslední a nejrozsáhlejší kapitola je věnována vlastní implementaci poskytnuté neuronové sítě pomocí vybraných knihoven (Keras2c, AIfES, TFLM a NNoM) pro převod do jazyka C/C++. Student zde detailně popisuje postup při implementaci jednotlivých knihoven, veškerá úskalí, na která při jejich implementaci narazil a následná řešení, která vedla k úspěšnému dosažení cíle. Velice oceňuji způsob, jakým je kapitola o implementaci knihoven napsána. Tuto kapitolu lze doporučit jako užitečný návod, jak postupovat při implementaci jednotlivých knihoven. V závěru kapitoly jsou prezentovány dosažené výsledky, které potvrzují možnost nasazení pokročilých diagnostických metod založených na neuronových sítí v Embedded systémech bez nutnosti přidaných GPU/TPU akcelerátorů. Student také velice dobře pracuje s literaturou, kterou musel nastudovat pro dosažení zadaných cílů páce. Pouze ke grafické stránce bych měl drobnou výtku. Obrázky (Obr. 2.2, 2.3, 3.1 a 3.7) jsou přejaty z literatury v nízké kvalitě. Vzhledem k jejich jednoduchosti bylo by vhodnější zmíněné obrázky překreslit pomocí vektorové grafiky, aby zbytečně nekazily jinak velmi dobrou grafickou úroveň práce. Zadaní práce považuji za zcela splněné. Student při jeho plnění proniknul do dané problematiky a prokázal vysoce nadprůměrné schopnosti při řešení komplikací spojených s implementaci neuronové sítě na platformu AURIX. Práci doporučuji k obhajobě s hodnocením A, 96 bodů.

Navrhovaná známka
A
Body
96

Otázky

eVSKP id 142555