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