Perceptron on Termin määritelmä, ominaisuudet, sovellus

Sisällysluettelo:

Perceptron on Termin määritelmä, ominaisuudet, sovellus
Perceptron on Termin määritelmä, ominaisuudet, sovellus
Anonim

Koneoppimisessa perceptroni on valvottu oppimisalgoritmi binääriluokittimille. Sitä kutsutaan usein myös perceptroniksi. Binääriluokitus on funktio, joka voi päättää, kuuluuko lukuvektorin esittämä syöte johonkin tiettyyn luokkaan. Tämä on eräänlainen lineaarinen luokitin, eli luokitusalgoritmi, joka tekee ennusteensa lineaarisen ennustajafunktion perusteella, joka yhdistää painojoukon piirrevektoriin.

Perceptronin kaavat
Perceptronin kaavat

Viime vuosina keinotekoiset neuroverkot ovat saaneet huomiota syvän oppimisen edistymisen ansiosta. Mutta mikä on keinotekoinen hermoverkko ja mistä se koostuu?

Tutustu Perceptroniin

Tässä artikkelissa tarkastellaan nopeasti keinotekoisia hermoverkkoja yleensä, sitten tarkastellaan yksittäistä neuronia ja lopuksi (tämä on koodausosa) otamme keinotekoisen hermoverkon perusversion. neuroni, perceptron, ja luokitella sen pisteetkone.

Oletko koskaan miettinyt, miksi on olemassa tehtäviä, jotka ovat niin helppoja kenelle tahansa, mutta uskomattoman vaikeita tietokoneille? Keinotekoiset hermoverkot (lyhyesti ANN) ovat inspiroineet ihmisen keskushermostoa. Kuten niiden biologinen vastine, ANN:t on rakennettu yksinkertaisille signaalinkäsittelyelementeille, jotka yhdistetään suureksi ruudukoksi.

Neuroverkkojen täytyy oppia

Toisin kuin perinteiset algoritmit, hermoverkkoja ei voida "ohjelmoida" tai "virittää" toimimaan tarkoitetulla tavalla. Aivan kuten ihmisaivojen, heidän on opittava suorittamaan tehtävä. Karkeasti sanottuna on kolme oppimisstrategiaa.

Helppointa tapaa voidaan käyttää, jos on olemassa testitapaus (riittävän suuri), jonka tulokset tunnetaan. Sitten koulutus menee näin: käsittele yksi tietojoukko. Vertaa tulosta tunnettuun tulokseen. Määritä verkko ja yritä uudelleen. Tämä on oppimisstrategia, jota käytämme täällä.

Oppiminen ilman valvontaa

Hyödyllinen, jos testitietoja ei ole saatavilla ja jos halutusta käyttäytymisestä on mahdollista johtaa jokin kustannusfunktio. Kustannusfunktio kertoo hermoverkolle, kuinka kaukana se on kohteesta. Verkko voi sitten säätää parametrejaan lennossa ja työskennellä todellisen tiedon kanssa.

Vahvistettu oppiminen

"Porkkana ja tikku" -menetelmä. Voidaan käyttää, jos hermoverkko tuottaa jatkuvan toiminnan. Ajan myötä verkosto oppii suosimaan oikeita toimia ja välttämään vääriä.

Okei, nyt tiedämme vähänkeinotekoisten hermoverkkojen luonne, mutta mistä ne oikein on tehty? Mitä näemme, jos avaamme kannen ja katsomme sisään?

Neuronit ovat hermoverkkojen rakennuspalikoita. Minkä tahansa keinotekoisen hermoverkon pääkomponentti on keinotekoinen neuroni. Niitä ei ole vain nimetty biologisten vastineidensa mukaan, vaan ne on myös mallinnettu aivomme neuronien käyttäytymisen mukaan.

Biologia vs tekniikka

Aivan kuten biologisessa neuronissa on dendriitit vastaanottamaan signaaleja, solurunko käsittelemään niitä ja aksoni lähettää signaaleja muille hermosoluille, keinotekoisessa neuronissa on useita tulokanavia, käsittelyaste ja yksi lähtö, joka voi haarautua moniin muihin. keinotekoiset neuronit.

Voimmeko tehdä jotain hyödyllistä yhdellä perceptronilla? On olemassa joukko ongelmia, jotka yksi perceptron voi ratkaista. Tarkastellaan sisääntulovektoria pistekoordinaateina. Vektorille, jossa on n-alkiota, tämä piste elää n-ulotteisessa avaruudessa. Elämän (ja alla olevan koodin) yksinkertaistamiseksi oletetaan, että se on 2D. Kuin paperinpala.

Kuvittele seuraavaksi, että piirrämme satunnaisia pisteitä tälle tasolle ja jaamme ne kahdeksi joukoksi piirtämällä suoran viivan paperille. Tämä viiva jakaa pisteet kahteen joukkoon, yksi viivan yläpuolelle ja toinen alapuolelle. Näitä kahta joukkoa kutsutaan sitten lineaarisesti erotettaviksi.

Yksi perceptroni, vaikka se näyttää kuinka yksinkertaiselta, pystyy tietämään, missä tämä viiva on, ja kun se on lopettanut harjoittelun, se voi määrittää, onko tietty piste tämän viivan ylä- vai alapuolella.

Historiakeksinnöt

Tämän menetelmän algoritmin keksi vuonna 1957 Cornell Aviation Laboratoryssa Frank Rosenblatt (usein nimetty hänen mukaansa), ja sen rahoitti Yhdysv altain merivoimien tutkimustoimisto. Perceptronin oli tarkoitus olla kone, ei ohjelma, ja vaikka sen ensimmäinen toteutus oli IBM 704:n ohjelmisto, se toteutettiin myöhemmin räätälöityyn laitteistoon nimellä "Mark 1 Perceptron". Tämä kone oli suunniteltu kuvantunnistusta varten: siinä oli 400 valokennon joukko, jotka oli satunnaisesti kytketty hermosoluihin. Painot koodattiin potentiometreihin ja painonpäivitys harjoituksen aikana tehtiin sähkömoottoreilla.

Yhdysv altain laivaston vuonna 1958 isännöimässä lehdistötilaisuudessa Rosenblatt antoi lausuntoja perceptronista, joka aiheutti kiivasta keskustelua nuoren tekoälyyhteisön keskuudessa; Rosenblattin väitteiden perusteella New York Times raportoi, että perceptron on "alkion elektroninen tietokone, jonka laivasto odottaa voivansa kävellä, puhua, nähdä, kirjoittaa, toistaa itseään ja olla tietoinen olemassaolostaan."

Perceptron-segmentit
Perceptron-segmentit

Lisäkehitys

Vaikka perceptroni vaikutti aluksi lupaav alta, nopeasti todistettiin, että perceptroneja ei voitu kouluttaa tunnistamaan monia kuvioluokkia. Tämä johti perceptron-hermoverkkojen tutkimuskentän pysähtyneisyyteen useiden vuosien ajan, ennen kuin havaittiin, että kaksi- tai useampikerroksinen feed-forward-hermoverkko (ns.monikerroksisella perceptronilla) oli paljon enemmän prosessointitehoa kuin yksikerroksisilla perceptroneilla (kutsutaan myös yksikerroksisiksi perceptroneiksi). Yksikerroksinen perceptroni pystyy tutkimaan vain lineaarisesti erotettavia rakenteita. Vuonna 1969 Marvin Minskyn ja Seymour Papertin kuuluisa kirja "Perceptrons" osoitti, että nämä verkkoluokat eivät voineet oppia XOR-toimintoa. Tämä ei kuitenkaan koske epälineaarisia luokitusfunktioita, joita voidaan käyttää yksikerroksisessa perceptronissa.

Perceptron Rosenblatt
Perceptron Rosenblatt

Tällaisten toimintojen käyttö laajentaa perceptronin ominaisuuksia, mukaan lukien XOR-funktion toteuttaminen. Usein oletetaan (virheellisesti), että he myös olettivat samanlaisen tuloksen pätevän monikerroksiselle perceptroniverkolle. Näin ei kuitenkaan ole, koska sekä Minsky että Papert tiesivät jo, että monikerroksiset perceptronit pystyivät tuottamaan XOR-funktion. Kolme vuotta myöhemmin Steven Grossberg julkaisi joukon artikkeleita, joissa esiteltiin verkot, jotka pystyvät mallintamaan differentiaalifunktioita, kontrastinparannustoimintoja ja XOR-funktioita.

Teoksia julkaistiin vuosina 1972 ja 1973. Usein huomiotta jäänyt Minsky/Papert-teksti aiheutti kuitenkin merkittävän kiinnostuksen ja tutkimusrahoituksen laskun hermoverkkoperceptronilla. Kului vielä kymmenen vuotta ennen kuin hermoverkkotutkimus heräsi henkiin 1980-luvulla.

Ominaisuudet

Yzerman et ai. esittelivät Perceptron Kernel Algorithmin vuonna 1964. Mori ja Rostamizadeh (2013), jotka laajentavat aikaisempia tuloksia ja antavat uusia rajoja L1.

Perceptron on yksinkertaistettu malli biologisesta neuronista. Vaikka biologisten hermomallien monimutkaisuus on usein tarpeen hermokäyttäytymisen täydelliseksi ymmärtämiseksi, tutkimukset osoittavat, että perceptronin k altainen lineaarinen malli voi indusoida osan todellisissa neuroneissa havaitusta käyttäytymisestä.

Perceptron on lineaarinen luokitin, joten se ei koskaan pääse tilaan, jossa kaikki tulovektorit on luokiteltu oikein, jos harjoitusjoukko D ei ole lineaarisesti erotettavissa, ts. jos positiivisia esimerkkejä ei voida erottaa negatiivisista esimerkeistä hypertasolla. Tässä tapauksessa mikään "likimääräinen" ratkaisu ei kulje askel askeleelta standardin oppimisalgoritmin läpi, vaan oppiminen epäonnistuu kokonaan. Siksi, jos harjoitussarjan lineaarista erotettavuutta ei tiedetä etukäteen, tulee käyttää jotakin alla olevista harjoitusvaihtoehdoista.

Perceptron-suhteet
Perceptron-suhteet

Taskualgoritmi

Räikkätasku-algoritmi ratkaisee perceptronin oppimisen kestävyysongelman pitämällä parhaan tähän mennessä löydetyn ratkaisun "taskussa". Taskualgoritmi palauttaa sitten taskussa olevan ratkaisun viimeisen ratkaisun sijaan. Sitä voidaan käyttää myös ei-erotettavissa oleville tietojoukoille, joissa tavoitteena on löytää perceptroni, jossa on vähän virheitä. Nämä ratkaisut näyttävät kuitenkin stokastisilta, joten taskualgoritmi ei sovi niihin.vähitellen harjoittelun aikana, eikä niiden havaitsemista tietyn harjoitusvaiheen aikana taata.

Maxover-algoritmi

Maxoverin algoritmi on "vankka" siinä mielessä, että se konvergoi riippumatta tietojoukon lineaarisen erotettavuudesta. Lineaarisen jaon tapauksessa tämä ratkaisee oppimisongelman, valinnaisesti jopa optimaalisella vakaudella (maksimi marginaali luokkien välillä). Ei-erotettavissa oleville tietojoukoille palautetaan ratkaisu, jossa on pieni määrä virheellisiä luokituksia. Kaikissa tapauksissa algoritmi lähestyy ratkaisua vähitellen oppimisprosessin aikana, muistamatta aiempia tiloja ja ilman satunnaisia hyppyjä. Konvergenssi perustuu globaaliin optimaalisuuteen jaetuille tietojoukoille ja paikallisessa optimaalisuudesta ei-erotettavissa oleville tietojoukoille.

perceptronin yhtälö
perceptronin yhtälö

Äänesti Perceptronia

Voted Perceptron -algoritmi on variantti, joka käyttää useita painotettuja perceptroneja. Algoritmi käynnistää uuden perceptronin aina, kun esimerkki luokitellaan väärin, alustaen painovektorin viimeisen perceptronin lopullisilla painoilla. Jokaiselle perceptronille annetaan myös erilainen painoarvo sen mukaan, kuinka monta esimerkkiä he luokittelevat oikein, ennen kuin ne luokitellaan väärin, ja lopussa tulos on painotettu ääni koko perceptronilla.

Hakemus

Separoitavissa tehtävissä perceptroniharjoittelulla voidaan myös pyrkiä löytämään suurin eroraja luokkien välillä. Niin sanottuOptimaalinen stabiilisuusperceptroni voidaan määrittää käyttämällä iteratiivisia koulutus- ja optimointimenetelmiä, kuten Min-Over- tai AdaTron-algoritmia. AdaTron hyödyntää sitä tosiasiaa, että vastaava neliöllinen optimointitehtävä on kupera. Optimaalinen stabiilisuusperceptroni yhdessä ytimen tempun kanssa on tukivektorikoneen käsitteellinen perusta.

Monikerroksinen perceptroni
Monikerroksinen perceptroni

Vaihtoehto

Toinen tapa ratkaista epälineaarisia ongelmia käyttämättä useita kerroksia on käyttää korkeamman asteen verkkoja (sigma-pi-lohko). Tämän tyyppisessä verkossa jokaista tulovektorin elementtiä laajennetaan jokaisella kerrottujen tulojen pareittain yhdistelmällä (toinen kerta). Tämä voidaan laajentaa n-kertaluvun verkkoon. Perceptron on erittäin joustava laite.

Muista kuitenkin, että paras luokitin ei välttämättä ole se, joka luokittelee tarkasti kaikki harjoitustiedot. Itse asiassa, jos meillä olisi edeltävä rajoitus, että data tulee yhtä vaihtelevista Gaussin jakaumista, lineaarinen jako syöttöavaruudessa on optimaalinen ja epälineaarinen ratkaisu ohitetaan.

Muita lineaarisia luokitusalgoritmeja ovat Winnow, tukivektori ja logistinen regressio. Perceptron on yleinen algoritmijoukko.

Kaavan venäjänkielinen käännös
Kaavan venäjänkielinen käännös

Pääalue ohjattuun oppimiseen

Valvottu oppiminen on koneoppimistehtävä, joka oppii funktion, joka yhdistää syötteen tulosteenperustuu esimerkkeihin I/O-pareista. He päättelevät ominaisuuden merkityistä harjoitustiedoista, jotka koostuvat joukosta esimerkkejä. Valvotussa oppimisessa kukin esimerkki on pari, joka koostuu tuloobjektista (yleensä vektorista) ja halutusta lähtöarvosta (kutsutaan myös ohjaussignaaliksi).

Valvottu oppimisalgoritmi analysoi harjoitustiedot ja tuottaa arvioidun funktion, jota voidaan käyttää uusien esimerkkien näyttämiseen. Optimaalinen skenaario antaisi algoritmille mahdollisuuden määrittää oikein näkymättömien esiintymien luokkatunnisteet. Tämä edellyttää, että oppimisalgoritmi yleistää oppimisdatan näkymättömiin tilanteisiin "kohtuullisella" tavalla.

Rinnakkaistehtävää ihmisen ja eläimen psykologiassa kutsutaan usein käsitteelliseksi oppimiseksi.

Suositeltava: