Visszaterjesztés neurális hálózatban: gépi tanulási algoritmus és példa

⚡ Okos összefoglaló

A visszaterjesztés a neurális hálózat alapvető betanítási algoritmusa, amely az előző epochban mért hibákból származó súlyokat finomhangolja, hogy a modell jobban általánosítson láthatatlan adatokon, rétegenként.

  • 🔘 Alapötlet: A láncszabály rétegenként, minden súlyra megadja a veszteség gradiensét.
  • ☑️ Képzési ciklus: Előrehaladás, a hiba mérése, visszafelé terjedése, súlyok frissítése, ismétlés.
  • Két változat: A statikus visszaterjesztés fix bemenetet fix kimenetre képez le; a rekurrens visszaterjesztés először leülepedik, majd terjed.
  • 🧪 Miért számít: A gradiens süllyedés csak mély hálózatok esetén praktikus, mivel a gradiensek rétegről rétegre újrafelhasználhatók.
  • 🇧🇷 Ismert korlátok: A teljesítmény a bemenet minőségétől függ, és a zajos minták torzítják a tanult súlyokat.
  • 🇧🇷 Színátmenet állapota: Sok kis derivált szorzása eltűnő gradienseket okoz; a ReLU és a normalizálás csökkenti a hatást.

Visszaterjedés neurális hálózatban: gépi tanulási algoritmus

Mi az a mesterséges neurális hálózat?

A mesterséges neurális hálózat összekapcsolt I/O egységek csoportja, ahol minden kapcsolatnak súlya van. Segít prediktív modellek felépítésében nagy adatbázisokból, és a tervezés szókincsét az emberi idegrendszerből kölcsönzi. Az ilyen hálózatok támogatják a képfelismerést, a gépi tanulást, a számítógépes beszédet és számos más mintázatfelismerési feladatot.

A visszaterjesztés az az algoritmus, amely eldönti, hogy milyenek legyenek ezek a súlyok, ezért a két ötletet legjobb együtt olvasni.

Mi az a Backpropagation?

A visszaterjesztés a neurális hálózatok betanításának lényege. Ez a módszer a neurális hálózat súlyainak finomhangolására az előző epochban (azaz iterációban) kapott hibaszázalék alapján. A súlyok megfelelő hangolása lehetővé teszi a hibaszázalékok csökkentését és a modell megbízhatóságának növelését az általánosításának növelésével.

A visszaterjesztés a neurális hálózatban a „hibák visszafelé terjedésének” rövid formája. Ez egy szabványos módszer a mesterséges neurális hálózatok képzésére. Ez a módszer segít a veszteségfüggvény gradiensének kiszámításában a hálózat összes súlyához képest.

Két kifejezést gyakran összekevernek. Csak visszaterjesztés számítások a gradiens; egy optimalizáló, mint például a gradiens süllyedés, valójában az, ami változások a súlyok ezt a gradienst használják. Szinte minden modern keretrendszer automatikusan végrehajtja a visszaterjesztést az autodiff motorján keresztül.

Hogyan működik a visszaterjesztési algoritmus

A neurális hálózatokban a visszaterjedési algoritmus a láncszabály segítségével számítja ki a veszteségfüggvény gradiensét egyetlen súlyra. Hatékonyan, rétegenként számítja ki a gradienst, ellentétben a naiv közvetlen számítással. Kiszámítja a gradienst, de nem definiálja, hogyan használja a gradienst. Általánosítja a számítást a delta szabályban.

A láncszabály teszi ezt hatékonnyá. Egy korai súly végső veszteségre gyakorolt ​​hatása a kimenethez vezető út mentén lévő lokális deriváltak szorzata, így az algoritmus minden réteg köztes eredményét gyorsítótárazza a visszaúton, és újra felhasználja az alatta lévő réteg minden súlyához ahelyett, hogy a teljes hálózatot súlyonként újraszámolná.

A megértés érdekében tekintsük a következő visszafelé terjedő neurális hálózati példadiagramot. tracegy teljes menetből áll: a bemenetek bal oldalon érkeznek, az aktiválások a rejtett rétegen keresztül előrehaladnak a kimenethez, majd a mért hiba visszajut ugyanazon kapcsolatok mentén a súlyok korrigálása érdekében.

A visszafelé terjedő algoritmus diagramja, amely az előrehaladást mutatja a bemeneti, rejtett és kimeneti rétegeken keresztül, valamint a visszafelé haladó hibát

  1. Az X bemenetek az előre csatlakoztatott útvonalon keresztül érkeznek
  2. A bemenet modellezése valós W súlyokkal történik. A súlyokat általában véletlenszerűen választják ki.
  3. Számítsa ki minden neuron kimenetét a bemeneti rétegtől a rejtett rétegeken át a kimeneti rétegig.
  4. Számítsa ki a kimenetek hibáját:
    ErrorB= Actual Output – Desired Output
    
  5. Utazz vissza a kimeneti rétegről a rejtett rétegre, hogy a súlyokat úgy állítsd be, hogy a hiba csökkenjen.
  6. Ismételje meg a folyamatot, amíg el nem éri a kívánt eredményt.

Sok tankönyv ugyanazt a mennyiséget írja, mint kívánt mínusz ténylegesMindkét konvenció működik, mivel az előjel elnyelődik, amikor az optimalizáló részlegesen reagál.traca gradienst, feltéve, hogy egy konvenciót tartasz be a hálózatban.

A gyakorlatban a hiba ritkán csupán egy felszínes rész.tracEgy veszteségfüggvény, mint például a regresszióhoz használt átlagos négyzetes hiba vagy az osztályozáshoz használt kereszt-entropia, a kimenetenkénti különbségeket egyetlen számmá alakítja, amelynek gradiens visszaterjesztése valójában kiszámítja a számítást.

Miért van szükségünk visszaszaporításra?

A Backpropagation legkiemelkedőbb előnyei a következők:

  • A visszaszaporítás gyors, egyszerű és könnyen programozható
  • Nem ad hozzá új paramétereket; a finomhangolás az optimalizálóhoz és a hálózathoz tartozik, főként a tanulási sebességhez és a bemenetek számához.
  • Ez egy rugalmas módszer, mivel nem igényel előzetes ismereteket a hálózatról
  • Ez egy szabványos módszer, amely általában jól működik
  • Nem kell külön említeni a megtanulandó függvény jellemzőit.

Egyszerűen fogalmazva, a színátmenetek hatékony előállításának módja nélkül egyetlen rétegnél mélyebb dolgok betanítása számítási szempontból kivitelezhetetlen lenne.

Mi az a továbbító hálózat?

Az előrecsatolt neurális hálózat egy mesterséges neurális hálózat, ahol a csomópontok soha nem alkotnak ciklust. Ennek a neurális hálózatnak van egy bemeneti rétege, rejtett rétegei és egy kimeneti rétege. Ez a mesterséges neurális hálózat első és legegyszerűbb típusa.

A különbségtétel itt azért fontos, mert a visszaterjesztés előrehaladása pontosan egy előrecsatolásos menet; csak a hibajavítás fut az ellenkező irányba.

A visszaterjesztési hálózatok típusai

A visszaterjesztési hálózatok két típusa:

  • Statikus visszaszaporodás
  • Ismétlődő Backpropagation

Statikus visszaszaporodás

Ez egyfajta visszaterjesztési hálózat, amely egy térképet hoz létreping statikus bemenet statikus kimenethez. Hasznos statikus osztályozási problémák, például optikai karakterfelismerés megoldására.

Ismétlődő Backpropagation

Ismétlődő visszaterjedés adatbányászat előrecsatolják, amíg el nem érik a fix értéket. Ezután kiszámítják a hibát, és visszafelé továbbítják.

A két módszer közötti fő különbség az, hogy a térképping gyors a statikus visszaterjedésben, míg nem statikus a rekurens visszaterjedésben. Az alábbi táblázat egymás mellett mutatja a kettőt.

Kritérium Statikus visszaszaporodás Ismétlődő visszaterjesztés
Térképping Statikus bemenet statikus kimenetre Nem statikus; a hálózat a hiba felhasználása előtt leülepedik
Sebesség Gyors, mintánként egy menet Lassabban, az aktiválást addig ismételjük, amíg stabilizálódik
Hálózati alakzat Előrecsatolás, ciklusok nélkül Visszacsatoló kapcsolatokat tartalmaz
Tipikus felhasználás Optikai karakterfelismerés, fix méretű osztályozás Olyan problémák, amelyek kimenete egy állandósult belső állapottól függ

A visszaszaporodás története

  • 1961-ben J. Kelly, Henry Arthur és E. Bryson vezette le a folytonos visszaterjesztés alapkoncepcióját a szabályozáselmélet kontextusában.
  • 1969-ben Bryson és Ho egy többlépcsős dinamikus rendszeroptimalizálási módszert adott.
  • 1970-ben Seppo Linnainmaa publikálta az automatikus differenciálás fordított módját, azt a számítási módszert, amelyre a modern visszaterjesztés épül.
  • 1974-ben Werbos kijelentette ennek az elvnek a mesterséges neurális hálózatban való alkalmazásának lehetőségét.
  • 1982-ben Hopfield meghozta ötletét a neurális hálózatról.
  • 1986-ban David E. Rumelhart, Geoffrey E. Hinton, Ronald J. Williams erőfeszítésével a visszaszaporítás elismerésre tett szert.
  • 1989-ben Yann LeCun és kollégái egy visszaterjesztéssel működő konvolúciós hálózatot képeztek ki kézzel írott számok olvasására, ami az egyik első nagyszabású gyakorlati alkalmazás volt.
  • 1993-ban Wan volt az első ember, aki a backpropagation módszer segítségével megnyert egy nemzetközi mintafelismerő versenyt.
  • 2006-ban Hinton mélyhiedelmekkel és rétegenkénti előtanítással kapcsolatos munkája felélesztette az érdeklődést a mélyhálózatok képzése iránt, amely az eltűnő gradiensek miatt elakadt.
  • 2010-ben Xavier Glorot és Yoshua Bengio elemezték, hogy miért nehéz a mély hálózatokat képezni, és bevezették a továbbfejlesztett súlyozási inicializálást, amely a ReLU aktiválásokkal együtt a mély visszaterjesztést praktikussá tette.
  • 2012-ben az AlexNet (Krizhevsky, Sutskever és Hinton) GPU-gyorsított visszaterjesztéssel nyerte meg az ImageNet versenyt, ezzel elindítva a modern mélytanulási fellendülést.
  • 2014-ben bevezették az Adam optimalizálót (Kingma és Ba), amely gyorsan az alapértelmezett gradiens-leereszkedés variánssá vált, amelyet a visszaterjesztéssel használnak.
  • 2015-ben a kötegelt normalizálás és a reziduális hálózatok (ResNet) megoldották a gradiens áramlási problémákat nagyon mély hálózatokban, lehetővé téve a visszaterjedést több száz rétegen keresztül.
  • 2015 és 2017 között a TensorFlow és a PyTorA ch az automatikus differenciálást standard szoftverfunkcióvá tette, így a színátmeneteket már nem kellett kézzel levezetni.
  • 2017-ben bevezették a Transformer architektúrát, amelyet végponttól végpontig, visszaterjesztéssel képeznek ki, akárcsak a rá épített nagy nyelvi modelleket.
  • 2019-ben Bengio, Hinton és LeCun megkapták az ACM AM Turing-díjat a mély neurális hálózatokkal kapcsolatos munkájukért.
  • 2020-ban a „Visszaterjedés és az agy” című tanulmány (Lillicrap, Santoro, Marris, Akerman és Hinton) azt állította, hogy az agy megközelítheti a visszaterjedésszerű tanulást, újra megnyitva a biológiai valószínűségi vitát.
  • 2022-ben Hinton javasolta az Előre-Előre algoritmust, egy olyan képzési módszert, amely teljesen elkerüli a hátramenetet.
  • 2024-ben John Hopfield és Geoffrey Hinton fizikai Nobel-díjat kapott a mesterséges neurális hálózatokkal történő gépi tanulást lehetővé tevő alapvető felfedezéseikért.
  • 2025-ben az előre-előre módszereket kiterjesztették konvolúciós hálózatokra, ami azt mutatta, hogy a visszaterjesztés nélküli betanítás működhet képosztályozási feladatokon.
  • 2026-tól a visszaterjesztés továbbra is a standard betanítási algoritmus gyakorlatilag az összes mélytanulási modellhez, miközben a kutatás folytatódik a gradiensmentes, lokális és párhuzamos tanulási módszerek terén, amelyek csökkentik a memória- és számítási költségeit.

Backpropagation Kulcspontok

  • Leegyszerűsíti a hálózati struktúrát azáltal, hogy eltávolítja a súlyozott kapcsolatokat, amelyek a legkisebb hatással vannak a betanított hálózatra.
  • Tanulmányoznia kell a bemeneti és aktiválási értékek egy csoportját a bemeneti és a rejtett egységrétegek közötti kapcsolat kialakításához.
  • Segít felmérni, hogy egy adott bemeneti változó milyen hatással van a hálózati kimenetre. Az elemzésből nyert ismereteket szabályokban kell ábrázolni.
  • A visszaterjesztés különösen hasznos a mély neurális hálózatoknál, amelyek hibára hajlamos projekteken dolgoznak, mint például a kép- vagy beszédfelismerés.
  • A visszaterjesztés kihasználja a lánc- és hatványszabályokat, amelyek lehetővé teszik, hogy tetszőleges számú kimenettel működjön.

A visszaterjesztés legjobb gyakorlata

A neurális hálózatokban a visszaterjedés a „cipőfűző” analógia segítségével magyarázható. A súlyfrissítések hasonlóan viselkednek, mint a fűző feszültsége: túl kevés, és semmi sem tart össze, túl sok, és valami elpattan.

Csipkefeszesség Mit jelent ez edzés közben
Túl kevés feszültség Nem eléggé korlátozó és nagyon laza – a modell nem illeszkedik megfelelően
Túl sok feszültség Túl sok kényszer (túledzés); túl sok időt vesz igénybe (viszonylag lassú folyamat); nagyobb a törés valószínűsége
Az egyik csipkét jobban húzod, mint a másikat Kellemetlenség (elfogultság) – a hálózat egyik része dominálja az illeszkedést

Az analógiából két gyakorlati szokás következik: a bemeneteket a betanítás előtt skálázni kell, hogy egyetlen jellemző se legyen erősebb a többinél, és figyelni kell az érvényesítési veszteséget, hogy a feszültség feloldódjon, mielőtt a túltanítás bekövetkezne.

A Backpropagation használatának hátrányai

  • A visszaterjesztés tényleges teljesítménye egy adott probléma esetén a bemeneti adatoktól függ.
  • Az adatbányászatban alkalmazott visszaterjedési algoritmus meglehetősen érzékeny lehet a zajos adatokra
  • Egy mini-köteg felett a visszaterjesztést mátrix alapú megközelítéssel kell megvalósítani; looping Egyszerre egy példa feldolgozása jelentősen lassabb.
  • Mély hálózatokban a kis deriváltak ismételt szorzása a gradienseket nulla felé zsugoríthatja, így a legkorábbi rétegek alig tanulnak – az eltűnő gradiens problémája, amelyet a Google Gépi tanulás összeomlási tanfolyam.

Ezek egyike sem zárja ki a módszer alkalmazását. Ezek azok az okok, amiért a gyakorló szakemberek a ReLU aktiválásához, normalizálásához és gondos tanulási sebesség ütemezéséhez folyamodnak, amikor egy sekély hálózatról egy... mély tanulás modell.

GYIK

A visszaterjesztés kiszámítja a veszteség meredekségét minden súlyhoz képest. A gradiens süllyedés az optimalizáló, amely felhasználja ezt a gradienst és elmozdítja az egyes súlyokat. Az egyik méri a meredekséget; a másik elvégzi a lépést.

A tanulási ráta határozza meg, hogy az egyes súlyok milyen messzire mozdulnak el a gradiensük mentén. Túl kicsi esetén a tanulási folyamat lassú; túl nagy esetén a veszteség oszcillál vagy divergál. Azok az ütemtervek, amelyek korszakokon át csökkentik a rátát, általában megbízhatóbban konvergálnak.

Az időben történő visszaterjesztés úgy képezi a visszatérő hálózatokat, hogy a szekvenciát másolatok láncolatává görgeti ki, majd a szokásos visszaterjesztést alkalmazza rajta. A hosszú szekvenciák általában csonkolódnak, mert a gradiensek különben eltűnnek vagy felrobbannak sok lépésben.

Bármely differenciálható veszteség működik. Az átlagos négyzetes hiba a regresszióhoz, a bináris kereszt-entropia a kétosztályos problémákhoz, a kategorikus kereszt-entropia pedig a többosztályos kimeneti rétegekhez illik. A választás a kimeneti réteg gradiensét változtatja meg, nem magát a visszafelé irányuló algoritmust.

Az automatizált keresőeszközök sokkal gyorsabban vizsgálják a tanulási sebességeket, a rétegszélességeket és a regularizációs beállításokat, mint a manuális próbálkozások és hibák. Bayes-optimalizálás és korai leállításping Az ütemezők gyorsan kiszűrik a gyenge futtatásokat, így a számítási időt azoknak a konfigurációknak hagyják, amelyek ténylegesen csökkentik az érvényesítési veszteséget.

GitHub másodpilóta Egy rövid megjegyzésből készít tanulóciklusokat, gradiensellenőrzéseket és rétegdefiníciókat, ami lerövidíti a sablonmunkát. Numerikus gradiensellenőrzéssel ellenőrzi az általa előállított deriváltakat, mivel egy hihetőnek tűnő, de rossz előjelű függvény csendben tanul.

A nagy súlyok miatt a visszafelé irányuló szorzatok minden rétegen növekednek, amíg a frissítések túl nem lendülnek, és a veszteség instabillá nem válik.ping, a kisebb kezdeti súlyok, a kötegelt normalizálás és az alacsonyabb tanulási ráta mind a tartományon belül tartják a nagyságrendeket.

A köteg (batch) a súlyfrissítés előtt feldolgozott minták csoportja. Az iteráció egyetlen ilyen frissítés. Az epoch egy teljes menet a tanulóhalmazon, amely annyi iterációt tartalmaz, ahány köteg (batch) van.

Foglald össze ezt a bejegyzést a következőképpen: