Perceptron ay Kahulugan ng termino, mga tampok, aplikasyon

Talaan ng mga Nilalaman:

Perceptron ay Kahulugan ng termino, mga tampok, aplikasyon
Perceptron ay Kahulugan ng termino, mga tampok, aplikasyon
Anonim

Sa machine learning, ang perceptron ay isang pinangangasiwaang algorithm ng pag-aaral para sa mga binary classifier. Madalas din itong tinatawag na perceptron. Ang binary classifier ay isang function na maaaring magpasya kung ang isang input, na kinakatawan ng isang vector ng mga numero, ay kabilang sa ilang partikular na klase. Isa itong uri ng linear classifier, iyon ay, isang algorithm ng pag-uuri na gumagawa ng mga hula nito batay sa isang linear predictor function na pinagsasama-sama ang isang set ng mga timbang sa isang feature vector.

Mga formula ng Perceptron
Mga formula ng Perceptron

Sa mga nakalipas na taon, ang mga artificial neural network ay nakakuha ng atensyon dahil sa mga pag-unlad sa malalim na pag-aaral. Ngunit ano ang isang artificial neural network at ano ang nilalaman nito?

Kilalanin ang Perceptron

Sa artikulong ito, titingnan natin ang mga artipisyal na neural network sa pangkalahatan, pagkatapos ay titingnan ang isang neuron, at sa wakas (ito ang bahagi ng coding) kukunin natin ang pinakapangunahing bersyon ng isang artipisyal. neuron, ang perceptron, at uriin ang mga punto nito saeroplano.

Naisip mo na ba kung bakit may mga gawain na napakadali para sa sinumang tao, ngunit napakahirap para sa mga computer? Ang Artificial Neural Networks (ANN para sa maikli) ay inspirasyon ng central nervous system ng tao. Tulad ng kanilang biological na katapat, ang mga ANN ay binuo sa mga simpleng elemento ng pagpoproseso ng signal na pinagsama sa isang malaking grid.

Dapat matuto ang mga neural network

Hindi tulad ng mga tradisyonal na algorithm, ang mga neural network ay hindi maaaring "i-program" o "i-tono" upang gumana ayon sa nilalayon. Tulad ng utak ng tao, dapat silang matutong kumpletuhin ang gawain. Sa madaling salita, may tatlong diskarte sa pag-aaral.

Maaaring gamitin ang pinakamadaling paraan kung mayroong test case (sapat na malaki) na may alam na mga resulta. Pagkatapos ang pagsasanay ay ganito: iproseso ang isang set ng data. Ihambing ang resulta sa kilalang resulta. I-set up ang network at subukang muli. Ito ang diskarte sa pag-aaral na gagamitin natin dito.

Hindi pinangangasiwaang pag-aaral

Kapaki-pakinabang kung walang available na data ng pagsubok at kung posible na makakuha ng ilang function ng gastos mula sa gustong gawi. Ang function ng gastos ay nagsasabi sa neural network kung gaano ito kalayo mula sa target. Ang network ay maaaring isaayos ang mga parameter nito sa mabilisang, gumagana gamit ang totoong data.

Reinforced Learning

Ang "carrot and stick" na paraan. Maaaring gamitin kung ang neural network ay bumubuo ng tuluy-tuloy na pagkilos. Sa paglipas ng panahon, natututo ang network na mas gusto ang mga tamang aksyon at iwasan ang mga mali.

Okay, ngayon alam na namin ang tungkollikas na katangian ng mga artipisyal na neural network, ngunit ano ba talaga ang mga ito? Ano ang makikita natin kung bubuksan natin ang takip at titingnan ang loob?

Ang

Neuron ay ang mga bloke ng pagbuo ng mga neural network. Ang pangunahing bahagi ng anumang artipisyal na neural network ay isang artipisyal na neuron. Hindi lamang pinangalanan ang mga ito ayon sa kanilang mga biological na katapat, ngunit itinulad din ang mga ito ayon sa pag-uugali ng mga neuron sa ating utak.

Biology vs technology

Tulad ng isang biological neuron na may mga dendrite upang makatanggap ng mga signal, isang cell body upang iproseso ang mga ito, at isang axon upang magpadala ng mga signal sa iba pang mga neuron, ang isang artipisyal na neuron ay may maraming input channel, isang yugto ng pagproseso, at isang output na maaaring sanga sa marami pang iba. mga artipisyal na neuron.

Maaari ba tayong gumawa ng isang bagay na kapaki-pakinabang sa iisang perceptron? May isang klase ng mga problema na kayang lutasin ng isang perceptron. Isaalang-alang ang input vector bilang mga coordinate ng punto. Para sa isang vector na may mga n-elemento, ang puntong ito ay mabubuhay sa n-dimensional na espasyo. Upang pasimplehin ang buhay (at ang code sa ibaba), ipagpalagay natin na ito ay 2D. Parang isang pirasong papel.

Susunod, isipin na gumuhit kami ng ilang random na puntos sa eroplanong ito at hinati ang mga ito sa dalawang set sa pamamagitan ng pagguhit ng isang tuwid na linya sa papel. Hinahati ng linyang ito ang mga punto sa dalawang set, isa sa itaas at isa sa ibaba ng linya. Ang dalawang set ay tinatawag na linearly separable.

Ang isang perceptron, gaano man ito kasimple, ay nakakaalam kung nasaan ang linyang ito, at kapag natapos na ang pagsasanay, matutukoy nito kung ang isang partikular na punto ay nasa itaas o nasa ibaba ng linyang ito.

Kasaysayanmga imbensyon

Ang algorithm para sa paraang ito ay naimbento noong 1957 sa Cornell Aviation Laboratory ni Frank Rosenblatt (madalas na ipinangalan sa kanya), na pinondohan ng US Office of Naval Research. Ang perceptron ay inilaan upang maging isang makina, hindi isang programa, at bagama't ang unang pagpapatupad nito ay sa software para sa IBM 704, pagkatapos ay ipinatupad ito sa custom-built na hardware bilang "Mark 1 Perceptron". Idinisenyo ang makinang ito para sa pagkilala ng imahe: mayroon itong hanay ng 400 photocell na random na konektado sa mga neuron. Ang mga timbang ay na-encode sa mga potentiometer at ang pag-update ng timbang sa panahon ng pagsasanay ay ginawa ng mga de-kuryenteng motor.

Sa isang press conference na hino-host ng US Navy noong 1958, gumawa si Rosenblatt ng mga pahayag tungkol sa perceptron na nagdulot ng mainit na debate sa kabataang AI community; batay sa mga pahayag ni Rosenblatt, iniulat ng New York Times na ang perceptron ay "ang embryonic electronic computer na inaasahan ng Navy na makalakad, makapagsalita, makakita, magsulat, magparami ng sarili nito, at magkaroon ng kamalayan sa pagkakaroon nito."

Mga Segment ng Perceptron
Mga Segment ng Perceptron

Mga karagdagang development

Bagaman ang perceptron sa simula ay tila may pag-asa, mabilis itong napatunayan na ang mga perceptron ay hindi maaaring sanayin upang makilala ang maraming klase ng mga pattern. Ito ay humantong sa isang pagwawalang-kilos sa larangan ng pananaliksik na may mga perceptron neural network sa loob ng maraming taon bago ito nakilala na ang isang feed-forward neural network na may dalawa o higit pang mga layer (tinatawag dingmultilayer perceptron) ay may higit na kapangyarihan sa pagpoproseso kaysa sa single layer perceptrons (tinatawag ding single layer perceptrons). Ang isang solong-layer na perceptron ay may kakayahang mag-aral ng mga linearly separable na istruktura. Noong 1969, ang sikat na aklat na "Perceptrons" ni Marvin Minsky at Seymour Papert ay nagpakita na ang mga klase ng network na ito ay hindi matutunan ang XOR function. Gayunpaman, hindi ito nalalapat sa mga non-linear classification function na maaaring gamitin sa isang solong layer na perceptron.

Perceptron Rosenblatt
Perceptron Rosenblatt

Ang paggamit ng mga naturang function ay nagpapalawak sa mga kakayahan ng perceptron, kabilang ang pagpapatupad ng XOR function. Madalas na ipinapalagay (hindi tama) na ipinapalagay din nila na magkakaroon ng katulad na resulta para sa isang multilayer na perceptron network. Gayunpaman, hindi ito ang kaso, dahil ang parehong Minsky at Papert ay alam na na ang multilayer perceptrons ay may kakayahang gumawa ng isang XOR function. Pagkalipas ng tatlong taon, nag-publish si Steven Grossberg ng isang serye ng mga papel na nagpapakita ng mga network na may kakayahang magmodelo ng mga differential function, contrast enhancement function, at XOR function.

Na-publish ang

Works noong 1972 at 1973. Gayunpaman, ang madalas na hindi napapansin na teksto ng Minsky/Papert ay nagdulot ng makabuluhang pagbaba sa interes at pagpopondo sa pananaliksik sa neural network perceptron. Isa pang sampung taon ang lumipas bago muling nabuhay ang pananaliksik sa neural network noong 1980s.

Mga Tampok

Ang Perceptron Kernel Algorithm ay ipinakilala noong 1964 ni Yzerman et al. Mori at Rostamizadeh (2013), na nagpalawak ng mga nakaraang resulta at nagbibigay ng mga bagong hangganan L1.

Ang

Perceptron ay isang pinasimpleng modelo ng isang biological neuron. Bagama't ang pagiging kumplikado ng mga biological neural na modelo ay kadalasang kinakailangan upang lubos na maunawaan ang neural na pag-uugali, ipinapakita ng pananaliksik na ang isang perceptron-like linear na modelo ay maaaring mag-udyok ng ilan sa mga gawi na nakikita sa mga totoong neuron.

Ang Perceptron ay isang linear classifier, kaya hinding-hindi ito mapupunta sa isang estado na ang lahat ng input vector ay wastong inuri kung ang training set D ay hindi linearly separable, i.e. kung ang mga positibong halimbawa ay hindi maihihiwalay sa mga negatibong halimbawa ng isang hyperplane. Sa kasong ito, walang "tinatayang" solusyon ang hakbang-hakbang sa karaniwang algorithm ng pag-aaral, sa halip ay ganap na mabibigo ang pag-aaral. Samakatuwid, kung ang linear separability ng training set ay hindi alam na priori, isa sa mga opsyon sa pagsasanay sa ibaba ang dapat gamitin.

Mga Relasyon ng Perceptron
Mga Relasyon ng Perceptron

Pocket Algorithm

Ang ratchet pocket algorithm ay nilulutas ang perceptron learning robustness problem sa pamamagitan ng pagpapanatiling ang pinakamahusay na solusyon sa ngayon ay matatagpuan "sa bulsa." Ibinabalik ng pocket algorithm ang solusyon sa bulsa kaysa sa huling solusyon. Maaari din itong gamitin para sa mga hindi mapaghihiwalay na mga dataset kung saan ang layunin ay makahanap ng perceptron na may kaunting maling pag-uuri. Gayunpaman, ang mga solusyong ito ay mukhang stochastic at samakatuwid ang pocket algorithm ay hindi akma sa kanila.unti-unti sa kurso ng pagsasanay, at hindi garantisadong matutukoy ang mga ito sa ilang partikular na bilang ng mga hakbang sa pagsasanay.

Maxover Algorithm

Ang algorithm ng Maxover ay "matatag" sa kahulugan na ito ay magsasama-sama anuman ang kaalaman sa linear separability ng set ng data. Sa kaso ng isang linear split, malulutas nito ang problema sa pag-aaral, opsyonal kahit na may pinakamainam na katatagan (maximum na margin sa pagitan ng mga klase). Para sa mga hindi mapaghihiwalay na dataset, ibabalik ang isang solusyon na may maliit na bilang ng mga maling pag-uuri. Sa lahat ng mga kaso, ang algorithm ay unti-unting lumalapit sa solusyon sa panahon ng proseso ng pag-aaral, nang hindi naaalala ang mga nakaraang estado at walang mga random na pagtalon. Ang convergence ay nakasalalay sa pandaigdigang optimality para sa mga nakabahaging set ng data at lokal na optimality para sa hindi mapaghihiwalay na set ng data.

equation ng perceptron
equation ng perceptron

Voted Perceptron

Ang Voted Perceptron algorithm ay isang variant na gumagamit ng maraming weighted perceptron. Ang algorithm ay nagsisimula ng isang bagong perceptron sa tuwing ang isang halimbawa ay mali ang pagkakaklasipika, na sinisimulan ang weight vector sa mga huling weight ng huling perceptron. Ang bawat perceptron ay bibigyan din ng iba't ibang timbang na naaayon sa kung gaano karaming mga halimbawa ang tama nilang naiuri bago ang maling pag-uuri ng isa, at sa dulo ang output ay magiging isang timbang na boto sa buong perceptron.

Application

Sa mga mapaghihiwalay na problema, ang pagsasanay sa perceptron ay maaari ding maglayon sa paghahanap ng pinakamalaking hangganan ng paghihiwalay sa pagitan ng mga klase. tinatawag naMaaaring matukoy ang pinakamainam na stability perceptron gamit ang iterative training at optimization scheme gaya ng Min-Over o AdaTron algorithm. Sinasamantala ng AdaTron ang katotohanan na ang katumbas na quadratic optimization na problema ay matambok. Ang pinakamainam na stability perceptron, kasama ang kernel trick, ay ang konseptong batayan ng support vector machine.

Multilayer perceptron
Multilayer perceptron

Alternatibong

Ang isa pang paraan upang malutas ang mga hindi linear na problema nang hindi gumagamit ng maraming layer ay ang paggamit ng mga network na may mas matataas na pagkakasunud-sunod (sigma-pi block). Sa ganitong uri ng network, ang bawat elemento ng input vector ay pinalawak ng bawat pairwise na kumbinasyon ng mga multiplied na input (pangalawang order). Ito ay maaaring palawigin sa isang n-order na network. Ang Perceptron ay isang napaka-flexible na bagay.

Gayunpaman, tandaan na ang pinakamahusay na classifier ay hindi nangangahulugang ang isa na tumpak na nag-uuri sa lahat ng data ng pagsasanay. Sa katunayan, kung mayroon kaming naunang hadlang na ang data ay nagmumula sa pantay na variant ng mga distribusyon ng Gaussian, ang isang linear na hati sa puwang ng pag-input ay pinakamainam, at ang isang non-linear na solusyon ay na-override.

Iba pang mga linear classification algorithm ay kinabibilangan ng Winnow, support vector at logistic regression. Ang Perceptron ay isang pangkalahatang hanay ng mga algorithm.

Pagsasalin sa Russian ng scheme
Pagsasalin sa Russian ng scheme

Pangunahing saklaw para sa pinangangasiwaang pag-aaral

Ang pinangangasiwaang pag-aaral ay isang machine learning na gawain na natututo ng isang function na nagmamapa ng input sa outputbatay sa mga halimbawa ng mga pares ng I/O. Naghihinuha sila ng isang tampok mula sa may label na data ng pagsasanay na binubuo ng isang hanay ng mga halimbawa. Sa pinangangasiwaang pag-aaral, ang bawat halimbawa ay isang pares na binubuo ng isang input object (karaniwan ay isang vector) at isang nais na output value (tinatawag ding isang control signal).

Sinusuri ng pinangangasiwaang learning algorithm ang data ng pagsasanay at gumagawa ng tinantyang function na magagamit para magpakita ng mga bagong halimbawa. Ang pinakamainam na senaryo ay magbibigay-daan sa algorithm na matukoy nang tama ang mga label ng klase para sa mga hindi nakikitang pagkakataon. Nangangailangan ito ng algorithm ng pag-aaral upang gawing pangkalahatan ang data ng pag-aaral sa mga hindi nakikitang sitwasyon sa isang "makatwirang" paraan.

Ang magkatulad na gawain sa sikolohiya ng tao at hayop ay kadalasang tinatawag na conceptual learning.

Inirerekumendang: