Rámec pre hlboké vzdelávanie pozostáva z kombinácie rozhraní, knižníc a nástrojov na rýchle a presné definovanie a trénovanie modelov strojového učenia.
Pretože hlboké vzdelávanie používa veľké množstvo neštruktúrovaných, netextových údajov, potrebujete rámec, ktorý riadi interakciu medzi „vrstvami“ a urýchľuje vývoj modelu učením sa zo vstupných údajov a prijímaním autonómnych rozhodnutí.
Ak máte záujem dozvedieť sa o hlbokom vzdelávaní v roku 2021, zvážte použitie jedného z rámcov uvedených nižšie. Nezabudnite si vybrať taký, ktorý vám pomôže dosiahnuť vaše ciele a víziu.
1. TensorFlow
Keď hovoríme o hlbokom učení, TensorFlow je často prvým spomínaným rámcom. Tento veľmi populárny rámec nepoužíva len Google – spoločnosť zodpovedná za jeho vytvorenie – ale aj ďalšie spoločnosti ako Dropbox, eBay, Airbnb, Nvidia a mnoho ďalších.
TensorFlow možno použiť na vývoj rozhraní API na vysokej a nízkej úrovni, čo vám umožní spúšťať aplikácie na takmer akomkoľvek zariadení. Hoci je Python jeho primárnym jazykom, k rozhraniu Tensoflow je možné pristupovať a ovládať ho pomocou iných programovacích jazykov, ako sú C++, Java, Julia a JavaScript.
Keďže je TensorFlow open source, umožňuje vám vykonať niekoľko integrácií s inými rozhraniami API a získať rýchlu podporu a aktualizácie od komunity. Jeho závislosť na „statických grafoch“ pri výpočtoch vám umožňuje robiť okamžité výpočty alebo ukladať operácie pre prístup v inom čase. Tieto dôvody, pridané k možnosti, že môžete „sledovať“ vývoj svojej neurónovej siete prostredníctvom TensorBoard, robia z TensorFlow najobľúbenejší rámec pre hlboké učenie.
kľúčové vlastnosti
- Open-source
- flexibilita
- Rýchle ladenie
2. PyTorch
PyTorch je rámec vyvinutý spoločnosťou Facebook na podporu prevádzky jeho služieb. Odkedy sa stal open source, tento rámec používajú aj iné spoločnosti ako Facebook, ako napríklad Salesforce a Udacity.
Tento rámec prevádzkuje dynamicky aktualizované grafy, čo vám umožňuje vykonávať zmeny v architektúre vašej množiny údajov počas jej spracovania. S PyTorch je jednoduchšie rozvíjať a trénovať neurónovú sieť, a to aj bez akýchkoľvek skúseností s hlbokým učením.
Keďže máte otvorený zdroj a je založený na Pythone, môžete jednoducho a rýchlo integrovať do PyTorch. Je to tiež jednoduchý rámec na učenie, používanie a ladenie. Ak máte otázky, môžete sa spoľahnúť na skvelú podporu a aktualizácie od oboch komunít – komunity Python a komunity PyTorch.
kľúčové vlastnosti
- Ľahko sa učí
- Podporuje GPU a CPU
- Bohatá sada rozhraní API na rozšírenie knižníc
3. Apache MX Net
Vďaka svojej vysokej škálovateľnosti, vysokému výkonu, rýchlemu odstraňovaniu problémov a pokročilej podpore GPU bol tento rámec vytvorený spoločnosťou Apache na použitie vo veľkých priemyselných projektoch.
MXNet obsahuje rozhranie Gluon, ktoré umožňuje vývojárom všetkých úrovní zručností začnite s hlbokým učením v cloude, na okrajových zariadeniach a v mobilných aplikáciách. Len v niekoľkých riadkoch Gluon kódu môžete vytvoriť lineárnu regresiu, konvolučné siete a opakujúce sa LSTM pre detekcia objektov, rozpoznávanie reči, odporúčanie a prispôsobenie.
MXNet je možné použiť na rôznych zariadeniach a podporujú ho viaceré programovacie jazyky ako Java, R, JavaScript, Scala a Go. Aj keď je počet používateľov a členov v komunite nízky, MXNet má dobre napísanú dokumentáciu a veľký potenciál rastu, najmä teraz, keď si Amazon vybral tento rámec ako primárny nástroj pre strojové učenie na AWS.
kľúčové vlastnosti
- 8 jazykových väzieb
- Distribuované školenie podporujúce systémy s viacerými CPU a viacerými GPU
- Hybridný front-end umožňujúci prepínanie medzi imperatívnym a symbolickým režimom
4. Súprava kognitívnych nástrojov spoločnosti Microsoft
Ak uvažujete o vývoji aplikácií alebo služieb, ktoré bežia na Azure (cloudové služby Microsoftu), Microsoft Cognitive Toolkit je rámec, ktorý si vyberiete pre svoje projekty hlbokého vzdelávania. Toto je open-source a podporované programovacími jazykmi, ako sú Python, C++, C#, Java a iné. Tento rámec je navrhnutý tak, aby „myslel ako ľudský mozog“, takže dokáže spracovať veľké množstvo neštruktúrovaných údajov a zároveň ponúka rýchle školenie a intuitívnu architektúru.
Výberom tohto rámca – rovnakého ako pre Skype, Xbox a Cortana – získate dobrý výkon svojich aplikácií, škálovateľnosť a jednoduchú integráciu s Azure. V porovnaní s TensorFlow alebo PyTorch je však počet členov v komunite a podpora znížená.
Nasledujúce video ponúka úplný úvod a príklady aplikácií:
kľúčové vlastnosti
- Prehľadná dokumentácia
- Podpora od tímu Microsoft
- Priama vizualizácia grafu
5. KERAS
Rovnako ako PyTorch, aj Keras je knižnica založená na Pythone pre projekty náročné na dáta. Keras API funguje na vysokej úrovni a umožňuje integráciu s nízkoúrovňovými API, ako sú TensorFlow, Theano a Microsoft Cognitive Toolkit.
Niektoré výhody používania keras spočívajú v jeho jednoduchosti učenia – je to odporúčaný rámec pre začiatočníkov v hlbokom učení; rýchlosť jeho nasadenia; má veľkú podporu od komunity python a komunít iných rámcov, s ktorými je integrovaný.
Keras obsahuje rôzne implementácie stavebné bloky neurónových sietí ako sú vrstvy, objektívne funkcie, aktivačné funkcie a matematické optimalizátory. Jeho kód je hosťovaný na GitHub a existujú fóra a kanál podpory Slack. Okrem podpory štandardu neurálne siete, Keras ponúka podporu pre konvolučné neurónové siete a rekurentné neurónové siete.
Keras povoľuje modely hlbokého učenia generované na smartfónoch so systémom iOS aj Android, na virtuálnom stroji Java alebo na webe. Umožňuje tiež použitie distribuovaného školenia modelov hlbokého učenia na klastroch jednotiek grafického spracovania (GPU) a jednotiek Tensor Processing Unit (TPU).
kľúčové vlastnosti
- Predtrénované modely
- Podpora viacerých backendov
- Užívateľsky prívetivá a veľká komunitná podpora
6. Apple Core ML
Core ML vyvinula spoločnosť Apple na podporu svojho ekosystému – IOS, Mac OS a iPad OS. Jeho API funguje na nízkej úrovni a dobre využíva zdroje CPU a GPU, čo umožňuje vytvoreným modelom a aplikáciám pokračovať v prevádzke aj bez internetového pripojenia, čo znižuje „pamäťovú stopu“ a spotrebu energie zariadenia.
Spôsob, akým to Core ML dosahuje, nie je presne tým, že by vytvoril ďalšiu knižnicu strojového učenia, ktorá je optimalizovaná pre spustenie na zariadeniach iphone/ipad. Namiesto toho je Core ML skôr ako kompilátor, ktorý preberá špecifikácie modelu a trénované parametre vyjadrené iným softvérom strojového učenia a konvertuje ich na súbor, ktorý sa stane zdrojom pre aplikáciu pre iOS. K tejto konverzii na model Core ML dochádza počas vývoja aplikácie, nie v reálnom čase, keď sa aplikácia používa, a uľahčuje ju python knižnica coremltools.
Core ML poskytuje rýchly výkon s jednoduchou integráciou strojové učenie modely do aplikácií. Podporuje hlboké učenie s viac ako 30 typmi vrstiev, ako aj rozhodovacími stromami, podpornými vektorovými strojmi a metódami lineárnej regresie, všetko postavené na technológiách nízkej úrovne, ako sú Metal a Accelerate.
kľúčové vlastnosti
- Jednoduchá integrácia do aplikácií
- Optimálne využitie miestnych zdrojov bez nutnosti pripojenia na internet
- Súkromie: údaje nemusia opustiť zariadenie
7. ONNX
Posledný framework na našom zozname je ONNX. Tento rámec vzišiel zo spolupráce medzi Microsoftom a Facebookom s cieľom zjednodušiť proces prenosu a vytvárania modelov medzi rôznymi rámcami, nástrojmi, runtimemi a kompilátormi.
ONNX definuje bežný typ súboru, ktorý môže bežať na viacerých platformách, pričom využíva výhody nízkoúrovňových rozhraní API, ako sú napríklad Microsoft Cognitive Toolkit, MXNet, Caffe a (pomocou konvertorov) Tensorflow a Core ML. Princíp ONNX je trénovať model na zásobníku a implementovať ho pomocou iných záverov a predpovedí.
LF AI Foundation, podorganizácia Linux Foundation, je organizácia, ktorá sa venuje budovaniu ekosystému na podporu open source inovácie v oblasti umelej inteligencie (AI), strojového učenia (ML) a hlbokého učenia (DL). Dňa 14. novembra 2019 pridal ONNX ako projekt na postgraduálnej úrovni. Tento krok ONNX pod záštitou LF AI Foundation sa považoval za dôležitý míľnik pri etablovaní ONNX ako dodávateľsky neutrálneho štandardu otvoreného formátu.
ONNX Model Zoo je kolekcia predtrénovaných modelov v Deep Learning dostupných vo formáte ONNX. Pre každý model existuje notebooky Jupyter na trénovanie modelu a vykonávanie záverov s trénovaným modelom. Zápisníky sú napísané v jazyku Python a obsahujú odkazy na tréningový súbor údajov a odkazy na pôvodný vedecký dokument popisujúci architektúru modelu.
kľúčové vlastnosti
- Rámcová interoperabilita
- Optimalizácia hardvéru
záver
Toto je súhrn najlepších rámcov pre hlboké vzdelávanie. Na tento účel existuje niekoľko rámcov, bezplatných alebo platených. Ak chcete vybrať to najlepšie pre svoj projekt, najprv zistite, pre ktorú platformu budete svoju aplikáciu vyvíjať.
Všeobecné rámce ako TensorFlow a Keras sú najlepšie možnosti, ako začať. Ak však potrebujete využívať výhody špecifické pre operačný systém alebo zariadenie, potom Core ML a Microsoft Cognitive Toolkit môžu byť tou najlepšou voľbou.
Existujú ďalšie rámce zamerané na zariadenia so systémom Android, iné stroje a špecifické účely, ktoré v tomto zozname nie sú uvedené. Ak vás druhá skupina zaujíma, odporúčame vám vyhľadať jej informácie na stránkach Google alebo iných stránkach strojového učenia.
Nechaj odpoveď