Návrh architektury umělé inteligence (AI)
Umělá inteligence (AI) je schopnost počítače napodobovat inteligentní lidské chování. Díky umělé inteligenci můžou počítače analyzovat obrázky, pochopit řeč, interagovat přirozenými způsoby a vytvářet předpovědi pomocí dat.
Koncepty AI
Algoritmus
Algoritmus je posloupnost výpočtů a pravidel sloužících k řešení problému nebo analýze sady dat. Je to jako vývojový diagram s podrobnými pokyny pro otázky, které se mají klást, ale napsané v matematickém a programovacím kódu. Algoritmus může popsat, jak určit, jestli je zvíře kočkou, psem, rybou, ptákem nebo ještěrkou. Další mnohem složitější algoritmus může popsat, jak identifikovat napsaný nebo mluvený jazyk, analyzovat jeho slova, přeložit je do jiného jazyka a pak zkontrolovat přesnost překladu.
Strojové učení
Strojové učení je technika umělé inteligence, která k vytváření prediktivních modelů používá matematické algoritmy. Algoritmus se používá k analýze datových polí a k "učení" z dat pomocí vzorů nalezených v ní k vygenerování modelů. Tyto modely se pak používají k provádění informovaných předpovědí nebo rozhodování o nových datech.
Prediktivní modely se ověřují na základě známých dat měřených podle metrik výkonu vybraných pro konkrétní obchodní scénáře a podle potřeby se upraví. Tento proces učení a ověřování se nazývá trénování. Díky pravidelnému přetrénování se modely ML v průběhu času vylepšují.
Hluboké učení
Hluboké učení je typ STROJOVÉho učení , který dokáže určit, jestli jsou predikce přesné. Používá také algoritmy k analýze dat, ale dělá to ve větším měřítku než ML.
Hluboké učení používá umělé neurální sítě, které se skládají z několika vrstev algoritmů. Každá vrstva zkoumá příchozí data, provádí vlastní specializovanou analýzu a vytváří výstup, kterému ostatní vrstvy rozumí. Tento výstup se pak předá další vrstvě, kde jiný algoritmus provádí vlastní analýzu atd.
S mnoha vrstvami v každé neurální síti a někdy pomocí více neurálních sítí se počítač může učit prostřednictvím vlastního zpracování dat. To vyžaduje mnohem více dat a mnohem větší výpočetní výkon než ML.
Roboti
Robot je automatizovaný softwarový program navržený tak, aby prováděl konkrétní úlohu. Představte si to jako robot bez těla. Raní roboti byli poměrně jednoduché, zpracovávali opakující se a voluminé úlohy s relativně jednoduchou algoritmickou logikou. Příkladem by byly webové prohledávací moduly používané vyhledávacími weby k automatickému zkoumání a katalogu webového obsahu.
Roboti se stávají mnohem sofistikovanějšími a používají AI a další technologie k napodobování lidské aktivity a rozhodování, často při interakci přímo s lidmi prostřednictvím textu nebo dokonce řeči. Mezi příklady patří roboti, kteří můžou pořídit rezervaci večeře, chatovací roboty (nebo konverzační AI), kteří pomáhají s interakcemi zákaznických služeb a sociálními roboty, kteří posílali nejnovější zprávy nebo vědecká data na webech sociálních médií.
Microsoft nabízí azure Bot Service, spravovanou službu vytvořenou pro vývoj robotů na podnikové úrovni.
Autonomní systémy
Autonomní systémy jsou součástí vyvíjející se nové třídy, která přesahuje základní automatizaci. Místo opakovaného provádění konkrétní úlohy s malými nebo žádnými variacemi (například roboty) přinášejí autonomní systémy do počítačů inteligentní funkce, aby se mohly přizpůsobit měnícím se prostředím, aby dosáhly požadovaného cíle.
Inteligentní budovy používají autonomní systémy k automatickému řízení provozu, jako je osvětlení, ventilace, klimatizace a zabezpečení. Sofistikovanější příklad by byl samosměrný robot, který zkoumá sbalený důlní hřídel, aby důkladně mapoval jeho interiér, určil, které části jsou strukturálně zvukové, analyzovat vzduch pro prodyšnost a detekovat známky zachycených minářů, kteří potřebují záchranu-vše bez lidského monitorování v reálném čase na vzdáleném konci.
Obecné informace o umělé inteligenci Microsoftu
Přečtěte si další informace o umělé inteligenci Microsoftu a mějte aktuální informace o souvisejících novinkách:
Typy architektury vysoké úrovně
Předem připravená AI
Předem připravená AI je přesně to, co zní jako modely umělé inteligence, služby a rozhraní API, které jsou připravené k použití. Ty vám pomůžou přidávat inteligentní funkce do aplikací, webů a toků, aniž byste museli shromažďovat data a pak vytvářet, trénovat a publikovat vlastní modely.
Jedním z příkladů předem připravených AI může být předem natrénovaný model, který lze začlenit tak, jak je, nebo použít k poskytnutí směrného plánu pro další vlastní trénování. Dalším příkladem by byla cloudová služba API, kterou lze volat na základě vůle ke zpracování přirozeného jazyka požadovaným způsobem.
Služby Azure AI
Cognitive Services poskytují vývojářům možnost používat předem připravená rozhraní API a integrační sady nástrojů k vytváření aplikací, které můžou vidět, slyšet, mluvit, rozumět a dokonce začít zdůvodnit. Katalog služeb v rámci služeb Azure AI je možné zařadit do pěti hlavních pilířů: Vision, Speech, Language, Web Search a Decision/Recommendation.
Předem připravené modely AI v AI Builderu
AI Builder je nová funkce v Microsoft Power Platform , která poskytuje rozhraní pro přidávání AI do aplikací pomocí point-and-click, i když nemáte žádné znalosti kódování nebo datových věd. (Některé funkce V AI Builderu ještě nebyly vydány pro obecnou dostupnost a zůstávají ve stavu Preview. Další informace najdete na stránce Dostupnost funkcí podle oblastí .)
Můžete vytvářet a trénovat vlastní modely, ale AI Builder také nabízí předem připravené modely AI, které jsou připravené k použití hned. Můžete například přidat komponentu v Microsoft Power Apps na základě předem vytvořeného modelu, který rozpozná kontaktní informace z vizitek.
Vlastní AI
I když je předem připravená AI užitečná (a stále flexibilnější), nejlepší způsob, jak získat to, co potřebujete, je pravděpodobně vytvořit systém sami. Je to zřejmě velmi hluboké a složité téma, ale pojďme se podívat na některé základní koncepty nad rámec toho, co jsme právě probrali.
Jazyky kódu
Základním konceptem AI je použití algoritmů k analýze dat a generování modelů, které popisují (nebo skóre) způsobem, který je užitečný. Algoritmy píší vývojáři a datoví vědci (a někdy i jinými algoritmy) pomocí programovacího kódu. Dva z nejoblíbenějších programovacích jazyků pro vývoj umělé inteligence jsou v současné době Python a R.
Python je univerzální programovací jazyk vysoké úrovně. Má jednoduchou snadnou syntaxi, která zdůrazňuje čitelnost. Neexistuje žádný kompilovací krok. Python má velkou standardní knihovnu, ale podporuje také možnost přidávat moduly a balíčky. To podporuje modularitu a umožňuje v případě potřeby rozšířit možnosti. Existuje rozsáhlý a rostoucí ekosystém knihoven AI a ML pro Python, včetně mnoha snadno dostupných v Azure.
Úvod do strojového učení s využitím Pythonu a Azure Notebooks
scikit-learn
. Opensourcová knihovna ML pro PythonPyTorch. Opensourcová knihovna Pythonu s bohatým ekosystémem, který lze použít pro hluboké učení, počítačové zpracování obrazu, zpracování přirozeného jazyka a další
TensorFlow: Open source symbolická matematická knihovna používaná také pro aplikace ML a neurální sítě
Kurz: Použití modelů strojového učení ve službě Azure Functions pomocí Pythonu a TensorFlow
R je jazyk a prostředí pro statistické výpočty a grafiku. Dá se použít pro všechno od mapování rozsáhlých sociálních a marketingových trendů online až po vývoj finančních a klimatických modelů.
Microsoft plně přijal programovací jazyk R a nabízí vývojářům jazyka R mnoho různých možností, jak spustit kód v Azure.
Interaktivní použití jazyka R ve službě Azure Machine Learning
Kurz: Vytvoření logistického regresního modelu v R pomocí Azure Machine Learning
Školení
Trénování je základem strojového učení. Jedná se o iterativní proces "výuky" algoritmu k vytvoření modelů, které se používají k analýze dat a následnému vytváření přesných předpovědí. V praxi má tento proces tři obecné fáze: trénování, ověřování a testování.
Během trénovací fáze se označí sada známých dat kvality, aby bylo možné identifikovat jednotlivá pole. Označená data se předá algoritmu nakonfigurovaným pro vytvoření konkrétní předpovědi. Po dokončení algoritmus vypíše model, který popisuje vzory nalezené jako sadu parametrů. Během ověřování se označí nová data a použijí se k otestování modelu. Algoritmus se upraví podle potřeby a případně provede další trénování. Fáze testování používá data z reálného světa bez jakýchkoli značek nebo předem vybraných cílů. Za předpokladu, že jsou výsledky modelu přesné, považuje se za připravené k použití a lze je nasadit.
Ladění hyperparametrů
Hyperparametry jsou datové proměnné, které řídí samotný trénovací proces. Jedná se o konfigurační proměnné, které řídí fungování algoritmu. Hyperparametry jsou tedy obvykle nastaveny před zahájením trénování modelu a nejsou upraveny v rámci trénovacího procesu způsobem, jakým jsou parametry. Ladění hyperparametrů zahrnuje spouštění zkušebních verzí v rámci trénovacího úkolu, vyhodnocení toho, jak dobře se úloha provádí, a pak se podle potřeby upraví. Tento proces generuje více modelů, z nichž každý se trénuje pomocí různých rodin hyperparametrů.
Výběr modelu
Proces trénování a ladění hyperparametrů vytváří mnoho kandidátských modelů. Mohou mít mnoho různých odchylek, včetně úsilí potřebného k přípravě dat, flexibility modelu, množství doby zpracování a samozřejmě stupně přesnosti výsledků. Výběr nejvhodnějšího vytrénovaného modelu pro vaše potřeby a omezení se nazývá výběr modelu, ale to je co nejvíce o předplánování před trénováním, protože se jedná o výběr nejvhodnějšího modelu.
Automatizované strojové učení (AutoML)
Automatizované strojové učení, označované také jako AutoML, je proces automatizace časově náročných iterativních úloh vývoje modelů strojového učení. Může výrazně zkrátit dobu potřebnou k získání modelů ML připravených pro produkční prostředí. Automatizované strojové učení může pomoct s výběrem modelu, laděním hyperparametrů, trénováním modelu a dalšími úlohami bez nutnosti rozsáhlého programování nebo znalosti domény.
Vyhodnocování
Bodování se také nazývá predikce a je proces generování hodnot na základě natrénovaného modelu strojového učení vzhledem k některým novým vstupním datům. Vytvořené hodnoty nebo skóre mohou představovat předpovědi budoucích hodnot, ale mohou také představovat pravděpodobnou kategorii nebo výsledek. Proces vyhodnocování může generovat mnoho různých typů hodnot:
Seznam doporučených položek a skóre podobnosti
Číselné hodnoty pro modely časových řad a regresní modely
Hodnota pravděpodobnosti označující pravděpodobnost, že nový vstup patří do některé existující kategorie
Název kategorie nebo clusteru, ke kterému je nová položka nejvíce podobná
Predikovaná třída nebo výsledek pro klasifikační modely
Dávkové vyhodnocování je, když se data shromažďují během určitého pevného časového období a pak se zpracovávají v dávce. Může to zahrnovat generování obchodních sestav nebo analýzu věrnosti zákazníků.
Bodování v reálném čase je přesně to, že bodování probíhá a provádí se co nejrychleji. Klasickým příkladem je detekce podvodů s platebními kartami, ale bodování v reálném čase se dá použít také v rozpoznávání řeči, lékařských diagnostikách, analýzách trhu a mnoha dalších aplikacích.
Obecné informace o vlastní umělé inteligenci v Azure
Microsoft AI na GitHubu: Ukázky, referenční architektury a osvědčené postupy
Poznámkové bloky sady Python SDK služby Azure Machine Learning Úložiště GitHub s ukázkovými poznámkovými bloky, které demonstrují sadu Azure Machine Learning Python SDK.
Nabídky platforem Azure AI
Následuje rozpis technologií, platforem a služeb Azure, které můžete použít k vývoji řešení AI pro vaše potřeby.
Azure Machine Learning
Jedná se o službu strojového učení na podnikové úrovni, která umožňuje rychleji sestavovat a nasazovat modely. Azure Machine Learning nabízí webová rozhraní a sady SDK, abyste mohli rychle trénovat a nasazovat modely a kanály strojového učení ve velkém měřítku. K těmto funkcím můžete přistupovat z opensourcových architektur Pythonu, jako jsou PyTorch, TensorFlow a scikit-learn.
Co je Azure Machine Learning? Obecná orientace s odkazy na mnoho výukových materiálů, sad SDK, dokumentace a dalších
Referenční architektury strojového učení pro Azure
Automatizované strojové učení Azure
Azure poskytuje rozsáhlou podporu automatizovaného strojového učení. Vývojáři můžou vytvářet modely pomocí uživatelského rozhraní bez kódu nebo prostřednictvím prostředí poznámkových bloků, které jsou prvními kódy.
Domovská stránka produktu Automatizované strojové učení Azure
Konfigurace experimentů automatizovaného strojového učení v Pythonu
Služby Azure AI
Jedná se o komplexní řadu služeb AI a kognitivních rozhraní API, které vám pomůžou vytvářet inteligentní aplikace. Tyto předem natrénované modely AI pro určitou doménu je možné přizpůsobit vašimi daty.
Azure Cognitive Search
Jedná se o cloudovou vyhledávací službu využívající AI pro vývoj mobilních a webových aplikací. Služba může prohledávat soukromý heterogenní obsah s možnostmi rozšiřování umělé inteligence, pokud je váš obsah nestrukturovaný nebo nevyhledatelný v nezpracované podobě.
Azure Bot Service
Jedná se o účelové vývojové prostředí robotů s předdefinované šablony, které vám pomůžou rychle začít.
Apache Spark v Azure
Apache Spark je architektura pro paralelní zpracování, která podporuje zpracování v paměti pro zvýšení výkonu aplikací pro analýzu velkých objemů dat. Spark poskytuje primitivy pro clusterové výpočty v paměti. Úloha Sparku může načítat a ukládat data do paměti a dotazovat se na ni opakovaně, což je mnohem rychlejší než aplikace založené na disku, jako je Hadoop.
Apache Spark v Azure HDInsight je implementace Apache Sparku v cloudu od Microsoftu. Clustery Spark v HDInsight jsou kompatibilní se službou Azure Storage a Azure Data Lake Storage, takže ke zpracování dat uložených v Azure můžete použít clustery HDInsight Spark.
Knihovna strojového učení Microsoftu pro Apache Spark je SynapseML (dříve označovaná jako MMLSpark). Tato opensourcová knihovna přidává do ekosystému Spark mnoho nástrojů hlubokého učení a datových věd, síťových funkcí a výkonu na produkční úrovni. Přečtěte si další informace o funkcích a možnostech SynapseML.
Přehled služby Azure HDInsight Základní informace o funkcích, architektuře clusteru a případech použití s ukazateli na rychlé starty a kurzy
Kurz: Vytvoření aplikace strojového učení Apache Spark ve službě Azure HDInsight
Konfigurace nastavení clusteru Apache Spark ve službě HDInsight
Úložiště GitHub pro SynapseML: Knihovna strojového učení Microsoftu pro Apache Spark
Vytvoření kanálu strojového učení Apache Spark ve službě HDInsight
Azure Databricks Runtime pro Machine Learning
Azure Databricks je analytická platforma založená na Apache Sparku s nastavením jedním kliknutím, zjednodušenými pracovními postupy a interaktivním pracovním prostorem pro spolupráci mezi datovými vědci, inženýry a obchodními analytiky.
Databricks Runtime pro Machine Learning (Databricks Runtime ML) umožňuje spustit cluster Databricks se všemi knihovnami potřebnými pro distribuované trénování. Poskytuje připravené prostředí pro strojové učení a datové vědy. Navíc obsahuje několik oblíbených knihoven, včetně TensorFlow, PyTorch, Keras a XGBoost. Podporuje také distribuované trénování s využitím Horovodu.
Případové studie
Různá odvětví používají AI inovativními a inspirujícími způsoby. Následuje řada zákaznických případových studií a úspěšných scénářů:
ASOS: Online prodejce řeší problémy se službou Azure Machine Learning Service
Volkswagen: Strojový překlad hovořící Volkswagen - v 40 jazycích
Buncee: Škola NYC umožňuje čtenářům všech věkových kategorií a schopností pomocí Azure AI
Asklepios Klinik Altona: Přesné operace s Microsoft HoloLens 2 a 3D vizualizací
Procházet další příběhy zákazníků AI
Další kroky
Další informace o produktech pro vývoj umělé inteligence, které jsou k dispozici od Microsoftu, najdete na stránce platformy Microsoft AI.
Školení k vývoji řešení AI najdete v tématu Microsoft AI School.
Microsoft AI na GitHubu: Ukázky, referenční architektury a osvědčené postupy uspořádají opensourcová úložiště založená na umělé inteligenci Microsoftu a poskytují kurzy a výukové materiály.