• Nie Znaleziono Wyników

Propagacja gradientu

N/A
N/A
Protected

Academic year: 2021

Share "Propagacja gradientu"

Copied!
14
0
0

Pełen tekst

(1)

11-1 System warstwowy

11-2 Pochodne dla systemu warstwowego 11-3 Propagacja gradientu

11-4 Propagacja zwrotna gradientu 11-5 Ilustracja (jednowymiarowa) 11-6 Ilustracja (wielowymiarowa) 11-7 Porównanie

11-8 System uporządkowany

11-9 Pochodne dla systemów uporządkowanych 11-10 Propagacja gradientu - postać lokalna

11-11 Propagacja zwrotna gradientu - postać lokalna 11-12 Ilustracja

(2)

System warstwowy

f1 : X0 7→ X1, x1 = f1(x0) . . .

fk : Xk−1 7→ Xk, xk = fk(xk−1) . . .

fn : Xn−1 7→ Xn xn = fn(xn−1) xn = fn(fn−1(. . . (f1(x0))))

(3)

Pochodne dla systemu warstwowego

xn = fn(fn−1(. . . (f1(x0))))

• notacja

fk = dfk

dxk−1

dla i = 1, . . . , n xk|ℓ = dxk

dx

dla ustalonych x0, . . . x−1, ℓ < k

• obliczenie pochodnej dxn

dx0 = fn(xn−1) fn−1(xn−2) . . . f2(x1) f1(x0) gdzie

xk = fk(fk−1 · · · f1(x0)), k = 1, . . . , n

(4)

Propagacja gradientu

• grupowanie “od wejścia do wyjścia”

xn|0 = dxn

dx0 = fn(xn−1) fn−1(xn−2) . . . f2(x1) f1(x0)

| {z }

x

1|0

| {z }

x

2|0

| {z }

x

n−1|0

• algorytm propagacji gradientu x0|0 = 1

xk|0 = fk(xk−1) xk−1|0

xk = fk(xk−1) k = 1, . . . , n

• pochodne i wartości funkcji obliczane są w jednym kroku rekurencyjnym, dla k = 1, . . . , n.

(5)

Propagacja zwrotna gradientu

• grupowanie “od wyjścia do wejścia”

xn|0 = dxn dx0

= fn(xn−1)

| {z }

x

n|n−1

fn−1(xn−2)

| {z }

x

n|n−2

. . . f2(x1)

| {z }

x

n|1

f1(x0)

• algorytm propagacji zwrotnej

– przejście “do przodu”: wartości zmiennych

xk = fk(xk−1), k = 1, . . . , n – powrót: wartości pochodnych

xn|n = 1

xn|ℓ = xn|ℓ+1fℓ+1 (x), = n − 1, . . . , 0

(6)

Ilustracja (jednowymiarowa)

y = sin(exp(x3cos(x3)))

System warstwowy (x0 = x, x4 = y)

x1 = x30

x2 = x1 cos(x1) x3 = exp(x2) x4 = sin(x3) propagacja

x4|0 = cos(x3) x3|0 x3|0 = exp(x2) x2|0

x2|0 = cos(x1) − x1 sin(x1) x1|0 x1|0 = 3 x20 x0|0

x0|0 = 1

propagacja zwrotna x4|0 = 3 x4|1x20

x4|1 = cos(x1) − x1 sin(x1) x4|2 x4|2 = x4|3 exp(x2)

x4|3 = x4|4 cos(x3) x4|4 = 1

(7)

Ilustracja (wielowymiarowa)

y = sin exp(x3) + 4 cos(x3)

system warstwowy (x0 = x, x3 = y)

x1 = x3

x21 = exp(x1) x22 = cos(x1)

x3 = sin(x21 + 4x22) propagacja gradientu

x3|0 = cos(x21+4x22) x21|0 + 4x22|0 x21|0 = exp(x1) x1|0

x22|0 = − sin(x1) x1|0 x1|0 = 3 x2

propagacja zwrotna gradientu x3|0 = 3 x3|1x2

x3|1 = x3|22 exp(x1) − x3|21 sin(x1) x3|21 = cos(x21 + x22)

x3|22 = 4 cos(x21 + x22)

(8)

Porównanie

• propagacja gradientu (FP): pochodne zmiennych pośrednich względem docelowej zmiennej niezależnej

• propagacja zwrotna gradientu (BP): po- chodne docelowej zmiennej niezależnej względem zmiennych pośrednich

• obliczenia w sieci: potrzebne pochodne wskaźnika błędu względem różnych zmien- nych.

(9)

System uporządkowany

f1 : X0 7→ X1 x1 = f1(x0)

. . .

fk : X0 × · · · × Xk−1 7→ Xk xk = fk(x0, . . . , xk−1) . . .

fn : X0 × · · · × Xn−1 7→ Xn xn = fn(x0, . . . , xn−1)

(10)

Pochodne dla systemów uporządkowanych

• oznaczenia (tutaj xk∈ R)

fk|ℓ (x0, . . . , xk−1) =

∂x

fk(x0, . . . , xk−1), 0 ≤ ℓ < k

• Dla pierwszych ℓ zmiennych x0, . . . , xℓ−1, ℓ < k, ustalonych, definiujemy xk|ℓ = dxk

dx

• zależności równoważne xk|ℓ = fk|ℓ +

k−1X

i=ℓ+1

fk|i xi|ℓ 0 ≤ ℓ < k ≤ n (FP)

xk|ℓ = fk|ℓ +

k−1X

j=ℓ+1

xk|j fj|ℓ 0 ≤ ℓ < k ≤ n (BP)

(11)

Propagacja gradientu - postać lokalna

• dla dowolnych dwóch zmiennych u = xk, z = x, ℓ < k dz

du = ∂fz

∂u + X

x

∂fz

∂x dx du

gdzie fz = f jest funkcją definiującą z, a sumowanie rozciąga się na wszystkie zmienne x które bezpośrednio wpływają na z (tzn. argumenty fz)

(12)

Propagacja zwrotna gradientu - postać lokalna

• dla dowolnych dwóch zmiennych u = xk, z = x, ℓ < k dz

du = ∂fz

∂u + X

x

dz dx

dfx du

gdzie fx oznacza funkcję która definiuje x, a sumowanie rozciąga się na wszystkie zmienne x na które bezpośrednio wpływa u (wszystkie funkcje, dla których u jest jednym z argumentów.)

(13)

Ilustracja

system uporządkowany

Q = x3 = f3(x0, x1, x2) x2 = f2(x0, x1)

x1 = f1(x0) propagacja gradientu

x3|0 = f3|0 + f3|1 x1|0 + f3|2 x2|0 x2|0 = f2|0 + f2|1 x1|0

x1|0 = f1|0

propagacja zwrotna gradientu

x3|0 = f3|0 + x3|2f2|0 + x3|1f1|0 x3|1 = f3|1 + x3|2f2|1

x3|2 = f3|2

dla obu algorytmów

x3|0 = f3|0 + f3|1 f1|0 + f3|2 f2|0 + f3|2 f2|1 f1|0

(14)

F = {fi|j }i=0,...,n j=0,...,n

=

0

f1|0 0

... ... . ..

fn|0 fn|1 · · · fn|n−1 0

, X = {xi|j}j=0,...,n i=0,...,n

=

1

x1|0 1

... ... . ..

xn|0 xn|1 · · · xn|n−1 1

dla systemów warstwowych

F =

0

f1 0

. .. . ..

fn 0

propagacja gradientu (F − I) X = −I

Cytaty

Powiązane dokumenty

Lecz kiedy wyższa w ład za wydala rozkaz udania się do szkół dla korzystania t nauk, nic nam n ie pozostaje, ia k tylko dopełnić rozkazów i lubo wyższy

Wiem tylko, że z kwestyą pieniężną nie było trudności, jak się tego obawiano.. Wezmę zresztą

Хто читав его донесеня про сю унїверситетску бучу, той мусів набрати переконаня, що се не студенти для ідеальної цїли допустили ся того акту знищеня,

Praca z podręcznikem ( przeczytaj tekst od str. 218 – 221): pierwsze ośrodki władzy, odzyskanie niepodległości, rząd Jędrzeja Moraczewskiego, 11 listopada.. Przepisz notatkę

Jako osiągnięcie wynikające z art.16 ust.2 ustawy o stopniach naukowych, tytule naukowym oraz o stopniach i tytule w zakresie sztuki Habilitantka przedłożyła do

Kąt jest kątem nachylenia krawędzi bocznej ostrosłupa prawidłowego czworokątnego do płaszczyzny podstawy (zobacz rysunek).. Oblicz stosunek pola powierzchni całkowitej

• Wielkość systemu da Vinci – system składa się z 3 zasadni- czych elementów: konsoli, toru wizyjnego i platformy narzę- dziowej. Wymienione elementy połączone

Вибрати універсальні вимірювальні засоби для вимірювання слідуючих лінійних