Sieci neuronowe uczenie www qed plainai 2003 Perceptron

  • Slides: 26
Download presentation
Sieci neuronowe - uczenie www. qed. pl/ai/nai 2003

Sieci neuronowe - uczenie www. qed. pl/ai/nai 2003

Perceptron - przypomnienie x 1 x 2 xn w 1 w 2 wn y

Perceptron - przypomnienie x 1 x 2 xn w 1 w 2 wn y

Uczenie perceptronu • Wejście: – Ciąg przykładów uczących ze znanymi odpowiedziami • Proces uczenia:

Uczenie perceptronu • Wejście: – Ciąg przykładów uczących ze znanymi odpowiedziami • Proces uczenia: y- x+ = w 2 – Inicjujemy wagi losowo [w 1, w 2] – Dla każdego przykładu, jeśli odpowiedź jest nieprawidłowa, to w 1 + = x 1 w 2 + = x 2 –= gdzie jest równe różnicy między odpowiedzią prawidłową a otrzymaną. w 1 0

SIECI WIELOWARSTWOWE • Wyjścia neuronów należących do warstwy niższej połączone są z wejściami neuronów

SIECI WIELOWARSTWOWE • Wyjścia neuronów należących do warstwy niższej połączone są z wejściami neuronów należących do warstwy wyższej – np. metodą „każdy z każdym” • Działanie sieci polega na liczeniu odpowiedzi neuronów w kolejnych warstwach • Nie jest znana ogólna metoda projektowania optymalnej architektury sieci neuronowej

SIECI PERCEPTRONÓW Potrafią reprezentować dowolną funkcję boolowską (opartą na rachunku zdań) p 1 1

SIECI PERCEPTRONÓW Potrafią reprezentować dowolną funkcję boolowską (opartą na rachunku zdań) p 1 1 =2 1 1 q -2 =1 p XOR q

Funkcje aktywacji • Progowe • Sigmoidalne

Funkcje aktywacji • Progowe • Sigmoidalne

FUNKCJE AKTYWACJI (2) • Unipolarne • Bipolarne

FUNKCJE AKTYWACJI (2) • Unipolarne • Bipolarne

FUNKCJE AKTYWACJI (3) a = 2. 0 a = 1. 0 a = 0.

FUNKCJE AKTYWACJI (3) a = 2. 0 a = 1. 0 a = 0. 5

FUNKCJE AKTYWACJI (4)

FUNKCJE AKTYWACJI (4)

FUNKCJE AKTYWACJI (5) • Zasady ogólne: – Ciągłość (zachowanie stabilności sieci jako modelu rzeczywistego)

FUNKCJE AKTYWACJI (5) • Zasady ogólne: – Ciągłość (zachowanie stabilności sieci jako modelu rzeczywistego) – Różniczkowalność (zastosowanie propagacji wstecznej) – Monotoniczność (intuicje związane z aktywacją komórek neuronowych) – Nieliniowość (możliwości ekspresji)

SIECI NEURONOWE Potrafią modelować (dowolnie dokładnie przybliżać) funkcje rzeczywiste (z tw. Kołmogorowa) funkcja aktywacji

SIECI NEURONOWE Potrafią modelować (dowolnie dokładnie przybliżać) funkcje rzeczywiste (z tw. Kołmogorowa) funkcja aktywacji

SIECI NEURONOWE 0 0. 3 0. 4 1. 1 -2 1 -0. 2 0.

SIECI NEURONOWE 0 0. 3 0. 4 1. 1 -2 1 -0. 2 0. 4

SIECI NEURONOWE -0. 4 1 1. 2 -0. 5 -0. 8 -0. 7 -0.

SIECI NEURONOWE -0. 4 1 1. 2 -0. 5 -0. 8 -0. 7 -0. 5 -0. 1 0. 3 -0. 4 -0. 8 0. 9 -2 1. 2 -0. 4 0. 9 1. 2 1

SIECI NEURONOWE Potrafią klasyfikować obiekty na zasadzie „czarnej skrzynki”

SIECI NEURONOWE Potrafią klasyfikować obiekty na zasadzie „czarnej skrzynki”

SIECI JAKO FUNKCJE ZŁOŻONE (1) v 11 x 1 f 1 w 1 v

SIECI JAKO FUNKCJE ZŁOŻONE (1) v 11 x 1 f 1 w 1 v 12 g v 21 x 2 v 22 f 2 w 2 y

SIECI JAKO FUNKCJE ZŁOŻONE (2) 5 x 1 f 1 4 3 g -7

SIECI JAKO FUNKCJE ZŁOŻONE (2) 5 x 1 f 1 4 3 g -7 x 2 1 f 2 -3 y

SIECI JAKO FUNKCJE ZŁOŻONE (3) v 11 x 1 f 1 w 1 v

SIECI JAKO FUNKCJE ZŁOŻONE (3) v 11 x 1 f 1 w 1 v 12 g v 21 x 2 v 22 f 2 y= =Network(x 1, x 2) w 2 • Jeśli wszystkie poszczególne funkcje aktywacji są liniowe, to funkcja Network jest również liniowa • Architektura wielowarstwowa daje zatem nowe możliwości tylko w przypadku stosowania funkcji nieliniowych

SIECI JAKO FUNKCJE ZŁOŻONE – przypadek liniowy v 11 x 1 f 1 w

SIECI JAKO FUNKCJE ZŁOŻONE – przypadek liniowy v 11 x 1 f 1 w 1 v 12 g v 21 x 2 v 22 f 2 w 2 • Niech fi(x 1, x 2) = ai*(x 1*v 1 i + x 2*v 2 i) + bi g(z 1, z 2) = a*(z 1*w 1 + z 2*w 2) + b • Wtedy Network(x 1, x 2) = A 1*x 1 + A 2*x 2 + B • Np. : A 1 = a*(a 1*v 1*w 1 + a 2*v 2*w 2) y

PROPAGACJA WSTECZNA (1) • Chcemy “wytrenować” wagi połączeń między kolejnymi warstwami neuronów • Inicjujemy

PROPAGACJA WSTECZNA (1) • Chcemy “wytrenować” wagi połączeń między kolejnymi warstwami neuronów • Inicjujemy wagi losowo (na małe wartości) • Dla danego wektora uczącego obliczamy odpowiedź sieci (warstwa po warstwie) • Każdy neuron wyjściowy oblicza swój błąd, odnoszący się do różnicy pomiędzy obliczoną odpowiedzią y oraz poprawną odpowiedzią t

PROPAGACJA WSTECZNA (2) dane uczące odpowiedź sieci y błąd d właściwa odpowiedź t Błąd

PROPAGACJA WSTECZNA (2) dane uczące odpowiedź sieci y błąd d właściwa odpowiedź t Błąd sieci definiowany jest zazwyczaj jako

PROPAGACJA WSTECZNA (3) • Oznaczmy przez: – g: R R – funkcję aktywacji w

PROPAGACJA WSTECZNA (3) • Oznaczmy przez: – g: R R – funkcję aktywacji w neuronie – w 1 , . . . , w. K – wagi połączeń wchodzących – z 1 , . . . , z. K – sygnały napływające do neuronu z poprzedniej warstwy • Błąd neuronu traktujemy jako funkcję wag połączeń do niego prowadzących:

PRZYKŁAD (1) • Rozpatrzmy model, w którym: – Funkcja aktywacji przyjmuje postać – Wektor

PRZYKŁAD (1) • Rozpatrzmy model, w którym: – Funkcja aktywacji przyjmuje postać – Wektor wag połączeń = [1; -3; 2] • Załóżmy, że dla danego przykładu: – Odpowiedź powinna wynosić t = 0. 5 – Z poprzedniej warstwy dochodzą sygnały [0; 1; 0. 3]

PRZYKŁAD (2) • Liczymy wejściową sumę ważoną: • Liczymy odpowiedź neuronu: • Błąd wynosi:

PRZYKŁAD (2) • Liczymy wejściową sumę ważoną: • Liczymy odpowiedź neuronu: • Błąd wynosi:

IDEA ROZKŁADU BŁĘDU • Musimy „rozłożyć” otrzymany błąd na połączenia wprowadzające sygnały do danego

IDEA ROZKŁADU BŁĘDU • Musimy „rozłożyć” otrzymany błąd na połączenia wprowadzające sygnały do danego neuronu • Składową błędu dla każdego j-tego połączenia określamy jako pochodną cząstkową błędu względem j-tej wagi • Składowych tych będziemy mogli użyć do zmodyfikowania ustawień poszczególnych wag połączeń

OBLICZANIE POCHODNEJ

OBLICZANIE POCHODNEJ

PROPAGACJA WSTECZNA (4) • Idea: – Wektor wag połączeń powinniśmy przesunąć w kierunku przeciwnym

PROPAGACJA WSTECZNA (4) • Idea: – Wektor wag połączeń powinniśmy przesunąć w kierunku przeciwnym do wektora gradientu błędu • Realizacja: błąd modyfikacja wag w 1 w 2 błąd Błędy są następnie propagowane w kierunku poprzednich warstw.