Ve strojovém učení je perceptron řízený algoritmus učení pro binární klasifikátory. Často se mu také říká perceptron. Binární klasifikátor je funkce, která může rozhodnout, zda vstup reprezentovaný vektorem čísel patří do nějaké konkrétní třídy. Jedná se o typ lineárního klasifikátoru, tj. klasifikační algoritmus, který vytváří své předpovědi na základě lineární prediktorové funkce, která kombinuje sadu vah s příznakovým vektorem.
V posledních letech si umělé neuronové sítě získaly pozornost díky pokroku v hlubokém učení. Ale co je umělá neuronová síť a z čeho se skládá?
Meet the Perceptron
V tomto článku se krátce podíváme na umělé neuronové sítě obecně, pak se podíváme na jeden neuron a nakonec (toto je část kódování) vezmeme nejzákladnější verzi umělého neuron, perceptron, a klasifikovat jeho body doletadlo.
Napadlo vás někdy, proč existují úkoly, které jsou pro každého tak snadné, ale pro počítače neuvěřitelně obtížné? Umělé neuronové sítě (zkráceně ANN) byly inspirovány lidským centrálním nervovým systémem. Stejně jako jejich biologický protějšek jsou ANN postaveny na jednoduchých prvcích pro zpracování signálu, které jsou spojeny do velké sítě.
Neurové sítě se musí učit
Na rozdíl od tradičních algoritmů nelze neuronové sítě „naprogramovat“nebo „vyladit“, aby fungovaly tak, jak mají. Stejně jako lidský mozek se musí naučit dokončit úkol. Zhruba řečeno, existují tři strategie učení.
Nejjednodušší způsob lze použít, pokud existuje testovací případ (dostatečně velký) se známými výsledky. Potom školení probíhá takto: zpracujte jednu sadu dat. Porovnejte výsledek se známým výsledkem. Nastavte síť a zkuste to znovu. Toto je strategie učení, kterou zde budeme používat.
Učení bez dozoru
Užitečné, pokud nejsou k dispozici žádná testovací data a pokud je možné odvodit nějakou nákladovou funkci z požadovaného chování. Funkce nákladů říká neuronové síti, jak daleko je od cíle. Síť pak může za běhu upravovat své parametry a pracovat se skutečnými daty.
Posílené učení
Metoda „mrkev a bič“. Lze použít, pokud neuronová síť generuje nepřetržitou akci. Postupem času se síť naučí preferovat správné akce a vyhýbat se těm nesprávným.
Dobře, teď o tom něco málo vímepovaha umělých neuronových sítí, ale z čeho přesně jsou vyrobeny? Co uvidíme, když otevřeme víko a podíváme se dovnitř?
Neurony jsou stavebními kameny neuronových sítí. Hlavní složkou každé umělé neuronové sítě je umělý neuron. Nejen, že jsou pojmenovány po svých biologických protějšcích, ale jsou také modelovány podle chování neuronů v našem mozku.
Biologie vs technologie
Stejně jako má biologický neuron dendrity pro příjem signálů, tělo buňky pro jejich zpracování a axon pro odesílání signálů jiným neuronům, má umělý neuron více vstupních kanálů, fázi zpracování a jeden výstup, který může se rozvětví na mnoho dalších. umělé neurony.
Můžeme udělat něco užitečného s jedním perceptronem? Existuje třída problémů, které může vyřešit jeden perceptron. Vstupní vektor považujte za souřadnice bodu. Pro vektor s n-prvky bude tento bod žít v n-rozměrném prostoru. Pro zjednodušení života (a níže uvedeného kódu) předpokládejme, že je 2D. Jako kus papíru.
Dále si představte, že do této roviny nakreslíme nějaké náhodné body a rozdělíme je na dvě sady nakreslením rovné čáry přes papír. Tato čára rozděluje body na dvě sady, jednu nad a jednu pod čarou. Tyto dvě množiny se pak nazývají lineárně separovatelné.
Jeden perceptron, bez ohledu na to, jak se to může zdát jednoduché, je schopen poznat, kde se tato čára nachází, a když dokončí trénování, dokáže určit, zda je daný bod nad nebo pod touto čárou.
Historievynálezy
Algoritmus pro tuto metodu byl vynalezen v roce 1957 v Cornell Aviation Laboratory Frankem Rosenblattem (často po něm pojmenován), financovaný americkým Úřadem pro námořní výzkum. Perceptron byl zamýšlen jako stroj, nikoli program, a ačkoli jeho první implementace byla v softwaru pro IBM 704, byl následně implementován na zakázkově vyrobeném hardwaru jako „Mark 1 Perceptron“. Tento stroj byl navržen pro rozpoznávání obrazu: měl pole 400 fotobuněk náhodně spojených s neurony. Váhy byly zakódovány v potenciometrech a aktualizace hmotnosti během tréninku byla prováděna elektromotory.
Na tiskové konferenci pořádané americkým námořnictvem v roce 1958 učinil Rosenblatt prohlášení o perceptronu, které vyvolalo vzrušenou debatu mezi mladou komunitou AI; na základě Rosenblattových tvrzení New York Times uvedly, že perceptron je „zárodečný elektronický počítač, o kterém námořnictvo očekává, že bude schopen chodit, mluvit, vidět, psát, reprodukovat se a být si vědom své existence.“
Další vývoj
Přestože se perceptron zpočátku zdál slibný, rychle se ukázalo, že perceptrony nelze vycvičit k rozpoznání mnoha tříd vzorů. To vedlo ke stagnaci na poli výzkumu perceptronových neuronových sítí na mnoho let, než se zjistilo, že dopředná neuronová síť se dvěma nebo více vrstvami (také nazývanávícevrstvý perceptron) měl mnohem větší výpočetní výkon než jednovrstvé perceptrony (také nazývané jednovrstvé perceptrony). Jednovrstvý perceptron je schopen studovat pouze lineárně separovatelné struktury. V roce 1969 slavná kniha „Perceptrony“od Marvina Minského a Seymoura Paperta ukázala, že tyto třídy sítí se nemohou naučit funkci XOR. To však neplatí pro nelineární klasifikační funkce, které lze použít v jednovrstvém perceptronu.
Použití takových funkcí rozšiřuje možnosti perceptronu, včetně implementace funkce XOR. Často se předpokládá (nesprávně), že také předpokládali, že podobný výsledek bude platit pro vícevrstvou perceptronovou síť. To však není tento případ, protože jak Minsky, tak Papert již věděli, že vícevrstvé perceptrony jsou schopny produkovat funkci XOR. O tři roky později publikoval Steven Grossberg sérii článků prezentujících sítě schopné modelovat diferenciální funkce, funkce vylepšení kontrastu a funkce XOR.
Díla byla publikována v letech 1972 a 1973. Často přehlížený text Minsky/Papert však způsobil výrazný pokles zájmu a financování výzkumu s perceptronem neuronové sítě. Uplynulo dalších deset let, než byl v 80. letech oživen výzkum neuronových sítí.
Funkce
Algoritmus jádra Perceptron byl představen v roce 1964 Yzermanem a kol. Mori a Rostamizadeh (2013), kteří rozšiřují předchozí výsledky a dávají nové hranice L1.
Perceptron je zjednodušený model biologického neuronu. Zatímco složitost biologických neurálních modelů je často vyžadována k úplnému pochopení neurálního chování, výzkum ukazuje, že lineární model podobný perceptronu může vyvolat některé chování pozorované u skutečných neuronů.
Perceptron je lineární klasifikátor, takže se nikdy nedostane do stavu se správně klasifikovanými všemi vstupními vektory, pokud trénovací množina D není lineárně separovatelná, tzn. jestliže pozitivní příklady nelze oddělit od negativních nadrovinou. V tomto případě žádné „přibližné“řešení neprojde krok za krokem standardním algoritmem učení, místo toho učení zcela selže. Pokud tedy lineární oddělitelnost trénovací množiny není a priori známa, měla by být použita jedna z níže uvedených možností trénování.
Kapesní algoritmus
Algoritmus ráčnové kapsy řeší problém s robustností učení perceptronu tím, že uchovává nejlepší řešení, které se dosud našlo „v kapse“. Kapesní algoritmus pak vrátí řešení v kapse spíše než poslední řešení. Může být také použit pro neoddělitelné datové sady, kde je cílem najít perceptron s několika chybnými klasifikacemi. Tato řešení však vypadají stochasticky, a proto jim kapesní algoritmus nevyhovuje.postupně v průběhu školení a není zaručeno, že budou detekovány během určitého počtu kroků školení.
Algoritmus Maxover
Maxoverův algoritmus je „robustní“v tom smyslu, že bude konvergovat bez ohledu na znalost lineární separability souboru dat. V případě lineárního rozdělení to vyřeší problém učení, volitelně i s optimální stabilitou (maximální rezerva mezi třídami). Pro neoddělitelné datové sady bude vráceno řešení s malým počtem chybných klasifikací. Algoritmus se ve všech případech postupně přibližuje k řešení během procesu učení, aniž by si pamatoval předchozí stavy a bez náhodných skoků. Konvergence spočívá v globální optimalitě pro sdílené datové sady a lokální optimalitě pro neoddělitelné datové sady.
Voted Perceptron
Algoritmus Voted Perceptron je varianta využívající více vážených perceptronů. Algoritmus spustí nový perceptron pokaždé, když je příklad špatně klasifikován, inicializuje váhový vektor s konečnými váhami posledního perceptronu. Každému perceptronu bude také přidělena odlišná váha odpovídající počtu příkladů, které správně zařadí, než jeden nesprávně zařadí, a na konci bude výstupem vážené hlasování napříč celým perceptronem.
Aplikace
V separovatelných problémech může být perceptronový trénink zaměřen na nalezení největší separační hranice mezi třídami. TzvOptimální perceptron stability lze určit pomocí iterativních tréninkových a optimalizačních schémat, jako je algoritmus Min-Over nebo AdaTron. AdaTron využívá skutečnosti, že odpovídající kvadratický optimalizační problém je konvexní. Optimální perceptron stability spolu s trikem s jádrem je koncepčním základem stroje pro podporu vektorů.
Alternativní
Dalším způsobem řešení nelineárních problémů bez použití více vrstev je použití sítí vyššího řádu (blok sigma-pi). V tomto typu sítě je každý prvek vstupního vektoru rozšířen každou párovou kombinací násobených vstupů (druhého řádu). To lze rozšířit na síť n-řádu. Perceptron je velmi flexibilní věc.
Pamatujte si však, že nejlepší klasifikátor nemusí být nutně ten, který přesně klasifikuje všechna tréninková data. Pokud bychom měli předchozí omezení, že data pocházejí z Gaussova rozdělení se stejnou variantou, lineární rozdělení ve vstupním prostoru je optimální a nelineární řešení je přepsáno.
Další lineární klasifikační algoritmy zahrnují Winnow, podporu vektoru a logistickou regresi. Perceptron je univerzální sada algoritmů.
Hlavní rozsah výuky pod dohledem
Učení pod dohledem je úkol strojového učení, který se učí funkci, která mapuje vstup na výstupna příkladech I/O párů. Odvozují funkci z označených tréninkových dat sestávajících ze sady příkladů. Při učení pod dohledem je každý příklad párem sestávajícím ze vstupního objektu (obvykle vektoru) a požadované výstupní hodnoty (také nazývané řídicí signál).
Algoritmus pod dohledem analyzuje trénovací data a vytváří odhadovanou funkci, kterou lze použít k zobrazení nových příkladů. Optimální scénář by umožnil algoritmu správně určit popisky tříd pro neviditelné instance. To vyžaduje, aby algoritmus učení zobecnil data učení na neviditelné situace "rozumným" způsobem.
Paralelní úkol v psychologii lidí a zvířat se často nazývá konceptuální učení.