Feedforward neuralt nätverk

Den aktuella versionen av sidan har ännu inte granskats av erfarna bidragsgivare och kan skilja sig väsentligt från versionen som granskades den 23 april 2020; kontroller kräver 2 redigeringar .

Ett neuralt feedforward  -nätverk är ett artificiellt neuralt nätverk där anslutningar mellan noder inte bildar en slinga [1] . Ett sådant nätverk skiljer sig från ett återkommande neuralt nätverk .

Det neurala nätverket för feedforward var den första och enklaste typen av konstgjorda neurala nätverk [2] . I detta nätverk färdas information endast i en riktning framåt från ingångsnoderna, genom de dolda noderna (om några) och till utgångsnoderna. Det finns inga cykler eller återkopplingsslingor i nätverket [1] .

Enkelskiktsperceptron

Den enklaste typen av neurala nätverk är det enskiktiga perceptronnätverket, som består av ett enda lager av utgångsnoder; vars ingångar går direkt till utgångarna genom en serie skalor. Summan av produkterna av vikter och inmatningar beräknas vid varje nod, och om värdet överskrider någon tröskel (vanligtvis 0), avfyras neuronen och antar ett aktiverat värde (vanligtvis 1); annars tar den det avaktiverade värdet (vanligtvis −1). Neuroner med en sådan aktiveringsfunktion kallas också artificiella neuroner eller linjära tröskelenheter. I litteraturen syftar termen perceptron ofta på nätverk som består av endast en av dessa enheter. En liknande neuron beskrevs av Warren McCulloch och Walter Pitts på 1940-talet.

Perceptronen kan skapas med hjälp av alla värden för de aktiverade och inaktiverade tillstånden, så länge som tröskelvärdet ligger mellan dem.

Perceptroner kan tränas med en enkel inlärningsalgoritm som vanligtvis kallas deltaregeln . Den beräknar felen mellan den beräknade utgången och provutgångarna och använder dem för att skapa viktjusteringar och implementerar på så sätt en form av gradientnedstigning .

Enkelskiktsperceptroner är endast kapabla att lära sig linjärt separerbara strukturer; 1969, i en berömd monografi som heter Perceptrons , av Marvin Minsky och Seymour Papert , visades det att ett enskiktsnätverk av perceptroner inte kunde lära sig XOR-funktionen (likväl var flerskiktsperceptroner kända för att kunna producera alla möjliga booleska funktioner ) .

Även om enhetströskelenheten är ganska begränsad i sin beräkningskraft, har det visats att nätverk av parallella tröskelenheter kan approximera vilken kontinuerlig funktion som helst från det kompakta intervallet av reella tal till intervallet [-1,1]. Detta resultat kan hittas i Peter Auer, Harald Burgsteiner och Wolfgang Maass "Inlärningsregel för mycket enkla universella approximatorer bestående av ett enda lager av perceptroner" [3] .

Ett neuralt nätverk med ett lager kan beräkna en kontinuerlig utdata istället för en stegvis funktion . Ett vanligt val är den så kallade logistikfunktionen:

Med detta val är nätverket med ett lager identiskt med den logistiska regressionsmodellen som ofta används i statistisk modellering . Den logistiska funktionen är också känd som sigmoidfunktionen . Den har ett kontinuerligt derivat, vilket gör att det kan användas i backpropagation . Denna funktion är också att föredra eftersom dess derivata är lätt att beräkna:

(Det faktum att f uppfyller differentialekvationen ovan visas enkelt genom att tillämpa kedjeregeln )

Flerskiktsperceptron

Denna klass av nätverk består av flera nivåer av beräkningsenheter, vanligtvis sammankopplade med en direkt anslutning. Varje neuron i ett lager har riktade förbindelser med neuroner i nästa lager. I många applikationer använder enheter i dessa nätverk sigmoidfunktionen som en aktiveringsfunktion.

Den universella approximationssatsen för neurala nätverk säger att varje kontinuerlig funktion som kartlägger reella talintervall till något utgående reellt talintervall kan godtyckligt approximeras av en flerskiktsperceptron med endast ett dolt lager. Detta resultat gäller för ett stort antal aktiveringsfunktioner, till exempel för sigmoidfunktioner.

Flerskiktsnätverk använder många inlärningsmetoder, varav den mest populära är backpropagation. Här jämförs utdatavärdena med det korrekta svaret för att beräkna värdet av någon fördefinierad felfunktion. Felet returneras sedan via nätverket på olika sätt. Med hjälp av denna information justerar algoritmen vikten av varje anslutning för att minska värdet på felfunktionen med en liten mängd. Efter att ha upprepat denna process under ett tillräckligt stort antal träningscykler kommer nätverket vanligtvis att konvergera till något tillstånd där beräkningsfelet är litet. I det här fallet kan vi säga att nätverket har lärt sig en viss objektiv funktion . För att korrekt ställa in vikterna används en allmän icke-linjär optimeringsteknik som kallas gradientnedstigning. För att göra detta beräknar nätverket derivatan av felfunktionen med avseende på nätverkets vikter och ändrar vikterna på ett sådant sätt att felet minskar (och går därmed ner på ytan av felfunktionen). Av denna anledning kan backpropagation endast användas i nätverk med differentierbara aktiveringsfunktioner.

Generellt sett är problemet med att träna nätverket att fungera effektivt även på prover som inte användes som träning ett ganska subtilt problem som kräver ytterligare metoder. Detta är särskilt viktigt för fall där endast ett mycket begränsat antal träningsprover är tillgängliga [4] . Faran är att nätverket överlagrar träningsdata och misslyckas med att fånga den sanna statistiska processen som genererar data. Beräkningslärandeteori handlar om att träna klassificerare på en begränsad mängd data. I samband med neurala nätverk säkerställer en enkel heuristik , kallad tidig stopp, ofta att nätverket kommer att generaliseras väl till exempel utanför träningsuppsättningen.

Andra typiska problem med backpropagation-algoritmen är konvergenshastigheten och möjligheten att träffa det lokala minimumet för felfunktionen. Idag finns det praktiska tekniker som gör backpropagation i flerskiktsperceptroner till det bästa verktyget för många maskininlärningsproblem .

Du kan också använda en serie oberoende neurala nätverk som modereras av någon mellanhand, liknande beteende förekommer i hjärnan. Dessa neuroner kan arbeta separat och klara av en stor uppgift, och resultaten kan slutligen kombineras [5] .

Anteckningar

  1. ↑ 1 2 Zell, Andreas. Simulering Neuronaler Netze // [Simulering av neurala nätverk] (på tyska) (första upplagan). Addison Wesley. - 1994. - S. 73 . — ISBN 3-89319-554-8 .
  2. Schmidhuber, Jürgen. Djupt lärande i neurala nätverk: En översikt // Neural Networks. 61:85–117. - 2015. - ISSN 0893-6080 . - doi : 10.1016/j.neunet.2014.09.003 . - arXiv : 1404.7828 .
  3. Auer, Peter; Harald Burgsteiner; Wolfgang Maass. En inlärningsregel för mycket enkla universella approximatorer som består av ett enda lager av perceptroner  // Neural Networks. - 2008. - Nr 21 (5) . — S. 786–795 . - doi : 10.1016/j.neunet.2007.12.036 . — PMID 18249524 .
  4. Roman M. Balabin; Ravilya Z. Safieva; Ekaterina I. Lomakina. Jämförelse av linjära och icke-linjära kalibreringsmodeller baserade på nära infraröd (NIR) spektroskopidata för förutsägelse av bensinegenskaper // Chemometr Intell Lab. 88(2). - 2007. - S. 183-188 . - doi : 10.1016/j.chemolab.2007.04.006 .
  5. Tahmasebi, Pejman; Hezarkhani, Ardeshir. Tillämpning av ett modulärt feedforward-neuralt nätverk för betygsuppskattning // Naturresursforskning. 20(1). - 21 januari 2011. - S. 25-32 . - doi : 10.1007/s11053-011-9135-3 .

Länkar