Prototypování AI 

Vývoj aplikací využívajících hluboké učení může vyžadovat značné investice času a finančních prostředků.

Účinným postupem pro snížení nákladů je rychlé prototypování v kombinaci s vizualizací konceptu ve stádiu návrhu produktu. 

Toto řešení může pomoci produktovým týmům objevit konceptuální nedostatky již v rané fázi vývoje a maximalizovat užitnou hodnotu pro zákazníky. 


Proč prototypovat AI aplikace?

Doporučuji vytvářet jednoduché zkušební aplikace (PoC), které mohou sloužit jako interaktivní prezentace při projednávání návrhu produktu. 

Tyto ukázkové aplikace mohou významně podpořit komunikaci v multidisciplinárních týmech tím, že poskytnou hmatatelnou reprezentaci složitých konceptů produktu (čímž se zajistí, že všichni budou sladění nad sdílenou představou produktu).


K výhodám tohoto přístupu patří:


Prozkoumejme tento přístup na praktickém příkladu: Uvažujme aplikaci na bázi počítačového vidění, která klasifikuje dopravní objekty jako nedílnou součást systému pro autonomní řízení.

Cvičení 1/3 (Wireframe)

Prozkoumejte následující nákres a zkuste si představit praktickou realizaci:



Klasifikátor dopravních objektů (prototyp)

Cvičení 2/3 (Prototyp)

Pohrajte si s prototypem a promyslete:

Cvičení 3/3 (Vyhodnocení)

Porovnejte výsledky obou cvičení - které z nich přineslo:

Je možné, že některé postřehy z prvního cvičení už byly zapracovány v prototypu a experimentování s interaktivním PoC pomohlo získat nové postřehy k důležitým aspektům, které je nutné zohlednit ve finální aplikaci.


Rámec pro navrhování aplikací s rychlým prototypováním:

Návrh produktu (iterační cyklus):



Rámec přizpůsobený rozsahu projektu:

Jeden
složitý produkt

Více
malých produktů



Jak vyvinout prototyp aplikace založené na AI?

Časový rozsah:

Realizace prototypu aplikace (včetně nasazení do provozu) mi zabrala přibližně 3 dny vývoje. Jakmile je vytvořena infrastruktura pro konkrétní úlohu (např. rozpoznávání obrazu), lze podobné prototypy vytvářet za 4-8 hodin.


Technologie:

Pro rychlé experimentování a zpřístupnění PoC jsem si vybral následující kombinaci technologií:



Trénování modelu:

Toto je zrychlený přístup vhodný pro vývoj prvotního prototypu, který umožňuje co nejdříve odhalit rizika i překážky spojené s konkrétními úkoly/soubory dat:

  Provoz:

Prototyp je veřejně přístupný prostřednictvím uživatelsky přívětivého webového rozhraní:


Jak objevit a překonat technologická omezení:

Kategorie vstupních dat

Čištění dat a vyladění modelu

Sample batch of input images

Obr.1: Vzorek sady vstupních obrázků

Obr.2: Přeznačení problematických obrázků znatelně vylepšuje schopnost modelu správně klasifikovat ověřovací sadu obrázků.

Obr.3: Porovnání predikčních metrik pro předem natrénovaný model ResNet18, dále model dotrénovaný na sesbíraných obrázcích a výsledný model dotrénovaný na přeznačených obrázcích.

Limitace prototypu (přehled)

Abychom mohli náš prototyp smysluplně používat, je třeba umět rozlišovat mezi dvěma typy omezení:

a) Limitace dané zjednodušováním:

b) Limitace dané technologií:

Překonávání limitací (příklad)

Zaměřme se na postřehy získané prozkoumáváním technologických limitací prototypu klasifikátoru dopravních objektů. Limitace vhodně zohledníme pro návrh prakticky použitelné finální aplikace.

PRIORITIZACE: 

Misclassification of a traffic lights image.

Obr.4: Chybná klasifikace obrázku semaforu.


Náš model stěží rozpozná přítomnost semaforu na obrázku (7% míra jistoty predikce), který je chybně klasifikován jako obrázek prázdného města. Pro snížení rizika nesprávné klasifikace můžeme zvážit zavedení:




ROBUSTNOST SYSTÉMU:

Obr.5: Chybná klasifikace obrázku s přecházejícím chodcem.


V uvedeném případě by nebyl upřednostněn chodec přecházející silnici (jen 3% míra jistoty predikce), což by mělo fatální následky! Pro vyřešení takto zásadní chyby nám může pomoci:


Závěr:

Navrhovaný rámec pro rychlé prototypování nám pomohl objevit a vhodně zohlednit kritická rizika u vývoje algoritmu na klasifikaci dopravních objektů jakožto zásadní součásti robustního systému autonomního řízení. Klíčové aspekty pro návrh finální aplikace použitelné v provozním prostředí zahrnují:

Shrnutí: