Education, study and knowledge

Hluboké neuronové sítě: co jsou a jak fungují

Hluboké neuronové sítě jsou konceptem, který tvoří hlavní technologickou architekturu používanou v modelech hlubokého učení. Tyto struktury nelze pochopit bez pochopení obecné myšlenky umělých neuronových sítí, které jsou základem umělé inteligence.

Neuronové sítě se používají k tisícům věcí: rozpoznávání poznávacích značek, písní, tváří, hlasů nebo dokonce ovoce v naší kuchyni. Jsou obzvláště užitečnou technologií a navzdory skutečnosti, že se teprve nedávno staly praktickými, stanou se budoucností lidstva.

další Uvidíme do hloubky myšlenku umělých neuronových sítí a hlubokopochopení toho, jak fungují, jak jsou trénovány a jak dochází k interakcím mezi různými neurony, které je tvoří.

  • Související článek: „Co je kognitivní věda? Jeho základní myšlenky a fáze vývoje“

Co jsou hluboké neuronové sítě a co je charakterizuje?

Hluboké neuronové sítě jsou jedna z nejdůležitějších technologických architektur používaných v Deep Learning nebo Deep Learning. Tyto konkrétní umělé sítě zaznamenaly v posledních letech závratný růst, protože představují základní aspekt, pokud jde o rozpoznávání všech druhů vzorců. Umělá inteligence existuje díky fungování těchto konkrétních sítí, které v V podstatě se stávají replikou toho, jak náš mozek funguje, i když v technologické a matematika.

instagram story viewer

Než půjdeme dále do toho, co jsou hluboké neuronové sítě, musíme nejprve porozumět tomu, jak umělé neuronové sítě obecně fungují a k čemu slouží. Lneuronové sítě jsou odvětvím „strojového učení“, které mělo v posledních letech obrovský dopad, která pomáhá programátorům a počítačovým vědcům vytvářet věci, jako jsou chatboti, se kterými, když s nimi mluvíme, si myslíme, že mluvíme se skutečnými lidskými bytostmi.

Umělé neuronové sítě byly také použity u samořídících automobilů, mobilní aplikace, které poznají naši tvář a přemění ji na to, co chceme, a mnoho dalších funkcí. Jeho použitelnost je velmi rozsáhlá, slouží jako základ moderní umělé inteligence a má nekonečné prospěšné využití pro náš každodenní život.

umělé neuronové sítě

Představme si, že jsme v naší kuchyni a rozhodneme se hledat pomeranč, velmi jednoduchý úkol.. Pomeranč víme velmi snadno identifikovat a také víme, jak jej odlišit od jiného ovoce, které najdeme v kuchyni, jako jsou banány, jablka a hrušky. Tak jako? Protože v našem mozku jsme velmi asimilovali to, co jsou typické vlastnosti pomeranče: jeho jeho velikost, tvar, barvu, jakou voní... To všechno jsou parametry, které používáme k nalezení a oranžový.

Pro lidi je to jednoduchý úkol, ale... Zvládne to i počítač? Odpověď je ano. V zásadě by stačilo definovat stejné parametry a přiřadit hodnotu uzlu nebo něčemu, co bychom mohli dobře nazvat „umělým neuronem“. Tomu neuronu bychom řekli, jaké pomeranče jsou, s uvedením jejich velikosti, hmotnosti, tvaru, barvy nebo jakéhokoli jiného parametru, který tomuto ovoci přisuzujeme. S těmito informacemi se očekává, že neuron bude vědět, jak identifikovat pomeranč, když je mu předložen.

Pokud jsme parametry zvolili dobře, bude pro vás snadné rozlišit pomeranče a věci, které nejsou pomeranče, pouhým zohledněním těchto vlastností. Když je mu předložen obrázek jakéhokoli ovoce, tento neuron bude hledat vlastnosti spojené s pomerančem a rozhodněte se, zda jej zařadíte do kategorie „oranžová“ nebo do kategorie „ostatní“. ovoce". Statisticky by to znamenalo najít oblast v grafu parametrů, která odpovídá tomu, co je bytí hledá oblast, která by zahrnovala všechny kousky ovoce, které mají stejnou velikost, tvar, barvu, hmotnost a aroma pomeranče.

Zpočátku to všechno zní velmi snadno kódovat a ve skutečnosti to tak je. Velmi dobře funguje odlišení pomeranče od banánu nebo jablka, protože mají různé barvy a tvary. Co kdybychom vám však předložili grapefruit? a hodně velká mandarinka? Jsou to plody, které lze dokonale zaměnit s pomerančem. Bude umělý neuron schopen sám rozlišit mezi pomeranči a grapefruity? Odpověď zní ne a ve skutečnosti jsou pravděpodobně považovány za stejné.

Problém s použitím pouze jedné vrstvy umělých neuronů, nebo co je totéž, pouze nejprve pomocí jednoduchých neuronů, je ten vytvářet velmi nepřesné hranice rozhodování, když je vám předloženo něco, co má mnoho společných vlastností s tím, co byste měli být schopni rozpoznat, ale ve skutečnosti tomu tak není. Pokud představíme něco, co vypadá jako pomeranč, například grapefruit, i když to není toto ovoce, identifikuje to jako takové.

Tyto rozhodovací hranice, pokud jsou znázorněny ve formě grafu, budou vždy lineární. Pomocí jediného umělého neuronu, tedy jediného uzlu, který má integrované parametry konkrétní, ale nelze se za ně učit, budou získány velmi úzké hranice rozhodování. šířit. Jeho hlavním omezením je, že používá dvě statistické metody, konkrétně vícetřídní regresi a logistická regrese, což znamená, že v případě pochybností zahrnuje něco, co není to, co jsme očekávali. bude identifikovat.

Pokud bychom měli všechno ovoce rozdělit na „pomeranče“ a „ne pomeranče“, pomocí pouze jednoho neuronu je jasné, že banány, hrušky, jablka, melouny a jakékoliv ovoce, které nekoresponduje velikostí, barvou, tvarem, vůní a tak dále s pomeranči bych zařadil do kategorie "ne". pomeranče“. Grapefruity a mandarinky by je však zařadily do kategorie „pomeranče“, protože špatně plní práci, pro kterou byly navrženy.

A když mluvíme o pomerančích a grapefruitech, můžeme mluvit o psech a vlcích, slepicích a slepicích, knihách a sešitech... Tyto situace jsou případy, ve kterých by k jasnému rozlišení jednoho a druhého nestačila jednoduchá řada „pokud...“ („pokud...“). jiný. Je zapotřebí složitější, nelineární systém, který je přesnější, pokud jde o rozlišování mezi různými prvky. Něco, co bere v úvahu, že mezi podobnostmi mohou být rozdíly. Zde přichází na řadu neuronové sítě.

Více vrstev, podobnější lidskému mozku

Umělé neuronové sítě, jak jejich název napovídá, jsou výpočetní umělé modely inspirované v neuronových sítích lidského mozku, sítích, které ve skutečnosti napodobují fungování tohoto orgánu biologický. Tento systém je inspirován nervovým fungováním a jeho hlavní aplikací je rozpoznávání vzory všeho druhu: identifikace obličeje, rozpoznávání hlasu, otisky prstů, rukopis, poznávací značky… Rozpoznávání vzorů funguje téměř na všechno..

Protože existují různé neurony, parametry, které jsou použity, jsou různé a je dosaženo vyššího stupně přesnosti. Tyto neuronové sítě jsou systémy, které nám umožňují rozdělit položky do kategorií rozdíl může být jemný, odděluje je nelineárním způsobem, což by jinak nebylo možné způsob.

S jediným uzlem, s jedním neuronem, to, co se dělá při manipulaci s informacemi, je vícetřídní regrese. Přidáním více neuronů, protože každý z nich má svou vlastní nelineární aktivační funkci, která, přeloženo do jednoduššího jazyka, jim dává rozhodovací hranice, které jsou přesnější, jsou graficky znázorněny v zakřiveném tvaru a berou v úvahu více charakteristik při rozlišování mezi „pomeranče“ a „ne pomeranče“, abychom pokračovali v tomto příkladu.

Zakřivení těchto rozhodovacích hranic bude přímo záviset na tom, kolik vrstev neuronů přidáme do naší neuronové sítě. Tyto vrstvy neuronů, které činí systém složitějším a přesnějším, jsou ve skutečnosti hluboké neuronové sítě. V zásadě platí, že čím více vrstev hlubokých neuronových sítí máme, tím přesnější a podobnější bude program ve srovnání s lidským mozkem.

Stručně řečeno, neuronové sítě nejsou nic jiného než inteligentní systém, který umožňuje dělat přesnější rozhodnutí, velmi podobným způsobem, jakým to děláme my lidské bytosti. Lidské bytosti jsou založeny na zkušenostech, učí se z našeho prostředí. Vrátíme-li se například k případu pomeranče a grapefruitu, pokud jsme žádný nikdy neviděli, dokonale si jej spleteme s pomerančem. Až se s ním seznámíme, bude to tehdy, až ho budeme vědět, jak ho identifikovat a odlišit od pomerančů.

První věc, která se udělá, je dát nějaké parametry neuronovým sítím, aby věděly, jaké to je, že se je chceme naučit identifikovat. Pak přichází fáze učení nebo tréninku, takže je stále přesnější a má postupně menší chybovost. To je čas, kdy bychom naši neuronovou síť prezentovali pomerančem a jiným ovocem. Ve fázi tréninku dostanou případy, ve kterých jsou oranžoví, a případy, kdy oranžoví nejsou, aby zjistili, zda odpověděli správně, a sdělí jim správnou odpověď.

Pokusíme se o mnoho pokusů a co nejblíže realitě.. Tímto způsobem pomáháme neuronové síti fungovat, když přijdou skutečné případy, a ví, jak správně rozlišovat, stejným způsobem, jakým by to dělala lidská bytost v reálném životě. Pokud bylo školení přiměřené, po zvolení dobrých parametrů rozpoznávání a Pokud jste dobře klasifikovali, neuronová síť bude mít velmi vysokou úspěšnost rozpoznávání vzorů. vysoký.

  • Mohlo by vás zajímat: "Jak fungují neurony?"

Co to jsou a jak přesně fungují?

Nyní, když jsme viděli obecnou představu o tom, co neuronové sítě jsou, a budeme lépe chápat, co to jsou a jak tyto emulátory neuronů lidského mozku fungují a kam do toho všeho zakreslují hluboké neuronové sítě proces.

Představme si, že máme následující neuronovou síť: máme tři vrstvy umělých neuronů. Řekněme, že první vrstva má 4 neurony nebo uzly, druhá 3 a poslední má pouze 2. To vše je příklad umělé neuronové sítě, celkem snadno pochopitelný.

První vrstva je ta, která přijímá data., tedy informace, která může přijít ve formě zvuku, obrazu, vůní, elektrických impulsů... vrstva je vstupní vrstva a má na starosti přijímání všech dat, aby je bylo možné později odeslat následujícímu vrstvy. Při trénování naší neuronové sítě to bude vrstva, se kterou budeme pracovat jako první a dáme ji údaje, které použijeme k tomu, abychom viděli, jak dobře se vám daří předpovídat nebo identifikovat informace, které vám jsou poskytnuty dává.

Druhá vrstva našeho hypotetického modelu je skrytá vrstva, která se nachází přímo uprostřed první a poslední vrstvy., jako by naše neuronová síť byla sendvič. V tomto příkladu máme pouze jednu skrytou vrstvu, ale může jich být tolik, kolik chceme. Mohli bychom mluvit o 50, 100, 1000 nebo dokonce 50 000 vrstvách. V podstatě jsou tyto skryté vrstvy částí neuronové sítě, kterou bychom nazvali hlubokou neuronovou sítí. Čím větší hloubka, tím složitější neuronová síť.

Nakonec máme třetí vrstvu našeho příkladu, která je výstupní vrstvou. Tato vrstva, jak naznačuje její název, má na starosti příjem informací z předchozích vrstev, rozhodování a dává nám odpověď nebo výsledek.

V neuronové síti je každý umělý neuron propojen se všemi následujícími. V našem příkladu, kde jsme uvedli, že máme tři vrstvy po 4, 3 a 2 neuronech, jsou 4 vstupní vrstvy spojené s 3 skryté vrstvy a 3 skryté vrstvy s 2 na výstupu, což nám dává celkem 18 spojení.

Všechny tyto neurony jsou spojeny s neurony z další vrstvy a posílají informace ve směru vstup->skrytý->výstup.. Pokud by bylo skrytých vrstev více, mluvili bychom o větším počtu spojení, posílající informace ze skryté vrstvy do skryté vrstvy, dokud nedosáhnou výstupní vrstvy. Jakmile výstupní vrstva obdrží informace, poskytne nám výsledek na základě informací, které obdržela, a způsobu jejich zpracování.

Když trénujeme náš algoritmus, tedy naši neuronovou síť, tento proces, který jsme právě vysvětlili, bude proveden mnohokrát. Chystáme se do sítě doručit nějaká data, uvidíme, co nám výsledek dá, analyzujeme je a porovnáme s tím, co jsme očekávali, že nám výsledek dá. Pokud existuje velký rozdíl mezi tím, co se očekává, a tím, co se získá, znamená to, že existuje vysoká míra chyb, a proto je nutné provést několik úprav.

Jak fungují umělé neurony?

Nyní porozumíme individuálnímu fungování neuronů, které pracují v rámci neuronové sítě. Neuron přijímá vstupní informace od předchozího neuronu. Řekněme, že tento neuron přijímá tři informační vstupy, z nichž každý pochází ze tří neuronů předchozí vrstvy. Tento neuron zase generuje výstupy, v tomto případě řekněme, že je připojen pouze k neuronu další vrstvy.

Každé spojení, které má tento neuron se třemi neurony předchozí vrstvy, přináší hodnotu „x“, což je hodnota, kterou nám posílá předchozí neuron.; a má také hodnotu "w", což je hmotnost tohoto spojení. Hmotnost je hodnota, která nám pomáhá přikládat větší důležitost jednomu spojení před ostatními. Stručně řečeno, každé spojení s předchozími neurony má hodnotu „x“ a „w“, které se násobí (x·w).

Také budeme mít hodnota zvaná „bias“ nebo bias reprezentovaná „b“, což je počet chyb, které povzbudí určité neurony, aby se aktivovaly snadněji než jiné. Kromě toho máme v neuronu aktivační funkci, což způsobuje jeho stupeň klasifikace různých prvků (str. např. pomeranče) není lineární. Každý neuron má sám o sobě různé parametry, které je třeba vzít v úvahu, díky čemuž je celý systém, to je neuronová síť, klasifikován nelineárním způsobem.

Jak neuron ví, jestli se musí aktivovat nebo ne? to znamená, kdy víte, zda máte odeslat informace do další vrstvy? Toto rozhodnutí se řídí následující rovnicí:

nervová síť

Tento vzorec znamená, že je třeba vytvořit součet všech vah „w“ vynásobený všemi hodnotami „x“, které neuron přijímá z předchozí vrstvy. K tomu se přidá zkreslení "b".

Výsledek této rovnice je odeslán do aktivační funkce, což je jednoduše funkce, která nám říká, že pokud je výsledek této rovnice větší než a určité číslo, neuron vyšle signál do další vrstvy, a pokud je menší, pak ne poslat to Umělý neuron se tedy rozhoduje, zda poslat nebo neposílat informace neuronům následovně: vrstva pomocí výstupu, který budeme nazývat "y", výstup, který je naopak vstupem "x" následujícího neuron.

A jak trénujete celou síť?

První věc, která se udělá, je doručit data do první vrstvy, jak jsme již dříve komentovali. Tato vrstva bude odesílat informace do následujících vrstev, což jsou skryté vrstvy nebo hluboká neuronová síť. Neurony těchto vrstev se aktivují nebo ne v závislosti na přijaté informaci. Nakonec nám výstupní vrstva dá výsledek, který porovnáme s hodnotou, na kterou jsme čekali, zda se neuronová síť naučila, co má dělat správně.

Pokud se neučil dobře, provedeme další interakci, tj. opět vám předložíme informace a uvidíme, jak se neuronová síť chová. V závislosti na získaných výsledcích budou upraveny hodnoty „b“, to znamená zkreslení každého neuronu, a „w“, což je váha každého spojení s každým neuronem, aby se snížila chyba. Abychom zjistili, jak velká je tato chyba, použijeme jinou rovnici, která je následující:

nervová síť

Tato rovnice je střední kvadratická chyba. Uděláme součet y (x), což je hodnota, kterou nám naše síť dala v interakci mínus „a“, což je hodnota, kterou jsme od ní očekávali, zvýšená na druhou mocninu. Nakonec tento součet vynásobíme 1/2n, což je „n“ počet interakcí, které jsme vyslali k trénování naší neuronové sítě.

Předpokládejme například, že máme následující hodnoty

nervová síť

První sloupec „y (x)“ představuje to, co nám naše síť poskytla v každé ze čtyř interakcí, které jsme testovali. Hodnoty, které jsme získali, jak je vidět, neodpovídají hodnotám ve druhém sloupci „a“, což jsou požadované hodnoty pro každou z testovaných interakcí. Poslední sloupec představuje chybu každé interakce.

Použití výše uvedeného vzorce a použití těchto dat zde, přičemž mějte na paměti, že v tomto případě n = 4 (4 interakce) nám dává hodnotu 3,87, což je střední kvadratická chyba, kterou má naše neuronová síť v těchto momenty. Když víme o chybě, musíme nyní, jak jsme již dříve poznamenali, změnit zaujatost a zaujatost váhy každého z neuronů a jejich interakce se záměrem, že tímto způsobem je chyba snížit.

V tomto bodě se hlásí inženýři a informatici algoritmus zvaný gradientní sestup pomocí kterých mohou získat hodnoty pro testování a úpravu zkreslení a hmotnosti každého umělého neuronu takže se tímto způsobem získá stále menší chyba, která se blíží předpovědi nebo výsledku chtěl. Je to otázka testování a čím více interakcí se vytvoří, tím více bude školení a tím více se síť naučí.

Jakmile je neuronová síť adekvátně trénována, bude to tehdy, kdy nám poskytne přesné a spolehlivé předpovědi a identifikace. V tomto bodě budeme mít síť, která bude mít v každém ze svých neuronů hodnotu definovanou hmotností, s kontrolovaným vychýlením as rozhodovací schopností, která systém vytvoří práce.

Bibliografické odkazy:

  • Puig, A. [AMP Tech] (2017, 28. července). Jak fungují neuronové sítě? [Video soubor]. Obnoveno z https://www.youtube.com/watch? v=IQMoglp-fBk&ab_channel=AMPTech
  • Santaolalla, J. [Dejte si vlog] (2017, 11. dubna) CienciaClip Challenge – Co jsou neuronové sítě? [Video soubor]. https://www.youtube.com/watch? v=rTpr6DuY4LU&ab_channel=DateunVlog
  • Schmidhuber, J. (2015). „Hluboké učení v neuronových sítích: Přehled“. Neuronové sítě. 61: 85–117. arXiv: 1404,7828. doi: 10.1016/j.neunet.2014.09.003. PMID 25462637. S2CID 11715509
Je vytváření obrázků pomocí umělé inteligence uměním?

Je vytváření obrázků pomocí umělé inteligence uměním?

Řekl to již Ernst Gombrich ve svém nesmrtelném díle Dějiny umění: Umění neexistuje s velkým písme...

Přečtěte si více

Od kdy existuje svět módy?

Slovo móda má zřejmý společný kořen s latinským hlasem modus, i když jeho význam je trochu jiný. ...

Přečtěte si více

Kubismus: co to je a vlastnosti tohoto uměleckého hnutí

Kubismus: co to je a vlastnosti tohoto uměleckého hnutí

V roce 1907 Picasso dokončil své plátno. Les Demoiselles d'Avignon (Dámy z Avignonu). Mnozí v obr...

Přečtěte si více

instagram viewer