A gépi tanulásban a perceptron a bináris osztályozók felügyelt tanulási algoritmusa. Gyakran perceptronnak is nevezik. A bináris osztályozó egy olyan függvény, amely képes eldönteni, hogy egy számvektorral ábrázolt bemenet valamelyik osztályba tartozik-e. Ez egyfajta lineáris osztályozó, vagyis egy olyan osztályozási algoritmus, amely egy lineáris előrejelző függvényen alapul, amely egy súlykészletet kombinál egy jellemzővektorral.
Az elmúlt években a mesterséges neurális hálózatok felkeltették a figyelmet a mély tanulás terén elért fejlődésnek köszönhetően. De mi az a mesterséges neurális hálózat, és miből áll?
Ismerd meg a Perceptront
Ebben a cikkben egy gyors pillantást vetünk a mesterséges neurális hálózatokra általánosságban, majd megnézünk egyetlen neuront, végül (ez a kódolási rész) a mesterséges neurális hálózatok legalapvetőbb verzióját vesszük figyelembe. neuron, a perceptron, és osztályozza pontjaitrepülőgép.
Elgondolkozott már azon, hogy miért vannak olyan feladatok, amelyek olyan egyszerűek bárki számára, de hihetetlenül nehezek a számítógépek számára? A mesterséges neurális hálózatokat (röviden ANN) az emberi központi idegrendszer ihlette. Biológiai megfelelőikhez hasonlóan az ANN-ok is egyszerű jelfeldolgozó elemekre épülnek, amelyeket egy nagy rácsba egyesítenek.
A neurális hálózatoknak tanulniuk kell
A hagyományos algoritmusokkal ellentétben a neurális hálózatokat nem lehet „programozni” vagy „hangolni” a rendeltetésszerű működésre. Csakúgy, mint az emberi agynak, nekik is meg kell tanulniuk elvégezni a feladatot. Nagyjából három tanulási stratégia létezik.
A legegyszerűbb módszer akkor használható, ha van egy teszteset (elég nagy), ismert eredményekkel. Ezután a képzés a következőképpen zajlik: egy adathalmaz feldolgozása. Hasonlítsa össze az eredményt az ismert eredménnyel. Állítsa be a hálózatot, és próbálja újra. Ezt a tanulási stratégiát fogjuk itt használni.
Felügyelet nélküli tanulás
Hasznos, ha nem állnak rendelkezésre tesztadatok, és ha lehetséges valamilyen költségfüggvény származtatása a kívánt viselkedésből. A költségfüggvény megmondja a neurális hálózatnak, hogy milyen messze van a céltól. A hálózat ezután menet közben módosíthatja a paramétereit, valós adatokkal dolgozva.
Megerősített tanulás
A „répa és rúd” módszer. Használható, ha a neurális hálózat folyamatos cselekvést generál. Idővel a hálózat megtanulja, hogy a helyes műveleteket részesítse előnyben, és elkerülje a rosszakat.
Rendben, most már tudunk egy kicsita mesterséges neurális hálózatok természete, de pontosan miből állnak? Mit fogunk látni, ha kinyitjuk a fedelet és belenézünk?
A neuronok a neurális hálózatok építőkövei. Minden mesterséges neurális hálózat fő alkotóeleme egy mesterséges neuron. Nemcsak biológiai megfelelőikről nevezték el őket, hanem agyunk neuronjainak viselkedéséről is modellezték őket.
Biológia vs technológia
Ahogy egy biológiai neuronnak dendritjei vannak a jelek fogadására, egy sejtteste a feldolgozásra és egy axonja arra, hogy jeleket küldjön más neuronoknak, a mesterséges neuronnak több bemeneti csatornája, feldolgozó fokozata és egy kimenete van. elágazik sok máshoz. mesterséges neuronok.
Tehetünk valami hasznosat egyetlen perceptronnal? A problémáknak van egy osztálya, amelyet egyetlen perceptron is meg tud oldani. Tekintsük a bemeneti vektort pontkoordinátáknak. Egy n elemű vektornál ez a pont n-dimenziós térben fog élni. Az élet (és az alábbi kód) egyszerűsítése érdekében tegyük fel, hogy ez 2D. Mint egy darab papír.
Képzeljük el, hogy rajzolunk néhány véletlenszerű pontot ezen a síkon, és két halmazra osztjuk úgy, hogy egyenes vonalat húzunk a papíron. Ez a vonal a pontokat két halmazra osztja, egy a vonal felett és egy alatta. A két halmazt ezután lineárisan elválaszthatónak nevezzük.
Egy perceptron, bármilyen egyszerűnek is tűnik, képes tudni, hogy hol van ez a vonal, és amikor befejezte a képzést, meg tudja határozni, hogy egy adott pont e vonal felett vagy alatt van-e.
Történelemtalálmányok
Ennek a módszernek az algoritmusát 1957-ben a Cornell Aviation Laboratory-ban találta fel Frank Rosenblatt (gyakran róla nevezték el), az Egyesült Államok Tengerészeti Kutatási Hivatala által finanszírozott. A perceptront gépnek szánták, nem programnak, és bár első implementációja az IBM 704 szoftverében történt, ezt követően egyedileg épített hardverre építették „Mark 1 Perceptron” néven. Ezt a gépet képfelismerésre tervezték: 400 fotocellából álló tömb volt, amely véletlenszerűen kapcsolódott neuronokhoz. A súlyokat potenciométerekbe kódolták, az edzés közbeni súlyfrissítést pedig elektromos motorok végezték.
Az amerikai haditengerészet által 1958-ban rendezett sajtótájékoztatón Rosenblatt kijelentéseket tett a perceptronról, amely heves vitákat váltott ki a fiatal mesterséges intelligencia közösségben; Rosenblatt állításai alapján a New York Times arról számolt be, hogy a perceptron „az embrionális elektronikus számítógép, amelytől a haditengerészet elvárja, hogy képes legyen járni, beszélni, látni, írni, reprodukálni magát, és tudatában legyen a létezésének”.
További fejlesztések
Bár a perceptron kezdetben ígéretesnek tűnt, gyorsan bebizonyosodott, hogy a perceptronokat nem lehet megtanítani a minták sok osztályának felismerésére. Ez a perceptron neurális hálózatokkal kapcsolatos kutatási területen hosszú évekig tartó stagnáláshoz vezetett, mielőtt felismerték, hogy egy előrecsatolt, két vagy több rétegű neurális hálózat (ún.többrétegű perceptron) sokkal nagyobb feldolgozási teljesítménnyel rendelkezett, mint az egyrétegű perceptronok (más néven egyrétegű perceptronok). Az egyrétegű perceptron csak lineárisan elválasztható szerkezetek vizsgálatára képes. 1969-ben Marvin Minsky és Seymour Papert híres „Perceptrons” című könyve kimutatta, hogy a hálózatok ezen osztályai nem tudták megtanulni az XOR függvényt. Ez azonban nem vonatkozik az egyrétegű perceptronban használható nemlineáris osztályozási függvényekre.
Az ilyen funkciók használata kiterjeszti a perceptron képességeit, beleértve az XOR függvény megvalósítását is. Gyakran feltételezik (helytelenül), hogy azt is feltételezték, hogy egy többrétegű perceptron hálózatra is hasonló eredmény érvényesül. Ez azonban nem így van, mivel Minsky és Papert is tudta már, hogy a többrétegű perceptronok képesek XOR függvény előállítására. Három évvel később Steven Grossberg publikált egy sor tanulmányt a differenciálfüggvények, a kontrasztjavító funkciók és az XOR függvények modellezésére alkalmas hálózatokról.
A művek 1972-ben és 1973-ban jelentek meg. A gyakran figyelmen kívül hagyott Minsky/Papert szöveg azonban jelentős visszaesést okozott a neurális hálózat perceptronjával kapcsolatos érdeklődésben és kutatásfinanszírozásban. Újabb tíz év telt el, mire a neurális hálózatok kutatása az 1980-as években újjáéledt.
Jellemzők
A Perceptron Kernel Algorithm-ot 1964-ben vezették be Yzerman és munkatársai. Mori és Rostamizadeh (2013), akik kiterjesztik a korábbi eredményeket és új korlátokat adnak L1.
A Perceptron egy biológiai neuron egyszerűsített modellje. Míg az idegi viselkedés teljes megértéséhez gyakran szükség van a biológiai idegi modellek összetettségére, a kutatások azt mutatják, hogy egy perceptronszerű lineáris modell kiválthatja a valódi neuronokban tapaszt alt viselkedés egy részét.
A Perceptron egy lineáris osztályozó, így soha nem kerül olyan állapotba, ahol az összes bemeneti vektor helyesen van besorolva, ha a D tanító halmaz nem lineárisan szétválasztható, pl. ha a pozitív példákat nem lehet hipersíkkal elválasztani a negatív példáktól. Ebben az esetben semmilyen "hozzávetőleges" megoldás nem halad lépésről lépésre a szabványos tanulási algoritmuson keresztül, ehelyett a tanulás teljesen meghiúsul. Ezért, ha a képzési készlet lineáris elválaszthatósága eleve nem ismert, az alábbi képzési lehetőségek egyikét kell használni.
Zsebalgoritmus
A racsnis zseb algoritmus úgy oldja meg a perceptron tanulási robusztussági problémáját, hogy az eddig megtalált legjobb megoldást "a zsebben" tartja. A zsebalgoritmus ezután a zsebben lévő megoldást adja vissza, nem pedig az utolsó megoldást. Nem elválasztható adatkészletekhez is használható, ahol a cél egy perceptron megtalálása kevés téves besorolással. Ezek a megoldások azonban sztochasztikusnak tűnnek, ezért a zsebalgoritmus nem illik hozzájuk.fokozatosan az edzés során, és nem garantált, hogy bizonyos számú edzési lépésnél észlelhetők.
Maxover algoritmus
A Maxover algoritmusa „robusztus” abban az értelemben, hogy az adathalmaz lineáris elválaszthatóságának ismeretétől függetlenül konvergál. Lineáris felosztás esetén ez megoldja a tanulási problémát, opcionálisan akár optimális stabilitás mellett is (maximális árrés az osztályok között). A nem szétválasztható adatkészletek esetében a rendszer egy kis számú hibás besorolást tartalmazó megoldást ad vissza. Az algoritmus minden esetben fokozatosan közelíti meg a megoldást a tanulási folyamat során, az előző állapotok emlékezése és véletlenszerű ugrások nélkül. A konvergencia a megosztott adatkészletek globális és a nem szétválasztható adatkészletek helyi optimalitásában rejlik.
Perceptronra szavazott
A Voted Perceptron algoritmus több súlyozott perceptront használó változata. Az algoritmus minden alkalommal új perceptront indít el, amikor egy példát rosszul osztályoznak, és a súlyvektort az utolsó perceptron végső súlyaival inicializálja. Az egyes perceptronok eltérő súllyal is rendelkeznek annak megfelelően, hogy hány példát helyesen osztályoznak, mielőtt tévesen osztályoznák az egyiket, és a végén a kimenet egy súlyozott szavazat lesz a teljes perceptronon.
Alkalmazás
Szeparálható problémák esetén a perceptron képzés arra is irányulhat, hogy megtaláljuk a legnagyobb elválasztási határt az osztályok között. ÚgynevezettAz optimális stabilitási perceptron iteratív betanítási és optimalizálási sémák segítségével határozható meg, mint például a Min-Over vagy az AdaTron algoritmus. Az AdaTron azt a tényt használja ki, hogy a megfelelő másodfokú optimalizálási probléma konvex. Az optimális stabilitási perceptron a kernel trükkjével együtt a támogató vektorgép fogalmi alapja.
Alternatíva
A nemlineáris problémák több réteg használata nélküli megoldásának másik módja a magasabb rendű hálózatok használata (sigma-pi blokk). Az ilyen típusú hálózatokban a bemeneti vektor minden eleme kibővül a szorzott bemenetek minden páronkénti kombinációjával (másodrendű). Ez kiterjeszthető n-rendű hálózatra. A Perceptron nagyon rugalmas dolog.
Ne feledje azonban, hogy nem feltétlenül az a legjobb osztályozó, amely pontosan osztályozza az összes edzési adatot. Valójában, ha rendelkeznénk azzal az előzetes megkötéssel, hogy az adatok egyenlő variáns Gauss-eloszlásokból származnak, akkor a bemeneti tér lineáris felosztása az optimális, a nemlineáris megoldás pedig felülírásra kerül.
További lineáris osztályozási algoritmusok közé tartozik a Winnow, a támogatási vektor és a logisztikus regresszió. A Perceptron egy univerzális algoritmuskészlet.
A felügyelt tanulás fő területe
A felügyelt tanulás egy gépi tanulási feladat, amely megtanul egy függvényt, amely leképezi a bemenetet a kimenetreI/O párok példái alapján. Egy jellemzőre következtetnek a példákból álló felcímkézett edzésadatokból. A felügyelt tanulásban minden példa egy pár, amely egy bemeneti objektumból (általában egy vektorból) és egy kívánt kimeneti értékből áll (ezt vezérlőjelnek is nevezik).
A felügyelt tanulási algoritmus elemzi a betanítási adatokat, és becsült függvényt állít elő, amely új példák megjelenítésére használható. Az optimális forgatókönyv lehetővé tenné az algoritmus számára, hogy helyesen határozza meg a láthatatlan példányok osztálycímkéit. Ez megköveteli, hogy a tanulási algoritmus „ésszerű” módon általánosítsa a tanulási adatokat nem látott helyzetekre.
Az ember- és állatpszichológia párhuzamos feladatát gyakran fogalmi tanulásnak nevezik.