63
Wsteczna Propagacja Błędu (Backpropagation ) Janusz A. Starzyk Wyższa Szkoła Informatyki i Zarządzania w Rzeszowie W oparciu o wykład Prof. Geoffrey Hinton University of Toronto oraz Prof. J. Suykens K.U.Leuven Inteligentne Systemy Autonomiczne

Wsteczna Propagacja Błędu (Backpropagation)

  • Upload
    felcia

  • View
    58

  • Download
    1

Embed Size (px)

DESCRIPTION

Wsteczna Propagacja Błędu (Backpropagation). Inteligentne Systemy Autonomiczne. W oparciu o wykład Prof. Geoffrey Hinton University of Toronto oraz Prof. J. Suykens K.U.Leuven. Janusz A. Starzyk Wyższa Szkoła Informatyki i Zarządzania w Rzeszowie. - PowerPoint PPT Presentation

Citation preview

Page 1: Wsteczna Propagacja  Błędu (Backpropagation)

Wsteczna Propagacja Błędu (Backpropagation)

Janusz A. Starzyk Wyższa Szkoła Informatyki i Zarządzania w Rzeszowie

W oparciu o wykład Prof. Geoffrey HintonUniversity of Toronto orazProf. J. Suykens K.U.Leuven

Inteligentne Systemy Autonomiczne

Page 2: Wsteczna Propagacja  Błędu (Backpropagation)

Uczenie z ukrytymi neuronami(hidden neurons)

• Sieci bez neuronów ukrytych są bardzo ograniczone w modelowaniu zależności wejście-wyjście.– Dodatkowe warstwy liniowych neuronów nie pomogą. – Nieliniowości wyjścia też nie wystarczą.

• Potrzebne są dodatkowe warstwy nieliniowych ukrytych neuronów. Zapewnia to utworzenie uniwersalnego aproksymatora. Ale jak trenować takie sieci? – Potrzebujemy efektywnej metody doboru wszystkich

wag połączeń. Nie tylko dla warstwy wyjściowej. – Jest to trudne. – Uczenie wag łączących ukryte neurony jest

równoważne uczeniu cech charakterystycznych. – Nikt nie mówi co te ukryte neurony mają robić.

Page 3: Wsteczna Propagacja  Błędu (Backpropagation)

Zasada propagacji wstecznej (backpropagation)

• Możemy obliczyć jak szybko błąd wyjściowy zmienia się przy zmianach aktywności w warstwie ukrytej. – Zamiast używać pożądanej wartości wyjścia, użyj

pochodnej błędu względem aktywności warstwy ukrytej.– Każda aktywność w warstwie ukrytej wpływa na wiele

wyjść i może mięć zróżnicowany wpływ na błąd. – Pochodna błędu może być efektywnie obliczona dla

wszystkich jednostek ukrytych. – Mając pochodne błędu względem aktywności w warstwie

ukrytej, łatwo jest otrzymać pochodne błędu względem zmiany wag połączeń do warstwy ukrytej.

Page 4: Wsteczna Propagacja  Błędu (Backpropagation)

Nieliniowe neurony o gładkich pochodnych

• Do backpropagation, potrzebujemy neuronów o dobrych pochodnych.– Typowo używane są funkcje

logistyczne– Wyjście jest gładką funkcją

wejść i wag.

)(1

1

1

jjj

j

iji

ji

ij

j

jj

iji

ijj

yydx

dy

wy

xy

w

x

xe

y

wybx

0.5

00

1

jx

jy

Dziwne że pochodna wyraża się poprzez y.

Page 5: Wsteczna Propagacja  Błędu (Backpropagation)

Szkic algorytmu backpropagation w przypadku pojedynczej danej treningowej

• Najpierw przedstaw różnice między wyjściem i pożądana wielkością jako pochodną błędu.

• Potem oblicz pochodną błędu w każdej warstwie ukrytej z pochodnych błędu w warstwie wyższej.

• Na koniec użyj pochodnych błędu ze względu na aktywności żeby otrzymać pochodne błędu ze względu na wagi. i

j

jjj

jj

j

y

E

y

E

dyy

E

dyE

22

1 )(

Page 6: Wsteczna Propagacja  Błędu (Backpropagation)

Pochodne

j jij

j ji

j

i

ji

jij

j

ij

jjj

jj

j

j

x

Ew

x

E

dy

dx

y

E

x

Ey

x

E

w

x

w

E

y

Eyy

y

E

dx

dy

x

E)1(

=yj-dj na wyjściu

Pochodne błędu ze względu na aktywności obliczone w warstwie niższejCofnij się o jedną warstwę

Pochodne błędu ze względu na wagi

j

ii

j

j

y

x

y

wij

Page 7: Wsteczna Propagacja  Błędu (Backpropagation)

Problemy z suma kwadratów• Błąd obliczony w oparciu o sumę kwadratów ma pewne wady

– Jeśli wymagana odpowiedz jest 1 a otrzymana jest 0.00000001 to gradient funkcji logistycznej jest prawie zero i nie można zmniejszyć błędu.

– Jeśli próbujemy określić prawdopodobieństwa klas na wyjściach, to wiemy ze wyjścia powinny dać sumę równą 1, ale siec nie ma takiej wiedzy.

• Czy jest jakaś inna funkcja kosztu bardziej odpowiednia do tego celu?

– Wymuś żeby wyjścia reprezentowały rozkłady prawdopodobieństwa dla dyskretnych alternatyw.

jjjjj

dyyyx

E

)1(

Page 8: Wsteczna Propagacja  Błędu (Backpropagation)

Softmax

Jednostki wyjścia używają globalnych funkcji nieliniowych:

Funkcja kosztu jest ujemnym logarytmem prawdopodobieństwa poprawnej odpowiedziStromość C równoważy płaskość nieliniowości wyjścia.

jednostki wyjścia

x

y

x

y

x

y1

1 2

2 3

3

j i

j

ji

jj

j

iii

i

j

x

x

i

x

y

yC

xC

ydC

yyxy

e

ey

j

i

log

)(1

wartości pożądane

dobrze określona w przypadku błędu

Page 9: Wsteczna Propagacja  Błędu (Backpropagation)

Sygnały w warstwie ukrytej

z2y2

d

W1

y1 z1

b1

W2

x

b2f 1f 1

f 2f 2f 1f 1

f 1f 1

f 1f 1

f 2f 2

)( 111

111

yfz

bxWy

Nnhiddenzy 11,

Sygnały na wyjściu

)( 222

2122

yfz

bzWy

Nnoutzy 22 ,

Uczenie ważoną metodą najmniejszych kwadratów WLSQ

)(* xpinvyWyWx

Page 10: Wsteczna Propagacja  Błędu (Backpropagation)

Uczenie ważoną metodą najmniejszych kwadratów WLSQ

1) Oblicz y1, z1 używając przypadkowych wag

2) Oblicz pożądane sygnały na wejściu warstwy wyjścia

z2y2

d

W1

y1 z1

b1

W2

x

b2f 1f 1

f 2f 2f 1f 1

f 1f 1

f 1f 1

f 2f 2

)( 111

111

yfz

bxWy

3) Użyj metody najmniejszych kwadratów i oblicz W2 oraz b2 z

(*)212 dbzW

)()(ˆ 12 dfd

4) Użyj metody najmniejszych kwadratów i oblicz z1 z równania (*)

Page 11: Wsteczna Propagacja  Błędu (Backpropagation)

Uczenie ważoną metodą najmniejszych kwadratów WLSQ

5) Przeskaluj z1 do przedziału (-1, +1) i oblicz pożądane sygnały na wejściu warstwy ukrytej

z2y2

d

W1

y1 z1

b1

W2

x

b2f 1f 1

f 2f 2f 1f 1

f 1f 1

f 1f 1

f 2f 2

6) Użyj metody najmniejszych kwadratów i oblicz W1 i b1

(**)111 ybxW

)()( 1111 zfy

7) Oblicz błąd wyjścia propagując sygnał wejściowy przez W1 i W2

8) Powtórz procedurę dla uzyskania optymalnego rozwiązania

y

y

e

ez

2

2

1

1

Page 12: Wsteczna Propagacja  Błędu (Backpropagation)

Uczenie ważoną metodą najmniejszych kwadratów WLSQ

i

ieyWxeyWx 2

Funkcja wagi jest użyta do poprawienia jakości rozwiązania.Metoda najmniejszych kwadratów minimalizuje normę kwadratową błędu rozwiązania

Jednak nie wszystkie błędy mają ten sam wpływ na uczenie sieci neuronowej.

Błąd w obliczeniu y1 powoduje większe błędy na wyjściu elementu nieliniowego

niż błąd w obliczeniu y2

Δ yΔ y

Δ z

Δ z y

z

A

B

1

2

Page 13: Wsteczna Propagacja  Błędu (Backpropagation)

Dlatego zamiast rozwiązać równanie

w celu obliczenia wag W rozwiązujemy

gdzie jest macierzą diagonalną zawierającą pochodne funkcji przenoszenia obliczone dla danych wartości wejścia neuronów.

Na przykład dla funkcji przenoszenia

wagi obliczane są jako

Uczenie ważoną metodą najmniejszych kwadratów WLSQ

yWx yWx

zze

e

dy

dzi

i

y

y

i

ii

111

11

2

2

2

y

y

e

ez

2

2

1

1

Page 14: Wsteczna Propagacja  Błędu (Backpropagation)

Przykład – klasyfikacja spiral

Problem klasyfikacji spiral jest znany jako trudny problem dla sieci neuronowych prowadzi on do wielu lokalnych minimach przy optymalizacji wag.

Baza danych tego problemu zawiera 50 punktów o współrzędnych (x,y) z dwóch klas. Używając identyfikator klas jako pożądane wyjście, ważona metoda najmniejszych kwadratów jest oparta o siec 2-50-1.

Page 15: Wsteczna Propagacja  Błędu (Backpropagation)

Przed rozwiązaniem równania

Dobrze jest znormalizowaćwspółczynniki macierzy x

0 5 10 15 20 25 30 35 40 45 50-2

-1.5

-1

-0.5

0

0.5

1

1.5

2

Kolejne dane wejściowe

Wyjście sieci

Porzadane wyjscie

Aproksymacja przez BPNN

Wyniki uczenia klasyfikacji spiral

Aproksymacja przez wazona LSNN

Wyniki – klasyfikacja spiral

25.0

ˆ

o

sy

x

xx so

si

sisi

Błąd aproksymacji: Dla sieci BPNN 0.746

Dla sieci WLSQ 2*10-20

sosiio yxW

Page 16: Wsteczna Propagacja  Błędu (Backpropagation)

LSQ SVM NN oparte o radialne funkcje bazy

• Maszyny wektorów wspierających (support vector machines SVM) są oparte o radialne funkcje bazy tworzące jadro przekształcenia.– Funkcja optymalizacji z

ograniczeniami równościowymi– Regularyzacja rozwiązania

równań– Mnożniki Lagrange’a– Prowadzą do optymalnego

rozwiązania liniowegoDwie nieznormalizowane radialne funkcje bazowe, z jednowymiarowym wejściem. Lokalizacja center: b1 = 0.75; b2=3.25.

2

2

expσ

byyf

y

f(y)

Page 17: Wsteczna Propagacja  Błędu (Backpropagation)

• LSQ SVM prowadzi do liniowego układu równań które można rozwiązać metodą najmniejszych kwadratów.

• Równanie

• rozwiązuje się jako funkcje optymalizacji z regularyzacją

• i z ograniczeniami równościowymi

LSQ SVM NN oparte o radialne funkcje bazy

dbyWf

N

kk

T

ebWeWWebWJ

1

2

,, 2

1

2

1,,min ζ

Nkd

edbyfW

k

kkk

T ,...,11

Page 18: Wsteczna Propagacja  Błędu (Backpropagation)

Lagrangian tego problemu nieliniowego jest

gdzie są mnożnikami Lagrange’a

i warunkiem koniecznym optymalności rozwiązania jest

LSQ SVM NN oparte o radialne funkcje bazy

N

kkkkk

Tk edsigndbyfWebWJebWL

1

,,,,,

0L

ζ jest parametrem regularyzacji Tichonowa

k

Prof. J. Suykens K.U.Leuven

Page 19: Wsteczna Propagacja  Błędu (Backpropagation)

LSQ SVM NN oparte o radialne funkcje bazy

NkedsigndbyfWL

Nkedsigne

Lb

L

yfWW

L

kkkkT

k

kkkk

N

kk

N

kkk

,...,1,00

,...,10

00

0

1

1

Z warunku optymalności mamy

Page 20: Wsteczna Propagacja  Błędu (Backpropagation)

LSQ SVM NN oparte o radialne funkcje bazy

d

e

b

W

IdsignIZ

IdsignI

I

ZI T

0

0

0

0

00

000

00

Warunek optymalności można rozwiązać przez

jest macierzą przekształceń nieliniowych we wszystkich punktach treningowych yk.

System ten jest łatwo rozwiązać nawet dla dużych sieci

TN

T yfyfZgdzie ;...;1

Page 21: Wsteczna Propagacja  Błędu (Backpropagation)

Pytania?

Page 22: Wsteczna Propagacja  Błędu (Backpropagation)

Wsteczna Propagacja Błędu (Backpropagation)

Wykład z Uzupełnieniami

Page 23: Wsteczna Propagacja  Błędu (Backpropagation)

Uczenie z ukrytymi neuronami(hidden neurons)

• Sieci bez neuronów ukrytych są bardzo ograniczone w modelowaniu zależności wejście-wyjście.– Dodatkowe warstwy liniowych neuronów nie pomaga. – Nieliniowości wyjścia też nie wystarcza.

• Potrzebne są dodatkowe warstwy nieliniowych ukrytych neuronów. Zapewnia to utworzenie uniwersalnego aproksymatora. Ale jak trenować takie sieci? – Potrzebujemy efektywnej metody doboru wszystkich

wag połączeń. Nie tylko dla warstwy wyjściowej. – Jest to trudne. – Uczenie wag łączących ukryte neurony jest

równoważne uczeniu cech charakterystycznych. – Nikt nie mówi co te ukryte neurony mają robić.

Page 24: Wsteczna Propagacja  Błędu (Backpropagation)

Uczenie przez zmianę wag

• Zmień przypadkowo wagę połączenia i sprawdź czy odpowiedź się poprawiła. Jeśli tak to zaadoptuj tą zmianę. – Bardzo nieefektywne. Potrzeba wiele

cykli treningowych żeby zmienić jedna wagę.

– Pod koniec uczenia przypadkowe duże zmiany wag prawie zawsze powodują pogorszenie jakości odpowiedzi.

• Moglibyśmy przypadkowo zmieniać wszystkie wagi i korelować poprawę odpowiedzi ze zmianami wag. – Nic lepiej ponieważ potrzeba wiele

testów żeby zaobserwować wynik zmiany jednej wagi w szumie powodowanym zmianami innych wag.

Uczenie wag z warstwy ukrytej do wyjścia jest łatwe. Uczenie wag z wejścia do warstwy ukrytej jest trudne.

jednostki ukryte

jednostki wyjścia

jednostki wejścia

Page 25: Wsteczna Propagacja  Błędu (Backpropagation)

Zasada propagacji wstecznej (backpropagation)

• Możemy obliczyć jak szybko błąd wyjściowy zmienia sie przy zmianach aktywności w warstwie ukrytej. – Zamiast używać pożądanej wartości wyjścia, użyj

pochodnej błędu względem aktywności warstwy ukrytej.– Każda aktywność w warstwie ukrytej wpływa na wiele

wyjść i może mięć zróżnicowany wpływ na błąd. – Pochodna błędu może być efektywnie obliczona dla

wszystkich jednostek ukrytych. – Mając pochodne błędu względem aktywności w warstwie

ukrytej, łatwo jest otrzymać pochodne błędu wglądem zmiany wag połączeń do warstwy ukrytej.

Page 26: Wsteczna Propagacja  Błędu (Backpropagation)

Zmiana oznaczeń

• Dla prostych sieci używamy notacji:x oznacza aktywności jednostek wejścia

y oznacza aktywności jednostek wyjścia

z oznacza sumę wejść do jednostki wyjścia

• Dla sieci z wieloma warstwami ukrytymi:y oznacza wyjście jednostki w dowolnej

warstwie

x oznacza sumę wejść do jednostki w dowolnej warstwie

Indeks oznacza numer warstwy

i

j

j

i

j

j

y

x

y

x

z

y

Page 27: Wsteczna Propagacja  Błędu (Backpropagation)

Nieliniowe neurony o gładkich pochodnych

• Do backpropagation, potrzebujemy neuronów o dobrych pochodnych.– Typowo używane są funkcje

logistyczne– Wyjście jest gładka funkcja

wejść i wag.

)(1

1

1

jjj

j

iji

ji

ij

j

jj

iji

ijj

yydx

dy

wy

xy

w

x

xe

y

wybx

0.5

00

1

jx

jy

Dziwne ze pochodna wyraża sie poprzez y.

Page 28: Wsteczna Propagacja  Błędu (Backpropagation)

Szkic algorytmu backpropagation w przypadku pojedynczej danej treningowej

• Najpierw przedstaw różnice miedzy wyjściem i pożądana wielkością jako pochodna błędu.

• Potem oblicz pochodną błędu w każdej warstwie ukrytej z pochodnych błędu w warstwie wyższej.

• Na koniec użyj pochodnych błędu ze względu na aktywności żeby otrzymać pochodne błędu ze względu na wagi. i

j

jjj

jj

j

y

E

y

E

dyy

E

dyE

22

1 )(

Page 29: Wsteczna Propagacja  Błędu (Backpropagation)

Pochodne

j jij

j ji

j

i

ji

jij

j

ij

jjj

jj

j

j

x

Ew

x

E

dy

dx

y

E

x

Ey

x

E

w

x

w

E

y

Eyy

y

E

dx

dy

x

E)1(

j

ii

j

j

y

x

y

yj-dj na wyjściu

Pochodne błędu obliczone w warstwie niższej

Cofnij sie o jedna warstwę

Page 30: Wsteczna Propagacja  Błędu (Backpropagation)

Jak używać pochodne wag?

• Jak często je obliczać– Po każdej danej treningowej?– Po zakończeniu wszystkich danych treningowych?– Po grupie danych treningowych?

• Jak dużo zmienić– Użyć stałej szybkości uczenia?– Zmieniać szybkość uczenia?– Dodać bezwładność?– Nie używać metody największego spadku?

Page 31: Wsteczna Propagacja  Błędu (Backpropagation)

Przeuczenie

• Dane treningowe zawierają informacje o zależnościach miedzy wejściem i wyjściem. Ale zawierają tez szum. – Wartości pożądane mogą być niedokładne.– Występuje błąd próbkowania. – Będą przypadkowe zależności wynikające z

wybranych przypadków treningowych.• Kiedy model jest przybliżany, nie można powiedzieć

które zależności są prawdziwe a które są powodowane błędami próbkowania. – Czyli przybliżamy obydwa rodzaje zależności.– Jeśli model jest elastyczny to może przybliżać błąd

próbkowania całkiem dokładnie. To nieszczęście.

Page 32: Wsteczna Propagacja  Błędu (Backpropagation)

Prosty przykład przeuczenia

• Któremu modelowi ufać?– Skomplikowany model lepiej

przybliża dane.– Ale jest nie ekonomiczny.– Prowadzi do nadmiernych

błędów uogólniania• Model jest przekonywujący jeśli

pasuje do wielu punktów w prosty sposób.– Nic dziwnego że złożony

model może przybliżyć małą ilość punktów.

Page 33: Wsteczna Propagacja  Błędu (Backpropagation)

Backpropagation w rozpoznawaniu obrazów

• Ludzie bardzo łatwo rozpoznają kształty– Jest to dosyć złożony proces i komputery maja z

tym kłopot• Niektóre powody dlaczego jest to trudne:

– Segmentacja: Rzeczywiste sceny są zaśmiecone.– Niezmienniki: Ludzie łatwo ignorują rożne zmiany

które nie wpływają na kształt.– Zniekształcenia: Naturalne klasy kształtów

dopuszczają zmiany (twarze, litery, krzesła). – Wymagana jest olbrzymia ilość obliczeń.

Page 34: Wsteczna Propagacja  Błędu (Backpropagation)

Problem niezmienników

• Nasze zmysły łatwo sobie radzą z niezmiennikami– Przesunięcie, obrót, skalowanie– Deformacja, kontrast, oświetlenie

• Robimy to tak dobrze że aż trudno sobie uzmysłowić jakie to skomplikowane.– Jest to jedna z głównych trudności do

wprowadzenia percepcji w komputerach.– Ciągle nie ma ogólnie akceptowanych

rozwiązań.

Page 35: Wsteczna Propagacja  Błędu (Backpropagation)

Podejście cech niezmienników

• Otrzymaj dużą, nadmiarową ilość cech niezmiennych przy transformacjach– n.p. “para równoległych kresek z kropka miedzy nimi”

• Mając dostatecznie dużą ilość takich cech można je połączyć w kształty tylko w jeden sposób.– Nie musimy oddawać zależności pomiędzy cechami

ponieważ są one uchwycone przez inne cechy.• Musimy unikać tworzenia cech z części rożnych obiektów.

Page 36: Wsteczna Propagacja  Błędu (Backpropagation)

Normalizacja

• Przeprowadź wstępna normalizację danych– n.p. włóż kształt do prostokąta i opisz lokalizacje jego

cech w stosunku do prostokąta. – Eliminuje to tyle stopni swobody ile ma prostokąt.

• Przesuniecie, obrót, skalowanie, rozciągniecie, odbicie

– Nie zawsze jest łatwo wybrać prostokąt.

R d b d

Page 37: Wsteczna Propagacja  Błędu (Backpropagation)

Podejście powtarzanych cech• Użyj wiele kopii identycznego detektora

cech. – Wszystkie kopie maja trochę rożne

pozycje.– Powtórz po wszystkich orientacjach

i skalach. • Skomplikowane i kosztowne

– Powtórzenia zmniejszają ilość wolnych parametrów do nauczenia.

• Użyj kilka rożnych typów cech, każdy z własnym powtarzalnym zbiorem detektorów.– Pozwala reprezentować każdy

fragment obrazu na wiele sposobów.

Wszystkie czerwone polaczenia maja te same wagi.

Page 38: Wsteczna Propagacja  Błędu (Backpropagation)

Backpropagation z ograniczaniem wag

• Łatwo jest zmodyfikować algorytm propagacji wstecznej włączając liniowe ograniczenia wag.

• Obliczamy gradienty tak jak zwykle, a potem modyfikujemy je żeby spełnić ograniczenia.– Tak wiec jeśli wagi

początkowe spełniały ograniczenia, to nadal będą je spełniać.

2121

21

21

21

:

:

:

wiwdlaw

E

w

Euzyj

w

Ei

w

Eoblicz

wwmypotrzebuje

wwograniczycZeby

Page 39: Wsteczna Propagacja  Błędu (Backpropagation)

Łączenie wyjść powtarzanych cech

• Częściową niezmienność na przesunięcia można uzyskać na każdym poziomie poprzez uśrednienie czterech sąsiednich powtarzanych detektorów.– Maksimum z czterech powinno dać lepszy wynik.

• Wydaje się że system wizyjny małp może osiągać niezmienniki w kilku etapach. – Segmentacja może być tez wykonywana w kilku

etapach.

Page 40: Wsteczna Propagacja  Błędu (Backpropagation)

Hierarchiczne podejście częściowych niezmienników

• Na każdym poziomie hierarchii używamy funkcji “or” do otrzymania cech niezmiennych w większym zakresie transformacji.– Pola receptorów w mózgu

są tak sformułowane. – Możemy połączyć to

podejście z początkową przybliżoną normalizacją.

or

or

or

Page 41: Wsteczna Propagacja  Błędu (Backpropagation)

Le Net

• Yann LeCun i inni skonstruowali całkiem dobry system rozpoznawania ręcznie pisanych cyfr używając wstecznej propagacji w sieci bez sprzężeń mającej:– Wiele ukrytych warstw.– Wiele grup jednakowych jednostek w każdej warstwie.– Uśredniając wyjścia sąsiednich jednakowych jednostek.– Rozleglej sieci która może rozróżnić kilka znaków

jednocześnie nawet gdy zachodzą one na siebie.• Demonstracje programu LENET można zobaczyć na

http://yann.lecun.com– Demonstracje te są wymaganym materialem do

egzaminu.

Page 42: Wsteczna Propagacja  Błędu (Backpropagation)

Architektura LeNet5

Convolutional Neural Networks sa specjalnym rodzajem sieci wielowarstwowych (LeNet5 jest jednym z przykładów). Tak jak prawie każda inna sieć neuronowa są one trenowaneużywając odmiany algorytmu backpropagation. Sieci te różnią się architekturą.

Page 43: Wsteczna Propagacja  Błędu (Backpropagation)

Rozpoznawanie cyfr w LeNet5

Page 44: Wsteczna Propagacja  Błędu (Backpropagation)

Niezmienniki skali w LeNet5

Page 45: Wsteczna Propagacja  Błędu (Backpropagation)

Niezmienniki obrotów w LeNet5

Page 46: Wsteczna Propagacja  Błędu (Backpropagation)

Błędy treningu i testu w LeNet5

Page 47: Wsteczna Propagacja  Błędu (Backpropagation)

82 bledy popełnione przez LeNet5

Zauważ że większość błędów to przypadki całkiem łatwe do rozróżnienia przez ludzi.

Poziom błędu dla ludzi jest około 20 do 30 na 1000 znaków.

Page 48: Wsteczna Propagacja  Błędu (Backpropagation)

Podejście na siłe

• LeNet wykorzystuje wiedze o niezmiennikach do budowy:– Architektury sieci– Ograniczeń wag– Rodzaju cech

• Ale prościej jest zbudować wiedzę o niezmiennikach poprzez generowanie dodatkowych danych treningowych:– Dla każdego obrazu treningowego, wygeneruj nowe dane

treningowe używając wszystkich transformacji dla których chcemy mieć niezmienniki (Le Net może z tego tez skorzystać)

– Potem wytrenuj dużą, prostą sieć na szybkim komputerze.– Podejście to działa zaskakująco dobrze jeśli transformacje nie sa

zbyt wielkie (czyli zastosuj najpierw przybliżoną normalizację).

Page 49: Wsteczna Propagacja  Błędu (Backpropagation)

Wykorzystanie prostej backpropagation do rozpoznawania cyfr

• Użyj obszarów standartowych transformacji i lokalnych deformacji dla otrzymania dużej ilości danych.

• Użyj pojedynczej warstwy ukrytej z bardzo małymi wagami początkowymi:– Potrzeba bardzo powolnego przełamania

symetrii żeby znaleźć dobre minimum lokalne• Użyj odpowiedniej miary błędu dla klasyfikacji

wielu klas.

Page 50: Wsteczna Propagacja  Błędu (Backpropagation)

Problemy z sumą kwadratów• Błąd obliczony w oparciu o sumę kwadratów ma pewne wady

– Jeśli wymagana odpowiedź jest 1 a otrzymaną jest 0.00000001 to gradient funkcji logistycznej jest prawie zero i nie można zmniejszyć błędu.

– Jeśli próbujemy określić prawdopodobieństwa klas na wyjściach, to wiemy ze wyjścia powinny dać sumę równą 1, ale siec nie ma takiej wiedzy.

• Czy jest jakaś inna funkcja kosztu bardziej odpowiednia do tego celu?

– Wymyśl żeby wyjścia reprezentowały rozkłady prawdopodobieństwa dla dyskretnych alternatyw.

jjjjj

dyyyx

E

)1(

Page 51: Wsteczna Propagacja  Błędu (Backpropagation)

Softmax

Jednostki wyjścia używają globalnych funkcji nieliniowych:

Funkcja kosztu jest ujemnym logarytmem prawdopodobieństwa poprawnej odpowiedzi

Stromość C dokładnie równoważy płaskość nieliniowości wyjścia.

jednostki wyjścia

x

y

x

y

x

y1

1 2

2 3

3

iij i

j

ji

jj

j

iii

i

j

x

x

i

dyx

y

y

C

x

C

ydC

yyx

y

e

ey

j

i

log

)(1

wartości pożądane

dobrze okresowa w przypadku błędu

Page 52: Wsteczna Propagacja  Błędu (Backpropagation)

Sygnały w warstwie ukrytej

z2y2

d

W1

y1 z1

b1

W2

x

b2f 1f 1

f 2f 2f 1f 1

f 1f 1

f 1f 1

f 2f 2

)( 111

111

yfz

bxWy

Nnhiddenzy 11,

Sygnały na wyjściu

)( 222

2122

yfz

bzWy

Nnoutzy 22 ,

Uczenie ważoną metodą najmniejszych kwadratów WLSQ

Page 53: Wsteczna Propagacja  Błędu (Backpropagation)

Uczenie ważoną metodą najmniejszych kwadratów WLSQ

1) Oblicz y1, z1 używając przypadkowych wag

2) Oblicz pożądane sygnały na wejściu warstwy wyjścia

z2y2

d

W1

y1 z1

b1

W2

x

b2f 1f 1

f 2f 2f 1f 1

f 1f 1

f 1f 1

f 2f 2

)( 111

111

yfz

bxWy

3) Użyj metody najmniejszych kwadratów i oblicz W2 oraz b2 z

(*)212 dbzW

)()(ˆ 12 dfd

4) Użyj metody najmniejszych kwadratów i oblicz z1 z równania (*)

Page 54: Wsteczna Propagacja  Błędu (Backpropagation)

Uczenie ważoną metodą najmniejszych kwadratów WLSQ

5) Przeskaluj z1 do przedziału (-1, +1) i oblicz pożądane sygnały na wejściu warstwy ukrytej

z2y2

d

W1

y1 z1

b1

W2

x

b2f 1f 1

f 2f 2f 1f 1

f 1f 1

f 1f 1

f 2f 2

6) Użyj metody najmniejszych kwadratów i oblicz W1 i b1

(**)111 ybxW

)()( 1111 zfy

7) Oblicz błąd wyjścia propagując sygnał wejściowy przez W1 i W2

8) Powtórz procedurę dla uzyskania optymalnego rozwiązania

y

y

e

ez

2

2

1

1

Page 55: Wsteczna Propagacja  Błędu (Backpropagation)

Uczenie ważoną metodą najmniejszych kwadratów WLSQ

i

ieyWxeyWx 2

Funkcja wagi jest użyta do poprawienia jakości rozwiązania.Metoda najmniejszych kwadratów minimalizuje normę kwadratową błędu rozwiązania

Jednak nie wszystkie błędy mają ten sam wpływ na uczenie sieci neuronowej.

Błąd w obliczeniu y1 powoduje większe błędy na wyjściu elementu nieliniowego

niż błąd w obliczeniu y2

Δ yΔ y

Δ z

Δ z y

z

A

B

1

2

Page 56: Wsteczna Propagacja  Błędu (Backpropagation)

Dlatego zamiast rozwiązać równanie

w celu obliczenia wag W rozwiązujemy

gdzie jest macierz diagonalna zawierająca pochodne funkcji przenoszenia obliczone dla danych wartości wejścia neuronów.

Na przykład dla funkcji przenoszenia

wagi obliczane są jako

Uczenie ważoną metodą najmniejszych kwadratów WLSQ

yWx yWx

zze

e

dy

dzi

i

y

y

i

ii

111

11

2

2

2

y

y

e

ez

2

2

1

1

Page 57: Wsteczna Propagacja  Błędu (Backpropagation)

Przykład – klasyfikacja spiral

Problem klasyfikacji spiral jest znany jako trudny problem dla sieci neuronowych prowadzi on do wielu lokalnych minimów przy optymalizacji wag.

Baza danych tego problemu zawiera 50 punktów o współrzędnych (x,y) z dwóch klas. Używając identyfikator klas jako pożądane wyjście, ważona metoda najmniejszych kwadratów jest oparta o siec 2-50-1.

Page 58: Wsteczna Propagacja  Błędu (Backpropagation)

Przed rozwiązaniem równania

Dobrze jest znormalizowaćwspółczynniki macierzy x

0 5 10 15 20 25 30 35 40 45 50-2

-1.5

-1

-0.5

0

0.5

1

1.5

2

Kolejne dane wejściowe

Wyjście sieciPożądane wyjście

Aproksymacja przez BPNN

Wyniki uczenia klasyfikacji spiral

Aproksymacja przez ważona LSNN

Wyniki – klasyfikacja spiral

25.0

ˆ

o

sy

x

xx so

si

sisi

Błąd aproksymacji: Dla sieci BPNN 0.746

Dla sieci WLSQ 2*10-20

sosiio yxW

Page 59: Wsteczna Propagacja  Błędu (Backpropagation)

LSQ SVM NN oparte o radialne funkcje bazy

• Maszyny wektorów wspierających (support vector machines SVM) są oparte o radialne funkcje bazy tworzące jądro przekształcenia.– Funkcja optymalizacji z

ograniczeniami równościowymi– Regularyzacja rozwiązania

równań– Mnożniki Lagrange’a– Prowadza do optymalnego

rozwiązania liniowegoDwie nieznormalizowane radialne funkcje bazowe, z jednowymiarowym wejściem. Lokalizacja center: b1 = 0.75; b2=3.25.

2

2

expσ

byyf

y

f(y)

Page 60: Wsteczna Propagacja  Błędu (Backpropagation)

• LSQ SVM prowadzi do liniowego układu równań które można rozwiązać metodą najmniejszych kwadratów.

• Równanie

• rozwiązuje sie jako funkcję optymalizacji z regularyzacja

• i z ograniczeniami równościowymi

LSQ SVM NN oparte o radialne funkcje bazy

dbyWf

N

kk

T

ebWeWWebWJ

1

2

,, 2

1

2

1,,min ζ

Nkd

edbyfW

k

kkk

T ,...,11

Page 61: Wsteczna Propagacja  Błędu (Backpropagation)

Lagrangian tego problemu nieliniowego jest

gdzie sa mnożnikami Lagrange’a

i warunkiem koniecznym optymalności rozwiązania jest

LSQ SVM NN oparte o radialne funkcje bazy

N

kkkkk

Tk edsigndbyfWebWJebWL

1

,,,,,

0L

ζ jest parametrem regularyzacji Tichonowa

k

Page 62: Wsteczna Propagacja  Błędu (Backpropagation)

LSQ SVM NN oparte o radialne funkcje bazy

NkedsigndbyfWL

Nkedsigne

Lb

L

yfWW

L

kkkkT

k

kkkk

N

kk

N

kkk

,...,1,00

,...,10

00

0

1

1

Z warunku optymalności mamy

Page 63: Wsteczna Propagacja  Błędu (Backpropagation)

LSQ SVM NN oparte o radialne funkcje bazy

d

e

b

W

IdsignIZ

IdsignI

I

ZI T

0

0

0

0

00

000

00

Warunek optymalności można rozwiązać przez

jest macierzą przekształceń nieliniowych we wszystkich punktach treningowych yk.

System ten jest łatwo rozwiązać nawet dla dużych sieci

TN

T yfyfZgdzie ;...;1