ESI: Perceptrony proste i liniowe

Podobne dokumenty
Sztuczna Inteligencja Tematy projektów Sieci Neuronowe

wiedzy Sieci neuronowe

Podstawy Sztucznej Inteligencji (PSZT)

Metody Sztucznej Inteligencji II

Optymalizacja systemów

IMPLEMENTACJA SIECI NEURONOWYCH MLP Z WALIDACJĄ KRZYŻOWĄ

Zastosowania sieci neuronowych

Zagadnienia optymalizacji i aproksymacji. Sieci neuronowe.

Podstawy sztucznej inteligencji

Sztuczne sieci neuronowe

1. Logika, funkcje logiczne, preceptron.

Wstęp do sieci neuronowych, wykład 03 Warstwy RBF, jednostka Adaline.

Inteligentne systemy przeciw atakom sieciowym

Sztuczne siei neuronowe - wprowadzenie

Literatura. Sztuczne sieci neuronowe. Przepływ informacji w systemie nerwowym. Budowa i działanie mózgu

8. Neuron z ciągłą funkcją aktywacji.

Wstęp do teorii sztucznej inteligencji Wykład III. Modele sieci neuronowych.

1. Historia 2. Podstawy neurobiologii 3. Definicje i inne kłamstwa 4. Sztuczny neuron i zasady działania SSN. Agenda

Wstęp do teorii sztucznej inteligencji Wykład II. Uczenie sztucznych neuronów.

Inteligentne systemy decyzyjne: Uczenie maszynowe sztuczne sieci neuronowe

Zastosowania sieci neuronowych

Sztuczne sieci neuronowe (SNN)

Wstęp do sztucznych sieci neuronowych

Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.

OCENA DZIAŁANIA AE. METODY HEURYSTYCZNE wykład 4 LOSOWOŚĆ W AE KRZYWE ZBIEŻNOŚCI ANALIZA STATYSTYCZNA:

synaptycznych wszystko to waży 1.5 kg i zajmuje objętość około 1.5 litra. A zużywa mniej energii niż lampka nocna.

Inteligencja. Władysław Kopaliśki, Słownik wyrazów obcych i zwrotów obcojęzycznych

Metody systemowe i decyzyjne w informatyce

Sztuczne sieci neuronowe

Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.

METODY INŻYNIERII WIEDZY

Uczenie sieci typu MLP

Wstęp do sieci neuronowych, wykład 03 Warstwy RBF, jednostka ADALINE.

Inteligentne systemy decyzyjne: Uczenie maszynowe sztuczne sieci neuronowe

Najprostsze modele sieci z rekurencją. sieci Hopfielda; sieci uczone regułą Hebba; sieć Hamminga;

Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.

Elementy inteligencji obliczeniowej

Algorytm wstecznej propagacji błędów dla sieci RBF Michał Bereta

Sztuczna inteligencja

BIOCYBERNETYKA SIECI NEURONOWE. Akademia Górniczo-Hutnicza. Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej.

SIECI NEURONOWE Liniowe i nieliniowe sieci neuronowe

HAŁASU Z UWZGLĘDNIENIEM ZJAWISK O CHARAKTERZE NIELINIOWYM

Sieci M. I. Jordana. Sieci rekurencyjne z parametrycznym biasem. Leszek Rybicki. 30 listopada Leszek Rybicki Sieci M. I.

wiedzy Sieci neuronowe (c.d.)

Obliczenia Naturalne - Sztuczne sieci neuronowe

ZACHODNIOPOMORSKI UNIWERSYTET TECHNOLOGICZNY W SZCZECINIE

Widzenie komputerowe

Sieci neuronowe do przetwarzania informacji / Stanisław Osowski. wyd. 3. Warszawa, Spis treści

Uczenie sieci neuronowych i bayesowskich

Optymalizacja ciągła

Temat: Sztuczne Sieci Neuronowe. Instrukcja do ćwiczeń przedmiotu INŻYNIERIA WIEDZY I SYSTEMY EKSPERTOWE

Rozdział 1 Sztuczne sieci neuronowe. Materiały do zajęć dydaktycznych - na podstawie dokumentacji programu Matlab opracował Dariusz Grzesiak

SZTUCZNE SIECI NEURONOWE

Elementy kognitywistyki II: Sztuczna inteligencja. WYKŁAD X: Sztuczny neuron

ELEMENTY SZTUCZNEJ INTELIGENCJI. Sztuczne sieci neuronowe

Algorytmy wstecznej propagacji sieci neuronowych

PRZEWODNIK PO PRZEDMIOCIE

Metody systemowe i decyzyjne w informatyce

Sieci neuronowe i ich ciekawe zastosowania. Autor: Wojciech Jamrozy III rok SMP / Informatyka

Temat: Sieci neuronowe oraz technologia CUDA

MODELOWANIE RZECZYWISTOŚCI

Uczenie się pojedynczego neuronu. Jeśli zastosowana zostanie funkcja bipolarna s y: y=-1 gdy z<0 y=1 gdy z>=0. Wówczas: W 1 x 1 + w 2 x 2 + = 0

6. Perceptron Rosenblatta

Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.

Temat: ANFIS + TS w zadaniach. Instrukcja do ćwiczeń przedmiotu INŻYNIERIA WIEDZY I SYSTEMY EKSPERTOWE

Systemy pomiarowo-diagnostyczne. Metody uczenia maszynowego wykład III 2016/2017

Zastosowania sieci neuronowych - automatyka identyfikacja sterowanie

METODY INTELIGENCJI OBLICZENIOWEJ wykład 4

SZTUCZNE SIECI NEURONOWE

Sieci neuronowe jako sposób na optymalizacje podejmowanych decyzji. Tomasz Karczyoski Wydział W-08 IZ

Sztuczne sieci neuronowe Ćwiczenia. Piotr Fulmański, Marta Grzanek

PROGNOZOWANIE OSIADAŃ POWIERZCHNI TERENU PRZY UŻYCIU SIECI NEURONOWYCH**

Podstawy Sztucznej Inteligencji Sztuczne Sieci Neuronowe. Krzysztof Regulski, WIMiIP, KISiM, B5, pok. 408

Deep Learning na przykładzie Deep Belief Networks

KARTA MODUŁU KSZTAŁCENIA

Podstawy Sztucznej Inteligencji

Rozpoznawanie wzorców. Dr inż. Michał Bereta p. 144 / 10, Instytut Informatyki

Inteligentne systemy informacyjne

Sieć przesyłająca żetony CP (counter propagation)

WYKŁAD 9 METODY ZMIENNEJ METRYKI

Algorytmy sztucznej inteligencji

Metody systemowe i decyzyjne w informatyce

Rozpoznawanie obrazów

ID1SII4. Informatyka I stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny) stacjonarne (stacjonarne / niestacjonarne)

Wstęp do sieci neuronowych laboratorium 01 Organizacja zajęć. Perceptron prosty

Systemy uczące się Lab 4

Sztuczne sieci neuronowe

Prognozowanie kierunku ruchu indeksów giełdowych na podstawie danych historycznych.


Elementy kognitywistyki III: Modele i architektury poznawcze

Optymalizacja ciągła

Sztuczne Sieci Neuronowe. Wiktor Tracz Katedra Urządzania Lasu, Geomatyki i Ekonomiki Leśnictwa, Wydział Leśny SGGW

METODY HEURYSTYCZNE 4

Sztuczne sieci neuronowe. Uczenie, zastosowania

Oprogramowanie Systemów Obrazowania SIECI NEURONOWE

Prof. Stanisław Jankowski

SID Wykład 8 Sieci neuronowe

Wstęp do teorii sztucznej inteligencji

Wstęp do sieci neuronowych, wykład 6 Wsteczna propagacja błędu - cz. 3

Sieć Hopfielda. Sieci rekurencyjne. Ewa Adamus. ZUT Wydział Informatyki Instytut Sztucznej Inteligencji i Metod Matematycznych.

Transkrypt:

ESI: Perceptrony proste i liniowe [Matlab 1.1] Matlab2015b i nowsze 1 kwietnia 2019 1. Cel ćwiczeń: Celem ćwiczeń jest zapoznanie się studentów z podstawami zagadnieniami z zakresu sztucznych sieci neuronowych. 2. Model neuronu McCullocha Pittsa: W rok943 McCulloch i Pitts zaproponowali sztuczny model neuronu [6], który w prosty sposób miał odtwarzać działanie neuronu biologicznego. Budowa biologiczna neuronu została przedstawiona na Rys. 1. Struktura neuronu może być podzielona na trzy funkcjonalne części: dendryty, somę oraz axon. Dendryty odpowiadają za zbieranie sygnałów z innych neuronów, soma odpowiedzialna jest za powstawanie nowego sygnału elektrochemicznego. Axon natomiast przekazuje sygnał do kolejnych neuronów. Kierując się tym tokiem rozumowania McCulloch i Pits zaproponowali tzw TLU (ang. Treshold Logic Unit), którego matematyczny opis przedstawia się następująco 1, ni=1 u i w i > 0 y = (1) 0, ni=1 u i w i 0 a schemat przedstawia Rys. 2 Soma Axon Dendryty Rysunek 1: Bilogiczny neuron 1

w 1 φ y u 3 w 3 Rysunek 2: Perceptron McCullocha Pittsa 3. Ogólny model neuronu: Model perceptronu McCullocha Pittsa można uogólnić do postaci ( n y = σ u i w i + w n+1 ), (2) i=1 gdzie n to liczba wejść, waga w n+1 = b nazywana jest biasem, funkcja σ( ) nazywana jest funkcją aktywacji natomiast suma φ = n i=1 u i w i + w n+1 potencjałem membranowym. Od doboru funkcji aktywacji zależy zachowanie neuronu (tj. wartości wyjściowe) w odniesieniu do wartości potencjału membranowego. W konsekwencji od wybranej funkcji aktywacji zależą właściwości danej sieci neuronowej. Do popularnych funkcji aktywacji należą: wejścia 1 w 1 w 3 funkcja aktywacji φ σ y sumator wyjście Rysunek 3: Ogólny model sztucznego neuronu funkcja liniowa y = ax + b, funkcja różniczkowalna, gładka i monotoniczna 0, φ 0 funkcja unipolarna skoku jednostkowego y =, funkcja przedziałami różniczkowalna, monotoniczna, zwana funkcją Heaviside a 1, φ > 0 1, φ 0 funkcja bipolarna skoku jednostkowego y =, funkcja przedziałami różniczkowalna, 1, φ > 0 monotoniczna funkcja sigmoidalna unipolarna y = 1, funkcja różniczkowalna, gładka i monotoniczna 1+e βφ funkcja sigmoidalna bipolarna y = 1 eβφ, funkcja różniczkowalna, gładka i monotoniczna 1+e βφ funkcja Gaussa y = ae (x b)2 2c 2, funkcja różniczkowalna, gładka, niemonotoniczna W kontekście rodzajów sztucznych sieci neuronowych mówimy o sieciach liniowych, jeżeli funkcje aktywacji są funkcjami liniowymi lub o sieciach nieliniowych w przeciwnym wypadku. 2

4. Cechy i właściwości sieci neuronowych: uczenie podstawową cechą sieci neuronowych jest możliwość uczenia. Istnieją dwie metody uczenia sieci neuronowych: z nauczycielem w tej metodzie wykorzystuje się zbiory uczące składające się z z par (p, t) w których p jest zadaną wartością wejściową, natomiast t jest podpowiadaną przez nauczyciela wartością wyjściową. bez nauczyciela w tej metodzie sieć uczy się samodzielnie jedynie na podstawie sygnałów wejściowych p, uczenie polega wówczas na odkrywaniu analogii i asocjacji w danych wejściowych. uogólnianie sieci neuronowe posiadają zdolność uogólniania. Oznacza to, iż potrafi generalizować rozwiązywane problemy i dawać oczekiwaną odpowiedź nawet w przypadku gdy dane wejściowe nie były w zbiorze danych uczących, uniwersalny aproksymator w teorii [1] sieć neuronowa może być uniwersalnym aproksymatorem. Oznacza to, iż sieć o skończonej liczbie neuronów może przybliżyć dowolną funkcję matematyczną z dowolną dokładnością. W praktyce jednak ograniczeniem jest skończona liczba neuronów, która może być na tyle duża iż wystąpią problemy pamięciowe i numeryczne w procesie uczenia, odporność na zakłócenia sieć neuronowa jest w stanie wygenerować oczekiwany wynik nawet dla niepewnych, uszkodzonych lub niepełnych danych wejściowych. pamięć odpowiednia konstrukcja sieci (rekurencyjna) pozwala na uzyskanie efektu pamięci. Dzięki temu sieć może rozwiązywać problemy trwające w czasie (rozpoznawanie mowy), a w ogólności funkcjonować jak maszyna Touringa [7, 3] 5. Uczenie sieci neuronowych: Jak już wspomniano proces uczenia może odbywać się pod nadzorem nauczyciela (uczenie z nauczycielem, wówczas dane uczące zawierają zarówno próbki wejściowe jak i wyjściowe), lub bez nauczyciela (wówczas istotne jest odkrywanie reguł asocjacji przez sztuczną sieć neuronową). 5.1. Reguła Hebba: oparta o o teorię Donalda Hebba [2] dotyczącą aktywacji neuronów oraz powstawania engramów. Hebb postulował, iż połączenie pomiędzy dwoma neuronami wchodzącymi w stan pobudzenia w wyniku tego samego sygnału jest wzmacniane. Odzwierciedleniem tego jest mechanizm uczenia w następującej postaci w i (k + 1) = w i (k) + w i (k), (3) w i (k) = ηp i (k)y(k), (4) gdzie p to wartości wejściowe zbioru uczącego, t oczekiwane wartości wyjściowe a η jest krokiem uczenia. Krok uczenia to parametr pozwalający na zmianę tempa uczenia. 3

5.2. Reguła perceptronowa: Regułę tę stosuje się do uczenia perceptronu prostego ze skokową funkcją aktywacji. Korekcja wag odbywa się w/g wzoru w i (k), w i (k + 1) = w i (k) + u i (k), w i (k) u i (k), y(k) = t(k), y(k) < t(k), y(k) > t(k), gdzie p to wartości wejściowe zbioru uczącego, t oczekiwane wartości wyjściowe. 5.3. Reguła Widrowa Hoffa: Regułę tę stosuje się, gdy ze względu na nieciągłość funkcji aktywacji nie można wyznaczyć pochodnej. Korekcja wag odbywa się w/g wzoru [4] w i,j (k + 1) = w i,j (k) + w i,j (k), (6) ( ) w i,j (k) = ηp j (k) t i (k) y i (k), (7) gdzie p to wartości wejściowe zbioru uczącego, t oczekiwane wartości wyjściowe a η jest krokiem uczenia. Reguła Widrowa Hoffa jest uogólnieniem reguły perceptronowej. Jednocześnie można zauważyć, iż reguła Widrowa Hoffa minimalizuje kwadratową funkcję celu n E(k) = (t i (k) y i (k)) 2. (8) i=1 Funkcja celu to funkcja która jest minimalizowana przez algorytm uczenia. Znalezienie minimum gwarantuje znalezienie najlepszego dopasowania parametrów (wag) sieci. 5.4. Algorytmy gradientowe i wsteczna propagacja: Przyjmując do rozważań, iż minimalizacja pewnej określonej funkcji zapewni minimalizację różnicy pomiędzy wartością oczekiwaną a otrzymaną e i = t i y i, można przedstawić problem uczenia sieci jako problem optymalizacyjny. Bezpośrednim następstwem takiego rozumowania jest Reguła Delty w której zmiana wag jest zdefiniowana następująco w i,j (k) = η E(k) w, (9) będąc uogólnieniem dla neuronów o ciągłej, gładkiej funkcji aktywacji. Krok uczenia η definiuje jak szybko algorytm zbiega wzdłuż kierunku spadku gradientu. Rys. 4 przedstawia zachowanie algorytmu dla η 1 < η 2 < 1, gdzie η 1 zaznaczono kolorem niebieskim, zaś η 2 czerwonym. Inną popularną optymalizacji nieliniowej stosowanej do uczenia sieci neuronowych jest metoda największego spadku. Jest to metoda gradientowa polegająca na wyznaczenie minimum zadanej funkcji celu, będąca rozszerzeniem reguły delty, η nie jest bowiem wybierane arbitralnie a optymalizowane w każdym kroku, tak aby wyznaczyć kierunek największego spadku. gdzie W jest wektorem (lub macierzą) wag, a E(k) = W (k + 1) = W (k) η E(k), (10) 4 [ E(k) w 1 (5) ], E(k),..., E(k) w n jest gradientem

1 0.1 η 1 η 2 0.5 0 0.3 0.5 1 1.6 1.4 1.2 1 0.8 Rysunek 4: Algorytm największego spadku dla różnych η funkcji celu. 5.5. Uczenie adaptacyjne: Uczenie adaptacyjne polega na inteligentnym dopasowaniu parametrów uczenia do kontekstu w którym uczenie następuje [5]. Techniki adaptacyjne mają na celu poprawić zbieżność (zarówno złożoność czasową, obliczeniową jak i osiągalność) algorytmów szukania minimum funkcji celu. Dopasowaniu może podlegać krok uczenia η(k) = E(k) E(k)d(k), (11) gdzie d(k) jest kierunkiem przeszukiwań, a całość oparta jest o metodę Newtona. Istnieją również inne metody dopasowania kroku uczenia [5]. 6. Granica decyzyjna, bias: Rozważmy model perceptronu w postaci 1, φ > 0 y = 0, φ 0, (12) gdzie φ = w 1 + + b. Jest to model McCullocha Pittsa o dwóch wejściach, jednym wyjściu i biasie. Położenie prostej φ w na płaszczyźnie zmiennych, będzie zależne od wartości w 1,, które będą współczynnikami kierunkowymi prostej oraz b, czyli biasu (wyrazu wolnego) Rys. 5a przedstawia położenie prostej φ w zależności od wartości wag w 1,, natomiast Rys. 5b wpływ biasu. Załóżmy, iż chcemy zastosować perceptron (12) jako bramkę logiczną OR. Aby zastosować perceptron jako bramkę OR najpierw należy poddać go procesowi uczenia, np. metodą perceptronową. Tabela 1 przedstawia tablicę prawdy funkcji logicznej OR. Wartości, stanowić będą wejściowy zbiór uczący a y oczekiwane wartości wyjściowe. Po nauczeniu perceptronu prosta = w 1 +b rozdzieli płaszczyzne zmiennych wejściowych na dwie półpłaszczyzny. Na jednej półpłaszczyźnie w 1 + + b > 0 będą leżały elementy przynależne y = 1, na drugiej w 1 + + b 0 przynależne y = 0 (patrz (12)). Prostą = w 1 +b nazywamy granicą decyzyjną, a perceptron w takiej postaci 5

w1 = 1, = 1.3 w 1 = 1, = 1 w 1 = 1.3, = 1 b = 1 b = 0 b = 1 (a) Wpływ wag w 1, (b) Wpływ biasu b Rysunek 5: Wpływ wag w 1,, b na położenie prostej φ y 0 0 0 0 1 1 1 1 1 1 0 1 Tabela 1: Tablica prawdy funkcji OR jest klasyfikatorem binarnym. (0,1) (1,1) u2 = w 1 +b (0,0) (1,0) Rysunek 6: Przykładowy przebieg granicy decyzyjnej 7. Separowalność liniowa: O problemie klasyfikacji można powiedzieć, iż jest separowalny liniowo jeżeli można wyznaczyć hiperpłaszczyznę rozdzielającą przestrzeń elementów na dwa podzbiory(patrz Rys. 6). Przykładami problemów separowalnych liniowo w przestrzeni dwuwymiarowej są problem 6

OR i AND. 8. Zadania: 8.1. Korzystając z funkcji ezplot(matlab 2017a i nowszefplot) narysować wykresy funkcji liniowej oraz unipolarnego oraz bipolarnego skoku jednostkowego w przedziale domkniętym 1, 1. 8.2. Sprawdzić wartości funkcji hardlim, hardlims i heaviside w punktach { 1, 0, 1}. 8.3. Sprawdzić działanie biasu na przykładzie funkcji liniowej (y = ax + b) i skoku jednostkowego (hardlim(x + b)). Narysować wykresy dla wszystkich b = { 1, 0.3, 0.4, 1} wykorzystując dodatkowe parametry polecenia plot. 8.4. Samodzielnie zaimplementować uczenie dwu-wejściowego perceptronu prostego z biasem z zastosowaniem reguły perceptronowej. Nauczyć perceptron rozwiązywania problemu OR. 8.5. Wykorzystując polecenia perceptron i train sprawdzić działanie algorytmu z zad 4. 8.6. Samodzielnie zaimplementować uczenie jedno-wejściowego perceptronu liniowego z biasem z zastosowaniem reguły Widrowa Hoffa. 8.7. Wykorzystując polecenia newlind i train nauczyć liniową sieć neuronową wyznaczania n-tej liczby nieparzystej. Porównać wyniki dla algorytmu z zad 6. 8.8. Napisać skrypt który będzie wyświetlał granicę decyzyjną perceptronu prostego. Sprawdzić działanie skryptu dla problemów OR, AND i XOR dla pojedynczego neuronu uczonego algorytmem z zad. 4. Literatura [1] M H Hassoun. Fundamentals of Artificial Neural Networks. A Bradford book. MIT Press, 1995. [2] D Hebb. Organization of Behaviour. J. Wiley, New York, 1949. [3] Sepp Hochreiter and Jürgen Schmidhuber. Long Short-Term Memory. Neural Computation, 9(8):1735 1780, 1997. [4] Stefen Hui and Stanislaw H. Zak. The Widrow-Hoff Algorithm for McCulloch-Pitts Type Neurons. IEEE Transactions on Neural Networks, 5(6):924 929, 1994. [5] GEORGE D. MAGOULAS and MICHAEL N. VRAHATIS. Adaptive Algorithms for Neural Network Supervised Learning: a Deterministic Optimization Approach. International Journal of Bifurcation and Chaos, 16(07):1929 1950, 2006. [6] Warren S. McCulloch and Walter Pitts. A logical calculus of the ideas immanent in nervous activity. The bulletin of mathematical biophysics, 5(4):115 133, 1943. [7] Alan Turing. Intelligent machinery: a report. London: National Physical Laboratory, 1948. 7