Perceptron yra Termino apibrėžimas, funkcijos, taikymas

Turinys:

Perceptron yra Termino apibrėžimas, funkcijos, taikymas
Perceptron yra Termino apibrėžimas, funkcijos, taikymas
Anonim

Mašininio mokymosi metu perceptronas yra prižiūrimas dvejetainių klasifikatorių mokymosi algoritmas. Jis taip pat dažnai vadinamas perceptronu. Dvejetainis klasifikatorius yra funkcija, galinti nuspręsti, ar įvestis, pavaizduota skaičių vektoriumi, priklauso kokiai nors konkrečiai klasei. Tai yra linijinio klasifikatoriaus tipas, ty klasifikavimo algoritmas, kuris prognozuoja, remdamasis linijine prognozavimo funkcija, kuri sujungia svorių rinkinį su ypatybių vektoriumi.

Perceptrono formulės
Perceptrono formulės

Pastaraisiais metais dirbtiniai neuroniniai tinklai sulaukė dėmesio dėl gilaus mokymosi pažangos. Bet kas yra dirbtinis neuroninis tinklas ir iš ko jis susideda?

Susipažinkite su Perceptronu

Šiame straipsnyje trumpai apžvelgsime dirbtinius neuroninius tinklus apskritai, tada pažvelgsime į vieną neuroną ir galiausiai (tai yra kodavimo dalis) paimsime paprasčiausią dirbtinio tinklo versiją. neuroną, perceptroną, ir suskirstykite jo taškus įlėktuvas.

Ar kada susimąstėte, kodėl yra užduočių, kurios yra tokios paprastos bet kuriam žmogui, bet neįtikėtinai sunkios kompiuteriams? Dirbtiniai neuroniniai tinklai (trumpiau ANN) buvo įkvėpti žmogaus centrinės nervų sistemos. Kaip ir jų biologinis atitikmuo, ANN yra sukurti naudojant paprastus signalo apdorojimo elementus, kurie yra sujungti į didelį tinklelį.

Neuroniniai tinklai turi išmokti

Skirtingai nei tradiciniai algoritmai, neuroninių tinklų negalima „užprogramuoti“arba „sureguliuoti“, kad jie veiktų taip, kaip numatyta. Kaip ir žmogaus smegenys, jie turi išmokti atlikti užduotį. Grubiai tariant, yra trys mokymosi strategijos.

Lengviausias būdas gali būti naudojamas, jei yra bandomasis atvejis (pakankamai didelis) su žinomais rezultatais. Tada mokymas vyksta taip: apdorokite vieną duomenų rinkinį. Palyginkite rezultatą su žinomu rezultatu. Nustatykite tinklą ir bandykite dar kartą. Tai mokymosi strategija, kurią naudosime čia.

Mokymasis be priežiūros

Naudinga, jei nėra bandymo duomenų ir jei iš norimos elgsenos galima nustatyti tam tikrą išlaidų funkciją. Kainos funkcija nurodo neuroniniam tinklui, kiek jis yra nuo tikslo. Tada tinklas gali reguliuoti savo parametrus, dirbdamas su tikrais duomenimis.

Sustiprintas mokymasis

Morkos ir lazdelės metodas. Galima naudoti, jei neuroninis tinklas generuoja nuolatinį veiksmą. Laikui bėgant tinklas išmoksta teikti pirmenybę teisingiems veiksmams ir vengti netinkamų.

Gerai, dabar mes šiek tiek žinomedirbtinių neuroninių tinklų prigimtis, bet iš ko jie tiksliai pagaminti? Ką pamatysime atidarę dangtį ir pažvelgę į vidų?

Neuronai yra neuroninių tinklų statybinė medžiaga. Pagrindinis bet kurio dirbtinio neuroninio tinklo komponentas yra dirbtinis neuronas. Jie ne tik pavadinti savo biologinių atitikmenų vardais, bet ir modeliuojami pagal mūsų smegenų neuronų elgesį.

Biologija prieš technologijas

Kaip biologinis neuronas turi dendritus signalams priimti, ląstelės kūną juos apdoroti ir aksoną, kuris siunčia signalus kitiems neuronams, dirbtinis neuronas turi kelis įvesties kanalus, apdorojimo etapą ir vieną išėjimą, kuris gali atsišakoja daugeliui kitų. dirbtiniai neuronai.

Ar galime padaryti ką nors naudingo su vienu perceptronu? Yra problemų, kurias gali išspręsti vienas perceptronas, klasė. Apsvarstykite įvesties vektorių kaip taško koordinates. Jei vektorius turi n elementų, šis taškas gyvens n-matėje erdvėje. Norėdami supaprastinti gyvenimą (ir toliau pateiktą kodą), tarkime, kad tai 2D. Kaip popieriaus lapas.

Toliau įsivaizduokite, kad šioje plokštumoje nubrėžiame keletą atsitiktinių taškų ir padalijame juos į dvi aibes, nubrėždami tiesią liniją per popierių. Ši linija padalija taškus į dvi aibes, vieną aukščiau ir kitą žemiau linijos. Tada dvi aibės vadinamos tiesiškai atskirtomis.

Nr.

Istorijaišradimai

Šio metodo algoritmą 1957 m. Kornelio aviacijos laboratorijoje išrado Frankas Rosenblattas (dažnai pavadintas jo vardu), finansuojamas JAV karinio jūrų laivyno tyrimų biuro. Perceptronas buvo skirtas kaip mašina, o ne programa, ir nors pirmą kartą jis buvo įdiegtas IBM 704 programinėje įrangoje, vėliau jis buvo įdiegtas pagal užsakymą pagamintą aparatinę įrangą kaip „Mark 1 Perceptron“. Ši mašina buvo sukurta vaizdų atpažinimui: jame buvo 400 fotoelementų, atsitiktinai sujungtų su neuronais. Svoriai buvo užkoduoti potenciometruose, o svorio atnaujinimas treniruotės metu buvo atliktas elektros varikliais.

1958 m. JAV karinio jūrų laivyno surengtoje spaudos konferencijoje Rosenblatt padarė pareiškimus apie perceptroną, kuris sukėlė karštas diskusijas tarp jaunos AI bendruomenės; remdamasis Rosenblatto teiginiais, New York Times pranešė, kad perceptronas yra „embrioninis elektroninis kompiuteris, kurį karinis jūrų laivynas tikisi, kad galėtų vaikščioti, kalbėti, matyti, rašyti, daugintis ir žinoti apie savo egzistavimą“.

Perceptronų segmentai
Perceptronų segmentai

Tolimesni pokyčiai

Nors iš pradžių perceptronas atrodė daug žadantis, greitai buvo įrodyta, kad perceptronai negali būti išmokyti atpažinti daugelio klasių modelius. Tai sukėlė sąstingį tyrimų srityje su perceptroniniais neuroniniais tinklais daugelį metų, kol buvo pripažinta, kad pirmyn nukreipiamas neuroninis tinklas su dviem ar daugiau sluoksnių (taip pat vadinamasdaugiasluoksnis perceptronas) turėjo daug didesnę apdorojimo galią nei vieno sluoksnio perceptronai (taip pat vadinami vieno sluoksnio perceptronais). Vieno sluoksnio perceptronas gali tirti tik tiesiškai atskiriamas struktūras. 1969 m. garsioji Marvino Minsky ir Seymouro Paperto knyga „Perceptronai“parodė, kad šios tinklų klasės negali išmokti XOR funkcijos. Tačiau tai netaikoma nelinijinėms klasifikavimo funkcijoms, kurios gali būti naudojamos vieno sluoksnio perceptrone.

Perceptronas Rosenblatas
Perceptronas Rosenblatas

Naudojant tokias funkcijas, išplečiamos perceptrono galimybės, įskaitant XOR funkcijos įgyvendinimą. Dažnai manoma (neteisingai), kad jie taip pat manė, kad panašus rezultatas galioja ir daugiasluoksniam perceptronų tinklui. Tačiau taip nėra, nes ir Minskis, ir Papertas jau žinojo, kad daugiasluoksniai perceptronai gali sukurti XOR funkciją. Po trejų metų Stevenas Grossbergas paskelbė keletą straipsnių, kuriuose pristatomi tinklai, galintys modeliuoti diferencialines, kontrasto didinimo ir XOR funkcijas.

Kūriniai buvo paskelbti 1972 ir 1973 m. Tačiau dažnai nepastebimas Minsky/Papert tekstas labai sumažino susidomėjimą ir mokslinių tyrimų finansavimą naudojant neuroninio tinklo perceptroną. Praėjo dar dešimt metų, kol neuroninių tinklų tyrimai buvo atgaivinti devintajame dešimtmetyje.

Funkcijos

Perceptron branduolio algoritmą 1964 m. pristatė Yzerman ir kt. Mori ir Rostamizadeh (2013), kurie pratęsia ankstesnius rezultatus ir suteikia naujas ribas L1.

Perceptronas yra supaprastintas biologinio neurono modelis. Nors biologinių nervų modelių sudėtingumas dažnai reikalingas norint visiškai suprasti nervų elgesį, tyrimai rodo, kad į perceptroną panašus linijinis modelis gali sukelti tam tikrą elgesį, matomą tikruose neuronuose.

Perceptron yra tiesinis klasifikatorius, todėl jis niekada nepateks į būseną, kai visi įvesties vektoriai yra teisingai klasifikuojami, jei mokymo rinkinys D nėra tiesiškai atskiriamas, t.y. jei teigiamų pavyzdžių nuo neigiamų negalima atskirti hiperplokštuma. Šiuo atveju joks „apytikslis“sprendimas žingsnis po žingsnio nevykdys standartinio mokymosi algoritmo, o mokymasis visiškai nepavyks. Todėl, jei tiesinis treniruočių rinkinio atskyrimas iš anksto nežinomas, reikėtų naudoti vieną iš toliau pateiktų treniruočių parinkčių.

Perceptroniniai santykiai
Perceptroniniai santykiai

Kišeninis algoritmas

Reketinės kišenės algoritmas išsprendžia perceptrono mokymosi patikimumo problemą, palikdamas geriausią iki šiol rastą sprendimą „kišenėje“. Tada kišenės algoritmas grąžina kišenėje esantį sprendimą, o ne paskutinį sprendimą. Jis taip pat gali būti naudojamas neatskiriamiems duomenų rinkiniams, kurių tikslas yra rasti perceptroną su keliomis klaidingomis klasifikacijomis. Tačiau šie sprendimai atrodo stochastiški, todėl kišeninis algoritmas jiems netinka.palaipsniui treniruotės metu ir negarantuojama, kad jie bus aptikti per tam tikrą treniruočių žingsnių skaičių.

Maxover Algorithm

Maxover algoritmas yra „tvirtas“ta prasme, kad jis susilies, nepaisant žinių apie duomenų rinkinio tiesinį atskyrimą. Linijinio padalijimo atveju tai išspręs mokymosi problemą, pasirinktinai net esant optimaliam stabilumui (maksimali skirtumas tarp klasių). Neatskiriamiems duomenų rinkiniams bus grąžintas sprendimas su nedideliu klaidingų klasifikacijų skaičiumi. Visais atvejais algoritmas mokymosi proceso metu palaipsniui artėja prie sprendimo, neprisimindamas ankstesnių būsenų ir be atsitiktinių šuolių. Konvergencija yra bendrai naudojamų duomenų rinkinių visuotinis optimalumas ir neatskiriamų duomenų rinkinių vietinis optimalumas.

perceptrono lygtis
perceptrono lygtis

Balsavote „Perceptron“

Voted Perceptron algoritmas yra variantas, kuriame naudojami keli svertiniai perceptronai. Algoritmas paleidžia naują perceptroną kiekvieną kartą, kai pavyzdys neteisingai klasifikuojamas, inicijuodamas svorio vektorių su paskutinio perceptrono svoriais. Kiekvienam perceptronui taip pat bus suteiktas skirtingas svoris, atsižvelgiant į tai, kiek pavyzdžių jie teisingai klasifikuoja prieš klaidingai klasifikuojant vieną, o pabaigoje rezultatas bus svertinis balsas visame perceptrone.

Programa

Esant atskirtoms problemoms, perceptrono mokymas taip pat gali būti skirtas rasti didžiausią atskyrimo ribą tarp klasių. VadinamasisOptimalų stabilumo perceptroną galima nustatyti naudojant kartotines mokymo ir optimizavimo schemas, tokias kaip Min-Over arba AdaTron algoritmas. AdaTron išnaudoja faktą, kad atitinkama kvadratinio optimizavimo problema yra išgaubta. Optimalus stabilumo perceptronas kartu su branduolio gudrybe yra koncepcinis paramos vektoriaus mašinos pagrindas.

Daugiasluoksnis perceptronas
Daugiasluoksnis perceptronas

Alternatyva

Kitas būdas išspręsti nelinijines problemas nenaudojant kelių sluoksnių – naudoti aukštesnės eilės tinklus (sigma-pi blokas). Šio tipo tinkle kiekvienas įvesties vektoriaus elementas išplečiamas kiekviena porine padaugintų įėjimų kombinacija (antra tvarka). Tai gali būti išplėsta iki n eilės tinklo. Perceptron yra labai lankstus dalykas.

Tačiau atminkite, kad geriausias klasifikatorius nebūtinai yra tas, kuris tiksliai klasifikuoja visus treniruočių duomenis. Iš tiesų, jei turėtume išankstinį apribojimą, kad duomenys būtų gaunami iš vienodo varianto Gauso skirstinių, linijinis padalijimas įvesties erdvėje yra optimalus, o nelinijinis sprendimas yra nepaisomas.

Kiti linijiniai klasifikavimo algoritmai apima Winnow, palaikymo vektorių ir logistinę regresiją. Perceptron yra universalus algoritmų rinkinys.

Schemos vertimas į rusų kalbą
Schemos vertimas į rusų kalbą

Pagrindinė prižiūrimo mokymosi sritis

Prižiūrimas mokymasis yra mašininio mokymosi užduotis, kuri išmoksta funkciją, susiejančią įvestį su išvestimiremiantis I/O porų pavyzdžiais. Jie nustato ypatybę iš pažymėtų treniruočių duomenų, sudarytų iš pavyzdžių rinkinio. Prižiūrimo mokymosi atveju kiekvienas pavyzdys yra pora, susidedanti iš įvesties objekto (dažniausiai vektoriaus) ir norimos išvesties reikšmės (taip pat vadinamos valdymo signalu).

Prižiūrimas mokymosi algoritmas analizuoja mokymo duomenis ir sukuria apskaičiuotą funkciją, kurią galima naudoti naujiems pavyzdžiams rodyti. Optimalus scenarijus leistų algoritmui teisingai nustatyti nematomų atvejų klasių etiketes. Tam reikalingas mokymosi algoritmas, kuris „pagrįstu“būdu apibendrintų mokymosi duomenis nematomose situacijose.

Paralelinė užduotis žmonių ir gyvūnų psichologijoje dažnai vadinama konceptualiu mokymusi.

Rekomenduojamas: