Sztuczne sieci neuronowe
Podstawy zagadnienia
Rys historyczny
• 1943 - Model neuronu McCullocha-Pittsa
• 1958 - Preceptron Rosenblata - neurony z połączeniami
jednokierunkowymi, dowód zbieżności algorytmu
uczenia (1962)
• 1960 - Adaline (Adapive Linear Neuron) i Madaline
(Multiple-Adaline), pierwszy komercyjny
neurokomputer na Uniwersytecie Stanforda
• 1969 - Minsky i Papert wykazują, że twierdzenie
Rosenblata jest prawdziwe tylko dla ograniczonego
zbioru danych (wykazanie słabości sieci
jednowarstwowych) => zastój w prowadzeniu badań
nad SSN na prawie 20 lat
• 1986 - Algorytm wstecznej propagacji błędów
(Rumelhart, Hinton, Williams)
Biologiczna inspiracja
• Dendryty - zbierają sygnały,
jest to „wejście” neuronu.
• Synapsy - „furki” dla sygnału
idącego z dendrytu, może
modulować moc sygnału
przed przekazaniem go do
jądra
• Jądro - centrum
obliczeniowe neuronu,
miejsce kluczowych funkcji
neuronu
• Wzgórek aksonu - wysyła
sygnał wyjściowy neuronu
poprzez akson
• Akson - wyjście sygnału
ustalonego przez neuron
Model McCullocha-Pittsa
Model ten został zmodyfikowany w późniejszym czasie
•x
i
- sygnały wejściowe, pobodzjące
•x
o
- stały sygnał wejściowy równy (-1) - tzw bias
•w
i
- wagi odpowiednich sygnałów wejściowych
•Σ - suma ważona wejść - potencjał membranowy
oznaczany jako ‘φ’, ‘net’ lub ‘z’
•y - sygnał odpowiedzi na zadane sygnały (wartość f-
cji dla sumy ważonej)
Ulepszona wersja modelu
neuronu
Rodzaje neuronów
W zależności od funkcji aktywacji neurony można
podzielić na:
•liniowe
y = f(φ) = φ
•nieliniowe
•dyskretne
•unipolarne
y {0,1}
•bipolarne y {-1,1}
•ciągłe
•unipolarne
y (0,1)
•bipolarne y (-1,1)
• Unipolarna dyskretna (McCulloch,
Pitts)
• Unipolarna ciągła (neuron
sigmoidalny)
Przykładowe funkcje
aktywacji
• Bipolarna dyskretna
• Bipolarna ciągła (Rosenblatt 1958)
Przykładowe funkcje
aktywacji
Nauka ogólnie (z
nauczycielem)
1. Pokaż wzorzec wejściowy - podaj wartości na
wejście (zapytaj)
2. Oblicz odpowiedź na zadane wymuszenie
3. Jeśli odpowiedz jest błędna skoryguj wagi neuronu
Δw =
x
w
k+1
= w
k
+ Δw
gdzie:
Δw - zmiana wartości danej wagi
- współczynnik uczenia
- błąd odpowiedzi ( = (o-y)
f ’(net)
)
x - sygnał wejściowy
Reguła delty
Co potrafi potrafi zrobić
neuron?
• Podzielić przestrzeń n-wymiarową na dwie
części
• Przykład: realizacja funkcji AND (podział2-
wymiarowej przestrzeni)
Preceptron
• Wejście - normalizacja, rozdzielenie sygnału
• Wyjście - właściwe neurony
• Możliwości ograniczone - klasy muszą być liniowo
separowane (tak samo jak dla pojedynczego
neurona)
• Algorytm nauki nie zmienia się znacznie
Problem XOR
• Funkcja XOR nie może zostać zrealizowana
przy użyciu preceptrona. (reguła separowania
liniowego)
• Rozwiązanie: dołączenie kolejnych warstw
Sieć wielowarstwowa
• Wejście i wyjście jak
w preceptronie
• Dodatkowa warstwa
neuronów (warstwa
ukryta)
• Komplikacja w nauce
- zmiana algorytmu
• Wzrost możliwości -
uwolnienie się od
ograniczenia co do
separowania
liniowego klas
Możliwości sieci a ilość
warstw
• Obliczamy odpowiedź sieci dla zadanego przez
nas wzorca
• Obliczamy błąd dla warstwy wyjściowej wg
wzoru:
• Dla warstw ukrytych błąd obliczamy wg
wzoru:
• Graficzne przedstawienie
Uczymy sieć...
Algorytm wstecznej propagacji
błędów
• Podczas obliczenia błędów postępujemy
przestrzegając następujących zasad:
– zaczynamy od warstwy wyjściowej
– obliczamy błędy od razu w całej warstwie,
tzn. najpierw obliczamy błędy dla
wszystkich neuronów w danej warstwie nim
przejdziemy do kolejnej
– kolejność obliczania błędów dla danych
warstw jest ściśle określona: od wyjściowej
do wejściowe:
• Aktualizacje wag połączeń dokonujemy po
policzeniu wszystkich błędów całej sieci
Uczymy sieć...
Algorytm wstecznej propagacji
błędów
Wiadomości dodatkowe
- współczynnik uczenia ma znaczący wpływ
na stabilność procesu, oraz jego szybkość.
Zbyt mała wartość - wolno, zbyt duża brak
stabilności. Zwykle przyjmuje się wartość
<0.05 ; 0.25>
• odpowiednie prezentowanie wzorców ma
wpływ na skuteczność nauczania. Tendencje
do zapominania
• konieczny kompromis co do dokładności
odpowiedzi (kryterium dopuszczalnego błedu)
Można szybciej?
Momentum
• Momentum to odpowiednik bezwładności w fizyce,
jest wprowadzany jako dodatkowy człon podczas
obliczania wartości zmiany dla danej wagi
• Jego wartość odnosi się do zmiany wartości wagi w
poprzednim kroku nauczania.
• Parametr α określa stopień ważności (bezwładności)
poprzedniej zmiany. Wartość α przyjmowana jest
zazwyczaj poniżej 1, gdy przyjmiemy α = 0.9,
możemy zwiększyć współczynnik uczenia do <0.25 ;
0.75> bez większej obawy o stabilność uczenia
Metoda nie jest idealna
• Algorytm wstecznej propagacji błędów nie jest
pozbawiony wad. Nie jest odporny na minima lokalne,
toteż nie gwarantuje znalezienia minimum globalnego
poszukiwanego przez nas. Algorytm może stwierdzić,
że dla badanego zbioru wzorców błędy są do przyjęcia
(jakieś kryterium przez nas ustalone w celu
zapewnienia skończoności obliczeń)
• Gdy znalezione optimum nas nie satysfakcjonuje mamy
kilka możliwości na znalezienie lepszego:
– zmienić strukturę sieci
– zakres losowania początkowych wartości wag
– zmiana parametrów we wzorach (funkcji aktywacji,
współczynnika nauczania i momentum)
Zastosowania
• Predykcja - przewidywanie zmian które
mogą nastąpić na podstawie posiadanej
„wiedzy” o przeszłości.
• Klasyfikacja i wykrywanie cech -
dopasowanie przedstawionych sieci
elementów do wyuczonych wzorców (nawet
w przypadku przedstawienia niepełnego
wzorca)
• Diagnostyka - wykrywanie anormalnych
odchyłek od poprawnych przebiegów
• Sterowanie