Uniwersytet Mikołaja Kopernika. Wydział Matematyki i Informatyki. Jarosław Piersa piersaj(at)mat.uni.torun.pl



Podobne dokumenty
Uczenie sieci neuronowych i bayesowskich

Podstawy Sztucznej Inteligencji (PSZT)

Wstęp do sieci neuronowych, wykład 04. Skierowane sieci neuronowe. Algorytmy konstrukcyjne dla sieci skierowanych

Sztuczne sieci neuronowe

Wstęp do sztucznych sieci neuronowych

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

Sztuczna Inteligencja Tematy projektów Sieci Neuronowe

Wprowadzenie do Sieci Neuronowych lista zadań 1

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

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

Wprowadzenie do Sieci Neuronowych Laboratorium 05 Algorytm wstecznej propagacji błędu

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.

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

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

IMPLEMENTACJA SIECI NEURONOWYCH MLP Z WALIDACJĄ KRZYŻOWĄ

Temat: Sieci neuronowe oraz technologia CUDA

Zastosowania sieci neuronowych

Zagadnienia optymalizacji i aproksymacji. Sieci neuronowe.

Elementy inteligencji obliczeniowej

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

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

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

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

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

Metody Sztucznej Inteligencji II

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

Wykład 1: Wprowadzenie do sieci neuronowych

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

Uczenie sieci typu MLP

MODELOWANIE RZECZYWISTOŚCI

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

Eksploracja Danych. wykład 4. Sebastian Zając. 10 maja 2017 WMP.SNŚ UKSW. Sebastian Zając (WMP.SNŚ UKSW) Eksploracja Danych 10 maja / 18

Projekt Sieci neuronowe

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

Wstęp do sieci neuronowych, wykład 9 Sieci rekurencyjne. Autoasocjator Hopfielda

Aproksymacja funkcji a regresja symboliczna

Optymalizacja optymalizacji

Sztuczne sieci neuronowe (SNN)

Wstęp do sieci neuronowych, wykład 10 Sieci rekurencyjne. Autoasocjator Hopfielda

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

Wstęp do sieci neuronowych, wykład 12 Wykorzystanie sieci rekurencyjnych w optymalizacji grafowej

Wstęp do sieci neuronowych, wykład 9 Sieci rekurencyjne. Autoasocjator Hopfielda

Wstęp do sieci neuronowych, wykład 10 Sieci rekurencyjne. Autoasocjator Hopfielda

ALGORYTMY SZTUCZNEJ INTELIGENCJI

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

Sztuczne siei neuronowe - wprowadzenie

Wstęp do sieci neuronowych, wykład 07 Uczenie nienadzorowane cd.

Inteligentne systemy informacyjne

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

Zastosowania sieci neuronowych

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

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

1. Logika, funkcje logiczne, preceptron.

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

Algorytmy stochastyczne, wykład 08 Sieci bayesowskie

WYKORZYSTANIE SIECI NEURONOWEJ DO BADANIA WPŁYWU WYDOBYCIA NA SEJSMICZNOŚĆ W KOPALNIACH WĘGLA KAMIENNEGO. Stanisław Kowalik (Poland, Gliwice)

w analizie wyników badań eksperymentalnych, w problemach modelowania zjawisk fizycznych, w analizie obserwacji statystycznych.

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

Wstęp do sieci neuronowych, wykład 01 Neuron biologiczny. Model perceptronu prostego.

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

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

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

Sieci neuronowe w Statistica. Agnieszka Nowak - Brzezioska

Inteligentne systemy decyzyjne: Uczenie maszynowe sztuczne sieci neuronowe

Rozpoznawanie obrazów

Elementy kognitywistyki III: Modele i architektury poznawcze

wiedzy Sieci neuronowe

Oprogramowanie Systemów Obrazowania SIECI NEURONOWE

ELEMENTY SZTUCZNEJ INTELIGENCJI. Sztuczne sieci neuronowe

Wstęp do sieci neuronowych, wykład 11 Łańcuchy Markova

Sieci neuronowe w Statistica

Uczenie Wielowarstwowych Sieci Neuronów o

Podstawy sztucznej inteligencji

Wstęp do sieci neuronowych, wykład 12 Łańcuchy Markowa

Modelowanie niezawodności prostych struktur sprzętowych

Zastosowanie sztucznych sieci neuronowych w prognozowaniu szeregów czasowych (prezentacja 2)

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

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

I EKSPLORACJA DANYCH

SIECI NEURONOWE Liniowe i nieliniowe sieci neuronowe

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

Inteligentne systemy przeciw atakom sieciowym

Budowa sztucznych sieci neuronowych do prognozowania. Przykład jednostek uczestnictwa otwartego funduszu inwestycyjnego

SIEĆ NEURONOWA JAKO NARZĘDZIE APROKSYMACJI I KLASYFIKACJI DANYCH. Jakub Karbowski Gimnazjum nr 17 w Krakowie

Automatyczna predykcja. Materiały/konsultacje. Co to jest uczenie maszynowe? Przykład 6/10/2013. Google Prediction API, maj 2010

Klasyfikacja metodą Bayesa

Zajęcia nr. 3 notatki

Instytut Politechniczny Państwowa Wyższa Szkoła Zawodowa. Diagnostyka i niezawodność robotów

Wykład z Technologii Informacyjnych. Piotr Mika

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

SZTUCZNA INTELIGENCJA

Sztuczne sieci neuronowe

Testowanie modeli predykcyjnych

Obliczenia inspirowane Naturą

PRZEWODNIK PO PRZEDMIOCIE

Wnioskowanie bayesowskie

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

Obrona rozprawy doktorskiej Neuro-genetyczny system komputerowy do prognozowania zmiany indeksu giełdowego

Zmienne zależne i niezależne

Modele DSGE. Jerzy Mycielski. Maj Jerzy Mycielski () Modele DSGE Maj / 11

Transkrypt:

Uniwersytet Mikołaja Kopernika Wydział Matematyki i Informatyki Jarosław Piersa piersaj(at)mat.uni.torun.pl Abstrakt Poniższy referat dotyczy zagadnień uczenia w sieciach neuronowych i bayesowskich(sieciach przekonań). Jest opracowaniem rozdziału 19-go książki Artificial Intelligence, A modern Approach Russela i Norviga[1]. Przygotowany został w ramach laboratorium Wstęp do Metod Sztucznej Inteligencji w roku akademickim 2008/2009. 1 SieciNeuronowe 1.1 Komórkineuronowe Z biologicznego punktu widzenia neuron jest komórką(rys 1). Składa się z ciała komórki (soma), odchodzących drzewiastych dendrytów oraz zazwyczaj jednego długiego połączenia aksonu. Dendryty i akson są zakończone połączeniami synaptycznymi które umożliwaiają komunikacje między neuronami. Ilość połączeń wynosi od kilkudziesięciu do kilkuset tysięcy. Dendryty zazwyczaj przewodzą impulsy do komórki. Akson jest długim mierzącym nawet do metra połączeniem przewodzącym impulsy od ciała komórki. Impulsy elektryczne wysyłane przez neurony bazują na prądzie jonowym(a nie elektronowym). Potencjał elektryczny gromadzny na błonie komórkowej kumuluje się wraz z odbieraniem impulsów od innych neuronów i gdy przekroczy próg wysyłana jest odpowiedź impulsową wzdłóż aksonu. Po wysłaniu impulsu neuron przez pewien okrez czasu staje się niezdolny do odbierania i wysłania kolejnych impulsów, po czym powraca do normalnego stanu. Połączone ze sobą neurony tworzą ośrodki nerwowe zarówno u ludzi, jak i u ssaków, kręgowców, a także zwierząt bezstrunowych(owady, pajęczaki). Istniejące w potocznym języku szare komórki nie są niczym innym jak siecią neuronową, składającą się na zewnętrzną warstwę mózgu. Co prawda pełne zrozumienie funkcjonowania ludzkiego umysłu nadal pozostaje wyzwaniem, ale znajomość samej ogólnej budowy i dynamiki komórek nerwowych pozwala do pewnego stopnia je symulować. Sztuczne sieci neuronowe jako przedmiot badań wyrosły właśnie z nauki o prawdziwych komórkach neuronowych i do dziś są jednym z filarów sztucznej inteligencji. Modele są oczywiście znacznie uproszczone ale sprowadzają się do podebnej idei wiele prostych i podobnych do siebie jednostek współpracuje w celu osiągnięcia pewnego celu. Mimo postępu w rozwoju techniki nadal nie udało się zbudować komputera o mocy obliczeniowej choćby porównywalnej z ludzkim mózgiem. Zasadniczą zaporą zdaje się być całkowita współbieżność komórek nerwowych, podczas gdy symulacje dzielą czas kilku do kilkunastu procesorów pomiędzy wiele milionów czy miliardów jednostek w sztucznej sieci (patrz tabela 2). 1.2 Perceptron Perceptron jest najprostszym modelem komórki nerwowej. Jednostka składa się z określonej (N)liczbywejść x i, i = 1..N,wag w i, i = 1..N(jednawagaskojarzonazkażdymwejściem) oraz pewnej funkcji aktywacji f : R R. Jednostka działa synchronicznie. W danym kroku 1

Rysunek 1: Komórka nerwowa komputer mózg Jednostkiobliczeniowe 1CPU 10 11 neuronów Pojemność 10 9 bram, 10 10 dyski 10 11 neuronów, 10 14 synaps Czas1cyklu 10 8 s 10 3 s Przepustowość 10 9 b/s 10 14 b/s Operacjinaneuronach1/s 10 5 10 14 Rysunek 2: Porównanie możliwości obliczeniowych kompurerów(ok 1995) i ludzkiego mózgu. na wszystkich wejściach pojawiają się wartości(całkowite lub rzeczywiste). Jednostka liczy sumę ważoną wszystkich wejść: N in = x i w i a następnie zwraca wartość funkcji aktywacji na wyliczonej wartości(patrz rys 3) f(in) W zależności od rodzaju zagadnienia rozważa się różne postacie funkcji f: Identyczność f(s) = s takajednostkaliczypoprostusumęważonąwejść, i=1 Rysunek 3: Schemat działania perceptronu 2

Funkcja progowa(bipolarna) f(s) = { 0 s < p 1 s p Wartość p może być dodatkowym parametrem opisującym perceptron. Ten typ funkcji modeluje wysyłanie impulsu po przekroczeniu pewnego progu, które to zachowanie charakteryzuje komórki neuronowe. funkcja znakowa(bipolarna) f(s) = { 1 s < p +1 s p Funkcja podobna do poprzedniej z tą różnicą, że wartość 1 nie jest elementem neutralnym dodawania i odpowiedź negatywna może mieć pewien wpływ. Sigmoida f(s) = σ(s) = 1 1 + exp( s) Funkcja sigmoidalna może tu dziwić. Wymaga dzielenia i potęgowania, czyli więcej obliczeń, co nie powinno być wskazane przy wielokrotnym wykonywaniu. Jednakże jest ciągła i różniczkowalna co ma zasadnicze znaczenie przy algorytmach uczenia i przybliża funkcją bipolarną. Ponadto zachodzi 1.3 Uczenieperceptronu σ (s) = σ(s) (1 σ + (s)) Termin perceptron poza pojedynczą jednostką może czasem oznaczać sieć składającą się z kilku niezależnych od siebie jednostek, która zwraca nie jedną, a kilka liczb. W takim przypadkuwynikinterpretowanyjestjakojedenelement R M,gdzie Mjestilościąperceptronów. Problemuczeniasiecsprowadzasiędoznalezieniawartościwag w i iewentualnieprogu pdla wszystkich jednostek w sieci(często dla jednej). Czasami przyjmuje się, że zamiast progu neuron ma dodatkowe wejście na które zawsze przychodzi wartość 1 a jego waga wynosi w 0 = p. Danyniechbędziezestawprzykładów E = { E (1)...E (k)},gdzie E (i) = (e (i) 1,..., e(i) N ) R N iodpowiadająceimpoprawnewyniki T (1)...T (k). DanyteżmamyperceptronoN wejściach i jednym wyjściu. Weźmyprzykład E j iodpowiadającąmupoprawnąodpowiedź T j,niechsiećzbieżącym zestawem wag zwróci wartość O. Rozważmy błąd: ERR = T j O Jeżelijestdodatnitomusimyzwiększyć O,jeżeliwejście e j i > 0tozwiększeniewagi w i zwiększy O,jeżeli e j i < 0tozmniejszenie w izwiększy O. Jeżeli błąd ERR jest ujemny to musimy zmniejszyć O. Podobnie rozumując musimy zmniejszyćwagi w i jeśliwejście e j i > 0izwiększyć w iwprzeciwnymwypadkutj. e j i < 0. Podsumowując te rozważania otrzymujemy algorytm: Wylosujwagi w i małe,blisko 0. Wybierzprzykład E j iodpowiadającąmupoprawnąodpowiedź T j, Oblicz O wynikdziałaniasiecina E j Oblicz ERR = T j O 3

Rysunek 4: Problem liniowo separowalny(po lewej), i nieseparowalny(po prawej) Uaktualnij wszystkie wagi zgodnie ze wzorem η > 0jeststałąuczenia. w i = w i + η ERR e j i Jeżeli sieć klasyfikuje poprawnie wszystkie(większość) przykłady to zakończ, wpw wróćdo2. Warunek końcowy powinien traktowany ze szczególną uwagą. Nie musi być prawdą, że dla każdego zestawu uczącego istnieje zestaw wag, który daje poprawną klasyfikację na wszystkich przykładach. Obliczenia wykonywane przez perceptron dają równanie pewnej hiperprzestrzeni N 1 wymiarowej. Nałożenie na to funkcji progowej pozwala stwierdzić czy dany punkt leży po właściwej stronie tej hiperprzestrzeni, ale niewiele więcej. To ograniczenie nazywa się liniową separowalnością problemu i już w latach 60-tych XX wieku pokazano, że pojedynczy perceptron(a także jednowarstwowa sieć perceptronów) nie może rozwiązać problemu, który nie jest liniowo separowalny(patrz rys. 4). 1.4 Siecineuronowe Podobnie jak w mózgu, sztuczne sieci neuronowe są zestawem prostych jednostek połączonych między sobą w bardziej skomplikowane struktury. Jak się okazuje przejście z jednej jednostki do wielu współpracujących ze sobą pozwala znacznie zwiększyć możliwości obliczeniowe. W zależności od architektury wyróżniane są następujące klasy sieci: Sieci skierowane(ang. feed-forward) z jednoznacznie zdefiniowanym kierunkiem przepływu impulsów, nie dopuszczają skierowanych cykli. Sieci rekurencyjne, bardziej ogólne, dopuszczające cykle(podobnie jak sieci nerwowe) ale trudniejsze w uczeniu. Nawet najlepiej opisane z nich charakterysują się regularną strukturą, np: sieci Hopfielda, maszyny Boltzmanna. Studiowanie właściwości sieci rekurencyjnych wykracza poza materiał tego referatu. 1.5 Sieciwarstwowe Sieci warstwowe są przykładem sieci feed-forward. Perceptrony pogrupowane są w warstwy, dane wejściowe wchodzą do wszystkich jednostek w najniższej warstwie Wyniki policzone w warstwie niższej są traktowane jako wejścia w warstwie bezpośrednio wyżej. Wyniki z warstwy najwyższej są zwracane jako wyniki całej sieci na danych wejściowych(rys. 5). Warstwy, które nie są wyjściowymi nazywane są ukrytymi. Sieci neuronowe zjedną warstwą ukrytą mogą przybliżać każdą funkcję ciągłą. Sieci z dwiema i więcej warstwami nieciągłymi mogą przybliżać funkcje nieciągłe, o ile ilość jednostek w sieci jest wystarczająca. 4

Rysunek 5: Warstwowa sieć neuronowa O ile znane są algorytmy uczenia dla sieci warstwowych to problem optymalizacji samej architektury sieci dla zadanych danych jest trudny. Zbyt mała ilość neuronów nie zagwarantuje wystarczającej ilości pamięci by się funkcji nauczyć. Zbyt wielka da z kolei pamięć słownikową, sieć zapamięta wyniki wraz z odpowiedziami, ale straci zdolność do generalizacjitj.ocenydanych,któresą podobne dotegoczegosięuczyła(ipowinnymiećrównież podobne wyniki). Stosowane są algorytmu genetyczne lub w konkretnych wprzypadkach algorytmy konstrukcji sieci wraz z doborem wag, ale w ogólnej sytuacji problem zależy od danych, jakimi sieć ma być uczona. Najpopularniejszym algorytmem uczenia sieci neuronowych jest propagacja wsteczna czasem zwana również wsteczna propagacja błędu(ang. back-propagation, back-errorpropagation). Idea algorytmu polega na obliczeniu błędu między zwracaną odpowiedzią, a poprawnym wynikiem i następnie podzieleniu odpowiedzialności za ten błąd pomiędzy wagi. Następnie korygowane są wagi w głębszych warstwach sieci w zależności od ich wpływu na błąd. Propagacja wsteczna jest przypadkiem algorytmu spadku gradientowego. Daną mamy funkcję(błąd), którą minimalizujemy na przestrzeni wartości wag. Ponieważ w obliczeniach potrzebujemy pochodnej, w sieci powinna być stosowana sigmoidalna funkcja aktywacji. Dane Śieć neuronowa, zestaw danych wejściowych E i poprawnych odpowiedzi T. Wynik Wartościwag w i, j Algorytm Wybierz przykład E z listy przykładów i odpowiadający mu poprawny wynik T Oblicz wynik działania sieci na E, zapamiataj go, zapamietaj również wyniki w warstwachpośrednich o j,sumyważone in j (wynikiprzedzaaplikowaniemfunkcjiaktywującej)iwejsciadoneuronowwdanejwarstwie I k,j (wejsciemdowarstwypierwszej jest przykład, dla warstw wyższych j są nimi wyniki z warstwy poprzedniej k) Dla wszystkich jednostek i w zewnętrznej warstwie sieci: Obliczbłąd err i = T i o i Oblicz i = err i f (in i ) 5

Uaktualnij wagi w jednostce i w j,i = w j,i + η o j err i f (in i ) Dla wszystkich jednostek j w kolejnych warstwach sieci: Oblicz błąd j = f (in j ) l w j,l l Uaktualnij wagi do jednostki j Wróćdo1. w k,j = w k,j + η I k,j j Zakończ po wykonaniu określonej liczby kroków lub osiągnięciu zadowalającego poziomu błędu Gdzie: I k,j k-tewejściedojednostki j η > 0stałauczenia 1.6 Podsumowanie Sieci neuronowe znalazły zastosowanie przede wszystkim tam, gdzie metody analityczne zawodzą ze względu na poziom skomplikowania czy wymiar przestrzeni. Między innymi: rozpoznawanie obrazów, rozpoznawanie tekstu pisanego, wymawianie tekstu pisanego, kierowanie pojazdami itp. Same sieci charakteryzują się: Odpornością na szum ze względy na obliczenia na średnich ważonych i progowe funkcje. Efektywność obliczeniowa mając dane wejście, wynik może zostać obliczony w czasie liniowym względem ilości jednostek w sieci. Obliczenia to w większości mnożenia i dodawania. Generalizacja jeżeli sieć nie zostanie przeuczona, nauka na przykładach daje również porządane zachowanie na danych które nie znalazły się w zestawie uczącym. Zdolności opisu dane wejściowe mają często interpretację w świecie podobnie jak wynik. Ale już wartościom w jednostkach ukrytych trudno przypisać jakiekolwiek znaczenie. Sieci neuronowe mogą działać zarówno dla danych dyskretnych(całkowitoliczbowych) jak i ciągłych. Z drugiej strony odporność na szum, czyni je niemal niezdatnymi do obliczeń logicznych, które zależą od wartości pojedynczych zmiennych. W takich sytuacjach potrzebna jest wykładnicza wzgledem ilości zmiennych liczba jednostek ukrytych. Nieprzeźroczystość sieć neuronowa jest czarną skrzynką raz nauczona może działać stale. Przyjmuje pewne dane i zwraca wyniki, ale absolutnie nie wiadomo jak są one obliczane, ani jakie są wyniki pośrednie. Jeżeli z jakichś powodów sieć przestanie działać(uszkodzenie procesora), trudno stwierdzić dlaczego i naprawić problem. Najprostszym(często jedynym) rozwiązaniem jest wówczas ponowne uczenie sieci, czego użytkownik sam wykonać nie może. Korzystanie z wiedzy choć znane są algorytmu uczenia bez nauczyciela, w większości przypadków wiedza jest konieczna do uczenia sieci. 6

2 Siecibayesowskie 2.1 Co to jest sieć bayesowsja Rysunek 6: Sieć bayesowska Podobniejak sieć neuronowa, sieć bayesowska jest układem połączonych ze sobą niekomplikowanych jednostek. Graf sieci jest skierowany i acykliczny, dopuszczamy wyłącznie cykle nieskierowane np. dwie różne drogi między tą samą parą węzłów. Jednostki opisują pewne rozkłady prawdopodobieństw warunkowych zależnych od wartości ich rodziców, po jednym rozkładnie na każdą możliwą kombinację wartości. Jednostki, które nie posiadają rodziców opisują tylko jeden rozkład. W działaniu mając daną wiedzę(to jest wartości zmiennych w jednym lub więcej węźle), można za pomocą sieci bayesowskiej obliczyć prawdopodobieństwa przyjęcia konkretnych wartości przez pozostałe jednostki. Jeżeli wiedza dotyczy węzłów na początku sieci mówimy o wnioskowaniu predyktywnym, czyli co może nastąpić w wyniku aktualnej sytuacji. Jeżeli wiedza dotyczy liści sieci, wówczas wnioskowanie nazywane jest diagnostycznym co spowodowało aktualny stan. Połączenie obu tych sytuacji nazywane jest wnioskowaniem mieszanym lub hybrydowym. 2.2 Uczenie sieci bayesowskiej Zasadniczym problemem podczas uczenia(i wnioskowania) jest obliczenie wielu łańcuchów prawdopodobienstw warunkowych by z wiedzy dojść do interesującego nas węzła, którego prawdopodobieństwo próbujemy oszacować. Mając daną wiedzę D, interesujący nas węzeł Xipośredniehipotezy H 1, H 2...mamy P(X D) = i P(X H i, D)P(H i D) Jako, że hipotez pośrednich może być wiele wynik można przybliżać poprzez: P(X D) P(X H MAP )P(H MAP D) 7

gdzie H MAP jesthipotezą,któramaksymalizujeteniloczyn(maximumaposteriori).podstawiając dodatkowo P(H i D) = P(D H i)p(h i ) P(D) zagadnienie redukuje się do maksymalizowania licznika. Przy dodatkowym założeniu, żę hipotezy H i sąjednakowoprawdopodobne,pozostajejużtylkoznaleźć H i,któremaksymalizuje P(D H i ),oznaczaneczasemjako H ML (maximumlikehood).zauważmy,żepoczynione tu uproszczenia z jednej strony upraszczają problem i czynią go mniej podatnym na szum, ale z drugiej mogą ignorować część danych uczących i skutkować gorszymi rezultatami. Uczenie sieci bayesowskiej można rozpatrywać w kilku przypadkach: Znana jest struktura sieci, brak jednostek ukrytych. W tym przypadku uczenie ogranicza się do znalezenia tabel rozkładów warunkowych, zazwyczaj za pomocą metod statystycznych. Czasami działające już sieci, podczas pracy zbierają informacje wejściowe by uaktualniać wartości w tabelach. Nieznana struktura sieci, brak jednostek ukrytych. Poza tabelami, należy znaleźć architekturę sieci, tj połączenia między węzłami. Mogą być wykorzystywane algorytmy przeszukiwania do znalezienia optymalnego grafu i przybliżanie wartości prawdopodobieństwpoprzezhipotezy H MAP i H ML. Znana struktura sieci, obecne jednostki ukryte. Sytuacja podobna do uczenia sieci neuronowych z warstwami ukrytymi. Nieznana struktura sieci, jednostki ukryte. Problem najogólniejszy i najtrudniejszy. Na chwilę obecną nie są znane efektywne algorytmy dla tego przypadku. 2.3 Uczenie sieci ze znaną architekturą Jeżeli sieć nie ma ogromnej ilości węzłów, strukturę można dość łatwo przyporządkować zgodnie ze zdrowym rozsądkiem. Każdy węzeł(widoczny) w sieci reprezentuje pewne zdarzenie i człowiek jest w stanie jasno sprecyzować związki przyczynowo-skutkowe między nimi. Jednostki ukryte mają istotny wpływ na rozkłady w tabelach prawdopodobieństw, ale już określenie praktycznego znaczenia jednostki ukrytej może być problemem. Rozpatrywane są z kilku powodów Po pierwsze sieci z jednostkami ukrytymi mogą być znacznie mniejsze pod kątem ilości połączeń między węzłami(rys. 7). Ma to zasadnicze znaczenie gdyż, ilość danych podczas uczenia zależy wykładniczo od stopnia wejściowego jednostek. Węzeł mający Nwejśćbinarnychposiadatabelęprawdopodobieństwz2 N rozkładamiwarunkowymi. Ponadto nie jest prawdą że dla danej architektury sieci i zestawy danych da się znależć tablice, które wiernie odtwarzają te dane. Dodanie jednostek ukrytych może rozwiązać ten problem. Rozważającproblemuczeniawterminachhipotez,chcemyznaleźć H i,któremaksymalizuje P(D H i ). Metodajestpodobnadoalgorytmuspadkugradientowego,używanegow uczeniusiecineuronowych. Ponieważmaksymalizujemywartość P(D H i )tamodyfikacja będzieraczej wspinaczką gradientową.zakładając,żewagi w i odpowiadająwartościom prawdopodobieństwa w tabnlicach pozostaje znaleźć pochodną szukanego prawdopodobieństwa po danej wadze. Niech D = {D 1...D m }będziezestawemdanych.zpowodudużejilościmnożeńrozsądnym będzie liczyć pochodną po logarytmie iloczynu(przejdzie na sumę logarytmów). ln P(D) w i = ln j P(D j) = w i j ln P(D j ) w i = j 1 P(D j ) P(D j ) w i 8

Rysunek 7: Sieć bayesowska ze wszystkimi jednostkami widzialnymi(po lewej), równoważna sieć z dodatkową jednostką ukrytą(po prawej). P(D j )/ w i P(D j ) = w i ( x,u P(D j x, u)p(x, u)) P(D j ) Jako,żewaga w i odpowiadazadokładniejedenwpiswtabeliprawdopodobieństwwarunkowych w i = P(X = x i U = u i ) = P(x i u i ) mamy w tej sumie tylko jeden niezerowy składniek w i ( x,u P(D j x, u)p(x u)p(u)) = P(D j x i, u i )P(u i ) = P(x i, u i D j ) = P(x i, u i D j ) P(D j ) P(D j ) P(x i u i ) w i W większości przypadków tę wartość można albo uzyskać bezpośrednio albo kosztem niewielkiej ilości operacji. 2.4 Porównanie sieci neuronowych i bayesowskich Sieci neuronoew i bayesowski, w kontekście rozważań o sztucznej inteligencji, są zazwyczaj wymieniane obok siebie. Jedne i drugie pracują na danych posiadających pewne znaczenie (atrybutach). Wejścia mogą być jedno lub wielowymiarowe, dyskretne i ciągłe, choć sieci bayesowskie dla danych ciągłych są mniej rozwijane. Jednakże w sieciach bayesowskich prawie wszystkie węzły mają pewne semantyczne znaczenie, w sieciach neuronowych znaczenie (semantyczne czyli interpretację w świecie) mają tylko wejścia i jednostki wyjściowe. Sieć neuronowa ma ustaloną ilość wyjść i wejść. Wejścim do sieci bayesowskij może być dowolny (niepełny) podzbiór wierzchołków. Zeleżności między jednostkami w sieciach bayesowskich są proste do opisania i zrozumienia, w sieciach neuronowych niemal niemożliwe. Raz nauczona sieć neuronowa może działać stale i szybko, w liniowym czasie. Sieć bayesowska również nie musi wymagać dodatkowego uczenia, ale wnioskowanie w ogólnych przypadkach jest problemem NP-trudnym, zazwyczaj jednak da się je efektywnie wykonać. Patrząc z drugiej strony sień neuronowa może mieć wykładniczo wiele węzłów ukrytych. Algorytmy konstrukcji architektury sieci są słabo rozwijane w obu przypadkach. Warości w sieciach bayesowskich mają dwa poziomy same wartości zmiennych losowych i prawdopodobieństwa z jakimi są przyjmowane. Sieci neuronowe potrzebują jawnego rozróżnienia między nimi. Literatura [1] Stuart J. Russell, Peter Norvig, Artificial Intelligence, A modern Approach, Prentice Hall, Englewood Cliffs, New Jersey 07632 9