számítási grafikonok

hirdetések

a Backpropagation olyan mély tanulási keretekben valósul meg, mint a Tensorflow, Torch, Theano stb., számítási grafikonok használatával. Ennél is fontosabb, hogy a számítási grafikonokon a visszaterjedés megértése több különböző algoritmust és annak variációit ötvözi, mint például a backprop az időben és a backprop a megosztott súlyokkal. Miután mindent átalakítottak számítási gráfmá, továbbra is ugyanaz az algoritmus − csak vissza szaporítás a számítási gráfokon.

mi a számítási gráf

a számítási gráf olyan irányított gráf, ahol a csomópontok matematikai műveleteknek felelnek meg. A számítási gráfok a matematikai kifejezés kifejezésének és értékelésének egyik módja.

például itt van egy egyszerű matematikai egyenlet –

$$p = x+y$$

a fenti egyenlet számítási grafikonját az alábbiak szerint rajzolhatjuk.

számítási Gráfegyenlet1

a fenti számítási gráfnak van egy összeadási csomópontja (“+”jelű csomópont) két bemeneti változóval x és y és egy Q kimenettel.

Vegyünk egy másik, kissé összetettebb példát. A következő egyenlet van.

$$g = \left (x+y \right ) \ast z $$

a fenti egyenletet a következő számítási grafikon képviseli.

Computational Graph Equation2

Computational Graph and Backpropagation

Computational graph and backpropagation, mindkettő fontos alapfogalmak a deep learning képzés neurális hálózatok.

Előre lépés

Előre lépés a számítási grafikonok által képviselt matematikai kifejezés értékének értékelésére szolgáló eljárás. Az előre lépés azt jelenti, hogy a változók értékét előre haladjuk balról (bemenet) jobbra, ahol a kimenet van.

tekintsünk egy példát úgy, hogy adunk valamilyen értéket az összes bemenetnek. Tegyük fel, hogy a következő értékeket adjuk meg az összes bemenetnek.

$$x=1, y=3, z=-3$$

azáltal, hogy ezeket az értékeket adjuk meg a bemeneteknek, végrehajthatjuk az előre haladást, és megkaphatjuk a következő értékeket az egyes csomópontokon lévő kimenetekhez.

először x = 1 és y = 3 értékét használjuk, hogy P = 4-et kapjunk.

Előre lépés

ezután P = 4 és z = -3-at használunk, hogy g = -12-t kapjunk. Balról jobbra megyünk, előre.

előre Pass egyenlet

a hátra Pass céljai

a hátra pass-ban szándékunk az, hogy kiszámítsuk az egyes bemenetek gradienseit a végső kimenethez képest. Ezek a gradiensek elengedhetetlenek az ideghálózat gradiens ereszkedéssel történő képzéséhez.

például a következő színátmeneteket kívánjuk.

kívánt színátmenetek

$$ \ FRAC{\részleges x} {\részleges F}, \ frac {\részleges y} {\részleges F},\frac {\részleges z} {\részleges F}$$

visszafelé lépés (backpropagation)

a visszafelé lépést úgy kezdjük, hogy megtaláljuk a végső kimenet deriváltját a végső kimenethez képest (maga!). Így az identitás levezetését eredményezi, és az érték egyenlő egy.

$$ \ frac {\részleges g} {\részleges g} = 1$$

számítási grafikonunk most az alábbiak szerint néz ki –

visszafelé lépés

ezután elvégezzük a visszafelé haladást a “*” műveleten keresztül. Mivel g=p * z, tudjuk, hogy−

$$\frac {\parciális g} {\parciális z} = p$$

$$\frac {\partial g}{\partial p} = z$$

már ismerjük a Z és p értékeit a forward pass-ból. Ezért kapunk−

$$\frac {\parciális g} {\parciális z} = p = 4$$

és

$$ \ frac {\részleges g} {\részleges p} = z = -3$$

a gradienseket x-nél és y-nál akarjuk kiszámítani−

$$\frac {\parciális g} {\parciális x}, \ frac {\parciális g} {\parciális y}$$

ezt azonban hatékonyan akarjuk megtenni (bár x és g csak két ugrásra van ebben a gráfban, képzeljük el, hogy nagyon messze vannak egymástól). Ezen értékek hatékony kiszámításához a differenciálás láncszabályát fogjuk használni. Tól lánc szabály, van−

$$\frac {\részleges g} {\részleges x}= \ frac {\részleges g} {\részleges p} \ ast \ frac {\részleges p} {\részleges x}$$

$$\frac {\parciális g} {\parciális y}= \ frac {\parciális g} {\parciális p} \ ast \ frac {\parciális p} {\parciális y}$$

de már tudjuk, hogy a dg/dp = -3, dp/dx és dp/dy könnyű, mivel p közvetlenül függ x-től és y-tól. Van –

$$p=x + y \ Rightarrow \ frac {\részleges x} {\részleges p} = 1, \ frac {\részleges y} {\részleges p} = 1$$

ezért kapunk−

$$\frac {\részleges g} {\részleges F} = \ frac {\részleges g} {\részleges p} \ ast \ frac {\részleges p} {\részleges x} = \ bal ( -3 \ jobb).1 = -3$$

ezenkívül az Y bemenethez−

$$\frac {\részleges g} {\részleges y} = \ frac {\részleges g} {\részleges p} \ ast \ frac {\részleges p} {\részleges y} = \ bal ( -3 \ jobb).1 = -3$$

ennek fő oka visszafelé haladva az, hogy amikor x-nél ki kellett számolnunk a gradienst, csak a már kiszámított értékeket használtuk, valamint a DQ/dx-et (a csomópont kimenetének származéka ugyanazon csomópont bemenetéhez viszonyítva). Helyi információkat használtunk a globális érték kiszámításához.

neurális hálózat kiképzésének lépései

neurális hálózat kiképzéséhez kövesse az alábbi lépéseket−

  • az adatkészlet x adatpontjához előre haladunk x bemenettel, és kiszámítjuk a C költséget kimenetként.

  • C-től kezdődően visszafelé haladunk, és kiszámítjuk a gráf összes csomópontjának gradienseit. Ez magában foglalja a neurális hálózati súlyokat képviselő csomópontokat is.

  • ezután frissítjük a súlyokat W = W – tanulási Arány * színátmenetek elvégzésével.

  • ezt a folyamatot addig ismételjük, amíg a stop kritériumok nem teljesülnek.

reklámok

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.