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.
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.
- Az X bemenetek az előre csatlakoztatott útvonalon keresztül érkeznek
- A bemenet modellezése valós W súlyokkal történik. A súlyokat általában véletlenszerűen választják ki.
- Számítsa ki minden neuron kimenetét a bemeneti rétegtől a rejtett rétegeken át a kimeneti rétegig.
- Számítsa ki a kimenetek hibáját:
ErrorB= Actual Output – Desired Output
- Utazz vissza a kimeneti rétegről a rejtett rétegre, hogy a súlyokat úgy állítsd be, hogy a hiba csökkenjen.
- 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.

