Pri strojnem učenju je perceptron nadzorovan učni algoritem za binarne klasifikatorje. Pogosto se imenuje tudi perceptron. Binarni klasifikator je funkcija, ki lahko odloči, ali vhod, predstavljen z vektorjem števil, pripada določenemu razredu. To je vrsta linearnega klasifikatorja, to je klasifikacijskega algoritma, ki svoje napovedi naredi na podlagi funkcije linearnega napovednika, ki združuje niz uteži z vektorjem značilnosti.
V zadnjih letih so umetne nevronske mreže pridobile pozornost zaradi napredka v globokem učenju. Toda kaj je umetna nevronska mreža in iz česa je sestavljena?
Spoznajte Perceptron
V tem članku si bomo na hitro ogledali umetne nevronske mreže na splošno, nato si bomo ogledali en sam nevron in končno (to je del kodiranja) bomo vzeli najosnovnejšo različico umetnega nevrona. nevrona, perceptrona, in razvrsti njegove točke vletalo.
Ste se kdaj vprašali, zakaj obstajajo naloge, ki so tako enostavne za vsako osebo, a neverjetno težke za računalnike? Umetne nevronske mreže (na kratko ANN) so bile navdihnjene s človeškim osrednjim živčnim sistemom. Tako kot njihov biološki dvojnik so ANN zgrajene na preprostih elementih za obdelavo signalov, ki so združeni v veliko mrežo.
Nevronske mreže se morajo naučiti
Za razliko od tradicionalnih algoritmov nevronskih mrež ni mogoče "programirati" ali "uglasiti", da delujejo, kot je predvideno. Tako kot človeški možgani se morajo naučiti opraviti nalogo. Grobo rečeno, obstajajo tri strategije učenja.
Najenostavnejši način je mogoče uporabiti, če obstaja testni primer (dovolj velik) z znanimi rezultati. Nato usposabljanje poteka takole: obdelajte en niz podatkov. Primerjajte rezultat z znanim rezultatom. Nastavite omrežje in poskusite znova. To je učna strategija, ki jo bomo tukaj uporabljali.
Učenje brez nadzora
Korisno, če ni na voljo testnih podatkov in če je mogoče iz želenega vedenja izpeljati kakšno funkcijo stroškov. Funkcija stroškov pove nevronski mreži, kako daleč je od cilja. Omrežje lahko nato sproti prilagaja svoje parametre in dela z resničnimi podatki.
Okrepljeno učenje
Metoda "korenček in palica". Lahko se uporablja, če nevronska mreža ustvarja neprekinjeno dejanje. Sčasoma se omrežje nauči dati prednost pravim dejanjem in se izogibati napačnim.
V redu, zdaj vemo nekaj o temnarave umetnih nevronskih mrež, toda iz česa so narejene? Kaj bomo videli, če odpremo pokrov in pogledamo notri?
Nevroni so gradniki nevronskih mrež. Glavni sestavni del katere koli umetne nevronske mreže je umetni nevron. Ne samo, da so poimenovani po svojih bioloških sorodnikih, ampak so tudi oblikovani po vedenju nevronov v naših možganih.
Biologija proti tehnologiji
Tako kot ima biološki nevron dendrite za sprejemanje signalov, telo celice za njihovo obdelavo in akson za pošiljanje signalov drugim nevronom, ima umetni nevron več vhodnih kanalov, stopnjo obdelave in en izhod, ki lahko veje na številne druge. umetni nevroni.
Ali lahko z enim samim perceptronom naredimo kaj koristnega? Obstaja vrsta problemov, ki jih lahko reši en sam perceptron. Vhodni vektor obravnavajte kot koordinate točke. Za vektor z n-elementi bo ta točka živela v n-dimenzionalnem prostoru. Za poenostavitev življenja (in spodnjo kodo) predpostavimo, da je 2D. Kot kos papirja.
Naprej si predstavljajte, da na tej ravnini narišemo nekaj naključnih točk in jih razdelimo na dva niza tako, da narišemo ravno črto čez papir. Ta črta deli točke na dva niza, enega nad in enega pod črto. Oba niza se potem imenujeta linearno ločljiva.
En perceptron, ne glede na to, kako preprosto se zdi, je sposoben vedeti, kje je ta črta, in ko konča trening, lahko ugotovi, ali je določena točka nad ali pod to črto.
Zgodovinaizumi
Algoritem za to metodo je leta 1957 v Cornellovem letalskem laboratoriju izumil Frank Rosenblatt (pogosto imenovan po njem), ki ga je financiral ameriški urad za pomorske raziskave. Perceptron je bil mišljen kot stroj, ne program, in čeprav je bila njegova prva izvedba v programski opremi za IBM 704, je bil pozneje izveden na strojni opremi, izdelani po meri, kot "Mark 1 Perceptron". Ta stroj je bil zasnovan za prepoznavanje slik: imel je niz 400 fotocelic, naključno povezanih z nevroni. Uteži so bile kodirane v potenciometrih, posodobitev teže med treningom pa je potekala z elektromotorji.
Na tiskovni konferenci, ki jo je organizirala ameriška mornarica leta 1958, je Rosenblatt dal izjave o perceptronu, ki je povzročil burno razpravo med mlado skupnostjo AI; Na podlagi Rosenblattovih trditev je New York Times poročal, da je perceptron "embrionalni elektronski računalnik, za katerega mornarica pričakuje, da bo lahko hodil, govoril, videl, pisal, se reproduciral in se zavedal njegovega obstoja."
Nadaljnji razvoj
Čeprav se je perceptron sprva zdel obetaven, se je hitro izkazalo, da perceptronov ni bilo mogoče usposobiti za prepoznavanje številnih razredov vzorcev. To je povzročilo stagnacijo na raziskovalnem področju s perceptronskimi nevronskimi mrežami več let, preden je bilo ugotovljeno, da je nevronska mreža z dvema ali več plastmi (imenovana tudi nevronska mreža s prenosom naprej)večplastni perceptron) je imel veliko večjo procesorsko moč kot enoslojni perceptron (imenovan tudi enoslojni perceptron). Enoslojni perceptron je sposoben preučevati le linearno ločljive strukture. Leta 1969 je slavna knjiga Marvina Minskyja in Seymourja Papertja "Perceptrons" pokazala, da se ti razredi omrežij ne morejo naučiti funkcije XOR. Vendar to ne velja za nelinearne klasifikacijske funkcije, ki se lahko uporabljajo v enoslojnem perceptronu.
Uporaba takšnih funkcij razširja zmogljivosti perceptrona, vključno z izvajanjem funkcije XOR. Pogosto se domneva (napačno), da so tudi domnevali, da bi podoben rezultat veljal za večplastno perceptronsko omrežje. Vendar to ni tako, saj sta tako Minsky kot Papert že vedela, da so večplastni perceptroni sposobni ustvariti funkcijo XOR. Tri leta pozneje je Steven Grossberg objavil vrsto prispevkov, ki so predstavili omrežja, ki so sposobna modelirati diferencialne funkcije, funkcije izboljšanja kontrasta in funkcije XOR.
Dela so bila objavljena v letih 1972 in 1973. Vendar je pogosto spregledano besedilo Minsky/Papert povzročilo znaten upad zanimanja in financiranja raziskav s perceptronom nevronske mreže. Še deset let je minilo, preden so v osemdesetih letih prejšnjega stoletja ponovno oživele raziskave nevronskih omrežij.
Funkcije
Algoritem jedra Perceptron so leta 1964 predstavili Yzerman et al. Mori in Rostamizadeh (2013), ki razširita prejšnje rezultate in dajeta nove meje L1.
Perceptron je poenostavljen model biološkega nevrona. Čeprav je zapletenost bioloških nevronskih modelov pogosto potrebna za popolno razumevanje nevronskega vedenja, raziskave kažejo, da lahko linearni model, podoben perceptronu, povzroči nekaj vedenja, ki ga opazimo v resničnih nevronih.
Perceptron je linearni klasifikator, zato nikoli ne bo prišel v stanje z vsemi vhodnimi vektorji pravilno razvrščenimi, če vadbeni niz D ni linearno ločljiv, tj. če pozitivnih primerov ni mogoče ločiti od negativnih s hiperravnino. V tem primeru nobena "približna" rešitev ne bo korak za korakom skozi standardni algoritem učenja, namesto tega učenje v celoti ne bo uspelo. Če torej linearna ločljivost vadbenega niza ni znana vnaprej, je treba uporabiti eno od spodnjih možnosti vadbe.
žepni algoritem
Algoritem ratchet pocket rešuje problem odpornosti pri učenju perceptrona tako, da najboljšo rešitev doslej najde "v žepu". Pocket algoritem nato vrne rešitev v žep in ne zadnjo rešitev. Uporablja se lahko tudi za neločljive nabore podatkov, kjer je cilj najti perceptron z nekaj napačnimi klasifikacijami. Vendar so te rešitve videti stohastične in jim zato žepni algoritem ne ustreza.postopoma med treningom in ni zagotovljeno, da bodo zaznani v določenem številu korakov usposabljanja.
Maxover algoritem
Maxoverjev algoritem je "robusten" v smislu, da se bo zbližal ne glede na poznavanje linearne ločljivosti nabora podatkov. V primeru linearne delitve bo to rešilo učni problem, po želji tudi z optimalno stabilnostjo (maksimalna razlika med razredi). Za neločljive nabore podatkov bo vrnjena rešitev z majhnim številom napačnih klasifikacij. V vseh primerih se algoritem med učnim procesom postopoma približuje rešitvi, ne da bi se spomnil prejšnjih stanj in brez naključnih skokov. Konvergenca je v globalni optimalnosti za skupne nize podatkov in lokalni optimalnosti za neločljive nabore podatkov.
glasovan Perceptron
Algoritem Voted Perceptron je različica, ki uporablja več uteženih perceptronov. Algoritem zažene nov perceptron vsakič, ko je primer napačno razvrščen, pri čemer vektor teže inicializira s končnimi utežmi zadnjega perceptrona. Vsak perceptron bo dobil tudi drugačno težo, ki ustreza temu, koliko primerov pravilno razvrsti, preden enega napačno razvrsti, in na koncu bo rezultat ponderiran glas za celoten perceptron.
Prijava
Pri ločljivih težavah je lahko usposabljanje perceptrona usmerjeno tudi v iskanje največje ločitvene meje med razredi. Tako imenovaniOptimalno stabilnost perceptrona je mogoče določiti z uporabo iterativnega usposabljanja in optimizacijskih shem, kot sta algoritem Min-Over ali AdaTron. AdaTron izkorišča dejstvo, da je ustrezen problem kvadratne optimizacije konveksen. Optimalni stabilnostni perceptron, skupaj s trikom jedra, je konceptualna osnova stroja podpornih vektorjev.
Alternativa
Drug način za reševanje nelinearnih problemov brez uporabe več plasti je uporaba omrežij višjega reda (blok sigma-pi). V tej vrsti omrežja se vsak element vhodnega vektorja razširi z vsako parno kombinacijo pomnoženih vhodov (drugi red). To je mogoče razširiti na omrežje n reda. Perceptron je zelo prilagodljiva stvar.
Vendar ne pozabite, da najboljši klasifikator ni nujno tisti, ki natančno razvrsti vse podatke o vadbi. Dejansko, če bi imeli predhodno omejitev, da podatki izvirajo iz enakih variant Gaussovih porazdelitev, je linearna razdelitev v vhodnem prostoru optimalna, nelinearna rešitev pa je preglasljena.
Drugi algoritmi linearne klasifikacije vključujejo Winnow, podporni vektor in logistično regresijo. Perceptron je univerzalni nabor algoritmov.
Glavni obseg nadzorovanega učenja
Nadzorovano učenje je naloga strojnega učenja, ki se nauči funkcije, ki preslika vhod v izhodna podlagi primerov V/I parov. Na podlagi označenih podatkov o usposabljanju, sestavljenih iz niza primerov, sklepajo o lastnosti. Pri nadzorovanem učenju je vsak primer par, ki ga sestavljata vhodni objekt (običajno vektor) in želena izhodna vrednost (imenovana tudi kontrolni signal).
Algoritem za nadzorovano učenje analizira podatke o vadbi in ustvari ocenjeno funkcijo, ki se lahko uporabi za prikaz novih primerov. Optimalni scenarij bi algoritmu omogočil pravilno določitev oznak razreda za nevidne primerke. To zahteva, da algoritem učenja posploši učne podatke na nevidne situacije na "razumen" način.
Vzporedna naloga v psihologiji ljudi in živali se pogosto imenuje konceptualno učenje.