Témata
Reklama

Strojové učení metodou Deep learning

Deep learning je jedno z nejprogresivnějších odvětví strojového učení se schopností řešit úlohy, které byly ještě před deseti lety nemyslitelné. Uplatnění deep learningu zasahuje mnoho oborů lidské činnosti od systémů počítačového vidění přes vyhledávací, diagnostické a asistenční systémy až po autonomní vozidla a bezpečnost. Matlab, jakožto vývojové prostředí pro vědeckotechnické výpočty, nabízí v oblasti strojového učení a deep learningu množství algoritmů a usnadní jejich aplikaci při řešení praktických úkolů.

Strojové učení je podoblastí umělé inteligence zabývající se algoritmy a technikami, které umožňují počítačovému systému ‚učit se‘,“ definuje strojové učení známá internetová encyklopedie Wikipedie a dále uvádí: „Strojové učení se značně prolíná s oblastmi statistiky a dobývaní znalostí a má široké uplatnění...“

Reklama
Reklama
Reklama

Co je deep learning

Deep learning je metoda strojového učení, kde je za pomoci mnohovrstvých nelineárních výpočetních modelů získávána užitečná informace přímo z dat. V klasifikačních úlohách dosahují deep learning modely vysoké přesnosti, která může předčít lidské schopnosti. Modely jsou trénovány s využitím velkého množství označených dat a jejich architektura je postavena na hlubokých neuronových sítích (deep networks).
Deep learning nachází využití v mnoha oblastech, zejména pak v úlohách:

  • klasifikace obrazu;
  • rozpoznávání řeči;
  • zpracování přirozeného jazyka.

Učení deep learning modelů

Přesnost deep learning modelu závisí z velké části na množství dat použitých k jeho učení. Nejpřesnější modely vyžadují tisíce, či dokonce miliony vzorků. Učení takového modelu může trvat velmi dlouhou dobu. Jakmile je model naučen, lze jej nasadit do provozu v reálném čase. Typickou aplikací je detekce chodců v pokročilých systémech pro podporu řízení (ADAS).

Deep learning a Matlab

Matlab je inženýrský nástroj a interaktivní prostředí pro vědecké a technické výpočty, analýzu dat, vizualizaci, vývoj algoritmů, modelování a simulace. Matlab je nástroj jak pro pohodlnou interaktivní práci, tak pro vývoj širokého spektra aplikací.
V oblasti deep learningu poskytuje Matlab dva základní nástroje: autoenkodéry (Autoencoders) a konvoluční neuronové sítě (Convolutional Neural Networks – CNN). Ukázka využití CNN k rozpoznávání obrazu v programu Matlab je na obrázku 1.

Rozpoznávání obrazu pomocí CNN v prostředí Matlab

Rozpoznávání obrazu

Konvoluční neuronové sítě (CNN) představují oblíbenou architekturu modelů v oblasti deep learningu. Neuronová síť je uspořádána do vrstev obsahujících sady propojených uzlů. Výpočetní algoritmus CNN je založen na konvoluci mezi vstupními daty a filtry, které reprezentují hledané charakteristické rysy. CNN využívá dvourozměrné (2D) konvoluční vrstvy a je tedy vhodná pro zpracování 2D dat, jako jsou obrázky.


Obr. 2. Princip fungování konvoluční neuronové sítě
Pro zvětšení klikněte na obrázek.

V horní části obrázku 2 je znázorněno schéma sestavení konvoluční neuronové sítě určené ke klasifikaci objektů v obrazových datech. Ve spodní části je principiální znázornění jejího fungování. Data protékají skrze neuronovou síť a dochází k jejich konvoluci s naučenými filtry (koeficienty filtrů jsou naučené váhy neuronové sítě).
Výstup z konvoluce v jedné vrstvě je vstupem do vrstvy následující.

Filtry mohou začínat jako velmi jednoduché rysy typu světlých a tmavých míst či hran a postupně přecházejí do složitějších tvarů v následujících vrstvách. Cílem konvolucí je extrahovat z obrazových dat informace (ve formě mapy charakteristických rysů), na základě kterých lze objekty na snímcích rozpoznat.

Konvoluční vrstvy jsou často doplněny vrstvami ReLU a Pooling, které výstupy upraví (např. odstraní záporné hodnoty) a převzorkují na menší rozměr.

Za sadou konvolučních vrstev bývají napojeny vrstvy klasifikační, které pracují s extrahovanými rysy ze vstupních obrázků. Výstupem klasifikačních vrstev může být pravděpodobnostní rozdělení pro přiřazení klasifikační třídy (hledaného objektu) ke vstupnímu obrázku.

CNN v Matlabu

V prostředí Matlab se s CNN pracuje velmi pohodlně. Jsou zde připraveny funkce pro vytvoření jednotlivých vrstev sítě, u kterých může uživatel nastavovat parametry. Poté vrstvy pospojuje, síť natrénuje a využije ke klasifikaci s novými daty.

Typická CNN může sestávat z vrstvy pro vstup obrázků, jedné nebo několika za sebou zapojených skupin vrstev convolution2d + relu + maxPooling2d a navazujících klasifikačních vrstev fullyConnected + softmax + classification.

Příklad:
vrstvy = [imageInputLayer([28 28 1]);
convolution2dLayer(5,20);
reluLayer();
maxPooling2dLayer(2,´Stride´,2);
fullyConnectedLayer(10);
softmaxLayer();
classificationLayer()];
nastaveni = trainingOptions(sgdm´);
cnn = trainNetwork(trenovaciObrazky,vrstvy,nastaveni);
vysledek = classify(cnn,novyObrazek);

CNN a klasická klasifikace

Konvoluční neuronové sítě nemusejí být vždy využívány včetně klasifikačních vrstev. Je možné využívat pouze konvoluční vrstvy pro extrakci charakteristických rysů z dat. Získané rysy jsou pak vstupem do klasických klasifikačních algoritmů strojového učení, jako jsou rozhodovací stromy (classification trees), support vector machines, k-nearest neighbors, discriminant analysis a jiné metody, které jsou v Matlabu k dispozici.

Učení metodou Transfer Learning

Naučení celé konvoluční neuronové sítě z výchozího nastavení vyžaduje ohromné množství trénovacích dat, protože je třeba nastavit miliony váhových koeficientů. Alternativním přístupem k učení „od nuly“ je využití „předučené“ sítě, která již sama extrahuje charakteristické rysy ze vstupních dat. Tento přístup, označovaný termínem transfer learning, je pohodlnou cestou aplikace deep learningu bez nutnosti využití rozsáhlého množství dat a dlouhé doby učení.

Přístup vychází z předpokladu, že úlohy klasifikace objektů v obrazových datech jsou v prvních krocích (v prvních vrstvách sítě) v zásadě shodné. Nejprve se z obrazu extrahují jednoduché prvky (hrany, přechody) a poté složitější struktury, až ke konkrétním objektům. K přizpůsobení sítě konkrétnímu problému tedy postačí doučit pouze několik posledních vrstev, které již rozlišují mezi konkrétními objekty. Extrakci jednoduchých rysů zajistí předučená síť. Kvalita výsledku velmi závisí na kvalitě předučené sítě, proto je důležitý její vhodný výběr. Matlab nabízí stažení a využívání oblíbených předučených sítí, například sítě AlexNet (síť naučená s 1,2 miliony obrázků, obsahuje 23 vrstev, klasifikace objektů do 1 000 kategorií).

Obr. 3. Učení CNN metodou transfer learning

Porovnání náročnosti učení a přesnosti klasifikace při vytváření neuronové sítě „od nuly“ v porovnání s využitím předučené sítě je v tabulce 1.

Urychlení pomocí GPU

Učení modelu pro deep learning může trvat velmi dlouhou dobu, v rozmezí dnů či týdnů. Nasazení výpočtů na grafických kartách (GPU) vede ke značnému urychlení. V případě typické úlohy klasifikace objektů v obrazu lze snížit dobu učení ze dnů na hodiny. Využití GPU výpočtů k učení CNN je v prostředí Matlab plně podporováno.
Distributorem produktů společnosti MathWorks v České republice a na Slovensku je společnost Humusoft, s. r. o.

Něco navíc
Dvouminutové video s ukázkou klasifikace objektů pomocí konvoluční neuronové sítě v prostředí Matlab najdete zde.

Humusoft

Jaroslav Jirkovský

Jirkovsky@humusoft.cz

www.humusoft.cz

Reklama
Firmy
Související články
Platforma pro edgecomputing a průmyslový internet věcí

Systém FIELD (FANUC Intelligent Edge Link and Drive) je platforma určená pro propojení provozních zařízení, která umožňuje rychlý a spolehlivý přístup k výrobním datům s cílem využít je k naplnění koncepce chytré, propojené výroby. Dovoluje realizovat edge computing, tedy shromažďovat a zpracovávat data přímo v provozu, nikoliv až v cloudu, a umožňuje tak činit rozhodnutí, která se týkají jednotlivých strojů a zařízení, mnohem rychleji než u cloudových aplikací. Přitom zůstává zachována možnost, nikoliv povinnost, předem zpracovaná data přenášet k centralizovanému zpracování v informačním systému podniku nebo v cloudu. Účelem je nejen monitorovat, ale i aktivně zasahovat do výrobního procesu ve smyslu regulační smyčky se zpětnou vazbou.

Když jde o prostor…

Současné trendy směřují k mnohem větší míře využití elektroniky než doposud. To je hlavní, nikoliv však jediný důvod, proč se množí automatizace výroby menších zařízení, jakými jsou například mobilní telefony, tablety i ostatní elektronika. Ale nejde jen o ni, ale i o laboratoře, farmacii apod.

Monitoring výroby přinesl vyšší produktivitu

Společnost Kopos Kolín patří mezi tradiční české elektroinstalační podniky působící řadu desetiletí na českém trhu. Firma se před časem rozhodla implementovat do výroby systém Plantyst, který spojuje monitorování technologií a jednoduchý shop floor management do jednoho nástroje. Výsledkem byl výrazný nárůst produktivity a přesné informace o stavu výroby.

Související články
Jak se zrodil systém pro monitoring výroby

Jiří Rozvařil spoluzakládal v roce 1996 v Kolíně tiskárnu Colognia press, ze které se po 20 letech stala firma se 100 zaměstnanci a obratem kolem 300 mil. ročně. Její vývoj byl téměř čítankový od garážového podnikání přes pokusy a omyly až ke stavbě nové haly a koupi špičkově fungujících tiskových strojů, díky kterým patří dnes tiskárna etiket k lídrům na českém trhu.

Reklama
Reklama
Reklama
Reklama
Související články
Konzumerizace IT ve výrobě

Chytrá zařízení jsou u spotřebitelů velmi úspěšná. Jejich přenosnost a výkon také pomáhají ke „smartifikaci“ výrobního odvětví – a to je jen začátek, jak říká Christoffer Malm, vedoucí týmu Connectivity Room v SKF.

Propojené procesy a inteligentní výroba

Světové potravinářské společnosti se povedlo sloučením informačních a provozních technologií propojit procesy, lidi a technologie. Přineslo to zvýšení produktivity, méně papírování i úspory energií. S transformací pomohla společnost Rockwell Automation svým konceptem Connected Enterprise.

Pokrytí výroby materiálem

Řadíte se ke skeptikům, nebo k optimistům v zavádění Průmyslu 4.0 v českých podnicích? V době, kdy plným proudem běží kampaň na podporu Průmyslu 4.0 a kdy se jednotliví výrobci zařízení předhánějí v nabídce, jak podpořit automatizaci, se název článku může zdát už jako z minulého století.

Harmonizace ve svařování

Mezinárodní harmonizace norem a pravidel pro svařování je důležitá z mnoha důvodů. Primárním důvodem je skutečnost, že svařování je považováno za "zvláštní proces" (EN ISO 9001), při kterém nelze zcela zjistit jakost po skončení procesu inspekcí, ale jakost musí být sledována před i v průběhu celého procesu svařování.

Prostředky pro realizaci inteligentní továrny

Typická továrna budoucnosti je důsledně propojena, organizována a optimalizuje se do převážné míry samočinně. Předpokladem k tomuto postupu je, aby stroje, nástroje a systémy poskytovaly potřebná data. A „heslo dne“ zní: Internet of Things (IoT – internet věcí).

Výrobu ovládne chytrý software

V souvislosti s Průmyslem 4.0 se často hovoří o inteligentních, navzájem komunikujících strojích. Chytré však nejsou ani tak stroje, jako spíše software, který je řídí.

Pomocník pro plánování výroby

Většina lidí dnes ví, že žádná firma, která chce být konkurenceschopná, neobejde bez kvalitního ERP. Díky němu lze především řídit procesy, a to doslova všechny. Ne každý si však uvědomuje, jak velké mohou být rozdíly mezi systémy pro jednotlivé oblasti podnikání. Asi nejsofistikovanější ERP najdeme bezesporu ve výrobních firmách.

BIM otevírá dveře k robotizaci stavebnictví

Robot, který místo člověka postaví zeď, nanese omítky nebo třeba takový, co vyvrtá díry pro rozvody vody či elektřiny. To není sci-fi ani budoucnost vzdálená staletí. Je to realita, kterou máme (nebo můžeme mít) nadosah. Zásadní úlohu v nástupu robotů na stavby přitom hraje metoda BIM, přesněji digitální model stavby (DiMS). Právě ten totiž nese informace potřebné k řízení automatických nebo poloautomatických strojů, které mají lidem výrazně ulehčit práci.

Zájem hackerů může vyvolat i maličkost

Digitalizace a automatizace kromě výhod přináší i nutnost zavedení nových principů práce s daty. Ta představují v produkci jakékoli firmy zcela novou hodnotu a jejich zneužití může být nepříjemné.

Sběr (léčivých bylin) dat z výroby

Ano, sběr bylin sem nepatří a je to špatně (?????). Anebo ne tak docela? No, byliny se obvykle sbírají proto, aby po svém zpracování pomáhaly léčit, hojit a podobně. Co to má se sběrem výrobních dat společného? Na první pohled pramálo - ale je to tak úplně pravda?

Reklama
Předplatné MM

Dostáváte vydání MM Průmyslového spektra občasně zdarma na základě vaší registrace? Nejste ještě členem naší velké strojařské rodiny? Změňte to a staňte se naším stálým čtenářem. 

Proč jsme nejlepší?

  • Autoři článků jsou špičkoví praktici a akademici 
  • Vysoký podíl redakčního obsahu
  • Úzká provázanost printového a on-line obsahu ve špičkové platformě

a mnoho dalších benefitů.

... již 25 let zkušeností s odbornou novinařinou

      Předplatit