Sztuczna inteligencja : Sieci neuronowe

Transkrypt

Sztuczna inteligencja : Sieci neuronowe
Sztuczna inteligencja : Sieci neuronowe
Przemysław Juszczuk
Instytut Informatyki Uniwersytetu Śląskiego
lab 7
Przemysław Juszczuk
Sztuczna inteligencja : Sieci neuronowe
Sieć neuronowa (sztuczna sieć neuronowa) – ogólna nazwa struktur
matematycznych i ich programowych lub sprzętowych modeli,
realizujących obliczenia lub przetwarzanie sygnałów poprzez rzędy
elementów, zwanych sztucznymi neuronami, wykonujących pewną
podstawową operację na swoim wejściu. Oryginalną inspiracją takiej
struktury była budowa naturalnych neuronów, łączących je synaps, oraz
układów nerwowych, w szczególności mózgu.
Rodzaje sieci:
Sieć jednokierunkowa
Sieć reukurencyjna (występują cykle, czyli sprzężenie zwrotne)
Mapy samoorganizujące się (SOM) - inaczej sieci Kohenena.
Przemysław Juszczuk
Sztuczna inteligencja : Sieci neuronowe
Zastosowanie sieci neuronowych:
prognozy giełdowe / prognozy pogody: problem predykcji danych;
rozpoznawanie pisma odręcznego (o tym później);
syntezatory mowy;
aproksymacja
klasyfikacja danych;
wykrywanie powiązań między danymi;
optymalizacja - poszukiwanie optymalnych decyzji, np. klasyczny
problem komiwojażera.
Przemysław Juszczuk
Sztuczna inteligencja : Sieci neuronowe
Rysunek: Budowa neuronu
Przemysław Juszczuk
Sztuczna inteligencja : Sieci neuronowe
Rysunek: Budowa neuronu
Rysunek: Schemat
Przemysław Juszczuk
Sztuczna inteligencja : Sieci neuronowe
Rysunek: Funkcja aktywacji
Przemysław Juszczuk
Sztuczna inteligencja : Sieci neuronowe
Zakładając, że fragment sieci neuronowej jest taki jak rysunek poniżej,
gdzie mamy 6 wejść w warstwie wejściowej, i że analizujemy wyjście G
warstwy ukrytej: oblicz wartość G dla podanych danych
Pnwejściowych
zakładając, że jest ono obliczane przy użyciu funkcji: j=1 Ij · wj , gdzie Ij
to wejście, zaś wj to waga przypisana do danego wejścia. Oblicz wartośd
wyjścia dla neuronu warstwy ukrytej G wiedząc, że jest ono aktywowane
za pomocą funkcji sigmoidalnej danej wzorem 1+e 1− wej
Rysunek: Przykład obliczenia wartości neuronu
Przemysław Juszczuk
Sztuczna inteligencja : Sieci neuronowe
Rysunek: Sharky Neural Networks
Przemysław Juszczuk
Sztuczna inteligencja : Sieci neuronowe
Rysunek: Sharky Neural Networks
Możliwość ustalenia jednej z predefiniowanych struktur sieci
Do trzech warstw ukrytych.
Przemysław Juszczuk
Sztuczna inteligencja : Sieci neuronowe
Rysunek: Sharky Neural Networks
Wybór dokładności klasyfikacji
Maksymalna liczba epok
Uczenie ciągłe/od początku
Przemysław Juszczuk
Sztuczna inteligencja : Sieci neuronowe
Rysunek: Sharky Neural Networks
Przemysław Juszczuk
Sztuczna inteligencja : Sieci neuronowe
Rysunek: Easy NN
Przemysław Juszczuk
Sztuczna inteligencja : Sieci neuronowe
Przykład 2:
Sieć realizująca operację matematyczną dla zmiennych.
Jak liczność zbioru testowego wpływa na jakość wyników?
Czy sieć z jedną warstwą ukrytą wystarczy do realizacji tego
problemu?
Przemysław Juszczuk
Sztuczna inteligencja : Sieci neuronowe
Rysunek: Easy
NN
Sztuczna
inteligencja : Sieci neuronowe
Przemysław Juszczuk
Rysunek: Easy NN
Problem rozpoznawania zniekształconych symboli.
Mając dane powyższe symbole - określić, jak powinien wyglądać
zbiór testowy, wprowadzić zbiór do programu (4 wiersze - po jednym
dla każdego znaku).
Przemysław Juszczuk
Sztuczna inteligencja : Sieci neuronowe
Rysunek: Easy NN
Przemysław Juszczuk
Sztuczna inteligencja : Sieci neuronowe
Rysunek: Easy NN
Rysunek: Easy NN
Przemysław Juszczuk
Sztuczna inteligencja : Sieci neuronowe
Rysunek: Easy NN
Mając dany plik w powyższej postaci napisać parser, który zamieni
dane w postać przystępną dla programu Easy NN tzn:
Tabela: Tabela danych
Atr1
1
Atr2
1
AtrN
0
Wyjście1
0
WyjścieN
1
Tak przygotowany plik wczytać można do programu (opcja import)
Stworzenie sieci i jej testowanie.
Przemysław Juszczuk
Sztuczna inteligencja : Sieci neuronowe
Rysunek: Przykład sieci
Zadanie
Oblicz wartość na wyjściu dla wartości początkowych: 3, −2, −3.
Zmień funkcję aktywacji na skokową.
Przemysław Juszczuk
Sztuczna inteligencja : Sieci neuronowe