Mašīnmācībā perceptrons ir uzraudzīts bināro klasifikatoru mācīšanās algoritms. To bieži sauc arī par perceptronu. Binārais klasifikators ir funkcija, kas var izlemt, vai ievade, ko attēlo skaitļu vektors, pieder kādai noteiktai klasei. Šis ir lineārā klasifikatora veids, tas ir, klasifikācijas algoritms, kas paredz prognozes, pamatojoties uz lineāro prognozēšanas funkciju, kas apvieno svaru kopu ar pazīmju vektoru.
Pēdējos gados mākslīgie neironu tīkli ir ieguvuši uzmanību, pateicoties progresam dziļās mācīšanās jomā. Bet kas ir mākslīgais neironu tīkls un no kā tas sastāv?
Iepazīstieties ar Perceptronu
Šajā rakstā mēs īsi apskatīsim mākslīgos neironu tīklus kopumā, pēc tam apskatīsim vienu neironu un visbeidzot (šī ir kodēšanas daļa) mēs ņemsim mākslīgā tīkla visvienkāršāko versiju. neirons, perceptrons, un klasificē tā punktuslidmašīna.
Vai esat kādreiz aizdomājies, kāpēc ir uzdevumi, kas ir tik vienkārši jebkuram cilvēkam, bet neticami sarežģīti datoriem? Mākslīgos neironu tīklus (īsumā ANN) iedvesmoja cilvēka centrālā nervu sistēma. Tāpat kā to bioloģiskie ekvivalenti, ANN ir veidoti uz vienkāršiem signālu apstrādes elementiem, kas ir apvienoti lielā režģī.
Neironu tīkliem ir jāmācās
Atšķirībā no tradicionālajiem algoritmiem neironu tīklus nevar "ieprogrammēt" vai "noregulēt", lai tie darbotos, kā paredzēts. Tāpat kā cilvēka smadzenēm, viņiem jāiemācās izpildīt uzdevumu. Aptuveni runājot, ir trīs mācīšanās stratēģijas.
Vienkāršāko veidu var izmantot, ja ir testa gadījums (pietiekami liels) ar zināmiem rezultātiem. Tad apmācība notiek šādi: apstrādājiet vienu datu kopu. Salīdziniet rezultātu ar zināmo rezultātu. Iestatiet tīklu un mēģiniet vēlreiz. Šī ir mācību stratēģija, ko mēs šeit izmantosim.
Neuzraudzīta mācīšanās
Noderīga, ja nav pieejami testa dati un ja no vēlamās darbības ir iespējams iegūt kādu izmaksu funkciju. Izmaksu funkcija norāda neironu tīklam, cik tālu tas atrodas no mērķa. Pēc tam tīkls var pielāgot savus parametrus, strādājot ar reāliem datiem.
Pastiprināta mācīšanās
Metode "burkāns un nūjiņa". Var izmantot, ja neironu tīkls ģenerē nepārtrauktu darbību. Laika gaitā tīkls iemācās dot priekšroku pareizajām darbībām un izvairīties no nepareizām.
Labi, tagad mēs zinām mazliet parmākslīgo neironu tīklu būtība, bet no kā tie ir izgatavoti? Ko mēs redzēsim, ja atvērsim vāku un ieskatīsimies iekšā?
Neironi ir neironu tīklu celtniecības bloki. Jebkura mākslīgā neironu tīkla galvenā sastāvdaļa ir mākslīgais neirons. Tie ir ne tikai nosaukti to bioloģisko līdzinieku vārdā, bet arī veidoti pēc neironu uzvedības mūsu smadzenēs.
Bioloģija pret tehnoloģiju
Tāpat kā bioloģiskajam neironam ir dendriti signālu uztveršanai, šūnas ķermenis, kas tos apstrādā, un aksons, lai nosūtītu signālus citiem neironiem, mākslīgajam neironam ir vairāki ievades kanāli, apstrādes stadija un viena izeja, kas var atzarojas uz daudziem citiem. mākslīgie neironi.
Vai mēs varam paveikt kaut ko noderīgu ar vienu perceptronu? Ir problēmu klase, ko var atrisināt viens perceptrons. Apsveriet ievades vektoru kā punktu koordinātas. Vektoram ar n-elementiem šis punkts dzīvos n-dimensiju telpā. Lai vienkāršotu dzīvi (un tālāk norādīto kodu), pieņemsim, ka tas ir 2D. Kā papīrs.
Tālāk iedomājieties, ka šajā plaknē uzzīmējam dažus nejaušus punktus un sadalām tos divās kopās, velkot taisnu līniju pāri papīram. Šī līnija sadala punktus divās kopās, vienu virs un otru zem līnijas. Pēc tam abas kopas sauc par lineāri atdalāmām.
Viens perceptrons, lai cik vienkārši tas šķistu, spēj zināt, kur atrodas šī līnija, un, kad tas ir beidzis apmācību, tas var noteikt, vai konkrētais punkts atrodas virs vai zem šīs līnijas.
Vēstureizgudrojumi
Šīs metodes algoritmu 1957. gadā Kornela Aviācijas laboratorijā izgudroja Frenks Rozenblats (bieži nosaukts viņa vārdā), un to finansēja ASV Jūras pētniecības birojs. Perceptrons bija paredzēts kā mašīna, nevis programma, un, lai gan tā pirmo reizi tika ieviesta IBM 704 programmatūrā, pēc tam tas tika ieviests pēc pasūtījuma izgatavotas aparatūras kā "Mark 1 Perceptron". Šī iekārta bija paredzēta attēlu atpazīšanai: tajā bija 400 fotoelementu masīvs, kas nejauši savienots ar neironiem. Svari tika kodēti potenciometros, un svara atjaunināšanu treniņa laikā veica elektromotori.
Preses konferencē, ko 1958. gadā rīkoja ASV jūras kara flote, Rozenblats izteica paziņojumus par perceptronu, kas izraisīja asas diskusijas jauniešu AI kopienā; pamatojoties uz Rozenblata apgalvojumiem, New York Times ziņoja, ka perceptrons ir "embrionāls elektroniskais dators, no kura Jūras kara flote sagaida, ka tā spēs staigāt, runāt, redzēt, rakstīt, reproducēt sevi un apzināties savu eksistenci".
Turpmākā attīstība
Lai gan sākotnēji perceptrons šķita daudzsološs, ātri tika pierādīts, ka perceptronus nevar apmācīt atpazīt daudzas modeļu klases. Tas izraisīja stagnāciju pētniecības jomā ar perceptronu neironu tīkliem daudzus gadus, pirms tika atzīts, ka uz priekšu vērsts neironu tīkls ar diviem vai vairākiem slāņiem (saukts arī pardaudzslāņu perceptroniem) bija daudz lielāka apstrādes jauda nekā viena slāņa perceptroniem (saukti arī par viena slāņa perceptroniem). Viena slāņa perceptrons spēj pētīt tikai lineāri atdalāmas struktūras. 1969. gadā slavenā Mārvina Minska un Seimūra Papīra grāmata "Perceptrons" parādīja, ka šīs tīklu klases nespēj apgūt XOR funkciju. Tomēr tas neattiecas uz nelineārām klasifikācijas funkcijām, kuras var izmantot viena slāņa perceptronā.
Šādu funkciju izmantošana paplašina perceptrona iespējas, tostarp XOR funkcijas ieviešanu. Bieži tiek pieņemts (nepareizi), ka viņi arī pieņēma, ka līdzīgs rezultāts būtu daudzslāņu perceptronu tīklam. Tomēr tas tā nav, jo gan Minskis, gan Paperts jau zināja, ka daudzslāņu perceptroni spēj radīt XOR funkciju. Trīs gadus vēlāk Stīvens Grosbergs publicēja virkni rakstu, kuros tika prezentēti tīkli, kas spēj modelēt diferenciālās funkcijas, kontrasta uzlabošanas funkcijas un XOR funkcijas.
Darbi tika publicēti 1972. un 1973. gadā. Tomēr bieži aizmirstais Minsky/Papert teksts izraisīja būtisku intereses un pētniecības finansējuma samazināšanos ar neironu tīkla perceptronu. Pagāja vēl desmit gadi, pirms 80. gados tika atjaunota neironu tīklu izpēte.
Funkcijas
Perceptron kodola algoritmu 1964. gadā ieviesa Yzerman et al. Mori un Rostamizadeh (2013), kuri pagarina iepriekšējos rezultātus un piešķir jaunas robežas L1.
Perceptrons ir vienkāršots bioloģiskā neirona modelis. Lai gan bieži vien ir nepieciešama bioloģisko neironu modeļu sarežģītība, lai pilnībā izprastu neironu uzvedību, pētījumi liecina, ka perceptronam līdzīgs lineārais modelis var izraisīt zināmu uzvedību, kas novērota reālos neironos.
Perceptron ir lineārs klasifikators, tāpēc tas nekad nenonāks stāvoklī, kurā visi ievades vektori ir pareizi klasificēti, ja apmācības kopa D nav lineāri atdalāma, t.i. ja pozitīvos piemērus no negatīvajiem nevar atdalīt ar hiperplānu. Šajā gadījumā neviens "aptuvens" risinājums soli pa solim neizdosies, izmantojot standarta mācīšanās algoritmu, tā vietā mācīšanās neizdosies pilnībā. Tāpēc, ja apmācības komplekta lineārā atdalāmība nav zināma a priori, ir jāizmanto viena no tālāk norādītajām apmācības iespējām.
Kabatas algoritms
Sprūdrata kabatas algoritms atrisina perceptronu mācīšanās robustuma problēmu, saglabājot labāko līdz šim atrasto risinājumu "kabatā". Pēc tam kabatas algoritms atgriež kabatā esošo risinājumu, nevis pēdējo risinājumu. To var izmantot arī neatdalāmām datu kopām, kuru mērķis ir atrast perceptronu ar dažām nepareizām klasifikācijām. Tomēr šie risinājumi izskatās stohastiski, un tāpēc kabatas algoritms tiem neatbilst.pakāpeniski apmācības laikā, un netiek garantēta, ka tie tiks atklāti noteiktā apmācības soļu skaitā.
Maksovera algoritms
Maxover algoritms ir "izturīgs" tādā nozīmē, ka tas konverģēs neatkarīgi no zināšanām par datu kopas lineāro atdalāmību. Lineāras dalīšanas gadījumā tas atrisinās mācīšanās problēmu, pēc izvēles pat ar optimālu stabilitāti (maksimālā starpība starp klasēm). Neatdalāmām datu kopām tiks atgriezts risinājums ar nelielu skaitu nepareizu klasifikāciju. Visos gadījumos algoritms pamazām tuvojas risinājumam mācību procesā, neatceroties iepriekšējos stāvokļus un bez nejaušiem lēcieniem. Konverģence slēpjas globālajā optimizācijā koplietotām datu kopām un lokālā optimizācijā neatdalāmām datu kopām.
Balsoja Perceptron
Voted Perceptron algoritms ir variants, kurā izmanto vairākus svērtos perceptronus. Algoritms sāk jaunu perceptronu katru reizi, kad piemērs ir nepareizi klasificēts, inicializējot svara vektoru ar pēdējā perceptrona galīgajiem svariem. Katram perceptronam tiks piešķirts arī atšķirīgs svars, kas atbilst tam, cik piemēru tie pareizi klasificē, pirms viens tiek nepareizi klasificēts, un beigās rezultāts būs svērtais balsojums visā perceptronā.
Pieteikums
Atdalāmās problēmās perceptronu apmācība var būt vērsta arī uz lielākās atdalīšanas robežas starp klasēm atrašanu. Tā saucamaisOptimālu stabilitātes perceptronu var noteikt, izmantojot iteratīvas apmācības un optimizācijas shēmas, piemēram, Min-Over vai AdaTron algoritmu. AdaTron izmanto faktu, ka atbilstošā kvadrātiskās optimizācijas problēma ir izliekta. Optimālais stabilitātes perceptrons kopā ar kodola triku ir atbalsta vektora mašīnas konceptuālais pamats.
Alternatīva
Cits veids, kā atrisināt nelineāras problēmas, neizmantojot vairākus slāņus, ir izmantot augstākas kārtas tīklus (sigma-pi bloks). Šāda veida tīklā katrs ievades vektora elements tiek paplašināts ar katru reizināto ieeju kombināciju pa pāriem (otrā secība). To var paplašināt līdz n-kārtas tīklam. Perceptron ir ļoti elastīga lieta.
Tomēr atcerieties, ka labākais klasifikators ne vienmēr ir tas, kas precīzi klasificē visus treniņu datus. Patiešām, ja mums būtu iepriekš noteikts ierobežojums, ka dati tiek iegūti no vienāda varianta Gausa sadalījumiem, lineārais sadalījums ievades telpā ir optimāls un nelineārs risinājums tiek ignorēts.
Citi lineārās klasifikācijas algoritmi ietver Winnow, atbalsta vektoru un loģistikas regresiju. Perceptron ir universāls algoritmu kopums.
Galvenā iespēja uzraudzītām mācībām
Uzraudzīta mācīšanās ir mašīnmācīšanās uzdevums, kas apgūst funkciju, kas kartē ievadi ar izvadipamatojoties uz I/O pāru piemēriem. Viņi secina funkciju no marķētiem apmācības datiem, kas sastāv no piemēru kopas. Uzraudzītās mācībās katrs piemērs ir pāris, kas sastāv no ievades objekta (parasti vektora) un vēlamās izejas vērtības (ko sauc arī par vadības signālu).
Uzraudzītais mācību algoritms analizē apmācības datus un rada aptuvenu funkciju, ko var izmantot, lai parādītu jaunus piemērus. Optimālais scenārijs ļautu algoritmam pareizi noteikt klases etiķetes neredzamiem gadījumiem. Šim nolūkam ir nepieciešams mācību algoritms, lai "saprātīgā" veidā vispārinātu mācību datus līdz neredzētām situācijām.
Paralēlo uzdevumu cilvēku un dzīvnieku psiholoģijā bieži sauc par konceptuālo mācīšanos.