Díky překotnému rozmachu systémů vidění s umělou inteligencí roste počet případů, kdy si musí vývojáři, hned vedle aplikace, sami navrhnout i příslušné modely AI.
Jejich zkušenosti se pochopitelně liší případ od případu, nicméně spousta z nich bude v otázce vývoje vlastní AI teprve na začátku.
Při vývoji systémů s umělou inteligencí přitom na vývojáře čekají dvě náročné překážky.
Odlišné procesy při vývoji softwaru
Kromě návrhu běžného embedded softwaru si bude vývoj řešení s AI žádat vlastní specifické postupy. Předně zde potřebujeme shromáždit data, nezbytná k učení systému AI v závislosti na požadovaných specifikacích a také navrhnout samotný model AI. Poté, co navržený model použijeme při učení, a ověříme jeho přesnost, lze takto „vycvičené“ řešení optimalizovat a převést do podoby, která již poběží na zařízení.
Poté přichází na řadu série kroků, kdy vše zahrneme do aplikace a uvedeme do skutečného provozu. Ale nejen to. Pokud nebude přesnost u konkrétního zařízení stačit, musíme se znovu vrátit zpět, přidat data pro zlepšení přesnosti a zmíněné postupy mnohokrát opakovat.
Chybějící dovednosti, potřebné k vývoji softwaru s AI
Vývoj softwaru s AI obvykle používá prostředí s příkazovou řádkou a vyžaduje, aby si uživatelé nainstalovali příslušný software a vše potřebné si také nastavili. Pro začátečníky však zmíněné odlišnosti ve vývoji tvoří překážku. Chybí jim totiž jakékoli zkušenosti s návrhem systémů AI, řešených přímo na místě, tzv. „edge“, a nemají v této věci ani žádné znalosti nebo potřebné dovednosti.
Ve světle těchto náročných úkolů se proto domníváme, že pro spoustu uživatelů bude složité začít s vývojem softwaru, využívajícího umělou inteligenci. Z tohoto důvodu jsme připravili AI Navigator, prostředí sloužící k vývoji systémů vidění s AI, které ocení i zákazníci, kteří s vlastní AI teprve začínají.
Co je to AI Navigator
AI Navigator je komplexní nástroj, sloužící k vývoji systémů vidění s umělou inteligencí. Podporuje přitom skupiny obvodů RZ/V2L a RZ/V2H řady RZ/V. Vyjádřeno heslovitě:
Díky těmto funkcím dokáží vývojáři aplikace s AI nejen snadno používat, ale modely AI si rovněž přizpůsobí s ohledem na své konkrétní potřeby. Zmíněnou úpravu vlastního modelu s přispěním AI Navigatoru si nyní blíže ukážeme na třech příkladech.
Změna předmětů, které chceme rozpoznávat
Řekněme, že máme kupříkladu model, který od sebe dokáže rozlišit dvacet různých plemen psů. Mezi nejoblíbenější budou nejspíše patřit trpasličí pudl a malý jezevčík. Pokud modelu AI předložíte obrázek psa, zkusí odhadnout, kterému psímu plemenu se podobá a odevzdá nejpravděpodobnější výsledek. Jestliže ale chcete vytvořit model AI, který by s využitím tohoto základního přístupu místo psů identifikoval dvacet plemen koček, budete potřebovat obrazová data dvaceti druhů koček.
Model AI pro rozpoznávání koček vyřešíte díky metodě učení, označované jako „transfer learning“, kdy použijete původní model pro identifikaci psů a k němu obrazová data koček. AI Navigator něco takového samozřejmě dokáže, takže si to můžete v nástroji snadno i vyzkoušet.
Změna počtu předmětů, které budeme identifikovat
Jedná se o situaci, kdy vytváříme model, který dokáže rozpoznat třicet plemen psů a využije přitom výše představené řešení, které jich od sebe odlišovalo pouze dvacet. V takovém případě navíc k informacím o dvaceti druzích psů, použitým při učení základního modelu, doplníme s ohledem na přenesené učení nová data o deseti plemenech.
Zvyšování přesnosti při určování
Jedná se o případ, kdy chceme u daného zařízení rozpoznávat psy a máme k dispozici model AI, který již prošel cvičením. Necháme jej tedy v současné podobě běžet, nicméně přesnost není tak vysoká, jak jsme původně očekávali. To se v praxi často stává.
Horší přesnost může mít různé příčiny, ovšem nejčastější důvod spočívá v tom, že se nám liší obrazová data, použitá při učení od informací, které se na vstup aktuálně dostávají. Pokud se data při školení odlišují od těch skutečných, a může jít např. o pohled z jiného úhlu nebo rozdílný jas, nelze mnohdy dosáhnout precizního výstupu. Co s tím? Přesnost systému s AI dokážeme zlepšit, když k informacím, použitým při školení doplníme obrazová data, pořízená v konkrétním produktu skutečnou kamerou. I s takovou situací si poradí AI Navigator.
Při vývoji máme k dispozici dva postupy. V prvním případě si v AI Navigatoru vybereme aplikaci a můžeme ji nechat okamžitě běžet na vývojové desce. Protože máme co do činění s předem připravenou aplikací AI, nemusíme ji sami vůbec vytvářet. Druhá situace, to je případ, kdy si model AI přizpůsobíme dle svých potřeb, jak již bylo ukázáno dříve. Podobně jako u prvního přístupu si zvolíme aplikaci a přeškolíme ji s nástrojem pro přenesené učení. Vzniklý model AI je výstupem jako objekt pro DRP-AI v DRP-AI TVM. Poté můžete vystavět aplikaci AI a nechat ji běžet na vývojové desce. AI Navigator je přitom součástí e2 studio, takže cesta pak povede přes jeho instalaci.
Výrobce připravil i výuková videa s nimiž představí možnosti AI Navigatoru. Jedná se o AI Navigator Tutorial č. 1 (Run AI Application, [1]), č. 2 (Customize AI model by Transfer Learning Tool, [2]) a také návod č. 3 (How to develop an AI model with Transfer Learning Tool, [3]).
Závěr
Pro ty, kdo se systémy vidění, využívajícími umělou inteligenci, teprve začínají, představuje AI Navigator ideální nástroj, se kterým se mohou směle pustit do vývoje příslušné aplikace.
Odkazy:
[1] AI Navigator, výukové video č. 1, https://www.renesas.com/video/ai-navigator-tutorial-1-run-ai-application
[2] AI Navigator, výukové video č. 2, https://www.renesas.com/video/ai-navigator-tutorial-2-customize-ai-model-transfer-learning-tool
[3] AI Navigator, výukové video č. 3, https://www.renesas.com/video/ai-navigator-tutorial-3-how-develop-ai-model-transfer-learning-tool
[4] Příručka – začínáme, https://renesas-rz.github.io/rzv_ai_sdk/latest/ainavi_quick_start_guide
[5] Odkaz ke stažení, https://www.renesas.com/software-tool/e2studio-information-rz-family
[6] Aplikace s AI (AI application zoo), https://renesas-rz.github.io/rzv_ai_sdk/latest/#ai-applications
[7] Let's find the AI Apps You Want, Introducing Renesas AI Apps Available Free of Charge (blog), https://www.renesas.com/blogs/lets-find-ai-apps-you-want-introducing-renesas-ai-apps-available-free-charge
[8] Nástroj pro přenesené učení č. 1, https://renesas-rz.github.io/rzv_ai_sdk/latest/howto_retrain.html