Rámec pro hluboké učení se skládá z kombinace rozhraní, knihoven a nástrojů pro rychlé a přesné definování a školení modelů strojového učení.
Protože hluboké učení využívá velké množství nestrukturovaných, netextových dat, potřebujete rámec, který řídí interakci mezi „vrstvami“ a urychluje vývoj modelu učením se ze vstupních dat a přijímáním autonomních rozhodnutí.
Pokud máte zájem dozvědět se o hlubokém učení v roce 2021, zvažte použití jednoho z rámců uvedených níže. Nezapomeňte si vybrat takový, který vám pomůže dosáhnout vašich cílů a vize.
1. TensorFlow
Když mluvíme o hlubokém učení, TensorFlow je často prvním zmíněným rámcem. Tento velmi populární framework nepoužívá pouze Google – společnost odpovědná za jeho vytvoření – ale také další společnosti jako Dropbox, eBay, Airbnb, Nvidia a mnoho dalších.
TensorFlow lze použít k vývoji API na vysoké a nízké úrovni, což vám umožní spouštět aplikace na téměř jakémkoli druhu zařízení. Ačkoli je Python jeho primárním jazykem, rozhraní Tensoflow lze ovládat a přistupovat pomocí jiných programovacích jazyků, jako je C++, Java, Julia a JavaScript.
Jako open source vám TensorFlow umožňuje provést několik integrací s jinými API a získat rychlou podporu a aktualizace od komunity. Jeho závislost na „statických grafech“ pro výpočty vám umožňuje provádět okamžité výpočty nebo ukládat operace pro přístup v jiném čase. Tyto důvody, doplněné o možnost, že můžete „sledovat“ vývoj vaší neuronové sítě prostřednictvím TensorBoard, činí z TensorFlow nejoblíbenější rámec pro hluboké učení.
Klíčové vlastnosti
- Open-source
- Flexibilita
- Rychlé ladění
2. PyTorch
PyTorch je framework vyvinutý společností Facebook pro podporu provozu jejích služeb. Od té doby, co se stal open-source, tento framework používají i jiné společnosti než Facebook, jako Salesforce a Udacity.
Tento rámec provozuje dynamicky aktualizované grafy, což vám umožňuje provádět změny v architektuře vaší datové sady při jejím zpracování. S PyTorchem je jednodušší vyvíjet a trénovat neuronovou síť, a to i bez jakýchkoli zkušeností s hlubokým učením.
Protože je open source a je založen na Pythonu, můžete provádět jednoduché a rychlé integrace do PyTorch. Je to také jednoduchý rámec pro učení, používání a ladění. Pokud máte dotazy, můžete se spolehnout na skvělou podporu a aktualizace od obou komunit – komunity Python a komunity PyTorch.
Klíčové vlastnosti
- Snadno se učí
- Podporuje GPU a CPU
- Bohatá sada rozhraní API pro rozšíření knihoven
3. Apache MX Net
Díky své vysoké škálovatelnosti, vysokému výkonu, rychlému odstraňování problémů a pokročilé podpoře GPU byl tento rámec vytvořen společností Apache pro použití ve velkých průmyslových projektech.
MXNet obsahuje rozhraní Gluon, které umožňuje vývojářům všech úrovní dovedností začít s hlubokým učením v cloudu, na okrajových zařízeních a v mobilních aplikacích. V několika řádcích Gluon kódu můžete vytvořit lineární regresi, konvoluční sítě a opakující se LSTM pro detekce objektu, rozpoznávání řeči, doporučení a přizpůsobení.
MXNet lze použít na různých zařízeních a několik jej podporuje programovací jazyky jako Java, R, JavaScript, Scala a Go. Přestože je počet uživatelů a členů v komunitě nízký, MXNet má dobře napsanou dokumentaci a velký potenciál pro růst, zvláště nyní, když Amazon vybral tento rámec jako primární nástroj pro strojové učení na AWS.
Klíčové vlastnosti
- 8 jazykových vazeb
- Distribuované školení, podpora systémů s více CPU a více GPU
- Hybridní front-end umožňující přepínání mezi imperativním a symbolickým režimem
4. Kognitivní sada nástrojů společnosti Microsoft
Pokud uvažujete o vývoji aplikací nebo služeb, které běží na Azure (cloudové služby Microsoftu), Microsoft Cognitive Toolkit je rámec, který si vyberete pro své projekty hlubokého učení. Jedná se o open-source a podporovaný programovacími jazyky, jako jsou mimo jiné Python, C++, C#, Java. Tento rámec je navržen tak, aby „myslel jako lidský mozek“, takže dokáže zpracovávat velké množství nestrukturovaných dat a zároveň nabízí rychlé školení a intuitivní architekturu.
Výběrem tohoto rámce – stejného jako u Skype, Xboxu a Cortany – získáte dobrý výkon svých aplikací, škálovatelnost a jednoduchou integraci s Azure. Ve srovnání s TensorFlow nebo PyTorch je však počet členů v komunitě a podpora snížena.
Následující video nabízí úplný úvod a příklady aplikací:
Klíčové vlastnosti
- Jasná dokumentace
- Podpora od týmu Microsoft
- Přímá grafová vizualizace
5. Keras
Stejně jako PyTorch je i Keras knihovna založená na Pythonu pro datově náročné projekty. Keras API funguje na vysoké úrovni a umožňuje integraci s nízkoúrovňovými API, jako jsou TensorFlow, Theano a Microsoft Cognitive Toolkit.
Některé výhody používání keras spočívají v jeho jednoduchosti se učit – je to doporučený rámec pro začátečníky v hlubokém učení; rychlost jeho nasazení; mající velkou podporu od komunity python a od komunit ostatních rámců, se kterými je integrován.
Keras obsahuje různé implementace stavební bloky neuronových sítí jako jsou vrstvy, objektivní funkce, aktivační funkce a matematické optimalizátory. Jeho kód je hostován na GitHubu a existují fóra a kanál podpory Slack. Kromě podpory standardu neuronové sítě, Keras nabízí podporu pro konvoluční neuronové sítě a rekurentní neuronové sítě.
Keras umožňuje modely hlubokého učení generovat na chytrých telefonech s iOS i Androidem, na Java Virtual Machine nebo na webu. Umožňuje také použití distribuovaného školení modelů hlubokého učení na klastrech grafických procesorových jednotek (GPU) a TPU (Tensor Processing Units).
Klíčové vlastnosti
- Předtrénované modely
- Podpora více backendů
- Uživatelsky přívětivá a velká komunitní podpora
6. Apple Core ML
Core ML vyvinula společnost Apple na podporu svého ekosystému – IOS, Mac OS a iPad OS. Jeho API funguje na nízké úrovni a dobře využívá zdroje CPU a GPU, což umožňuje modelům a vytvořeným aplikacím běžet i bez připojení k internetu, což snižuje „paměťovou stopu“ a spotřebu energie zařízení.
Způsob, jakým toho Core ML dosahuje, není přesně tím, že vytváří další knihovnu strojového učení, která je optimalizována pro běh na iPhonech/ipadech. Místo toho je Core ML spíše jako kompilátor, který přebírá specifikace modelu a trénované parametry vyjádřené jiným softwarem strojového učení a převádí je do souboru, který se stává zdrojem pro aplikaci pro iOS. K tomuto převodu na model Core ML dochází během vývoje aplikace, nikoli v reálném čase, když je aplikace používána, a je usnadněna knihovnou coremltools python.
Core ML poskytuje rychlý výkon se snadnou integrací strojové učení modely do aplikací. Podporuje hluboké učení s více než 30 typy vrstev, stejně jako rozhodovací stromy, podpůrné vektorové stroje a metody lineární regrese, vše postavené na nízkoúrovňových technologiích, jako je Metal a Accelerate.
Klíčové vlastnosti
- Snadná integrace do aplikací
- Optimální využití místních zdrojů, nevyžadující přístup k internetu
- Soukromí: data nemusí opustit zařízení
7. ONNX
Poslední framework na našem seznamu je ONNX. Tento framework vzešel ze spolupráce mezi Microsoftem a Facebookem s cílem zjednodušit proces přenosu a vytváření modelů mezi různými frameworky, nástroji, runtimemi a kompilátory.
ONNX definuje společný typ souboru, který lze spustit na více platformách, přičemž využívá výhod nízkoúrovňových API, jako jsou Microsoft Cognitive Toolkit, MXNet, Caffe a (pomocí převodníků) Tensorflow a Core ML. Principem ONNX je trénovat model na zásobníku a implementovat jej pomocí jiných odvození a předpovědí.
LF AI Foundation, podorganizace Linux Foundation, je organizace, která se věnuje budování ekosystému na podporu open source inovace v oblasti umělé inteligence (AI), strojového učení (ML) a hlubokého učení (DL). Dne 14. listopadu 2019 přidal ONNX jako projekt na postgraduální úrovni. Tento přesun ONNX pod záštitou nadace LF AI Foundation byl považován za důležitý milník při etablování ONNX jako na dodavatele neutrálního standardu otevřeného formátu.
ONNX Model Zoo je sbírka předem vycvičených modelů v Deep Learning dostupných ve formátu ONNX. U každého modelu existuje notebooky Jupyter pro trénování modelu a provádění inferencí s trénovaným modelem. Zápisníky jsou napsány v Pythonu a obsahují odkazy na tréninková datová sada a odkazy na původní vědecký dokument popisující architekturu modelu.
Klíčové vlastnosti
- Rámcová interoperabilita
- Optimalizace hardwaru
Proč investovat do čističky vzduchu?
Toto je souhrn nejlepších frameworků pro hluboké učení. Pro tento účel existuje několik rámců, bezplatných nebo placených. Chcete-li vybrat to nejlepší pro svůj projekt, musíte nejprve vědět, pro kterou platformu budete svou aplikaci vyvíjet.
Obecné rámce jako TensorFlow a Keras jsou nejlepší možností, jak začít. Pokud však potřebujete využívat výhody specifické pro operační systém nebo zařízení, pak mohou být nejlepšími možnostmi Core ML a Microsoft Cognitive Toolkit.
Existují další rámce zaměřené na zařízení Android, jiné stroje a specifické účely, které v tomto seznamu nebyly zmíněny. Pokud vás druhá skupina zajímá, doporučujeme vyhledat jejich informace na Googlu nebo na jiných webech strojového učení.
Napsat komentář