28 rokov na trhu
Zastúpenie v 7 krajinách
Zákazníci z vyše 100 krajín
Podpora od vývoja až po výrobu
AAEON

Umelá inteligencia na okraji aj vašej siete

Artificial intelligenceMachine visionIndustrial automation

Toto nie je hudba budúcnosti, s hardvérom AAEON zvládnete nasadenie umelej inteligencie už teraz. Ako to funguje a čo všetko k tomu potrebujete sa dočítate v článku.

Prečo teraz?

Pri súčasnom stave technológie dokážeme natrénovať hlbokú neurónovú sieť (DNN) pre špecifické úlohy ako je detekcia a rozpoznávanie objektov a ľudskej tváre, rozpoznávanie reči, preklad jazyka, hry (šach, go atď.), autonómne riadenie vozidla, sledovanie stavu senzorov a rozhodovanie o prediktívnej údržbe strojov, vyhodnocovanie röntgenových snímok v zdravotníctve atď. Pre takéto špecializované úlohy môže DNN dosiahnuť alebo dokonca prevýšiť ľudské schopnosti.

Prečo používať umelú inteligenciu na okraji siete

Napríklad, moderná budova obsahuje množstvo snímačov, vzduchotechnických zariadení, výťahov, bezpečnostných kamier atď. Z dôvodov bezpečnosti, latencie alebo robustnosti je vhodnejšie, aby úlohy umelej inteligencie bežali lokálne, na okraji lokálnej siete, a posielať do cloudu iba anonymizované údaje, ktoré sú potrebné na prijímanie globálnych rozhodnutí.

Hardvér na okraji siete

Pre nasadenie DNN na okraji siete potrebujeme zariadenie s dostatočným výpočtovým výkonom a súčasne s nízkou spotrebou energie. Súčasný stav technológie ponúka kombináciu CPU s nízkym príkonom a VPU akcelerátorom (x86 CPU SBC+ Intel Myriad X VPU) alebo CPU + GPU (ARM CPU + Nvidia GPU)

Najjednoduchším spôsobom ako začať s DNN je použiť UP Squared AI Vision X Developer Kit verziu B. Kit je založený na procesore UP Square SBC s procesorom Intel Atom®X7-E3950, 8GB RAM, 64GB eMMC, Myriad X MA2485 VPU a USB kameru s rozlíšením 1920 x 1080 a manuálnym zaostrovaním. Na kite je predinštalovaná distribúcia Ubuntu 16.04 (kernel 4.15) a OpenVINO toolkit 2018 R5.

Toolkit obsahuje prekompilované demo aplikácie v zložke /home/upsquared/build/intel64/Release a pretrénované modely v zložke /opt/intel/computer_vision_sdk/deployment_tools/intel_models. Ak chcete zobraziť pomôcky pre akúkoľvek demo aplikáciu, spustite ju v termináli s voľbou –h. Pred spustením aplikácie je potrebné inicializovať prostredie OpenVINO príkazom source /opt/intel/computer_vision_sdk/bin/setupvars.sh.

Okrem UP Squared AI Vision X Developer Kitu Aaeon ponúka:

1. Moduly založené na Myriad X MA2485 VPU: AI Core X (mPCIe full-size, 1x Myriad X), AI Core XM 2280 (M.2 2280 B+M key, 2x Myriad X), AI Core XP4/ XP8 (PCIE [x4] karta, 4 alebo 8x Myriad X).
2. Sériu BOXER-8000 založenú na module Nvidia Jetson TX2.
3. BOXER-8320AI s procesorom Core i3-6100U alebo Celeron 3955U a dvoma AI Core X modulmi.
4. Sériu Boxer-6841M s matičnou doskou pre procesory Intel Core-I alebo Xeon 6-tej / 7-mej generácie pre päticu LGA1151 a 1x PCIe [x16] alebo 2x PCIe [x8] sloty pre GPU s max. príkonom 250W.

Hardvér pre učenie
Pre trénovanie DNN potrebujeme vysoký výpočtový výkon. Napríklad na súťaži ImageNet v roku 2012 víťazný tím použil konvolučnú neurónovú sieť AlexNet. Pre učenie bolo potrebných 1.4 ExaFLOP = 1,4e6 TFLOP operácií. Učenie zabralo 5 až 6 dní na dvoch Nvidia GTX580 GPU, kde každá mala výpočtový výkon 1,5 TFLOPS.

Nasledujúca tabuľka sumarizuje teoretický špičkový výkon hardvéru.

Pre porovnanie, špičkový procesor Intel Xeon Platinum 8180
● má 28 jadier s dvomi AVX-512 & FMA jednotkami na jadro
● AVX-512 turbo frekvenciu 2,3GHz, ak sú aktívne všetky jadrá
● stojí 10 000 USD.

Ponúka teoretický špičkový výkon: počet jadier * frekvencia v GHz * AVX-512 DP FLOPS/Hz * počet AVX-512 jednotiek * 2 = 2060.8 GFLOPS v dvojnásobnej presnosti (DP) → 4,1216 TFLOPS v jednoduchej presnosti (32-bit).

Ako môžete vidieť z tabuľky vyššie, GPU poskytuje oveľa viac výkonu pre učenie neurónových sietí. Je potrebné poznamenať, že počet operácií za sekundu nie je jediným parametrom, ktorý vplýva na rýchlosť učenia. Faktory ako veľkosť RAM, rýchlosť prenosu dát medzi CPU a RAM, GPU a GPU RAM a medzi jednotlivými GPU tiež ovplyvňuje rýchlosť učenia.

Softvér

OpenVINO
OpenVINO (open visual inference and neural network) je bezplatný softvér, ktorý umožňuje rýchle nasadenie aplikácií a riešení, ktoré napodobňujú ľudské videnie.

OpenVINO toolkit:
● Používa CNN (convolution neural network)
● Dokáže rozdeliť výpočty medzi Intel CPU, integrovanú GPU, Intel FPGA, Intel Movidius Neural Compute Stick a akcelerátory s Intel Movidius Myriad VPUs
● Poskytuje optimalizované rozhranie pre OpenCV, OpenCL a OpenVX
● Podporuje Caffe, TensorFlow, MXNet, ONNX, Kaldi frameworky 

TensorFlow
TensorFlow je open source knižnica pre numerické výpočty a strojové učenie. Poskytuje pohodlné front-end API pre vytváranie aplikácií v programovacom jazyku Python, samotná aplikácia vygenerovaná knižnicou TensorFlow je ale prekonvertovaná do optimalizovaného kódu v C++, ktorá po skompilovaní môže bežať na rôznych platformách ako sú CPU, GPU, lokálny počítač, klastri v cloude, embedded zariadeniach na okraji siete a podobne.

Ostatný užitočný softvér:
Jupyter Lab / Notebook
https://jupyter.org/index.html
https://github.com/jupyter/jupyter/wiki/Jupyter-kernels
https://jupyterlab.readthedocs.io/en/stable
Keras
Pandas 
MatplotLib 
Numpy 

Ako to funguje?

Zjednodušený model neurónu
Zjednodušený model neurónu – perceptron bol po prvý krát popísaný Warrenom McCullochom a Walterom Pittsom a platí stále za referenčnú normu v oblasti neurónových sietí.

Aktivačná funkcia f () pridáva do perceptronu nelinearitu. Bez nelineárnej aktivačnej funkcie v neurónovej sieti (NN) zloženej z perceptronov, bez ohľadu na to, koľko vrstiev by mala, správala by sa ako jednovrstvový perceptron, pretože sčítanie týchto vrstiev by nám poskytlo len ďalšiu lineárnu funkciu. Najčastejšie používanou aktivačnou funkciou je ReLU (rectified linear unit)

y = f(x) = max (0, x), pre x < = 0, y = 0, pre x ≥ 0, y=x

Inferencia (Prechod vpred)
Obrázok vyššie zobrazuje hlbokú neurónovú sieť (DNN), pretože obsahuje viac vrstiev medzi vstupnou a výstupnou vrstvou. Všimnite si že, DNN vyžaduje maticové násobenia a sčítanie. Špecializovaný hardvér optimalizovaný pre túto úlohu, ako napríklad GPU (graphics processing unit) a VPU (vision processing unit), je oveľa rýchlejší ako univerzálna CPU (central processing unit, procesor) a má nižšiu spotrebu energie.

Učenie (Spätný prechod)

Povedzme, že chceme DNN naučiť na fotografii rozoznať pomaranč, banán, jablko a malinu, teda triedy objektov.

1. Pripravíme veľké množstvo fotografií horeuvedeného ovocia a rozdelíme ich na trénovací set a overovací set. Trénovací set obsahuje fotografie a správne, požadované výstupy pre tieto fotografie. DNN bude mať 4 výstupy. Prvý výstup poskytuje skóre (pravdepodobnosť), že ovocie na obrázku je pomaranč, druhé poskytuje to isté pre banán atď.

2. Nastavíme počiatočné hodnoty pre všetky váhy w_i a predpätia b_i. Typicky sa používajú náhodné hodnoty.

3. Pošleme prvý obrázok cez DNN. Sieť nám poskytne skóre (pravdepodobnosť) na každom výstupe. Povedzme, že prvý obrázok zobrazuje pomaranč. Výstupy z DNN budú y = (pomaranč, banán, jablko, malina) = (0,5 0,1 0,3 0,1). DNN “hovorí”, že na prvom obrázku je pomaranč s pravdepodobnosťou 0,5.

4. Definujeme si stratovú (chybovú) funkciu, ktorá kvantifikuje zhodu medzi predpovedaným skóre a skutočným skóre. Často sa používa funkcia E = 0.5*sum (e_j)^2, kde e_j = y_j-y_real_j a j je počet fotografií v trénovacom sete. E_1_pomaranč = 0.5*(0.5-1)^2=0.125, E_1_banán =.0.5*(0.1-0)^2 = 0.005 E_1_jablko = 0.5*(0.3-0)^2 = 0.045, E_1_malina = 0.5*(0.1-0)^2 = 0.005 E_1 = (0,125 0,005 0,045 0,005)

5. Pošleme všetky zostávajúce fotografie z trénovacieho setu cez DNN a vypočítame stratovú funkciu pre celý set, E (E_pomaranč E_ banán E_jablko E_malina)

6. Aby sme modifikovali všetky váhy w_i a predpätia b_i pre nasledujúci trénovací prechod (epochu) potrebujeme vedieť vplyv každého parametra w_i a b_i na stratovú funkciu pre každú triedu. Ak zvýšenie hodnoty parametra zvýši hodnotu stratovej funkcie, musíme tento parameter znížiť a naopak. Ako ale vypočítame potrebné zvýšenie alebo zníženie hodnoty parametrov?

Skúsme jednoduchý príklad.

Máme tri body so súradnicami (x y): (1 3), (2,5, 2), (3,5 5). Chceme nájsť takú priamku y = w.x + b, pre ktorú bude stratová funkcia E = 0.5*sum (e_j)^2, kde e_j = y_j – y_real_j a j=1, 2, 3 minimálna. Aby sme urobili úlohu čo najjednoduchšou povedzme, že w = 1,2 a potrebujeme nájsť iba b. Ako počiatočnú hodnotu si zvolíme b = 0.

Vypočítajme si stratovú funkciu E = 0,5*sum ( e_j)^2 = 0,5*(e_1^2 + e_2^2 + e_3^2), e_1=1,2*1 + b -3, e_2 = 1,2*2,5 + b – 2, e_3 = 1,2*3,5 + b – 5.

Stratová funkcia je jednoduchá, minimum E môžeme nájsť vyriešením rovnice ∂E/∂b = 0. Jedná sa o zloženú funkciu, pre výpočet ∂E/∂b použijeme pravidlo pre derivovanie zloženej funkcie.

∂E/∂b=0.5*((∂E/∂e_1)*(∂e_1/∂b) + (∂E/∂e_2)*(∂e_2/∂b) + (∂E/∂e_3)*(∂e_3/∂b)) = 0.5*(2*e_1*1 + 2*e_2*1 + 2*e_3*1) = (1.2*1 + b – 3) + (1.2*2.5 + b – 2) + (1.2*3.5 + b – 5) = 0 => b = 0.53333.

V praxi, kde počet parametrov w_i a b_i môže dosiahnuť milión a viac nie je praktické riešiť rovnice ∂E/∂b_i = 0 a ∂E/∂b_i = 0 priamo, namiesto toho sa používa iteračný algoritmus.

Začneme s b = 0. Nasledujúca hodnota bude b_1 = b_0 – η*∂E/∂b, kde η je rýchlosť učenia (hyper-parameter) a -η*∂E/∂b je veľkosť kroku. Učenie zastavíme, ak veľkosť kroku dosiahla definovaný prah, v praxi 0,001 alebo menej. Pre η = 0,3, b_1 = 0,48, b_2 = 0,528, b_3 = 0,5328 and b_4 = 0,53328 a b_5 = 0,5533328. Po piatich iteráciách veľkosť kroku klesla na 4,8e-5 a tu učenie zastavíme. Hodnota b získaná týmto algoritmom je prakticky rovnaká ako hodnota získaná vyriešením rovnice ∂E/∂b=0.

Táto metóda sa nazýva metóda klesajúceho gradientu.

Rýchlosť učenia je dôležitý hyper-parameter. Ak je príliš malá, na nájdenie minima stratovej funkcie je potrebných veľa krokov, ak je príliš veľká, algoritmus môže zlyhať. V praxi sa používajú vylepšené varianty algoritmu ako napríklad Adam.

7. Opakujeme kroky 5 a 6 dovtedy, kým hodnota stratovej funkcie klesne na požadovanú hodnotu.

8. Pošleme cez DNN overovací set a vyhodnotíme presnosť.

V súčasnosti je učenie DNN vysoko experimentálny proces. Je známych mnoho architektúr DNN, každá z nich je vhodná pre špecifický rozsah úloh. Každá DNN architektúra má svoj vlastný set hyper-parametrov, ktoré ovplyvňujú jej správanie. Vyzbrojte sa trpezlivosťou a výsledok sa dostaví.

Viac informácií o produktoch AAEON, vám radi poskytneme na adrese aaeon@soselectronic.com

Nezmeškajte takéto články!

Páčia sa Vám naše články? Nezmeškajte už ani jeden z nich!
Nemusíte sa o nič starať, my zabezpečíme doručenie až k Vám.


Doplňujúce produkty


BOXER-6405-A1-1010 AAEON  
BOXER-6405-A1-1010

Priemyselné PC ultratenké Intel Celeron N3350 bez RAM -30...60°C

Priemyselné PC

Obj. číslo: 302742
Výrobca: AAEON
na sklade 4 ks
1 ks+
298,50 €
Objednávam:
  • Vložiť do košíka
  • Vyžiadať cenu
  • Pridať k obľúbeným
  • Sledovať produkt
  • Pridať produkt do porovnávača

AI Core (PER-TAIC-A10-001) AAEON  
AI Core (PER-TAIC-A10-001)

AI Core Movidius Myriad 2 2450 mPCIe

Príslušenstvo ku embedded systémom

Obj. číslo: 301541
Výrobca: AAEON
na sklade 5 ks
1 ks+
81,10 €
Objednávam:
  • Vložiť do košíka
  • Vyžiadať cenu
  • Pridať k obľúbeným
  • Sledovať produkt
  • Pridať produkt do porovnávača

BOXER-8150AI-A1-1010 AAEON  
BOXER-8150AI-A1-1010

AI at Edge Box PC NVidia Jetson TX2 8GB RAM 32GB eMMC -20…50°C

Priemyselné PC

Obj. číslo: 319384
Výrobca: AAEON
na sklade 2 ks
1 ks+
1 130,10 €
Objednávam:
  • Vložiť do košíka
  • Vyžiadať cenu
  • Pridať k obľúbeným
  • Sledovať produkt
  • Pridať produkt do porovnávača

UPS-EDAI-X70864-U01-DC01 AAEON  
UPS-EDAI-X70864-U01-DC01 new

UP Squared AI Vision X Developer Kit

Priemyselné PC

Obj. číslo: 313725
Výrobca: AAEON
na sklade 2 ks
1 ks+
668,00 €
Objednávam:
  • Vložiť do košíka
  • Vyžiadať cenu
  • Pridať k obľúbeným
  • Sledovať produkt
  • Pridať produkt do porovnávača

AI Core X (PER-TAICX-A10-001) AAEON  
AI Core X (PER-TAICX-A10-001)

AI Core Movidius Myriad X VPU 2485 mPCIe module

Príslušenstvo ku embedded systémom

Obj. číslo: 319357
Výrobca: AAEON
na sklade 5 ks
1 ks+
101,70 €
Objednávam:
  • Vložiť do košíka
  • Vyžiadať cenu
  • Pridať k obľúbeným
  • Sledovať produkt
  • Pridať produkt do porovnávača

BOXER-6841M-A4-1010 AAEON  
BOXER-6841M-A4-1010

Entry-level Box PC Intel 6th/7th gen. Socket 1151 w/o RAM -20...55°C

Priemyselné PC

Obj. číslo: 312294
Výrobca: AAEON
Objednávam:
  • Vložiť do košíka
  • Vyžiadať cenu
  • Pridať k obľúbeným
  • Sledovať produkt
  • Pridať produkt do porovnávača
Vyžiadať cenu

AI Core XP4 AAEON  
AI Core XP4

2x AI Core XM 2280 on PCIe [x4] card

Príslušenstvo ku embedded systémom

Obj. číslo: 319359
Výrobca: AAEON
Objednávam:
  • Vložiť do košíka
  • Vyžiadať cenu
  • Pridať k obľúbeným
  • Sledovať produkt
  • Pridať produkt do porovnávača
Vyžiadať cenu

AI Core XP8 AAEON  
AI Core XP8

4x AI Core XM 2280 on PCIe [x4] card

Príslušenstvo ku embedded systémom

Obj. číslo: 319360
Výrobca: AAEON
Objednávam:
  • Vložiť do košíka
  • Vyžiadať cenu
  • Pridať k obľúbeným
  • Sledovať produkt
  • Pridať produkt do porovnávača
Vyžiadať cenu
Súbory cookie nám pomáhajú poskytovať služby. Používaním našich služieb vyjadrujete súhlas s používaním súborov cookie.
OK Viac info