Výuka hlubokého učení pro začátečníky: Základy neuronové sítě

⚡ Chytré shrnutí

Hluboké učení je odvětví strojového učení postavené na umělých neuronových sítích, které vrství mnoho skrytých vrstev, takže každá vrstva se učí bohatší funkci dat než vrstva před ní.

  • 🔘 Vrstvená architektura: Vstupní vrstva, dvě nebo více skrytých vrstev a výstupní vrstva tvoří síť hloubkovou.
  • ☑️ Signal síla: Váha, zkreslení a aktivační funkce určují, co každý neuron předává další vrstvě.
  • (Tj. Dvoufázová smyčka: Nelineární transformace vytváří model, poté jej vylepšuje metoda založená na derivacích, a to opakovaně, dokud není přesnost přijatelná.
  • 🧪 Čtyři architektury: Dopředné sítě, rekurentní sítě, konvoluční sítě a agenti učení s posilováním.
  • 🛠️ Kde se to vyplatí: Bodové hodnocení ve financích, prověřování kandidátů v HR, analýza sentimentu v call centru v marketingu.
  • ⚙️ Skutečné limity: Značkování nákladů, touha po obrovských datových sadách a modely, které se brání vysvětlení srozumitelným jazykem.

Výuka hlubokého učení pro začátečníky: Základy neuronové sítě

Co je hluboké učení?

Hluboké učení je počítačový software, který napodobuje síť neuronů v mozku. Je to podmnožina strojové učení založené na umělých neuronových sítích s reprezentačním učením. Nazývá se hluboké učení, protože využívá hluboké neuronové sítě. Toto učení lze pod dohledem, částečně pod dohledem nebo bez dozoru.

Algoritmy hlubokého učení jsou konstruovány s propojenými vrstvami, jak ukazuje níže uvedený diagram.

  • První vrstva se nazývá vstupní vrstva
  • Poslední vrstva se nazývá výstupní vrstva
  • Všechny vrstvy mezi nimi se nazývají skryté vrstvy. Slovo hluboké znamená, že síť spojuje neurony napříč více než dvěma vrstvami.
Schéma hluboké neuronové sítě zobrazující vstupní vrstvu, dvě skryté vrstvy neuronů a výstupní vrstvu
Vstupní vrstva, skryté vrstvy a výstupní vrstva s propojeními mezi jednotlivými neurony

Každá skrytá vrstva se skládá z neuronů. Neurony jsou vzájemně propojeny. Neuron zpracovává vstupní signál, který přijímá, a poté šíří výsledek do vrstvy nad ním. Síla signálu předávaného neuronu v další vrstvě závisí na váze, předpětí a aktivační funkci.

Síť spotřebovává velké množství vstupních dat a pracuje s nimi přes více vrstev, takže se může učit stále složitější vlastnosti dat v každé vrstvě.

Proces hlubokého učení

Hluboká neuronová síť poskytuje špičkovou přesnost v mnoha úlohách, od detekce objektů až po rozpoznávání řeči. Takové sítě se mohou učit automaticky, bez předem definovaných znalostí explicitně kódovaných programátory. V praxi projekt hlubokého učení prochází pěti fázemi:

  • Pochopte problém
  • Identifikujte data
  • Vyberte algoritmus hlubokého učení
  • Trénujte model
  • Otestujte model
Pětistupňový proces hlubokého učení od pochopení problému až po testování modelu

Pět fází projektu hlubokého učení, od definice problému až po testování

Abychom pochopili myšlenku hlubokého učení, představte si rodinu s kojencem a rodiči. Batole ukazuje malíčkem na předměty a neustále říká slovo „kočka“. Protože se jeho rodiče starají o jeho vzdělání, stále mu říkají: „Ano, to je kočka“ nebo „Ne, to není kočka“. Kojenec vytrvale ukazuje na předměty, ale s „kočkami“ se stává přesnějším. Malé dítě v hloubi duše neví, proč může říct, zda je to kočka, nebo ne. Naučilo se jednoduše uspořádat rysy, které tvoří kočku, do hierarchie, dívat se na mazlíčka jako celek a pak se zaměřit na detaily, jako je ocas nebo nos, než se rozhodne.

Neuronová síť funguje v podstatě stejným způsobem. Každá vrstva představuje hlubší úroveň znalostí, tj. hierarchii znalostí. Neuronová síť se čtyřmi vrstvami se naučí složitější funkce než síť se dvěma vrstvami.

Učení probíhá ve dvou fázích:

  • První fáze: použití nelineární transformace vstupu a vytvoření statistického modelu jako výstupu.
  • Druhá fáze: vylepšení modelu matematickou metodou založenou na derivacích, což je způsob, jakým zpětná propagace upravuje váhy.

Neuronová síť opakuje tyto dvě fáze stokrát až tisíckrát, dokud nedosáhne přijatelné úrovně přesnosti. Každé opakování těchto dvou fází se nazývá iterace.

Pro ilustraci hlubokého učení se podívejte na animaci níže, ve které se model snaží naučit tančit. Po 10 minutách tréninku model tančit neumí a jeho výstup vypadá jako čmáranice.

Animovaná postava se po deseti minutách tréninku hlubokého učení pohybuje nepravidelně

Po 48 hodinách učení počítač zvládne umění tance, jak ukazuje druhá animace.

Animovaná postava tančící plynule po čtyřiceti osmi hodinách tréninku hlubokého učení

Klasifikace neuronových sítí

Sítě jsou nejprve seskupeny podle počtu skrytých vrstev.

Mělká neuronová síť: Mělká neuronová síť má mezi vstupem a výstupem pouze jednu skrytou vrstvu.

Hluboká neuronová síť: Hluboké neuronové sítě mají více než jednu skrytou vrstvu. Například model GoogLeNet pro rozpoznávání obrázků čítá 22 vrstev.

Dnes se hluboké učení objevuje v autonomních autech, mobilních telefonech, Google vyhledávač, odhalování podvodů a televize.

Typy sítí hlubokého učení

Standardem se stalo několik architektur, každá z nich je formována typem dat, která zpracovává. Níže uvedený graf, publikovaný Asimovovým institutem, mapuje širší rodinu architektur.

Schéma architektur neuronových sítí včetně perceptronu, dopředné vazby, RBF, RNN, LSTM, GRU a autoenkodéry

Tabulka architektur neuronových sítí, od jediného perceptronu až po varianty LSTM, GRU a autoencoderu

Dopředné neuronové sítě

Toto je nejjednodušší typ umělé neuronové sítě. S tímto typem architektury informace teče pouze jedním směrem, dopředu. To znamená, že tok informací začíná na vstupní vrstvě, jde do „skrytých“ vrstev a končí na výstupní vrstvě. Síť nemá smyčku a informace končí na výstupní vrstvě.

Rekurentní neuronové sítě (RNN)

An RNN je vícevrstvá neuronová síť, která dokáže ukládat informace v kontextových uzlech, což jí umožňuje učit se datové sekvence a vydávat číslo nebo jinou sekvenci. Jednoduše řečeno, jedná se o umělou neuronovou síť, jejíž propojení mezi neurony zahrnují smyčky. RNN se dobře hodí pro zpracování vstupních sekvencí, protože výstup je zpět do sítě přiváděn jako paměť.

Blokové schéma rekurentní neuronové sítě s výstupem smyčkou zapojeným zpět do sítě jako paměť

RNN posílá svůj výstup zpět sama sobě, což dává síťové paměti

Například pokud je úkolem předpovědět další slovo ve větě „Chceš…?“, síť postupuje takto:

  • Neurony RNN přijímají signál, který ukazuje na začátek věty.
  • Síť přijímá jako vstup slovo „Do“ a vytváří vektor čísel. Tento vektor je zpětně odeslán neuronu, aby poskytl síti paměť. Tato fáze pomáhá síti zapamatovat si, že přijala slovo „Do“ a že ho přijala na první pozici.
  • Síť postupuje podobně jako u dalších slov. Vezme slovo „ty“ a poté „chceš“. Stav neuronů se aktualizuje po přijetí každého slova.
  • Poslední fáze nastává po přijetí slova „a“. Neuronová síť poskytuje pravděpodobnost pro každé anglické slovo, které by mohlo větu dokončit. Dobře trénovaná RNN pravděpodobně přiřadí vysokou pravděpodobnost slovům „café“, „drink“, „burger“ a podobným.

Běžná použití RNN

  • Pomozte obchodníkům s cennými papíry vytvářet analytické zprávy
  • Odhalte abnormality ve finančních výkazech
  • Odhalte podvodné transakce s kreditními kartami
  • Poskytněte k obrázkům popisek
  • Výkon chatbots
  • Ke standardnímu použití RNN dochází, když odborníci pracují s časovými řadami dat nebo sekvencí, například s zvukovými nahrávkami nebo textem.

Konvoluční neuronové sítě (CNN)

A CNN je vícevrstvá neuronová síť s unikátní architekturou navrženou protracstále složitější vlastnosti dat v každé vrstvě k určení výstupu. CNN jsou vhodné pro percepční úkoly.

Architektura CNN s konvolucí, ReLU a fázemi učení se funkcí sdružováním, následovanými zploštěním, plně propojenou a softmax klasifikací

Učení prvků pomocí konvoluce, ReLU a sdružování; klasifikace pomocí zploštění, plně propojeného algoritmu a softmaxu

CNN se používá nejčastěji v případech, kdy existuje nestrukturovaná datová sada, jako jsou obrázky, a odborníci potřebují...tracinformace z něj.

Pokud je například úkolem předpovědět popisek obrázku:

  • CNN přijímá obraz, řekněme, kočky. Z počítačového hlediska je tento obraz souborem pixelů, obvykle jedna vrstva pro obrázek ve stupních šedi a tři vrstvy pro barevný obrázek.
  • Během fáze učení prvků, tj. skrytých vrstev, síť identifikuje jedinečné prvky, například ocas kočky nebo ucho.
  • Jakmile se síť důkladně naučí rozpoznávat obrázek, může pro každou třídu obrázků, kterou zná, poskytnout pravděpodobnost. Označení s nejvyšší pravděpodobností se stává predikcí sítě.

Posílení učení

Posílení učení je podobor strojového učení, ve kterém jsou systémy trénovány přijímáním virtuálních „odměn“ nebo „trestů“, v podstatě se učí metodou pokus-omyl. Jedná se spíše o paradigma učení než o síťový tvar, ale jeho moderní algoritmy jsou postaveny na hlubokých sítích. GoogleDeepMind využil posilovací učení k vítězství nad lidským šampionem v Go. Posilovací učení se používá také ve videohrách ke zlepšení herního zážitku tím, že poskytuje chytřejší boty.

Mezi nejznámější algoritmy patří:

  • Q-učení
  • Deep Q síť
  • State-Action-Reward-State-Action (SARSA)
  • Deep Deterministic Policy Gradient (DDPG)

Níže uvedená tabulka shrnuje, kdy se která architektura hodí.

Architecture Data, která se hodí Rozlišovací znak Typický úkol
Dopředu Tabulkový vstup s pevnou délkou Žádné smyčky; informace se pohybují pouze vpřed Bodování a jednoduchá klasifikace
Opakující se (RNN) Sekvence a časové řady Kontextové uzly mu dávají paměť Predikce textu, zvuku, předpovídání
Konvoluční (CNN) Nestrukturovaná data podobná mřížce Konvoluce a sdružování extracfunkce t Klasifikace a popisky obrázků
Posílení učení Prostředí, nikoli datová sada Učí se z odměn a trestů Herní agenti, robotika, ovládání

Příklady aplikací hlubokého učení

Tyto architektury jsou již ve výrobě ve velmi odlišných odvětvích:

AI ve financích

Sektor finančních technologií již začal využívat umělou inteligenci k úspoře času, snížení nákladů a zvýšení hodnoty. Hluboké učení mění úvěrový průmysl díky robustnějšímu kreditnímu hodnocení. Osoby s rozhodovací pravomocí v oblasti úvěrů mohou využívat umělou inteligenci pro žádosti o úvěry, aby dosáhly rychlejšího a přesnějšího posouzení rizik, a to s využitím strojové inteligence k zohlednění charakteru a schopností žadatelů.

Underwrite je fintech společnost poskytující řešení s využitím umělé inteligence pro osoby s rozhodovací pravomocí v oblasti úvěrů. underwrite.ai využívá umělou inteligenci k detekci žadatele s větší pravděpodobností splatí úvěr, což je přístup, který podle společnosti překonává tradiční scorecardy.

AI v HR

Under Armour, společnost vyrábějící sportovní oblečení, revolutionizoval nábor a modernizoval zkušenosti kandidátů s pomocí umělé inteligence. Společnost Under Armour se v roce 2012 setkala s prudkým nárůstem zájmu a v průměru dostávala více než 30 000 žádostí měsíčně. Čtení všech těchto žádostí a následné zahájení procesu screeningu a pohovorů trvalo příliš dlouho. Zdlouhavý proces náboru a nástupu lidí ovlivnil schopnost společnosti Under Armour plně obsadit své maloobchodní prodejny, zajistit jejich dostatečnou kapacitu a připravit je k provozu.

V té době měla společnost Under Armour zavedeny všechny „nezbytné“ HR technologie, jako například transakční řešení pro sourcing, uplatňování, trackrál a onboarding, ale tyto nástroje samy o sobě nestačily. Společnost Under Armour si pro pohovory na vyžádání i živé pohovory vybrala HireVue, poskytovatele HR řešení s využitím umělé inteligence. Výsledky byly ohromující: společnost oznámila zkrácení doby potřebné k obsazení pozic o 35 % a zároveň zvýšení kvality najatých zaměstnanců.

AI v marketingu

Umělá inteligence je cenným nástrojem pro správu zákaznických služeb a řešení problémů s personalizací. Vylepšené rozpoznávání řeči ve správě call centra a směrování hovorů, které je výsledkem aplikace technik umělé inteligence, umožňuje zákazníkům bezproblémovější zážitek.

Například analýza zvuku pomocí hlubokého učení umožňuje systémům posoudit emocionální tón zákazníka. Pokud zákazník reaguje na chatbota s umělou inteligencí špatně, systém může přesměrovat konverzaci na skutečného lidského operátora, který se problému ujme.

Kromě výše uvedených tří příkladů hlubokého učení se umělá inteligence široce používá i v jiných odvětvích a odvětvích.

Proč je hluboké učení důležité?

Hluboké učení je mocný nástroj pro přeměnu předpovědí v praktické výsledky. Hluboké učení vyniká v objevování vzorců a predikci založené na znalostech. Big údaje je palivem pro hluboké učení. Když se obojí spojí, může organizace dosáhnout výsledků v produktivitě, prodeji, managementu a inovacích, které byly dříve nedosažitelné.

Hluboké učení může také překonat tradiční metody. Zejména v oblasti problémů s vnímáním jsou hluboké sítě již léta na špici: klasifikace obrazů, rozpoznávání řeči a rozpoznávání obličejů jsou v podstatě ovládány hlubokými architekturami, přičemž modely rozpoznávání obličejů dosahují ve standardních veřejných benchmarkech téměř 99% přesnosti. Výhodou je, že se síť učí své vlastní funkce, místo aby se spoléhala na ručně navržené.

Omezení hlubokého učení

Tyto výsledky s sebou nesou skutečné náklady.

Označování dat

Většina současných modelů umělé inteligence je trénována pomocí řízeného učení. To znamená, že lidé musí označovat a kategorizovat podkladová data, což může být značná a k chybám náchylná práce. Například společnosti vyvíjejíping Technologie autonomních vozidel najímají stovky lidí, kteří ručně anotují hodiny videozáznamů z prototypů vozidel za účelem trénování těchto systémů.

Získejte obrovské tréninkové datové sady

Ukázalo se, že techniky hlubokého učení, jako je CNN, mohou v některých případech napodobovat znalosti odborníků v medicíně a dalších oborech. Tato vlna strojového učení však vyžaduje trénovací datové sady, které jsou nejen označené, ale také dostatečně široké a univerzální.

Metody hlubokého učení vyžadují tisíce pozorování, aby se modely staly relativně dobrými v klasifikačních úlohách, a v některých případech miliony, aby fungovaly na úrovni lidí. Není divu, že hluboké učení je nejběžnější u velkých technologických společností, které využívají velká data k akumulaci petabajtů příkladů. Tento rozsah jim umožňuje vytvářet působivé a vysoce přesné modely hlubokého učení.

Vysvětlete problém

Rozsáhlé a složité modely může být obtížné vysvětlit lidskými termíny, například proč bylo dosaženo konkrétního rozhodnutí. Je to jeden z důvodů, proč přijetí některých umělá inteligence Nástroje jsou pomalé v aplikačních oblastech, kde je interpretovatelnost užitečná nebo dokonce vyžadovaná.

Kromě toho, jak se aplikace AI rozšiřuje, regulační požadavky by také mohly vést k potřebě více vysvětlitelných modelů AI.

Nejčastější dotazy

Klasický strojové učení Vyžaduje ručně navržené funkce a funguje dobře na malých tabulkových datech. Hluboké učení se učí funkce samo z nezpracovaných nestrukturovaných dat, ale vyžaduje mnohem více příkladů a výpočtů.

Zavádí nelinearitu, takže vrstvené vrstvy mohou modelovat zakřivené hranice rozhodovacích pravomocí, místo aby se sbalily do jednoho lineárního kroku. ReLU je obvyklou výchozí volbou ve skrytých vrstvách; sigmoid a softmax tvarují výstup.

Zpětné šíření měří, jak moc každá váha přispěla k chybě, a poté prochází tento gradient zpětně vrstvami, takže každá váha je posunuta směrem, který snižuje ztráty. Jedná se o druhou fázi.

Epocha je jeden úplný průchod trénovacími daty. Velikost dávky udává, kolik vzorků síť vidí před aktualizací vah. Rychlost učení určuje, jak velká je každá z těchto aktualizací vah.

Transformery, představené v roce 2017, nahrazují opakování pozorností a umožňují každému tokenu sledovat všechny ostatní tokeny najednou. Protože to běží paralelně, škálují se mnohem lépe než RNN a nyní dominují práci s jazykem a viděním.

Trénování je většinou násobení velkých matic, které GPU běží paralelně s velmi vysokou propustností paměti. Přesun CNN nebo transformátoru z CPU na jednu trénovací GPU obvykle vede k několikanásobnému zrychlení.

Nástroje pro vyhledávání neuronové architektury a AutoML testují počty vrstev, šířky a hyperparametry a poté ponechávají kandidáta, který se nejlépe ověří. Výrazně snižují manuální prohledávání, i když si člověk stále stanovuje cíl a výpočetní rozpočet.

GitHub Copilot dáma TensorFlow a PyTorTrénovací smyčky ch z krátkého promptu. Zkontrolujte vstupní tvary, ztrátovou funkci a nastavte si počáteční hodnoty, protože vygenerované standardizované věty je často uvádějí špatně.

Shrňte tento příspěvek takto: