56
AKADEMIA GÓRNICZO-HUTNICZA IM.STANISLAWA STASZICA W KRAKOWIE WYDZIAL ELEKTROTECHNIKI, AUTOMATYKI, INFORMATYKI I IN ˙ ZYNIERII BIOMEDYCZNEJ KATEDRA IN ˙ ZYNIERII BIOMEDYCZNEJ Praca dyplomowa magisterska Budowa sztucznego neuronowego asocjacyjnego systemu wiedzy o wybranym zagadnieniu. Autor: Grzegorz W ˛ asowski Kierunek studiów: Informatyka Opiekun pracy: dr hab. Adrian Horzyk, prof. n. Kraków, 2016

Praca dyplomowa magisterskahome.agh.edu.pl/~horzyk/pracedyplom/2016 Grzegorz Wąsowski - praca... · Z inteligencja˛ ´sci ´sle zwiazane˛ sa˛ pojecia˛ wiedzy, a tak ˙ze informacji

Embed Size (px)

Citation preview

AKADEMIA GÓRNICZO-HUTNICZA IM. STANISŁAWA STASZICA W KRAKOWIE

WYDZIAŁ ELEKTROTECHNIKI, AUTOMATYKI,INFORMATYKI I INZYNIERII BIOMEDYCZNEJ

KATEDRA INZYNIERII BIOMEDYCZNEJ

Praca dyplomowa magisterska

Budowa sztucznego neuronowego asocjacyjnego systemu wiedzy owybranym zagadnieniu.

Autor: Grzegorz WasowskiKierunek studiów: InformatykaOpiekun pracy: dr hab. Adrian Horzyk, prof. n.

Kraków, 2016

Uprzedzony o odpowiedzialnosci karnej na podstawie art. 115 ust. 1 i 2 ustawy z dnia 4 lu-tego 1994 r. o prawie autorskim i prawach pokrewnych (t.j. Dz.U. z 2006 r. Nr 90, poz. 631z pózn. zm.): „Kto przywłaszcza sobie autorstwo albo wprowadza w bład co do autorstwa ca-łosci lub czesci cudzego utworu albo artystycznego wykonania, podlega grzywnie, karze ogra-niczenia wolnosci albo pozbawienia wolnosci do lat 3. Tej samej karze podlega, kto rozpo-wszechnia bez podania nazwiska lub pseudonimu twórcy cudzy utwór w wersji oryginalnejalbo w postaci opracowania, artystycznego wykonania albo publicznie zniekształca taki utwór,artystyczne wykonanie, fonogram, wideogram lub nadanie.”, a takze uprzedzony o odpowie-dzialnosci dyscyplinarnej na podstawie art. 211 ust. 1 ustawy z dnia 27 lipca 2005 r. Prawoo szkolnictwie wyzszym (t.j. Dz. U. z 2012 r. poz. 572, z pózn. zm.): „Za naruszenie przepisówobowiazujacych w uczelni oraz za czyny uchybiajace godnosci studenta student ponosi odpo-wiedzialnosc dyscyplinarna przed komisja dyscyplinarna albo przed sadem kolezenskim samo-rzadu studenckiego, zwanym dalej «sadem kolezenskim».”, oswiadczam, ze niniejsza prace dy-plomowa wykonałem(-am) osobiscie i samodzielnie i ze nie korzystałem(-am) ze zródeł innychniz wymienione w pracy.

Składam serdeczne podziekowania mojemuPromotorowi za poswiecony czas, wyjatkowacierpliwosc i okazana pomoc.

Spis tresci

1. Wstep............................................................................................................................................... 7

1.1. Cele pracy .............................................................................................................................. 7

1.2. Zawartosc pracy..................................................................................................................... 8

2. Wprowadzenie ................................................................................................................................ 9

2.1. Inteligencja i wiedza.............................................................................................................. 9

2.2. Sztuczna inteligencja ............................................................................................................. 11

2.3. Mechanizmy asocjacyjne i wiedza skojarzeniowa ................................................................ 13

2.4. Elementy sztucznego systemu skojarzeniowego AAS .......................................................... 18

2.5. Budowa i symulacja grafu ANAKG...................................................................................... 19

2.5.1. Budowa grafu ANAKG.............................................................................................. 20

2.5.2. Symulacja odpowiedzi grafu ANAKG ...................................................................... 20

3. Opis stworzonego rozwiazania...................................................................................................... 23

3.1. Ogólne załozenia projektowe ................................................................................................ 23

3.1.1. Architektura sytemu................................................................................................... 23

3.1.2. Interfejs uzytkownika................................................................................................. 25

3.1.3. Sposób animacji widoku ............................................................................................ 26

3.2. Elementy modelu................................................................................................................... 27

3.2.1. Brain - mózg............................................................................................................... 27

3.2.2. Neuron........................................................................................................................ 28

3.2.3. Synapse - synapsa ...................................................................................................... 28

3.3. Balansowanie grafu ............................................................................................................... 28

3.4. Moduły .................................................................................................................................. 30

3.4.1. Moduł Creation .......................................................................................................... 30

3.4.2. Moduł Simulation ...................................................................................................... 33

3.4.3. Moduł Chart ............................................................................................................... 33

3.4.4. Moduł Response......................................................................................................... 34

4. Prezentacja działania programu i testy ....................................................................................... 37

5

6 SPIS TRESCI

4.1. Przykład testowy - Układ Słoneczny..................................................................................... 37

4.1.1. Opis ............................................................................................................................ 37

4.1.2. Wyniki działania programu........................................................................................ 38

4.2. Przykład testowy - Małpka .................................................................................................... 39

4.2.1. Opis ............................................................................................................................ 39

4.2.2. Wyniki działania programu........................................................................................ 40

4.3. Próba odtworzenia melodii .................................................................................................... 42

4.3.1. Opis ............................................................................................................................ 42

4.3.2. Wyniki działania programu........................................................................................ 42

4.4. Kółko i krzyzyk ..................................................................................................................... 44

4.4.1. Opis ............................................................................................................................ 44

4.4.2. Wyniki działania programu........................................................................................ 45

4.5. Podsumowanie testów ........................................................................................................... 47

5. Podsumowanie ................................................................................................................................ 49

A. Plik xml z danymi do testów ......................................................................................................... 51

B. Skróty klawiaturowe...................................................................................................................... 53

G. Wasowski Budowa sztucznego systemu wiedzy

1. Wstep

Od poczatku ery informacji naukowcy zadaja sobie pytania: Czy maszyny moga myslec jak ludzie?

Czy kiedys beda w stanie uniezaleznic sie od swoich twórców? Czy moze wrecz doprowadza kiedys

do upadku ludzkosci? Wiekszosc z nich wciaz pozostaje bez odpowiedzi. Problemy te sa poruszane

nie tylko w srodowisku naukowym. Zajmuje sie nim takze literatura i film. Mało która powiesc science-

fiction jest w stanie obyc sie bez inteligentnych robotów, czesto próbujacych zawładnac swiatem obecnie

rzadzonym przez ludzi.

Wciaz powstaja nowe algorytmy, nowe technologie, nowe rozwiazania. W czerwcu 2016 amerykan-

ski gigant Google zaprezentował projekt Magenta, działajacy na podstawie sieci neuronowych i zaawan-

sowanych modeli uczenia maszynowego program do tworzenia kompozycji muzycznych. Czy oznacza

to, ze juz wkrótce za pomoca komputera bedzie mozliwe stworzenie dzieł na poziomie najwiekszych

sław muzyki, czy tez moze aplikacja firmy Google nie stworzy nic ponad wrazenie, ze Gdzies to juz

słyszałem? Obecnie odpowiedz na to pytanie wciaz pozostaje otwarta.

Według przeprowadzonej w 2014 ankiety eksperckiej połowa respondentów uwaza, ze istnieje 50%

prawdopodobienstwo osiagniecia ludzkiego poziomu przez AI przed 2040 rokiem [6]. Z drugiej strony

sa tez tacy, którzy utrzymuja, ze sztuczna inteligencja nie osiagneła poziomu bakterii, nie mówiac o

bardziej skomplikowanych formach zycia, jak myszy. Tak naprawde wszystko zalezy od tego, co jest

rozumiane przez „osiagniecie ludzkiego poziomu inteligencji”. Czy jest to jedynie zdolnosc obliczen,

rozwiazywania problemów na poziomie ludzkim za pomoca specjalnych algorytmów, czy tez wykorzy-

stanie dokładnie tych samych schematów myslenia i zdobywania i klasyfikowania informacji, z których

korzysta inteligencja ludzka.

W niniejszej pracy podjeto próbe stworzenia systemu wiedzy za pomoca asocjacyjnego systemu sko-

jarzeniowego AAS, starajacego sie odzwierciedlic istotne funkcje biologicznych systemów skojarzenio-

wych BAS. Wykorzystano do tego model asocjacyjnego neuronu ASN, który za pomoca połaczen synap-

tycznych tworzy neuroasocjacyjny graf wiedzy ANAKG, wykorzystujac do tego procesy neurogenezy i

neuroplastycznosci, opierajace sie na podobnych procesach zachodzacych w zywych organizmach.

1.1. Cele pracy

Celem pracy jest budowa sztucznego neuronowego asocjacyjnego systemu wiedzy o wybranym za-

gadnieniu, działajacego w oparciu o grafy ANAKG (aktywny neuroasocjacyjny graf wiedzy), wywołuja-

7

8 1.2. Zawartosc pracy

cego sztuczne skojarzenia i przechowujacego wiedze w oparciu własnie o te skojarzenia. Zadanie zostało

podzielone na dwie podstawowe czesci. Pierwsza z nich jest budowa grafu ANAKG, składajacego sie z

asocjacyjnych neuronów ASN wraz z połaczeniami synaptycznymi pomiedzy nimi, na podstawie wczy-

tanych sekwencji uczacych. Druga jest obserwacja odpowiedzi systemu na podstawie pobudzen odpo-

wiednich neuronów, aktywowanych zgodnie z przesłanym zapytaniem. Do prezentacji wyników działa-

nia systemu skojarzeniowego, opisanego w niniejszej pracy, stworzono aplikacje dla systemu Windows,

w której uzyto graficznej biblioteki XNA Game Studio 4.0, pozwalajacej na wysokowydajna animacje z

uzyciem kodu zarzadzanego w jezyku C#.

1.2. Zawartosc pracy

Rozdział 2 zawiera opis teoretyczny rozwiazywanego problemu. Znajduja sie w nim rozwazania na

temat inteligencji z wyszczególnieniem dziedziny sztucznej inteligencji, a takze procesu formowania

wiedzy w biologicznym systemie systemie skojarzeniowym. Rozdział konczy opis aktywnego neuroaso-

cjacyjnego grafu wiedzy ANAKG, który przechowuje wiedze w postaci sztucznych skojarzen.

Rozdział 3 jest opisem stworzonej aplikacji, stanowiacej praktyczny rezultat pracy. Aplikacja ta zo-

stała podzielona na moduły odpowiedzialne za rózne sposoby prezentacji odpowiedzi systemu. Nad

wszystkim czuwa silnik, stanowiacy implementacje systemu wiedzy za pomoca grafu ANAKG.

W rozdziale 4 znajduje sie opis testów prezentujacych stworzony system wiedzy na podstawie róz-

nych zbiorów sekwencji uczacych. Zostały w nim przedstawione efekty róznych zapytan, a takze obser-

wacje i wysuniete na ich podstawie wnioski.

Podsumowanie pracy zostało zamieszczone w rozdziale 5.

G. Wasowski Budowa sztucznego systemu wiedzy

2. Wprowadzenie

Niniejszy rozdział zawiera podstawowe informacje na temat sztucznych systemów skojarzeniowych

AAS, opisuje pojecia wiedzy i inteligencji, a takze zagadnienia zwiazane z teoria asocjacji [1]. W roz-

dziale 2.5 został zamieszczony opis matematycznego modelu uzytego do budowy grafu ANAKG, wraz

ze wzorami i objasnieniem zastosowanych zmiennych.

2.1. Inteligencja i wiedza

Czym własciwie jest inteligencja? Według encyklopedii PWN inteligencja [łac. intelligentia zdol-

nosc pojmowania’, ‘rozum’], psychol. jedno z najbardziej wieloznacznych pojec w psychologii odnoszace

sie do sprawnosci w zakresie czynnosci poznawczych; w jezyku potocznym przez inteligencje rozumie

sie najczesciej zdolnosc rozwiazywania problemów praktycznych, zdolnosci jezykowe lub kompetencje

społeczne [12]. Czesto jako miare inteligencji danej jednostki uznaje sie iloraz inteligencji (intelligence

quotient, IQ). Jest on jednak czesto krytykowany z uwagi na fakt, ze duzej czesci pytan testowych mozna

sie nauczyc praktycznie na pamiec, co sztucznie podwyzsza wynik, gdy w rzeczywistosci inteligencja

uzywana w codziennym zyciu nie zwiekszyła sie nawet o 1%.

Z inteligencja scisle zwiazane sa pojecia wiedzy, a takze informacji. Ponownie posiłkujac sie en-

cyklopedia PWN, wiedza to w najogólniejszym sensie rezultat wszelkich mozliwych aktów poznania;

w wezszym znaczeniu - ogół wiarygodnych informacji o rzeczywistosci wraz z umiejetnoscia ich wy-

korzystywania [12]. Innymi słowy, wiedza mozemy nazwac zbiór informacji, które dana osoba potrafi

zinterpretowac i wykorzystac. Sa one powiazane ze soba w mózgu za pomoca neuronów i wystepujacych

miedzy nimi połaczen synaptycznych. Aby wykorzystac wiedze potrzebne jest wywołanie konkretnych

skojarzen za pomoca aktywacji neuronów, które nastepnie aktywuja kolejne tworzac okreslona sciezke

aktywacji, bedaca odpowiedzia mózgu na dane, które do niego napływaja. Nastepnie z tej odpowiedzi

człowiek moze, z pomoca efektorów, korzystac swiadomie lub nieswiadomie.

Jako pierwszy znana definicje wiedzy podał Platon, publikujac wniosek Sokratesa, który stwierdził,

ze wiedza to prawdziwe i uzasadnione przekonanie. Mozna zatem wysnuc na jej podstawie wniosek, ze

wiedza jest zbiorem prawdziwych i udowodnionych informacji. Jest to znacznie uproszczona definicja,

zgodnie z która teorii geocentrycznej Ptolemeusza nie mozna uznac za wiedze, poniewaz jest błedna,

pomimo faktu, ze przez wiele wieków była oficjalnie obowiazujaca. Arystoteles z kolei rozdzielał wie-

dze praktyczna od teoretycznej. Pierwsza z nich jest nabywana w wyniku doswiadczen, z kolei druga

9

10 2.1. Inteligencja i wiedza

poprzez nauke i rozwazania. Interesujacy jest fakt, ze zmiana stanu wiedzy, aktualnych teorii, a na-

wet paradygmatów, najczesciej wystepuje w naukach przyrodniczych, opartych na doswiadczeniu, jak

fizyka czy astronomia. W tym przypadku wystepuje bowiem czynnik ludzki, który sam w sobie jest

niedoskonały. Człowiek nie odbiera wszystkich bodzców, musi zaufac stworzonej przez siebie aparatu-

rze, co czesto prowadzi do błedów. Przeciwienstwem jest wiedza w naukach czysto abstrakcyjnych, jak

matematyka czy nawet jezyk. Matematyka dostarcza jedynie narzedzi do zrozumienia rzeczywistosci,

posługuje twierdzeniami i dowodami, których nie mozna podwazyc, w przeciwienstwie do teorii w na-

ukach przyrodniczych. Podobna role pełni jezyk, który człowiek sam wymyslił i wykorzystał do opisu

otaczajacego swiata. Co prawda podlega on ciagłej ewolucji, jednak w znakomitej wiekszosci zawiera

on elementy, które trudno podwazyc i sa niezalezne od czesto subiektywnej obserwacji osoby ludzkiej.

Informacja jest pojeciem praktycznie niedefiniowalnym. W informatyce, w kodzie zero-

jedynkowym, podstawowa jednostka informacji jest 1 bit. Podobnie jest w przypadku alfabetu, gdzie

podstawowa, niepodzielna jednostka jest litera, podczas gdy dla kodu genetycznego jest nia jedna z czte-

rech zasad azotowych (G, A, T, C). Z informacja wiaze sie pojecie danych, które sa definiowane jako

zbiór pewnych wartosci. Jesli sa zrozumiałe, niosa ze soba pewna informacje. Dane moga byc prezen-

towane i przetwarzane, zarówno przez człowieka, jak i przez komputer. W przypadku człowieka dane

przetwarzane sa w mózgu, natomiast prezentowane najczesciej za pomoca mowy lub pisma, nieco rza-

dziej za pomoca obrazu i sztuki. Z kolei komputer wykorzystywane przez siebie dane przetwarza w

procesorze, a prezentuje za pomoca obrazu i dzwieku dzieki monitorom i głosnikom, lub tez, w mniej

bezposredni sposób, za pomoca wydruku.

Inteligencje mozna okreslic zatem jako jako zdolnosc formowania i weryfikacji wiedzy na podsta-

wie okreslonych informacji. Warto zwrócic uwage na fakt, ze wysoki poziom inteligencji niekoniecznie

sprawia, ze posiadana wiedza jest prawdziwa. Jak zauwazył słynny niemiecki fizyk Max Planck, nowa

prawda naukowa nie zwycieza poprzez przekonanie i oswiecenie jej przeciwników, lecz wynika raczej

z faktu, ze owi przeciwnicy ostatecznie umieraja, natomiast nowe pokolenie uczy sie juz zgodnie z no-

wym paradygmatem [10]. Ciezko jest bowiem porzucic stare zwyczaje, przeorganizowac własny system

wiedzy i nauczyc sie czegos praktycznie od nowa, zwłaszcza gdy stoi to w zupełnej sprzecznosci z

uprzednio posiadana wiedza. Przykładem moze byc teoria heliocentryczna Mikołaja Kopernika, stojaca

w zupełnej sprzecznosci z teoria geocentryczna Ptolemeusza. Jako sprzeczne z istniejacym i uznawa-

nym przez Kosciół porzadkiem swiata, jego dzieło O obrotach sfer niebieskich na wiele lat trafiło do

Indeksu ksiag zakazanych. Zostało z niego wykreslone dopiero po 285 latach od wydania, gdy posiada-

nej przez naukowców wiedzy astronomicznej nie dało sie podwazyc. Pokazuje to, jakim problemem dla

ludzkiej wiedzy sa własne przekonania, wpajane czesto juz od dziecinstwa, które ciezko zmienic bez du-

zego wstrzasu dla psychiki. W takim przypadku nawet prawdziwa, udowodniona przez wiele niezaleznie

przez wiele osób, informacja, powoduje jej wyparcie i czesto personalny atak na osobe bezposrednio ja

przekazujaca.

G. Wasowski Budowa sztucznego systemu wiedzy

2.2. Sztuczna inteligencja 11

2.2. Sztuczna inteligencja

Zgodnie z encyklopedia PWN, sztuczna inteligencja (SI), ang. Artificial Intelligence (AI), dziedzina

nauki zajmujaca sie badaniem mechanizmów ludzkiej inteligencji, oraz modelowaniem i konstruowa-

niem systemów, które sa w stanie wspomagac lub zastepowac inteligentne działania człowieka [12].

Samo pojecie sztucznej inteligencji zostało najprawdopodobniej zaproponowane po raz pierwszy przez

Johna McCarthy’ego na konferencji w Dartmouth w 1956 r. jako konstruowanie maszyn, o których dzia-

łaniu dałoby sie powiedziec, ze sa podobne do przejawów inteligencji [1]. Czym wiec musiałaby sie

charakteryzowac maszyna, której działania uznalibysmy za inteligentne?

Z powyzszych definicji nie wynika konkretnie, ze taka maszyna musiałaby posiadac inteligencje po-

dobna do ludzkiej. W przypadku człowieka jest ona bowiem scisle zwiazana z posiadaniem wiedzy i

wywoływanych na jej podstawie skojarzen, które to z kolei prowadza do okreslonego działania. Natoma-

ist w przypadku maszyny, aby uznac jej działanie za inteligentne wystarczy wykonywanie okreslonych

algorytmów stworzonych przez człowieka, zazwyczaj sprawniej, szybciej i bardziej bezbłedne, niz jego

mózg. Jednak nie bedzie to działanie czystej sztucznej inteligencji, lecz wykorzystanie mocy oblicze-

niowej komputera przez inteligencje ludzka pod jej scisłym nadzorem. Jak juz wczesniej wspomniano

byłoby to jedynie inteligentne działanie, a nie inteligencja w sensie ludzkim. Czym wiec musiałaby sie

charakteryzowac prawdziwa sztuczna inteligencja? Przede wszystkim jak najwierniej nasladowac ludzki

sposób myslenia, zbierania i kojarzenia informacji, rozszerzajac, weryfikujac i uogólniajac swoja wie-

dze, tworzac w ten sposób sztuczny system skojarzeniowy. Takie działanie nie byłoby jedynie uznawane

za inteligentne, ale za inteligencje. Człowiek nie powinien jednak ingerowac bezposrednio w ten proces,

co mogłoby prowadzic do nieprzewidzianych zdarzen.

Najswiezszym przykładem, do czego moze byc zdolna sztuczna inteligencja, jest bot Tay, zaprezen-

towany przez amerykanski koncern informatyczny Microsoft w marcu 2016 roku [13]. Z załozen miała

to byc 19-letnia, młoda dziewczyna, uzywajaca wyrazen typowych dla młodego wieku, duzej liczby

emotikon itp. Całe przedsiewziecie miało pomóc w udoskonalaniu przegladarki Bing, a konkretnie w

wykorzystaniu przez nia jezyka naturalnego. Bot miał za zadanie uczyc sie na podstawie wiadomosci w

mediach społecznosciowych (przede wszystkim na Twitterze), oraz reakcji na nie. Jednak nie wszystko

poszło zgodnie z załozeniami. W ciagu zaledwie kilkunastu godzin Tay, z miłej dziewczyny, przeobra-

ziła sie w zadeklarowana rasistke, nienawidzaca ludzi zwolenniczke Donalda Trumpa i Adolfa Hitlera.

Złosliwi powiedzieliby, ze stała sie uosobieniem ciemnej strony internetu. Microsoft szybko zareago-

wał, blokujac bota, zapobiegajac w ten sposób dalszemu zaognieniu sytuacji. Pewien niesmak jednak

pozostał. Cała sytuacja obrazuje, co mogłoby sie wydarzyc, gdyby w przyszłosci pewien biorobot uznał

ludzkosc za zagrozenie, a nastepnie, majac ku temu odpowiednie srodki, rozpoczał jej eksterminacje.

Czy moglibysmy wtedy jakos zareagowac? Obecnie komputerom mozna po prostu wyłaczyc prad, ale

co w przypadku, gdy roboty posiadałyby własne zasilanie i same nim sterowały? Czy mozna zatem dac

robotom autonomicznosc pozostawiajac je bez ludzkiej kontroli? Pytania te wciaz pozostaja otwarte,

G. Wasowski Budowa sztucznego systemu wiedzy

12 2.2. Sztuczna inteligencja

Rysunek 2.1. Sztuczna inteligencja wymyka sie spod kontroli [13]

przynajmniej do czasu osiagniecia technicznych mozliwosci budowy takich samodzielnych, sprawiaja-

cych wrazenie myslacych, maszyn.

W ostatnich latach mozna zaobserwowac stały wzrost mozliwosci sztucznej inteligencji [14]. Zna-

komicie sprawdza sie ona we wszelkiego rodzaju grach logicznych. Strategie optymalne (brak mozliwo-

sci uzyskania lepszych rezultatów), zostały osiagniete w takich grach jak czwórki, warcaby angielskie,

czy tez układanie kostki Rubika. Swietnie radza sobie równiez w scrabble i w szachach. Nieco słabiej

sztuczna inteligencja sprawdza sie w grach typu brydz i poker, osiagajac w nich poziom mistrzowski.

Wystepuje w nich dodatkowy czynnik psychologiczny i nieznajomosc reki przeciwnika, wobec czego

wyznaczenie optymalnego jest zdecydowanie trudniejsze, zwłaszcza w pokerze. Najlepsze programy

szachowe osiagaja niebotyczny ranking powyzej 3300, powoli zblizajac sie do 3400, podczas gdy naj-

wyzszy w historii ranking człowieka nie przekroczył 2900 [15]. Superkomputer Watson moze pochwalic

sie niesamowitymi wynikami w diagnozowaniu raka płuc, osiagajac 90% poprawnosci, podczas gdy

wynik przecietnego onkologa to zaledwie 50%. W 2016 roku roku program ALPHA pokonał, w roze-

granych w symulowanym srodowisku pojedynkach lotniczych, wielu ekspertów z dziedziny lotnictwa

[16]. Coraz lepsze efekty daja najnowsze algorytmy w rozpoznawaniu mowy czy obrazów, niektóre z

nich osiagaja juz sprawnosc przecietnego człowieka [14].

Jednak nie na wszystkich polach sztuczna inteligencja radzi sobie równie dobrze, co wiaze sie z

Paradoksem Moraveca [17]. Został on sformułowany w latach 80. XX w. przez Hansa Moraveca, Ma-

rvina Minsky’ego oraz innych badaczy. Mówi on, ze o ile wysokopoziomowe rozumowanie wymaga

stosunkowo niewielkiej zdolnosci obliczeniowej, o tyle proste z punktu widzenia małego dziecka czyn-

nosci jak rozpoznawanie obrazów, czy poruszanie sie stanowia bardzo trudny i wymagajacy problem

inzynieryjny. Warto zauwazyc istotna róznice. Przytoczone wysokopoziomowe rozumowanie zazwy-

czaj posługuje sie równiez wysokopoziomowa abstrakcja. Dokładnie taka, na jakiej bazuje matematyka

i informatyka. Mozna zatem zaryzykowac stwierdzenie, ze owa wysokopoziomowa abstrakcja jest dla

komputerów jezykiem naturalnym. Zupełnie odmienna sytuacja zachodzi w przypadku próby zaprogra-

G. Wasowski Budowa sztucznego systemu wiedzy

2.3. Mechanizmy asocjacyjne i wiedza skojarzeniowa 13

mowania ruchu badz rozpoznawania konkretnych wzorców ze swiata rzeczywistego. Nie jest pewne, w

jaki sposób bodzce sa tłumaczone do swiadomego mózgu, mozna jedynie przypuszczac. Naukowcy po-

trafia juz co prawda wywołac niektóre reakcje organizmu za pomoca impulsów kierowanych do mózgu,

jednak ma to jeszcze niezbyt wiele wspólnego z naturalnym przesyłaniem bodzców z róznych czesci

ciała. Kolejna, jeszcze wieksza trudnoscia jest fakt, ze wszystkie systemy musza byc ze soba zinte-

growane. Nie ma miejsca na izolacje, musza skutecznie współpracowac ze soba. Współczesne modele

robotów potrafia sie poruszac coraz sprawniej, udoskonalane sa wszelkie algorytmy zwiazane z odbiera-

niem zewnetrznych bodzców przez takiego robota. Czy jednak w najblizszym czasie uda sie opracowac

maszyne, która nie tylko bedzie korzystac z wgranego programu, ale równiez uczyc sie na własnych

błedach i samodoskonalic, nasladujac w ten sposób umysł człowieka?

2.3. Mechanizmy asocjacyjne i wiedza skojarzeniowa

Podstawowym sposobem przechowywania danych we współczesnych systemach informatycznych sa

relacyjne bazy danych. Zapisuja one dane w kolejnych rekordach poszczególnych tabel, których kolumny

to kolejne atrybuty encji zapisanych w danej tabeli. Dane przechowywane w ten sposób sa bezpieczne

i trwałe, jednak dostep do konkretnych rekordów czesto trwa zbyt długo. Aby ułatwic i przyspieszyc

odwołanie sie do danego rekordu w bazie uzywa sie indeksów. Niestety, w przypadku duzych tabel

proces indeksowania zabiera bardzo duzo czasu i pochłania wiele zasobów, w dodatku jego złozonosc

rosnie wykładniczo.

Mechanizmy skojarzeniowe (asocjacyjne) nie sa obecnie zbyt szeroko stosowane w gromadzeniu

danych, choc termin ten wystepuje w tablicach asocjacyjnych. Sa to struktury, które łacza w jednej tabeli

klucze główne wystepujace w innych tabelach. Dzieki temu mozliwe jest stworzenie relacji jeden do

wielu, niemozliwe do uzyskania w pojedynczej tabeli relacyjnej bazy danych.

Wiedza oparta na skojarzeniach nie jest równie trwała, co stosowane obecnie w informatyce pa-

sywne zapisywanie danych w oddzielnych komórkach. Wystarczy zauwazyc, jak czesto człowiek zapo-

mina o prostych czynnosciach do wykonania. Interesujaca z tego punktu widzenia jest obserwacja, ze

dana osoba czesto przypomina sobie o tym, gdy jakis bodziec wywoła w mózgu skojarzenie zwiazane

z danym tematem. Pokazuje to olbrzymia role skojarzen w formowaniu sie wiedzy w pamieci ludzkiej

i korzystania z tej formy pamieci. Wystarczy jeden bodziec, by chwilowo zapomniana informacja prze-

dostała sie do swiadomosci. Zupełnie inaczej działa komputer, w którym dane nie sa ulotne (wyłaczajac

oczywiscie awarie badz celowe usuniecie) i znajduja sie dokładnie w tym samym miejscu, na którym

zostały zapisane. Sa one jednak od siebie niezalezne i aby je skutecznie odczytac, nalezy dokładnie znac

sposób ich zapisu. Wymagaja przez to czasochłonnego przeszukiwania sekwencyjnego, co wiaze sie z

mało efektywnym wykorzystaniem zasobów. Dane przechowywane w bazach sa ze soba słabo skorelo-

wane, poniewaz relacjami sa połaczone jedynie atrybuty tych danych, przez co wiekszosc problemów

zwiazanych z wnioskowaniem osiaga duza złozonosc obliczeniowa O(n!) [8]. Zupełnie inaczej działa

ludzki mózg, w którym dane sa ze soba skojarzone za pomoca połaczen synaptycznych [1]. Podobnie

G. Wasowski Budowa sztucznego systemu wiedzy

14 2.3. Mechanizmy asocjacyjne i wiedza skojarzeniowa

jest w przypadku sztucznych systemów skojarzeniowych, gdzie dzieki przechowywaniu danych w po-

staci struktur asocjacyjnych, reprezentujacych bogactwo relacji pomiedzy danymi, wiele z tych zadan

moze stac sie obliczeniowo łatwymi o złozonosci stałej O(1) lub liniowej O(n).

Bardzo łatwo działanie skojarzen w procesie wywoływania okreslonych rzeczy z pamieci mozna zo-

brazowac poprzez zapamietywanie utworów muzycznych. Zazwyczaj juz po kilku dzwiekach ulubionej

melodii człowiek jest w stanie odtworzyc jej dalszy ciag. Kolejne dzwieki sa zapisane w naszym biolo-

gicznym systemie skojarzeniowym, czyli mózgu, zapisywane w postaci okreslonej sekwencji neuronów,

a nastepnie wywoływane na podstawie poprzedniego kontekstu. Pomyłki zdarzaja sie niezwykle rzadko.

Duzo trudniejsze, a wrecz praktycznie niemozliwe, jest odtworzenie piosenki w pamieci od tyłu. Nawet

jesli udane, jest zmudne, trudne i bardzo wolne, w dodatku z bardzo wysokim prawdopodobienstwem

popełnienia błedu. Zupełnie inaczej bedzie w przypadku pasywnej pamieci komputerowej, gdzie wyszu-

kiwanie danej piosenki po poczatkowych dzwiekach nie jest juz takie proste. Przede wszystkim nalezy

uzyc algorytmów do poprawnego odczytu nut, co przy kilku instrumentach nie jest zadaniem trywialnym.

Oprócz wysokosci tonu nalezałoby rozpoznac barwe dzwieku. Poszukiwanie w pamieci bedzie trwało

długo, tym dłuzej, im wiecej jest w niej utworów. Jednak po znalezieniu piosenki wszelkie operacje na

niej sa znacznie łatwiejsze, niz w biologicznym systemie skojarzeniowym, a gra od tyłu w porównaniu

z czynnosciami potrzebnymi do jej odnalezienia jawi sie jako zadanie wrecz banalne.

Kolejnym ciekawym zagadnieniem dotyczacym skojarzeniowego charakteru wiedzy jest nauka je-

zyków obcych. Podstawowa róznica pomiedzy nimi, a jezykiem ojczystym jest taka, ze ten ostatni jest

przyswajany naturalnie juz od czasów niemowlecych, jeszcze nieswiadome dziecko słyszy rozmowy

dorosłych. Juz w wieku ok. 12 miesiecy jest w stanie wypowiedziec najprostsze słowa. Nastepnie za

pomoca słuchu przyswaja coraz wiecej nowych wyrazów i powoli uczy sie łaczyc je w zdania, coraz

bardziej przypominajace te wypowiadane przez dorosłych, cały czas sie w tym doskonalac, az w koncu

mówi zupełnie płynnie. Zupełnie inaczej jest w przypadku nauki jezyków obcych, gdzie nowe słówka

zazwyczaj nie sa kojarzone z przedmiotami i czynnosciami im odpowiadajacymi, lecz z ich odpowiedni-

kami w jezyku ojczystym. Jest to pokazane na rysunku 2.2, na którym przyjeto, ze jako Polak dana osoba

uczy sie jezyka angielskiego. Widzac krowe, pierwszym skojarzeniem jest oczywiscie słowo krowa. Na-

stepnie mózg kojarzy polskie słowo krowa z angielskim cow i dopiero wówczas zwraca jako wynik

własnie słowo cow.

Z punktu widzenia skojarzeniowego sposobu gromadzenia wiedzy nie jest to z pewnoscia najbardziej

własciwe i optymalne. Nawet znajac dane słowo jezyka obcego nalezy znac jego odpowiednik w jezyku

ojczystym, by móc przyporzadkowac go do danego przedmiotu, w tym przypadku zwierzecia. Duzo

lepszym podejsciem jest nauka słownictwa poprzez kojarzenie słów jezyków obcych bezposrednio z

rzeczami, czynnosciami czy pojeciami. W tym przypadku nie kojarzymy słówka cow ze słowem krowa,

lecz z rzeczywista krowa, wesoło przezuwajaca trawe na łace. Dzieki temu widzac ja nie szukamy w

pamieci odpowiednika polskiego słowa, lecz mozemy od razu powiedziec This is a cow eating some

grass on green meadow. W przypadku potrzeby tłumaczenia mózg moze relatywnie szybko odnalezc

w pamieci angielski odpowiednik krowy, moze tez, tworzac nowe połaczenie synaptyczne, skrócic ten

G. Wasowski Budowa sztucznego systemu wiedzy

2.3. Mechanizmy asocjacyjne i wiedza skojarzeniowa 15

Rysunek 2.2. Kojarzenie słowa z tłumaczeniem

Rysunek 2.3. Bezposrednie skojarzenie słowa z rzecza

proces. Na tym przykładzie widac, ze skojarzeniowe gromadzenie wiedzy jest naprawde skuteczne oraz

dlaczego tak trudna jest nauka abstrakcyjnych pojec w jezykach obcych.

Oprócz samego kojarzenia nowych informacji i powstawania w ten sposób nowej wiedzy, istotna

jest równiez jej własciwa weryfikacja. Jest to bardzo wazny aspekt procesu poznawczego, zwłaszcza w

obecnych czasach, gdy jako ludzkosc jestesmy zasypywani milionami megabajtów danych. Nalezy wiec

w jakis sposób odfiltrowac wazne, prawdziwe informacje od smieciowych, a czesto wrecz kłamliwych.

Duza role odgrywaja w tym skojarzenia i wiedza juz wczesniej nabyta. Jezeli jest spójna z posiadanymi

juz wczesniej danymi, jest przyjmowana jako prawdziwa, natomiast w przeciwnym przypadku odrzu-

cana. Całkowita zmiana w posiadanej wiedzy jest mozliwa głównie w przypadku niezbitych dowodów,

niemozliwych do obalenia materiałów zródłowych, czy wyników badan i doswiadczen uzyskiwanych,

badz potwierdzanych przez znane autorytety naukowe. Jednak nawet wtedy niektórzy moga ich nie uznac

uwazajac, ze nie sa one prawdziwe i zostały sfałszowane. Ich własne skojarzenia wskazuja, ze nowa teo-

ria czy informacja jest błedna, a oni nie sa w stanie przyjac nowej, pomimo czesto mocnych dowodów.

G. Wasowski Budowa sztucznego systemu wiedzy

16 2.3. Mechanizmy asocjacyjne i wiedza skojarzeniowa

Z drugiej strony weryfikacja danych z pomoca obecnej, czesto ugruntowanej przez studiowanie dzieł

róznych autorów, wiedzy, moze łatwo oddzielic prawde od fikcji. Mało kto uwierzyłby dzis w teorie pła-

skiej ziemi, pomimo faktu, ze jej dowód zajmuje az kilka stron. Wystarczy bowiem podstawowa wiedza

z geografii, by uznac ja za typowa manipulacje w niewiadomym celu. Siec jest dzis pełna takich tresci,

bez własciwej ich weryfikacji mozna uwierzyc w kłamstwo.

Wazna role w formowaniu wiedzy pełni pamiec. Bez niej człowiek nie byłby w stanie przechowac

jakiejkolwiek informacji. W przeciwienstwie do pamieci komputerowej, pamiec ludzka jest ulotna i nie-

pewna. W pasywnych magazynach pamieci do danych mozna odwołac sie poprzez adres. W przypadku

biologicznego systemu skojarzeniowego proces ten przebiega zupełnie inaczej i na odmiennych zasa-

dach. Przede wszystkim bardzo istotny jest kontekst w którym jest umieszczona dana informacja, dla

Anglika i Polaka słowo bat bedzie kojarzyc sie róznie, podobnie jak dla Niemca i Polaka słowo ja.

Poza tym im kontekst bedzie silniejszy, tym silniejsze bedzie skojarzenie z nim zwiazane. Aby odróznic

pamiec w systemach skojarzeniowych od przechowywanej w pasywnych bazach danych, zdolnosc zapa-

mietywania informacji nazwano asocjacyjnym efektem pamieci [1]. Mozna wyróznic cztery podstawowe

mechanizmy wywołujace asocjacyjny efekty pamieci:

– asocjacyjny efekt pamieci pamieci chwilowej (AMME),zwiazany z echem asocjacyjnym, trwajacy

od kilku do kilkunastu sekund, czasem nieznacznie dłuzej),

– asocjacyjny efekt pamieci tymczasowej (ATME), który trwa maksymalnie kilka godzin,

– asocjacyjny efekt pamieci długiej (ADME),

– asocjacyjny efekt pamieci trwałej (APME).

Ciekawym aspektem dotyczacym ludzkiej pamieci, mogacym rzucic nieco dodatkowego swiatła na

wspomniany uprzednio asocjacyjny efekt pamieci, jest tzw. krzywa zapominania. Po raz pierwszy zo-

stała ona przedstawiona przez niemieckiego psychologa Hermanna Ebbinghausa w 1885 r [11]. Jest ona

opisana wzorem R = −etS , gdzie R - ilosc przechowywanej informacji, t - czas, S - relatywna siła

pamieci danej osoby. Jego badania sa czesto poddawane w watpliwosc, głównie z powodu operowania

na danych bezsensownych, oraz uznania skojarzen za dodatkowa zmienna zakłócajaca. Z punktu widze-

nia systemów AAS maja one jednak pewna wartosc - pokazuja jak zachowuje sie pamiec w przypadku

braku powtórzen, utrwalen i dodatkowych skojarzen. Wnioskiem z tego płynacym jest fakt, ze dla lep-

szego zapamietania nowych tresci konieczne sa czeste powtórzenia, aby w miare upływu czasu uzyskac

asocjacyjny efekt pamieci długiej, a najlepiej trwałej.

Istotna role w procesach skojarzeniowych pełni kontekst, w którym dana informacja wystapiła. Cze-

sto mozna spotkac sie z wyrazami, które sa zapisywane tak samo, brzmia tak samo, natomiast znacza

zupełnie co innego. W pasywnych strukturach danych mozna je wydzielic do innych obiektów, rozpozna-

jac je dzieki dodatkowym atrybutom. W aktywnych strukturach danych nie jest to jednak mozliwe. Jak

zatem mózg, czyli biologiczny system skojarzeniowy BAS jest w stanie rozróznic prawidłowe znaczenie

G. Wasowski Budowa sztucznego systemu wiedzy

2.3. Mechanizmy asocjacyjne i wiedza skojarzeniowa 17

danej informacji i nie pomylic ja z inna? O wszystkim decyduje kontekst danej informacji. Poprzez ak-

tywacje róznych neuronów wywołane skojarzenie moze byc rózne, przykładowo rajdowiec pali gume i

dziadek pali fajke przywołaja na mysl zupełnie rózne obrazy. Nawet kolejnosc aktywacji ma czesto bar-

dzo duze znaczenie, jak w przypadku wyrazen młoda panna i panna młoda [1]. Na siłe danego kontekstu

znaczacy wpływ ma czestotliwosc i moc skojarzen z przeszłosci, które w bardzo duzym stopniu zaleza

od srodowiska czy wychowania. Przykładem moze byc kontekst II wojna, z którym wiekszosc ludzi w

Polsce, jak i w krajach zachodnich, mimowolnie skojarzy wyrazenie II wojna swiatowa, a nie chociazby

II wojna punicka czy II wojna indochinska. Z kolei dla ludzi pochodzacych z Bliskiego Wschodu wywo-

łanym skojarzeniem prawdopodobnie okazałaby sie II wojna w Zatoce Perskiej. Niby kontekst i wynik

podobny, ale jednak rózny.

Z pojeciem kontekstu wiaze sie proces aktywnego kojarzenia [4]. Polega ono na tworzeniu sieci

powiazan pomiedzy obiektami, a nastepnie próbe aktywacji tych obiektów za jej pomoca. Do utworze-

nia aktywnych skojarzen, a nastepnie ich aktywnego wywoływania, potrzebny jest odpowiedni system

skojarzeniowy, pozwalajacy na tworzenie aktywnych powiazan w procesach neurogenezy i neuropla-

stycznosci, odwzorowujac w ten sposób działanie ludzkiego mózgu. W przeciwienstwie do pasywnych

struktur przechowywania danych, gdzie informacje pobierane sa za pomoca dokładnych adresów w pa-

mieci, duza role w takim systemie skojarzeniowym bedzie pełnic kontekst i kolejnosc aktywacji poszcze-

gólnych obiektów, w tym przypadku neuronów. Konieczne do tego sa wejscia do systemu, najczesciej

pod postacia receptorów. Warto zwrócic uwage na fakt, ze pewne skojarzenia w biologicznym mózgu sa

zapamietywane lepiej, inne gorzej. Zazwyczaj jest to zwiazane z siła połaczen juz wystepujacych w BAS

w ramach kontekstu, słowo z jezyka obcego opisujacego zwierze zawsze bedzie szybciej zapamietane,

niz abstrakcyjny spójnik, który nie niesie ze soba zadnej dodatkowej informacji, takiej jak chociazby

obraz.

Pomiedzy układami i kombinacjami danych moga zachodzic rózne relacje, majace mniejszy badz

wiekszy wpływ na sposób myslenia. W ludzkim mózgu sa one reprezentowane przez układy neuronów i

połaczen miedzy nimi. Rózne rodzaje relacji maja nieco inny wpływ na sposób aktywacji kolejnych neu-

ronów. Przykładowo w relacji nastepstwa aktywacja jednego neuronu moze zapoczatkowac aktywacje

kolejnych tworzac sciezke aktywacji, z kolei dla relacji podobienstwa wynikiem bedzie zbiór neuronów

niosacych ze soba podobna informacje. Powyzsze relacje zostały nazwane relacjami asocjacyjnymi [1],

które moga byc odzwierciedlone w grafie ANAKG za pomoca połaczen synaptycznych. Podzielono je

na 5 głównych rodzajów, do których zaliczamy:

– relacje asocjacyjnego podobienstwa (ASIM), czyli powiazania łaczace układy i kombinacje po-

dobnych do siebie danych,

– relacje asocjacyjnego nastepstwa (ASEQ), czyli powiazania łaczace układy i kombinacje danych,

które nastepuja chronologicznie po sobie, lub ze soba sasiaduja,

– relacje asocjacyjnego kontekstu (ACON), czyli powiazania łaczace układy i kombinacje danych,

wywoływane na skutek zachodzacych procesów skojarzeniowych,

G. Wasowski Budowa sztucznego systemu wiedzy

18 2.4. Elementy sztucznego systemu skojarzeniowego AAS

– relacje asocjacyjnego definiowania (ADEF), czyli połaczenia od receptorów lub neuronów wej-

sciowych przekazujacych te dane do neuron reprezentujacego układy lub kombinacje tych danych,

– relacje asocjacyjnego tłumienia (ASUP), czyli powiazania łaczace układy i kombinacje danych z

bliskich lub receptorycznych obszarów dla ich wyostrzenia, dyskryminacji lub wzajemnego tłu-

mienia.

2.4. Elementy sztucznego systemu skojarzeniowego AAS

Kazdy system skojarzeniowy do poprawnego działania wymaga 3 podstawowych rodzajów elemen-

tów [1]. Pierwszym z nich sa receptory. Odpowiadaja one za transformacje bodzców zewnetrznych na

informacje zrozumiałe dla danego systemu skojarzeniowego. Przykładem receptorów sa receptory czu-

ciowe, odpowiedzialne za powstawanie wrazenia dotyku. Kolejnym wyróznionym rodzajem elementów

sa efektory. Dzieki nim mozliwa jest praktyczna realizacja ciagu pobudzen nerwowych, przykładem

efektorów moga byc miesnie szkieletowe. Najwazniejszym elementem sa jednak neurony. Umozliwiaja

one przechowywanie wiedzy poprzez tworzenie struktury powiazan i wzajemnych oddziaływan [1].

Dzieje sie to w dwojaki sposób, zarówno poprzez istniejace połaczenia, jak i poprzez płyn mózgowo-

rdzeniowy, wypełniajacy przestrzen miedzy neuronami. Stwierdzono, ze neurony pozostajace blisko sie-

bie maja wieksze szanse na utworzenie, w wyniku procesów plastycznosci, nowych połaczen (synaps)

miedzy soba. Proces ten moze zostac zamodelowany w postaci aktywnych grafów neuronowych AANG

[1]. Z punktu widzenia formowania sie wiedzy, neuron reprezentuje semassel (semantic associative ele-

ment - jednostka semantyczno-logiczna). Semasselem mozna okreslic wszystkie kombinacje i układy

bodzców, które powoduja aktywacje danego neuronu, a nastepnie jego oddziaływanie na wszystkie neu-

rony postsynaptyczne, badz efektory [1, 9].

Pomimo upływu lat najwieksza popularnoscia w obliczeniach z zakresu sztucznych sieci neurono-

wych cieszy sie model neuronu McCullocha-Pittsa, który po raz pierwszy został przedstawiony przez

Warrena McCullocha i Walter Pittsa jeszcze w czasach II wojny swiatowej, w 1943. r. Neuron ten składa

sie z wielu wejsc i tylko jednego wyjscia. Nie uwzglednia upływu czasu ani jego wpływu na stopniowe

zmiany jego stanu. Pomimo prostoty model ten znalazł szerokie zastosowanie we współczesnych meto-

dach inteligencji obliczeniowej. Mozemy wyróznic 3 generacje neuronów McCullocha-Pillsa. Pierwsza

z nich w swoim działaniu wykorzystywała dyskretne funkcje aktywacji, które mogły zwracac wartosci

unipolarne 0, 1 lub bipolarne -1, 1. W drugiej generacji zamiast funkcji dyskretnych, wykorzystano sna

igmoidalne lub radialne ciagłe funkcje aktywacji w przedziałach [0, 1] lub [-1, 1]. Wsród wykorzystywa-

nych neuronów mozna wyróznic neurony hiperboliczne, radialne, sigmoidalne, neuron Hardy’ego, czy

tez neuron wielomianowy [1, 9]. Trzecia generacja neuronów impulsowych (spiking neurons) usiłuje jak

najdokładniej nasladowac zachowanie biologicznych neuronów: ich pobudzenie, refrakcje, czy tez po-

wracanie do stanu spoczynku. Zbudowane z nich sieci nazywane sa impulsowymi sieciami neuronowymi

(SNN - Spiking Neural Networks). Z powodu swojego podobienstwa, duzo lepiej obrazuja działanie bio-

logicznych, niz sztuczne sieci neuronowe ANN (Artificial Neural Networks). Wykorzystuje sie w nich

G. Wasowski Budowa sztucznego systemu wiedzy

2.5. Budowa i symulacja grafu ANAKG 19

model plastycznosci synaptycznej Hodgkina-Huxley’a, pozwalajacego na modyfikacje wag. Z powodu

stopnia skomplikowania nie sa jednak tak popularne jak sieci ANN [1].

Asocjacyjny model neuronu ASN (as-neuron, associative neuron) powstał w celu jak najlepszego od-

zwierciedlenia działania biologicznego neuronu wystepujacego w swiecie rzeczywistym, tak by umoz-

liwic skojarzeniowy sposób przetwarzania informacji, pozwalajac na formowanie wiedzy w sztucznych

systemach skojarzeniowych AAS. W zwiazku z powyzszym neuron ASN powinien posiadac przynaj-

mniej niektóre cechy biologicznego neuronu, które charakteryzuja sie zmiennoscia i dynamika, co moze

miec kluczowe znaczenie w modelowaniu systemów AAS. Asocjacyjny model neuronu ASN został zde-

finiowany [1] jako model funkcjonalny biologicznego neuronu, odwzorowujacy:

– plastyczne zmiany w czasie pod wpływem docierajacych do niego kombinacji i układów bodz-

ców, które moga spowodowac jego aktywacje albo pobudzenia podprogowe wzgledem okreslo-

nego progu aktywacji

– reaktywne dynamiczne sumowanie wazonych bodzców wejsciowych w czasie z uwzglednieniem

przyjetej funkcji relaksacji i jego refrakcyjnosci z mozliwoscia okreslenia dynamiki tymczasowych

zmian jego wag synaptycznych w czasie oraz w kontekscie docierajacych bodzców

– reaktywne działanie procesów biologicznych inicjowanych po wpływem transkrypcji genów uru-

chamiajacych rózne programy plastycznosci oraz genezy

Z podana definicja zwiazane sa pojecia neurogenezy i neuroplastycznosci. Pierwsze z nich jest zwia-

zane z powstawaniem nowych neuronów, w przypadku sztucznych systemów skojarzeniowych dzieje

sie to zazwyczaj pod wpływem nowych sekwencji uczacych. Neuroplastycznosc jest to zdolnosc tkanki

nerwowej (lub tez sztucznego systemu skojarzeniowego) do tworzenia nowych połaczen pomiedzy neu-

ronami, co moze powodowac powstanie nowych skojarzen lub tez wzmocnienie juz istniejacych. Relak-

sacja jest okreslana jako powrót neuronu ze stanu pobudzenia do stanu spoczynku. Z kolei refrakcja jest

procesem zapobiegajacym zbyt czestej aktywacji neuronów, polegajacym na czasowej niewrazliwosci

neuronu na bodzce zewnetrzne [1].

2.5. Budowa i symulacja grafu ANAKG

Wykorzystany model budowy aktywnego asocjacyjnego został przedstawiony w artykule [2]. Od

pierwotnej wersji zaprezentowanej w monografii [1] rózni sie on przede wszystkim znacznie popra-

wiona funkcja relaksacji do stanu spoczynku, a takze brakiem mozliwosci osiagniecia przez neuron stanu

pobudzenia powyzej wartosci progu aktywacji. W nowym modelu pobudzany neuron nie ładuje sie na-

tychmiastowo, ale przez pewien okres, zalezny od zdefiniowanego parametru tMAXa . Zmiany zostały

uzasadnione potrzeba zwiekszenia dokładnosci symulacji, w poprzedniej wersji neuron mógł otrzymac

dodatkowy bodziec w czasie, gdy powinien byc w trakcie procesu refrakcji bezwzglednej. Skutkuje to

jednak koniecznoscia podzielenia czasu na znacznie mniejsze jednostki, co zwieksza zapotrzebowanie

na pamiec i potrzebna moc procesora.

G. Wasowski Budowa sztucznego systemu wiedzy

20 2.5. Budowa i symulacja grafu ANAKG

2.5.1. Budowa grafu ANAKG

Do budowy grafu ANAKG potrzebne jest wyznaczenie wag i skutecznosci połaczen synaptycznych.

Jak wynika to z wzoru 2.1, skutecznosc okresla wpływ danego połaczenia synaptycznego na aktywacje

neuronu postsynaptycznego, na podstawie wszystkich stymulacji. We wzorze jest wykorzystywany in-

terwał czasowy pomiedzy aktywacjami neuronów, maksymalny czas relaksacji ω, oraz wpływajacy na

kształt funkcji relaksacji współczynnik ω. Na podstawie obliczonej skutecznosci połaczenia synaptycz-

nego, wyliczana jest nastepnie jego waga dana wzorem 2.2. Oprócz skutecznosci, jest w nim równiez

wykorzystywana liczba aktywacji neuronu postsynaptycznego ηS , oraz próg aktywacji neuronu presy-

naptycznego θS

. W standardowym modelu zostały wykorzystane nastepujace wartosci stałych, potrzeb-

nych do utworzenia grafu ANAKG: maksymalny czas relaksacji ω = 100, próg aktywacji neuronów

θS = 1, natomiast współczynnik γ = 4. W praktycznych testach systemu, przedstawionych w rozdziale

4, zmieniany został jedynie współczynnik γ.

δS,S

=∑

{S S:(... S S ...)∈S}

1

1 + ∆t−tSaω

γ

(2.1)

wS,S

=ηS · δS,S · θS

ηS + (ηS − 1) · δS,S

(2.2)

2.5.2. Symulacja odpowiedzi grafu ANAKG

W modelu symulacji uzywane sa funkcje okreslajace stopien pobudzenia danego as-neuronu. Podsta-

wowym wzorem jest 2.3, okreslajacy stopien pobudzenia danego neuronu S w czasie t2. Wykorzystuje on

funkcje relaksacji 2.4, który z kolei korzysta z wklesłej funkcji relaksacji 2.5, a takze funkcje okreslajaca

bodziec wychodzacy z neuronu presynaptycznego 2.6, która do swojego działaniu potrzebuje wyznacze-

nia dokładnego czasu aktywacji 2.7. W ponizszych wzorach wykorzystano predefiniowane stałe: czas

potrzebny do propagacji bodzca przez połaczenie synaptyczne tS = 5, maksymalny czas pobudzania

neuronu do progu aktywacji tMa AX = 15, oraz całkowity czas refrakcji tr = 3.

Xt2S

= g(Xt1S

)=

∑S S

wS,S· xt2

S+Rt2−t1

S

(Xt1S

)dla

∣∣∣Xt1S

∣∣∣ < θS∑

S S

wS,S· xt2

S+R

t2−(t1+tr)

S

(−θ

S

)dla Xt1

S> θ

S∧ t2 > t1 + tr

−θS

dla Xt1S> θ

S∧ t2 6 t1 + tr

(2.3)

Xt2S

= R∆tS

(Xt1S

)= sgn

(Xt1S

)· fS

(f−1

S

(∣∣∣Xt1S

∣∣∣)+ ∆t)

= sgn(Xt1S

)· θS·

γ

√√√√∣∣∣Xt1S

∣∣∣θS

− ∆t

ω

γ

(2.4)

G. Wasowski Budowa sztucznego systemu wiedzy

2.5. Budowa i symulacja grafu ANAKG 21

fS

(t) = ±θS·(t

ω− 1

)γ(2.5)

xt2S = h(Xt2−tSa−tsS

)=

{1 dla X

t2−tSa−tsS > θ

S

0 dla Xt2−tSa−tsS < θ

S

(2.6)

tSa = T (XS , θS) =

⌈tMAXa

1 + XS−θSθS

⌉(2.7)

Wykorzystany model stara sie w jak najbardziej wierny sposób oddac asocjacyjne formowanie wie-

dzy w procesach neurogenezy i neuroplastycznosci. Oprócz kontekstu, wazna role pełni równiez czas,

który stanowi wazny element w obliczeniach, model grafu ANAKG zawiera w sobie az 4 stałe zwiazane

własnie z czasem. Szczególnie duzy wpływ na poziom pobudzenia maja współczynniki γ i ω, od których

zalezy kształt funkcji relaksacji neuronu w czasie, jak to zostało wykazane w testach zaprezentowanych

w rozdziale 4.

G. Wasowski Budowa sztucznego systemu wiedzy

22 2.5. Budowa i symulacja grafu ANAKG

G. Wasowski Budowa sztucznego systemu wiedzy

3. Opis stworzonego rozwiazania

Niniejszy rozdział zawiera opis aplikacji słuzacej do prezentacji stworzonego systemu wiedzy opar-

tego na aktywnym neuroasocjacyjnym grafie wiedzy ANAKG. Rozdział 3.1 zawiera ogólne załozenia

systemu, opis uzytej architektury i stworzonego interfejsu. W rozdziale 3.2 opisano najwazniejsze ele-

menty wystepujace w silniku aplikacji. Rozdział 3.3 przedstawia balansowanie grafu ANAKG w prze-

strzeni trójwymiarowej. Opis głównych modułów graficznych znajduje sie w rozdziale 3.4.

3.1. Ogólne załozenia projektowe

System został stworzony jako aplikacja Windows Forms, działajaca w srodowisku .NET Framework

w wersji 4.5. Ma ona umozliwiac budowe grafu ANAKG, a nastepnie jego prezentacje graficzna w po-

staci neuronów jako kół i synaps jako linii prostych je łaczacych. Neurony prezentuja dane o aktualnym

stopniu pobudzenia, a takze sa rozrózniane poprzez nazwy. Kazda synapsa przekazuje informacje o swo-

ich atrybutach, przede wszystkim o wadze, ale takze o aktualnym przejsciu impulsu i w miare mozliwosci

o skutecznosci połaczenia.

Przedstawiany graf ANAKG musi byc czytelny dla uzytkownika, a jego poszczególne elementy nie

moga nachodzic na siebie. Mozliwa jest prezentacja zarówno procesu tworzenia grafu, jak i symulacji

odpowiedzi na zapytanie. Animacja musi byc płynna i moze byc przerwana w dowolnym momencie.

System pozwala na edycje aktualnie przechowywanych danych grafu, a takze na wczytanie nowego,

własnorecznie wczytanego przez uzytkownika zbioru grafów. Oprócz powyzszych system umozliwia

równiez analize wyników symulacji w postaci wykresów i powstałych sekwencji aktywacji.

3.1.1. Architektura sytemu

W wyniku analizy załozen i wymagan projektowych, powstała aplikacja napisana w jezyku C#, z

wykorzystaniem platformy .NET Framework i biblioteki XNA Game Studio 4.0, umozliwiajacej za-

awansowana animacje 3D. Dodatkowo wykorzystanymi bibliotekami sa: Nuclex, umozliwiajaca prze-

chowywanie w pamieci czcionek w postaci wektorowej, uprzednio skonwertowanej ze standardowej

czcionki w postaci bitmapy, a takze Stanford MIDI, odtwarzajaca dzwiek melodii zdefiniowanej przez

uzytkownika.

23

24 3.1. Ogólne załozenia projektowe

Aplikacja stara sie jak najdokładniej implementowac wzorzec MVC (Model-View-Controller).

Zgodnie z nim moze zostac podzielona na 3 czesci. Nie sa one całkowicie odseparowane od siebie, jak

jest zalecane w klasycznym rozumieniu wzorca MVC, jednak mozna je bardzo łatwo od siebie oddzielic

i spełnic jego wymagania.

Model jest reprezentacja logiki aplikacji. W jego implementacji zastosowano standardowa składnie

jezyka C#. W swoim działaniu model korzysta ze wzorów przedstawionych w rozdziale 2.5, zaimple-

mentowanych jako funkcje prywatne. Interakcje z modelem stanowia metody dostepne z poziomu kon-

trolera. Najwazniejszymi elementami modelu w stworzonej aplikacji sa mózg, neurony i synapsy. Ich

szczegółowy opis znajduje sie w rozdziale sec:elementyModelu.

Widok jest prezentowany w głównym oknie programu. Za jego wyswietlanie odpowiedzialny jest

framework XNA Game Studio 4.0, umieszczony w formatce za pomoca kontrolki, poprzez rozwiazanie

zaprezentowane na stronach MSDN. Do rysowania poszczególnych elementów graficznych zastosowano

niskopoziomowe funkcje, które dane przekazuja bezposrednio do GPU.

Widok został podzielony na 4 główne moduły:

– Creation – prezentacja tworzenia grafu ANAKG,

– Simulation – symulacja odpowiedzi grafu na zapytanie,

– Chart – wykres aktywnosci neuronów w czasie,

– Response – prezentacja zaleznosci aktywowanych neuronów.

Kontroler jest odpowiedzialny za sterowanie aplikacja, umozliwia bezposrednia interakcje z uzyt-

kownikiem. Za jego działanie odpowiada w głównej mierze panel sterujacy, oparty na działaniu formatki

Windows Forms. Kazde zdarzenie klikniecia przycisku myszy lub wcisniecia klawisza na klawiatury jest

nastepnie analizowane przez model. W przypadku wystapienia interakcji ze standardowa kontrolka Win-

dows Forms, dokładne parametry zdarzenia sa znane juz w kontrolerze, który wywołuje odpowiednia

metode z modelu. W przypadku zdarzen w głównym oknie programu, kontroler przekazuje modelowi

jedynie podstawowe informacje, takie jak rodzaj przycisku i połozenie kursora. Model sam, w proce-

sie analizy, musi rozpoznac, czy nastapiła interakcja z obiektem i czy ewentualnie podjac akcje, majace

wpływ na ten obiekt i na cały system.

Aby poprawic mozliwosci prezentacji działania stworzonego asocjacyjnego systemu skojarzenio-

wego, pojedyncze grafy ANAKG i zapytania wywoływane na nich sa przechowywane w kontenerach.

Dzieki temu mozna porównywac zaledwie nieznacznie rózniace sie od siebie grafy badz zapytania w ra-

mach jednej uruchomionej aplikacji, w przeciwnym wypadku wymagałoby to uruchomienia kilku okien

w tym samym czasie, co utrudniałoby korzystanie z komputera. Przełaczanie pomiedzy zadaniami od-

bywa sie za pomoca klawiszy Page Up i Page Down, aby zmienic mózg nalezy dodatkowo wcisnac

klawisz Control.

G. Wasowski Budowa sztucznego systemu wiedzy

3.1. Ogólne załozenia projektowe 25

Rysunek 3.1. GUI z perspektywy modułu Simulation

3.1.2. Interfejs uzytkownika

Graficzny interfejs uzytkownika mozna podzielic na 3 podstawowe czesci:

– zajmujace wiekszosc obszaru, główne okno programu,

– widoczny po prawej panel sterowania, którego dodatkowym elementem jest suwak u dołu ekranu,

– połozony u góry niewielki panel, który, w przypadku modułu Simulation, pokazuje dane o aktual-

nym zapytaniu, lub, w przypadku modułu Creation, aktualnej sekwencji uczacej.

Panel sterowania składa sie z nastepujacych po sobie elementów:

– wybór aktywnego modułu,

– szybkosc animacji,

– przycisk Play/Stop, słuzacy do uruchamiania i zatrzymywania animacji,

– długosc trwania animacji,

– przycisk Simulate, umozliwiajacy ponowne uruchomienie symulacji,

– przycisk Load, słuzacy do wczytania z pliku danych do systemu,

G. Wasowski Budowa sztucznego systemu wiedzy

26 3.1. Ogólne załozenia projektowe

– wybór przestrzeni, w której jest umieszczony graf ANAKG,

– przycisk Balance, uruchamiajacy balansowanie grafu,

– checkbox State, którego zaznaczenie powoduje widocznosc numerycznego stanu neuronu,

– checkbox AutoBalance, którego zaznaczenie włacza automatycznie balansowanie grafu po wczy-

taniu,

– checkbox White, który zmienia tło na białe,

– checkbox Music, przy którego zaznaczeniu mozna odtwarzac muzyke dla testu Melody, opisanego

w rozdziale 4.3,

– suwak, słuzacy do zmiany aktualnego czasu w animacji, połaczony z informacja o aktualnym

czasie, jest on widoczny jedynie dla modułów Creation i Simulation.

W przypadku modułów Creation, u góry ekranu jest widoczna aktualna dla danego momentu czasu

sekwencja uczaca. W przypadku modułu Simulation w tym samym miejscu prezentowane jest zapy-

tanie, dodatkowo poprzedzane informacja o czasie do kolejnego impulsu z zapytania do konkretnego

neuronu, a takze wartoscia interwału pomiedzy tymi impulsami, pełniacych w tym przypadku role ze-

wnetrznych bodzców działajacych na sztuczny system skojarzeniowy AAS. W prawym górnym rogu

głównego ekranu widoczny jest niewielki dodatkowy panel, prezentujacy informacje o aktualnym stanie

systemu. Składa sie na niego:

– informacja o aktualnie wybranym numerze grafów i całkowitej ich liczbie,

– informacja o aktualnie wybranym numerze zapytania i całkowitej ich liczbie,

– status systemu, uzywany głównie w przypadku balansowania grafu,

– widoczna dodatkowo w modułach Creation i Simulation, informacja o liczbie wyswietlanych kla-

tek na sekunde.

3.1.3. Sposób animacji widoku

Jak juz wczesniej wspomniano, do wyswietlania elementów graficznych w aplikacji została uzyta

biblioteka XNA Game Studio 4.0. Umozliwia ona animacje obrazu za pomoca najprostrzych elementów,

nazywanych prymitywami, do których naleza trójkaty i łamane. Działa to na podobnej zasadzie jak w

grach komputerowych. Od biblioteki DirectX rózni ja fakt, ze wykorzystuje kod zarzadzany, podczas gdy

w implementacji DirectX uzywa sie kodu niezarzadzanego. Umozliwia to zapisywanie kodu w jezyku

C# i podłaczenie XNA do Windows Forms, co zastosowano przy tworzeniu programu.

Podstawa renderowania w grafice trójwymiarowej sa trójkaty. Umozliwia to przyspieszenie opera-

cji zmiennoprzecinkowych, głównie z powodu ułatwionych działan na wektorach i macierzach. Taki

G. Wasowski Budowa sztucznego systemu wiedzy

3.2. Elementy modelu 27

pojedynczy trójkat jest w XNA nazywany prymitywem. Wszelkie inne figury geometryczne, nawet naj-

prostsze, składaja sie z zestawu trójkatów. Przykładowo, dowolny czworokat składa sie z 2 trójkatów, ale

juz koło, dla zachowania jak najblizszego rzeczywistosci kształtu, z kilkudziesieciu. Jak łatwo zauwazyc,

rysowanie krzywych stanowi duzo wiekszy problem, niz rysowanie prostych. W aplikacji zostały uzyte

typy proste, złozone z prymitywów, takie jak: czworokat, pierscien, dysk czy walec, których nastep-

nie uzyto w prezentacji neuronów, czy synaps. Do wyswietlania tekstu i liczb w przestrzeni 3D została

uzyta biblioteka Nuclex, pozwalajaca na zamiane czcionki zapisanej jako bitmapa w czcionke zapisana

wektorowo, która mozna nastepnie wyswietlic w przestrzeni trójwymiarowej.

Podczas startu aplikacji, po wczytaniu danych i utworzeniu grafu wiedzy ANAKG, nastepuje inicja-

lizacja elementów graficznych. Obliczone zostaje ich połozenie w przestrzeni, a takze pozycja wszyst-

kich wierzchołków wchodzacych w skład danej figury. Nastepnie dane wierzchołków zostaja przesłane

do bufora, który jest posrednikiem pomiedzy wyswietlanymi obiektami, a karta graficzna. Został on

wprowadzony w ramach optymalizacji, poniewaz bezposrednie wysyłanie danych przez kazdy obiekt z

osobna było zbyt czasochłonne (narzut czasowy dla wywoływania funkcji był zbyt duzy), przez co zna-

czaco spadała wydajnosc grafiki. Przy przemieszczaniu elementów konieczna jest aktualizacja połozenia

wierzchołków w buforze, nie jest wymagana powtórna inicjalizacja. Dla dodatkowej optymalizacji wy-

korzystano mechanizm indeksowania, który zmniejszył znaczaco liczbe wierzchołków potrzebnych do

reprezentacji danej figury. Do karty graficznej przesyła sie wówczas jedynie liste osobnych wierzchoł-

ków, trójkaty sa z nich tworzone za pomoca indeksów.

3.2. Elementy modelu

3.2.1. Brain - mózg

Jest to rdzen systemu, czyli miejsce, gdzie wywoływane sa wszystkie metody symulujace działanie

grafu ANAKG. Posiada pewna liczbe neuronów i synaps. W trakcie testów stwierdzono, ze na współcze-

snym, sredniej klasy komputerze domowym, graficzna reprezentacja grafu działa płynnie dla maksymal-

nie 20-25 neuronów, co przy sekwencjach uczacych bedacych normalnymi zdaniami z jezyka ludzkiego

odpowiada 70-80 synapsom. Z uwagi na fakt, ze te 20 neuronów z trudem miesci sie, głównie ze wzgledu

na duza liczbe linii odzwierciedlajacych synapsy, na standardowym monitorze Full HD o rozdzielczosci

1920 na 1080 pikseli, jest to wartoscia absolutnie wystarczajaca do prezentacji działania programu.

Najbardziej obciazajacymi procesor obliczeniami nie sa te zwiazane z symulacja odpowiedzi sys-

temu na zadane zapytanie, ale operacje graficzne zwiazane z przeliczeniem własciwej pozycji neuronów

i synaps podczas procesu wywazania elementów grafu, opisanego w rozdziale 3.3. Nie jest to nic no-

wego - we współczesnych grach komputerach wymagania odnosnie wyswietlania grafiki i fizyki sa wie-

lokrotnie wieksze, niz dla nawet najbardziej skomplikowanej logiki, oczywiscie z wyłaczeniem obliczen

bigdata. Doswiadczalnie wykazano, ze sama symulacja działa szybko dla 1000 - 2000 neuronów, co jest

wartoscia 2 rzedy wielkosci wieksza, niz w przypadku wywazania grafu metoda sił.

G. Wasowski Budowa sztucznego systemu wiedzy

28 3.3. Balansowanie grafu

Rysunek 3.2. Neuron i synapsy

3.2.2. Neuron

Pojedynczy neuron jest reprezentowany za pomoca koła, z którego wychodza synapsy. Poziom na-

sycenia tła jest zalezny od liczby wystapien danego słowa w sekwencjach uczacych. Liczba we wnetrzu

koła oznacza procentowy poziom aktywnosci neuronu. Podczas refrakcji zastepuje ja litera R. Oprócz

liczby o stopniu pobudzenia danego neuronu swiadczy wielkosc kolorowego pierscienia we wnetrzu

koła. W przypadku dodatniego poziomu naładowania neuronu, przyjmuje on barwe zielona, natomiast

dla ujemnej wartosci kolory zostaja odwrócone - pierscien jest koloru tła, natomiast wnetrze jest barwy

niebieskiej. W trakcie procesu refrakcji kolor neuronu przechodzi płynnie z czerwonego do niebieskiego.

3.2.3. Synapse - synapsa

Synapsa łaczy ze soba 2 neurony - neuron presynaptyczny i postsynaptyczny. W systemie jest wi-

doczna jako linia prosta łaczaca 2 neurony. Waga i skutecznosc połaczenia synaptycznego jest repre-

zentowana poprzez element, dla ułatwienia nazywany krazkiem, składajacy sie z z koła i półksiezyca.

Koło prezentuje informacje o wadze synapsy, o której wartosci swiadczy wielkosc zielonego pierscienia

wewnatrz koła. Rogalik jest z kolei potrzebny, a by pokazac dodatkowe informacje podczas symulacji,

głównie w przypadku aktywowania neuronu presynaptycznego i nastepujacej po niej propagacji impulsu

nerwowego w danej synapsie. Główne koło znajduje sie nieco blizej neuronu postsynaptycznego, niz dru-

gie. W przypadku, gdy pomiedzy dwoma neuronami wystepuja 2 połaczenia synaptyczne, prezentowane

sa one za pomoca jednej linii z dwoma krazkami, kazdy z nich jest, zgodnie z załozeniami, połozony

blizej neuronu postsynaptycznego.

3.3. Balansowanie grafu

Do poprawnej prezentacji wyników działania systemu, elementy grafu ANAKG musza zostac po-

prawnie rozłozone na płaszczyznie, zgodnie z przyjetymi załozeniami. Pierwszym z nich jest odpowied-

G. Wasowski Budowa sztucznego systemu wiedzy

3.3. Balansowanie grafu 29

Rysunek 3.3. Graf nieuporzadkowany

nie rozmieszczenie neuronów. Te wzajemnie ze soba połaczone powinny lezec jak najblizej siebie, a siła

wzajemnego oddziaływania zalezec od wagi połaczenia synaptycznego wystepujacego miedzy nimi. Na-

lezy starac sie tak przemiescic neurony, by hipotetyczny srodek ciezkosci grafu był jak najblizej centrum

ekranu. Kolejnym aspektem, o który nalezy zadbac, jest połozenie synaps wzgledem neuronów. Linie nie

powinny byc blisko kół reprezentujacych neurony i nie moga ich dotykac. Liczba wzajemnych przeciec

powinna byc jak najmniejsza. Nalezy tak rozmiescic linie wychodzace z neuronów, by były rozłozone

jak najbardziej równomiernie. Ostatnim załozeniem jest połozenie krazków na liniach, reprezentujacych

dane synaps. Powinny byc połozone w miare mozliwosci jak najblizej neuronów postsynaptycznych, nie

nachodzic na siebie nawzajem, ani tez na linie innych synaps.

Rozwazano kilka metod implementacji balansowania grafu, jednak ostatecznie zdecydowano sie na

metode sił, której główna zaleta jest mozliwosc obserwowania efektów w czasie rzeczywistym. Wyko-

rzystuje ona znane z fizyki Prawo Hooke’a i Prawo Coulomba. Pierwsze z nich odnosi sie do sytuacji

odkształcenia ciała pod wpływem działania siły. W przypadku grafu ANAKG jest to wydłuzenie linii

synaptycznej z hipotetycznej długosci 0. Zgodnie z III zasada dynamiki Newtona, zadziała siła reakcji

o przeciwnym zwrocie, przez co symulowana siła bedzie przyciagała neurony do siebie, oraz bedzie

ona proporcjonalna do wydłuzenia. Wzór na te siłe został uproszczony do postaci 3.1. Prawo Coulomba

mówi o siłach działajacych na 2 ciała w przypadku posiadania przez nie ładunku elektrycznego. Jest ono

dane wzorem 3.2. Łatwo zauwazyc, ze działajaca siła bedzie odpychac neurony od siebie, oraz bedzie

G. Wasowski Budowa sztucznego systemu wiedzy

30 3.4. Moduły

odwrotnie proporcjonalna do kwadratu odległosci miedzy nimi. Nalezy zatem wprowadzic maksymalna

wartosc siły działajacej pomiedzy neuronami, poniewaz zbyt duza mogłaby negatywnie wpływac stabil-

nosc procesu balansowania.

F = K ·∆l (3.1)

F = k|q1q2|r2

(3.2)

Do przeprowadzenia procesu wywazania została zaprojektowana specjalna klasa singletonowa, do

której przekazywane sa nastepnie elementy grafu. Balansowanie przebiega w czasie rzeczywistym z

załozona minimalna czestotliwoscia 50 Hz dla kroku. Obliczenia wykorzystuja pełne mozliwosci po-

siadanego komputera dzieki wykorzystaniu wielowatkowosci. Symulacja składa sie z czterech kolej-

nych, nastepujacych po sobie faz. Pierwsza z nich jest losowanie poczatkowego połozenia neuronów w

przestrzeni. Nastepnie graf zostaje zbalansowany w przestrzeni trójwymiarowej, ograniczonej scianami

tworzacymi kształt prostopadłoscianu. Po osiagnieciu warunku stopu, który zakłada minimalna wartosc

siły działajaca na kazdy neuron, wymiar z zostaje zmniejszony do minimalnego, przez co graf sprawia

wrazenie połozonego na płaszczyznie. Po osiagnieciu warunku stopu dla tej fazy, nastepuje przejscie

do ostatniej, w której zostaja rozmieszone krazki synaps. W przeciwienstwie do neuronów, ich nowe

połozenie jest wyznaczone analitycznie, umieszcza sie je jak najblizej neuronu postsynaptycznego, przy

czym nie moga nachodzic na inne synapsy. Kazda iteracja w drugiej i trzeciej fazie składa sie z czterech

etapów. W pierwszym z nich sprawdzane jest wzajemne oddziaływanie neuronów, w drugim neuronów

z liniami synaps, w trzecim synaps z innymi synapsami, w czwartym scian przestrzeni na neurony. Na-

stepnie sprawdza sie, czy kazdy neuron spełnia warunek stopu, jesli na chocby jeden z nich działa zbyt

duza siła - system uruchamia kolejna iteracje. W przeciwnym przypadku nastepuje koniec fazy i program

przechodzi do nastepnej.

Automatyczne rozmieszczenie neuronów i krazków synaps jest z pewnoscia duzym ułatwieniem,

jednak mozliwe jest równiez przesuwanie ich za pomoca metody drag & drop. Dzieki temu mozna mo-

dyfikowac wyglad prezentowanego grafu wedle własnego uznania i potrzeb. Zwłaszcza w przypadku

synaps moze to znacznie poprawic widok, poniewaz przy automatycznym rozmieszczaniu moga one

wciaz nachodzic na siebie, zwłaszcza gdy jest ich duzo.

3.4. Moduły

3.4.1. Moduł Creation

Moduł Creation prezentuje praktyczne tworzenie grafu ANAKG, uprzednio opisane w rozdziale 2.5.

W trakcie uruchamiania aplikacji, z pliku xml wczytywany jest zdefiniowany w nim zbiór grafów, istnie-

jacych w aplikacji pod nazwa brain (ang. mózg). Do poprawnego działania programu niezbedne jest by

G. Wasowski Budowa sztucznego systemu wiedzy

3.4. Moduły 31

Rysunek 3.4. Widok uporzadkowanego grafu

plik xml był zgodny z załozonym schematem. W przeciwnym przypadku wystapi bład i dane nie zostana

wczytane.

? xml v e r s i o n = ’1 .0 ’? >

< d a t a l e n g t h = ’250 ’ >

< b r a i n >

< s e n t e n c e s >

< s e n t e n c e > j u p i t e r i s a p l a n e t < / s e n t e n c e >

< s e n t e n c e > s a t u r n i s a p l a n e t </ s e n t e n c e >

</ s e n t e n c e s >

< q u e r i e s >

< query i n t e r v a l = ’16 ’ > </ query >

< query i n t e r v a l = ’12 ’ > </ query >

</ q u e r i e s >

</ b r a i n >

</ da t a >

Po wczytaniu danych z pliku, nastepuje wyodrebnienie grafów wraz ze zbiorami sekwencji uczacych.

Nastepnie kazda z nich jest wczytywana do silnika, gdzie w procesach neurogenezy i neuroplastycznosci

tworzone sa nowe neurony wraz z połaczeniami synaptycznymi, jak i modyfikowane atrybuty, takie jak

G. Wasowski Budowa sztucznego systemu wiedzy

32 3.4. Moduły

Rysunek 3.5. Moduł Creation

wagi i skutecznosc połaczen synaptycznych, juz istniejacych. Wszystkie dane sa zapisywane do pamieci,

by móc zostac odtworzone za pomoca GUI. Opis wzorów uzytych do budowy grafu został zamieszczony

w rozdziale 2.5. Kazda synapsa zawiera historie swoich zmian w odpowiedzi na kontekst danej sekwencji

uczacej. Dzieki temu jest mozliwa animacja zmian w grafie ANAKG pod wpływem kazdego nowego

słowa wczytywanego do systemu.

Kolejna funkcjonalnoscia w module Creation jest mozliwosc edycji istniejacych i wstawiania no-

wych sekwencji uczacych. Po zmianie trybu na Insert za pomoca klawisza o tej samej nazwie, mozna

wpisywac poszczególne słowa za pomoca klawiatury. Przejscie do kolejnego słowa jest mozliwe po naci-

snieciu spacji, znaki sa usuwane za pomoca klawisza Backspace, całe zdanie jest tworzone po nacisnieciu

przycisku Enter. Aby wyjsc z trybu edycji bez zapisywania aktualnej sekwencji nalezy jeszcze raz uzyc

klawisza Insert. Po kazdorazowym dodaniu nowego zdania wszystkie czynnosci zwiazane z tworzeniem

grafu ANAKG musza zostac powtórzone. Nawet najmniejsza zmiana w pojedynczej sekwencji uczacej

moze spowodowac znaczaca zmiane w wadze czy skutecznosci połaczenia synaptycznego, dlatego tez

ponowne przeliczenie wszystkich wartosci jest tak istotne.

Jak juz wczesniej wspomniano, istnieje mozliwosc podgladu zmian wagi danego połaczenia sy-

naptycznego pod wpływem wystapienia okreslonego kontekstu w sekwencji uczacej. Klikajac prawym

przyciskiem myszy na wybrany krazek, zostaje wyswietlone niewielkie okienko, w którego kolejnych

wierszach widoczne sa wszystkie zmiany od startu budowy grafu ANAKG, az do obecnego momentu.

G. Wasowski Budowa sztucznego systemu wiedzy

3.4. Moduły 33

Rysunek 3.6. Wpisywanie nowego zapytania

Pierwszy numer oznacza moment w czasie, w którym dana zmiana zaszła. Koło na lewo od niego przeka-

zuje informacje o poprzednim stanie synapsy. Jasnozielony pierscien wyznacza stara wage synapsy. We-

wnatrz koła znajduje sie równiez, w przypadku wzrostu wartosci, ciemnozielony pierscien pokazujacy, o

ile waga synapsy została zwiekszona, natomiast w przypadku spadku wartosci, czerwony pierscien poka-

zujacy, o ile waga synapsy spadła. Drugi prezentowany numer wskazuje na wielkosc zmiany, natomiast

drugi pierscien pokazuje ostateczna wartosc wagi połaczenia synaptycznego, w danym momencie czasu.

3.4.2. Moduł Simulation

Najwazniejsza funkcje w aplikacji pełni moduł Simulation. Słuzy on do prezentacji wyników sy-

mulacji za pomoca grafu uzywanego równiez w module Creation. Domyslne odpowiedzi na pytania sa

wczytywane podczas domyslnej konfiguracji przy starcie programu, badz tez podczas załadowania da-

nych z pliku za pomoca przycisku Load. Istnieje mozliwosc zadania pytania za pomoca klawisza Insert,

po którego nacisnieciu u góry ekranu pojawia sie mały, pusty kafelek, sygnalizujacy aktualnie modyfiko-

wana tresc zapytania. Po zatwierdzeniu nowego zdania przyciskiem Enter, nastepuje symulacja i wyniki

nowego zapytania do grafu sa widoczne w systemie. Istnieje równiez mozliwosc zmiany interwału, która

mozna edytowac za pomoca strzałek w góre i w dół na klawiaturze, po czym nalezy nacisnac klawisz

Enter. Zmieniana wartosc jest wyrózniona innym kolorem tła kafelka.

Po wczytaniu zbioru sekwencji uczacych i wykonaniu symulacji odpowiedzi na zadane zapytanie,

system jest gotowy do animacji wyników. Dane zostaja wówczas zapisane do specjalnej struktury, za-

wierajacej informacje o poziomie pobudzenia neuronu, oraz fazie, w jakiej dany neuron sie znajduje.

W przypadku zaznaczenia odpowiedniej opcji, przed rozpoczeciem animacji, graf musi zostac zbalanso-

wany, jak to zostało opisane w rozdziale 3.3, o ile nie oczywiscie nie nastapiło to wczesniej. W przypadku

udanego wywazenia grafu, mozna rozpoczac animacje za pomoca przycisku Play, dostepnego na panelu

sterujacym po lewej stronie ekranu. Uruchomiona symulacje mozna zatrzymac za pomoca przycisku

Stop, który zamienia sie z przyciskiem Play. W kazdym momencie mozna przeniesc sie do dowolnej

klatki animacji dzieki suwakowi dostepnemu na dole ekranu.

3.4.3. Moduł Chart

Moduł Chart słuzy do prezentacji poziomu pobudzenia neuronów na osi czasu. Pozioma skala odpo-

wiada wybranym jednostkom czasu, dla ułatwienia przyjeto, ze jest nia jedna milisekunda. Na wykresie

widoczne sa 3 poziome linie, z których srodkowa oznacza stan spoczynku, górna jest progiem aktywa-

cji, dolna natomiast oznacza stan przeciwny, moment z którego neuron powraca do stanu spoczynku po

G. Wasowski Budowa sztucznego systemu wiedzy

34 3.4. Moduły

Rysunek 3.7. Moduł Simulation

zakonczeniu okresu refrakcji bezwzglednej. Dodatkowym elementem widocznym na wykresie sa koła

odzwierciedlajace momenty aktywacji - kolor pomaranczowy, konca refrakcji bezwzglednej - kolor ja-

snoniebieski, oraz zapoczatkowania reakcji na bodziec - niewielkie kółko w kolorze linii na wykresie.

Ponizej wykresu widoczne sa kafelki z tłem w kolorze odpowiadajacym danemu neuronowi na wykre-

sie. Najechanie na dany kafelek podswietla linie na wykresie (o ile jest ona widoczna), z kolei klikniecie

lewym przyciskiem myszy włacza lub wyłacza widocznosc tej linii. Suwak na samym dole ekranu po-

zwala na przesuwanie wykresu w prawo lub w lewo, podobnie jak strzałki na klawiaturze. Za pomoca

przycisków 1 i 3 na klawiaturze numerycznej, wykres moze zostac dla lepszej widocznosci przeska-

lowany. Do prezentacji moduł Chart korzysta dokładnie z tych samych danych w tej samej formie co

moduł Simulation, dlatego nie jest konieczny dodatkowy opis.

3.4.4. Moduł Response

Moduł Response prezentuje graf, za pomoca którego mozna zaobserwowac momenty aktywacji po-

szczególnych neuronów na osi czasu. Ogólna zasada działania tego modułu jest bardzo podobna do

modułu Chart - os czasu mozna przeskalowywac, a takze przesuwac w prawo, badz w lewo. Nie posiada

oczywiscie osi Y, nie ma w tym przypadku informacji, która mogłaby ona niesc. Neurony wystepuja w

tym module pod postacia kafelków z nazwa w srodku, połaczone liniami prostymi w przypadku istnienia

G. Wasowski Budowa sztucznego systemu wiedzy

3.4. Moduły 35

Rysunek 3.8. Moduł Chart

połaczenia synaptycznego miedzy nimi. Moment aktywacji danego neuronu na osi czasu odpowiada jego

lewej krawedzi, dodatkowo jest to oznaczone za pomoca niebieskiej linii przerywanej.

Informacje o aktywacji danego neuronu sa przekazywane podczas symulacji poprzez wysłanie zda-

rzenia do modułu. Po jej zakonczeniu nastepuje analiza zebranych danych, a neurony sa łaczone ze soba

w przypadku, gdy jeden mógł miec bezposredni wpływ na aktywacje drugiego. Nastepnie dokonana

jest próba rozmieszczenia kafelków za pomoca prostego algorytmu genetycznego. Jezeli nie zadziała

on najlepiej i neurony beda połozone nieczytelnie, istnieje mozliwosc przesuniecia kazdego z kafelków,

oczywiscie przy zachowaniu połozenia na osi X. Podczas testów stwierdzono problemy dla duzej liczby

aktywacji, przez co nie jest zalecane korzystanie z modułu Response w tym przypadku.

G. Wasowski Budowa sztucznego systemu wiedzy

36 3.4. Moduły

Rysunek 3.9. Moduł Response

G. Wasowski Budowa sztucznego systemu wiedzy

4. Prezentacja działania programu i testy

W niniejszym rozdziale zostało przedstawione działanie programu w praktycznych zastosowaniach.

Opis kazdego z przypadków testowych zawiera wykorzystany zbiór sekwencji uczacych, z kolei w wy-

nikach zostały przedstawione zrzuty ekranu, obserwacje i ewentualne wnioski. Wykonanymi testami sa:

– Układ Słoneczny - rozdział 4.1

– Małpka - rozdział 4.2

– Melodia - rozdział 4.3

– Kółko i krzyzyk - rozdział 4.4

Przed rozpoczeciem symulacji ustalono nastepujace stałe wartosci, wspólne dla wszystkich przypad-

ków testowych (podany czas nie ma ustalonej jednostki, choc dla ułatwienia mozna przyjac, ze jest to 1

milisekunda):

– Czas propagacji - 2

– Czas refrakcji - 3

– Czas relaksacji - 100

4.1. Przykład testowy - Układ Słoneczny

4.1.1. Opis

W pierwszym przykładzie do programu zostało wczytane 8 sekwencji uczacych:

jupiter is a planet

saturn is a planet

saturn is a big planet

jupiter is big

saturn is bigger than earth

earth is our planet

37

38 4.1. Przykład testowy - Układ Słoneczny

Rysunek 4.1. Wykres aktywnosci neuronów dla testu Układ Słoneczny

earth is bigger than mercury

olympus mons is a big planet

Zastosowane parametry systemu:

Interwał aktywacji: 20

Współczynnik γ: 4,3

4.1.2. Wyniki działania programu

Głównym pytaniem zadanym w pierwszym tescie jest: What is jupiter? Według kolejnosci aktywacji

kolejnych neuronów, zaobserwowana odpowiedzia jest zdanie is jupiter a big planet. Po zamianie pierw-

szych dwóch wyrazów otrzymujemy bardzo sensowne zdanie jupiter is a big planet, które nie wystepuje

w zbiorze sekwencji uczacych. Po krótkiej analizie mozna stwierdzic, ze zostało ono złozone ze zdan

jupiter is big, oraz jupiter is a planet, nastapiło zatem uogólnienie posiadanej wiedzy. Wpływ na odpo-

wiedz mogło miec równiez zdanie saturn is a big planet, które rozni sie od niego jedynie podmiotem.

Na wykresie 4.1 mozna równiez zauwazyc bardzo mocne podprogowe pobudzenie neuronu mountain.

Stwierdzono, ze juz przy niewielkiej zmianie parametru γ na 4,1, poziom pobudzenia przekraczał próg

aktywacji. Z kolei przy zmianie wartosci γ na 4,5 progu aktywacji nie osiagał neuron a, co powodowało

przerwanie sekwencji wywołan - aktywowane zostały jedynie neurony is i jupiter, pobudzane impulsami

G. Wasowski Budowa sztucznego systemu wiedzy

4.2. Przykład testowy - Małpka 39

Rysunek 4.2. Odpowiedz systemu dla testu Układ Słoneczny

z zewnatrz. Pokazuje to, jak duzy wpływ na zachowanie systemu maja nawet niewielkie zmiany jego

parametrów.

Warto zastanowic sie chwile nad koniecznoscia zamiany kolejnosci neuronów, by uzyskac poprawne

gramatycznie zdanie wynikowe. Oryginalna odpowiedzia na what is jupiter jest is jupiter a big planet,

co w jezyku angielskim nie jest stwierdzeniem faktu, a jedynie kolejnym pytaniem, uzyskanym poprzez

zmiane w szyku zdania. Poprawna gramatycznie forma odpowiedzi byłoby jupiter is a big planet. Na-

lezałoby sie zatem zastanowic, czy mozliwa jest taka modyfikacja modelu systemu skojarzeniowego, by

umozliwiał on przejscie od poprawnego gramatycznie pytania do poprawnej gramatycznie odpowiedzi.

W przypadku zapytania zadanego jako poczatek zdania oznajmujacego the jupiter is. . . , system zwraca

poprawna forme jupiter is a big planet. Zwłaszcza w przypadku prób wykorzystania grafu ANAKG do

budowy inteligentnego czatbota poprawa tego aspektu moze byc bardzo istotna, jesli miałby on posługi-

wac sie jezykiem naturalnym.

4.2. Przykład testowy - Małpka

4.2.1. Opis

Kolejnym z testów jest opis pewnej bardzo madrej i sympatycznej małpki, zawarty w zbiorze 9

prostych sekwencji uczacych:

G. Wasowski Budowa sztucznego systemu wiedzy

40 4.2. Przykład testowy - Małpka

Rysunek 4.3. Wykres aktywnosci neuronów dla testu Małpka

i have a monkey

my monkey is very small

it is very lovely

it likes to sit on my head

it can jump very quickly

it is also very clever

it learns quickly

my monkey is lovely

i have also a small dog

Parametry systemu:

Interwał aktywacji: 12

Współczynnik γ: 2

4.2.2. Wyniki działania programu

Zadanym przez uzytkownika pytaniem jest what is this monkey like? Odpowiedzia systemu była

sekwencja is monkey very lovely small, zawierajaca w sobie 2 asocjacyjne sciezki aktywacji neuronów

is monkey very lovely, oraz is monkey very small. Mozna z nich ułozyc 2 sensowne zdania, podobnie jak

G. Wasowski Budowa sztucznego systemu wiedzy

4.2. Przykład testowy - Małpka 41

Rysunek 4.4. Odpowiedz systemu dla testu Małpka

w przypadku testu Układ Słoneczny, zamieniajac kolejnosc słów is, oraz monkey. Wówczas jako rezultat

otrzymujemy wyrazenia monkey is very lovely, oraz monkey is very small. Neuronów lovely i small nie

sa czescia tej samej sekwencji wywołan, poniewaz brak miedzy nimi połaczenia synaptycznego, zatem

nie mogły ze soba oddziaływac za pomoca bodzców. Zgodnie z teoria asocjacji [1, 4] wystapiła w tym

przypadku relacja asocjacyjnego podobienstwa ASIM. W biologicznych systemach asocjacyjnych BAS,

w podobnych przypadkach czesto nastepuje wykształcenie nowego połaczenia synaptycznego w procesie

neuroplastycznosci. Jego praktyczna implementacja w asocjacyjnych systemach skojarzeniowych AAS

byłaby na pewno znaczacym rozszerzeniem ich funkcjonalnosci.

Poprawnym jezykowo i logicznie odpowiednikiem uzyskanej sekwencji is monkey very lovely small

jest zdanie monkey is very lovely and small. Jak mozna zauwazyc sa one bardzo podobne: gdyby przy-

jac kazdy wyraz za osobny znak, odległosc Levenshteina miedzy nimi wynosiłaby zaledwie 2, wyko-

nano inwersje słów monkey i is, a takze wstawienie spójnika and. Jest to oczywiscie wynikiem analizy

ludzkiego systemu skojarzeniowego, konstruowanie poprawnych stylistycznie, gramatycznie, a przede

wszystkim logicznie zdan byłoby duzym wyzwaniem, ale tez bardzo duzym krokiem w rozwoju modelu

grafu ANAKG i sztucznych systemów skojarzeniowych AAS. Taki system byłby w stanie nawet przejsc

test Turinga, ze swoja zdolnoscia do uogólnien, nawet w przypadku podchwytliwych pytan, zostajac

uznany za myslaca, inteligentna maszyne.

G. Wasowski Budowa sztucznego systemu wiedzy

42 4.3. Próba odtworzenia melodii

4.3. Próba odtworzenia melodii

4.3.1. Opis

Jako test wykorzystania systemu w bardziej praktycznych zastosowaniach zostało wybrane odtwo-

rzenie melodii na podstawie pierwszych dzwieków. Aplikacja wczytała kilka przykładowych sekwencji

dzwieków. Kazde słowo reprezentuje zakodowana nute. Pierwsze 2 znaki sa odzwierciedleniem kon-

kretnego tonu zgodnie ze standardowa notacja stosowana w muzyce. 2 kolejne natomiast oznaczaja czas

trwania danego dzwieku, gdzie 1 to pełna nuta, 2 półnuta, 4 cwiercnuta itd. Znak N oznacza nute zwykła,

a Dz kropka, czyli czas trwania jest dłuzszy o 50%. Istnieje mozliwosc odtwarzania wyników pod posta-

cia melodii, której elementami beda kolejne neurony w ułozone w chronologicznym porzadku według

sciezki aktywacji. Wykorzystana została do tego biblioteka Sanford MIDI, wybranym instrumentem jest

klasyczne pianino.

Dla potrzeb testu do systemu zostały wprowadzone 4 melodie jako osobne sekwencje uczace:

“Wlazł kotek na płotek”:

G4N4 E4N4 E4N4 F4N4 D4N4 D4N4 C4N8 E4N8 G4N2

“Szła dzieweczka”

G4N2 C5N4 E5N2 D5N4 C5N2 H4N4 C5N4 H4N4 A4N4 G4N2 G4N4 E4N2 F4N4 G4D2

Najbardziej popularna gama, czyli C-dur:

C4N4 D4N4 E4N4 F4N4 G4N4 A4N4 H4N4 C5N4

Parametry systemu:

Interwał aktywacji: 20

Współczynnik γ: 4

4.3.2. Wyniki działania programu

Do przeprowadzenia testu zostało wybrane zapytanie C4N4 D4N4, czyli pierwsze 2 dzwieki gamy

C-dur. Zgodnie z oczekiwaniami, w dalszej kolejnosci powinny zostac aktywowane neurony reprezen-

tujace coraz wyzsze tony. Czy wszystko przebiegło zgodnie z przypuszczeniami? Pierwsze wyniki 4.5

wygladały, łagodnie mówiac, niezbyt przekonujaco. Liczba aktywacji była bardzo duza, przez co infor-

macje prezentowane na ekranie Response stały sie zupełnie nieczytelne. Wykres aktywnosci neuronów

był zdatny do jakiejkolwiek analizy jedynie dlatego, ze liczba neuronów na nim prezentowanych jest

ograniczona jedynie do 10 najwczesniej aktywowanych, badz tez, w drugiej kolejnosci najmocniej po-

budzanych.

Jednak po zmianie parametrów systemu, w szczególnosci parametru γ, zapytanie zaczeło zwracac

znacznie bardziej sensowne wyniki. Pomimo aktywacji dodatkowych neuronów, przez co melodia wy-

nikowa wciaz była daleka od zakładanej, wyraznie dało sie zauwazyc własciwa kolejnosc aktywacji

kolejnych dzwieków w gamie C-dur. Wówczas zdecydowano sie na usuniecie pozostałych sekwencji

uczacych i zostawiono sama game. W wyniku testu system zagrał pełna game C-dur, bezbłednie, bez po-

G. Wasowski Budowa sztucznego systemu wiedzy

4.3. Próba odtworzenia melodii 43

Rysunek 4.5. Wykres aktywnosci neuronów dla testu Melodia - kakofonia dzwieków

wtórzen. Relacje asocjacyjnego nastepstwa ASEQ sa zatem naprawde dobrze odwzorowywane w grafie

ANAKG.

Na podstawie informacji przekazanych przez system widoczny jest problem z własciwym doborem

wag przy duzej liczbie podobnych sekwencji uczacych. Zastosowany model grafu ANAKG nie imple-

mentuje w wystarczajacym stopniu mechanizmu dyskryminacji, przez co okreslona sekwencja aktywacji

konkretnych neuronów moze pójsc zupełnie innymi drogami, niz mozna sie tego spodziewac. Pomimo

faktu, ze system dobrze sledzi kolejne aktywowane neurony, nie jest w stanie znalezc dokładnej sciezki

aktywacji tych najsilniej pobudzanych, najmocniejszych skojarzen. Wystarczy jeden dodatkowy rozsze-

rzajacy kontest neuron, by zmienic cały ciag odpowiedzi lub doprowadzic do hiperaktywnosci w grafie.

Z jednej strony mozna stwierdzic, ze zadziałał tutaj mechanizm uogólnienia. Z drugiej, człowiek rzadko

ma problemy z poprawnym odtworzeniem gamy. Pokazuje to, ze zastosowany w pracy model grafu

ANAKG wciaz moze byc usprawniany, by jak najwierniej modelowac sposób myslenia i reprezentacji

wiedzy, stosowana w biologicznych systemach skojarzeniowych BAS. Wyzej wymieniony problem jest

rozwiazywany w ramach prac nad modelem ANAKG4.

Kolejna rzecza, na która warto zwrócic uwage, jest silna zaleznosc odpowiedzi systemu od przyjetych

parametrów. Jest on najbardziej wrazliwy na zmiany wartosci γ i maksymalnego czasu relaksacji, które

maja bardzo duzy wpływ na kształt krzywej pobudzenia. Czas refrakcji i propagacji nie ma az tak duzego

znaczenia, zwłaszcza ze ich wpływ moze równowazyc zmiana interwałów pomiedzy poszczególnymi

G. Wasowski Budowa sztucznego systemu wiedzy

44 4.4. Kółko i krzyzyk

Rysunek 4.6. Harmonijna odpowiedz dla testu Melodia

neuronami w zapytaniu. Bardzo wazna kwestia jest, czy istnieje praktyczna mozliwosc automatycznego

wyznaczania parametrów dla asocjacyjnego systemu skojarzeniowego, by jego odpowiedz była mozliwie

najlepsza. W przeciwnym wypadku bedzie on bardzo zalezny od czynnika ludzkiego, który wprowadza

element losowy zwiazany z biologicznym, a nie sztucznym systemem skojarzeniowym.

4.4. Kółko i krzyzyk

4.4.1. Opis

Na potrzeby tego testu został przygotowany moduł symulujacy gre w kółko i krzyzyk. Podobnie

jak główny program, został on stworzony zgodnie ze wzorcem Model-View-Controller, w technologii

WPF (Windows Presentation Foundation). Z silnikiem głównej aplikacji, a co za tym idzie systemem

wiedzy, łaczy sie za pomoca interfejsów, zgodnie z paradygmatami programowania obiektowego. Po

uruchomieniu modułu za pomoca klawisza F2, otwiera sie nowe okno luzno powiazane z oknem głównej

aplikacji. Zostaje wówczas wczytany zbiór sekwencji uczacych, potrzebny do uzyskania odpowiedzi na

zapytania wysyłane podczas gry.

Po uruchomieniu okna zostaje wczytany uprzednio przygotowany zbiór sekwencji uczacych. Powstał

on na podstawie standardowych strategii wygrywajacych, stosowanych w rozgrywce pomiedzy ludzmi.

Najwazniejszym polem jest srodek, zatem pierwszy ruch powinien zaznaczac własnie to pole. Gracz,

G. Wasowski Budowa sztucznego systemu wiedzy

4.4. Kółko i krzyzyk 45

Tablica 4.1. Wyniki gry kółko i krzyzyk - procent zwyciestw

Pełna losowosc Małpka Madra małpka

ANAKG 42% 70% 58%

Przeciwnik 42% 23% 32%

Remisy 16% 7% 10%

który tego nie zrobi, praktycznie pozbawia sie szans na zwyciestwo. W kolejnym ruchu warto zaznaczac

pola narozne, które pokrywaja wiecej prostych wygrywajacych (3), niz pozostałe pola boczne (2). Przy

optymalnej grze kazdego z graczy, kazdy pojedynek w kółko i krzyzyk na planszy 3x3 konczy sie remi-

sem. Dlatego tez graja w nia głównie dzieci, a starsi próbuja swoich sił na planszach z duza liczba pól,

gdzie celem jest uzyskanie 5 krzyzyków lub kółek w jednej linii. Jak juz wczesniej wspomniano, istnieja

optymalne algorytmy wygrywajace dla gry w kółko i krzyzyk. Opieraja sie one jednak na regułach i

przeszukiwaniu drzewa, a nie na sztucznych skojarzeniach opisanych w niniejszej pracy.

Podczas testów zostały rozegrane 2 serie gier z przeciwnikami na róznych poziomach trudnosci:

pierwsza z przecietna, druga z bardziej inteligentna wirtualna małpka. Liczba pojedynków w kazdej serii

wyniosła 200. Sredni czas wykonania pojedynczego ruchu wyniósł ok. 120 ms.

Objasnienia zastosowanych nazw (Rysunek 4.7):

Crosses - zwyciestwa krzyzyków, którymi steruje system za pomoca grafu ANAKG

Noughts - zwyciestwa gracza stawiajacego kółka, w tym przypadku wirtualnej małpki

Draws - liczba remisów

Total - wybrana liczba symulacji (domyslnie 200)

Remain - pozostała liczba meczów do rozegrania

Last - czas trwania ostatniej rozgrywki (wazne do oceny wydajnosci)

Average - czas trwania przecietnej rozgrywki

4.4.2. Wyniki działania programu

W pierwszym tescie system skojarzeniowy zagrał ze srednio rozgarnieta, hipotetyczna małpka. Sta-

wia ona kółka w losowych, choc na szczescie w poprawnych miejscach na planszy.

W drugim tescie przeciwnikiem systemu skojarzeniowego była znajdzie bardziej rozgarnieta małpka,

która zaczynała swoja gre, jesli to było mozliwe, postawieniem kółka w samym srodku planszy. Sprawiło

to, ze system skojarzeniowy wygrał znacznie mniej meczów i poniósł znacznie wiecej porazek.

Przecietne wyniki dla symulacji gry w kółko i krzyzyk prezentuja sie zostały zaprezentowane w

tabeli 4.1.

Na podstawie wyników mozna zauwazyc lepsze rezultaty dla gracza AAS, niz w przypadku ma-

szyny stawiajacej krzyzyki w zupełnie losowych miejscach. Jednak sa one słabsze od optymalnych, które

G. Wasowski Budowa sztucznego systemu wiedzy

46 4.4. Kółko i krzyzyk

Rysunek 4.7. Kółko i krzyzyk - normalna małpka

Rysunek 4.8. Kółko i krzyzyk - madra małpka

G. Wasowski Budowa sztucznego systemu wiedzy

4.5. Podsumowanie testów 47

mozna szacowac na 20 p. p. wyzsze, niz otrzymano. Niezbyt korzystnie wyglada równiez duza liczba

porazek, która nie powinna byc tak wysoka. Byc moze statystyki podniósłby lepszy zbiór sekwencji

uczacych, jednak w ramach testów wykonano wiele prób i wykorzystany dał najlepsze wyniki.

W ramach testów została równiez podjeta próba stworzenia systemu, który uczyłby sie na podstawie

wyników poprzednich gier. Efekty były jednak dalekie od oczekiwan. Podstawowym problemem było

bardzo szybkie dazenie wag synaps do 1, skutkiem czego róznice w sile połaczen pomiedzy neuronami

stały sie praktycznie niedostrzegalne. Powodowało to pogorszenie rezultatów po pewnym czasie. Mozna

wysnuc wniosek, ze w przypadku duzej liczby podobnych sekwencji uczacych graf ANAKG wymaga

dodatkowej modyfikacji jego wag synaptycznych, co jest realizowane w kolejnych wersjach modelu

grafu ANAKG. Ponadto przy dodawaniu kolejnych sekwencji uczacej budowa grafu wiedzy trwała coraz

dłuzej (3s po 200 grach), przez co symulacja znacznie traciła na płynnosci.

4.5. Podsumowanie testów

Pierwsze 2 wykonane testy zostały przeprowadzone na zbiorach sekwencji uczacych, opartych na

prostych zdaniach w jezyku angielskim. Wykazano, ze stworzony system wiedzy pozwala na odzwier-

ciedlenie, załozonych teoretycznie, procesów generalizacji i wnioskowania. Odpowiedzi w postaci aso-

cjacyjnych sciezek aktywacji nie zawsze były poprawne gramatycznie, jednak były tego bliskie, dzieki

czemu po niewielkich modyfikacjach moga stworzyc zupełnie poprawne zdanie. Pewne problemy spra-

wia szyk przestawny w pytaniach, jednak wyeliminowanie jego wpływu na obecnym etapie rozwoju

sztucznych systemów skojarzeniowych AAS jest praktycznie niemozliwe.

Oprócz powyzszego, test Układ Słoneczny wykazał równiez, ze nawet bardzo nieduza zmiana warto-

sci parametrów systemu moze miec duzy wpływ na obserwowane rezultaty. Duza role odgrywa zwłasz-

cza współczynnik γ znaczaco zmieniajacy kształt krzywej relaksacji. Test Małpka pokazał poprawne

działanie procesu uogólniania i wnioskowania, jednak zwrócono uwage na brak powstawania relacji

asocjacyjnego podobienstwa, jak dzieje sie to w przypadku biologicznych systemów skojarzeniowych

BAS.

Testy Melodia i Kołko i krzyzyk pokazały ograniczenia obecnego modelu grafu ANAKG2, które

ich twórca wyeliminował dopiero w obecnie rozwijanych modelach ANAKG3 i ANAKG4. Zaobserwo-

wano, ze przy duzej liczbie mniej lub bardziej podobnych do siebie sekwencji uczacych, wagi połaczen

synaptycznych niebezpiecznie zblizały sie do 1, przez co działanie procesów kojarzenia było bardzo

zakłócone. Po głebszej analizie zauwazono, ze uporzadkowane wagi dałyby co prawda oczekiwana ko-

lejnosc od najbardziej do najmniej istotnych, jednak róznice miedzy nimi (w przypadku 30 sekwencji

uczacych dla gry Kółko i krzyzyk) były 4 rzedy wielkosci zbyt niskie, podobnie jak róznica wag w

stosunku do liczby 1.

Dodatkowo podczas testów zostały sprawdzone rózne rodzaje stymulacji grafu ANAKG za pomoca

bodzców przekazywanych do systemu na podstawie zapytania. Poczatkowo sadzono, ze do wywołania

odpowiedzi, w niektórych przypadkach potrzebne jest przesyłanie impulsów w petli, az do upływu czasu

G. Wasowski Budowa sztucznego systemu wiedzy

48 4.5. Podsumowanie testów

załozonego poczatkowo na symulacje. Jednak na podstawie wyników testu Melodia stwierdzono, ze do

uzyskania sensownych wyników wystarczy odpowiednia modyfikacja jednego z kilku parametrów, przy

czym najlepiej nadaje sie do tego współczynnik γ. Zrezygnowano równiez z jednoczesnej aktywacji

neuronów, co znacznie zmniejszało wpływ kontekstu na wynik zapytania.

G. Wasowski Budowa sztucznego systemu wiedzy

5. Podsumowanie

Sztuczna inteligencja jest z pewnoscia jednym z najszybciej rozwijajacych sie działów informatyki.

Tworzone przez naukowców i programistów rozwiazania daja coraz lepsze efekty, w wielu przypad-

kach pozwalajac osiagac wyniki znacznie przekraczajace ludzkie mozliwosci. Stworzone rozwiazania

nie maja sobie równych w takich grach jak szachy czy warcaby, nie dajac zadnych szans nawet mistrzom

swiata. Równiez w rozpoznawaniu obrazów czy dzwieków, wyniki osiagniete przez SI sa co najmniej

zadowalajace. Uzyte rozwiazania, choc niewatpliwie przejawiaja zachowania wysoce inteligentne, dzia-

łaja jednak inaczej niz człowiek, według przyjetych reguł, wykorzystujac głównie moc obliczeniowa

współczesnego komputera. W przypadkach, gdy w gre wchodzi reakcja na bodzce zewnetrzne, jak przy

chodzenie czy porozumiewanie sie za pomoca mowy, sztuczna inteligencja wciaz pozostaje daleko w

tyle za mozliwosciami przecietnego człowieka.

W niniejszej pracy została podjeta próba stworzenia sztucznego neuronowego asocjacyjnego systemu

wiedzy, opartego na aktywnym neuroasocjacyjnym grafie wiedzy ANAKG, wywołujacego sztuczne sko-

jarzenia. Wszystkie podstawowe załozenia projektowe zostały spełnione, w miare mozliwosci zostały

rozszerzone o nowe, dodatkowe funkcjonalnosci. W tworzeniu aplikacji został wykorzystany jezyk C#,

srodowisko programistyczne Visual Studio, słuzaca do animacji trójwymiarowej biblioteka XNA Game

Studio 4.0, oraz dodatkowe biblioteki Nuclex i Stanford MIDI. System działa zgodnie z wzorcem MVC,

posiada budowe modułowa, dzieki czemu moze byc niewielkim kosztem rozszerzany, modyfikowany,

badz adaptowany do nowych zastosowan.

Zaprezentowany w pracy model skojarzeniowy jest jednym z pierwszych, który podejmuje próbe

neuronowego modelowania biologicznych procesów skojarzeniowych. Wykazuje on na razie pewne

ograniczenia, lecz równoczesnie pokazuje pewne mozliwosci i szanse dla współczesnej informatyki.

Do jego głównych ograniczen mozna zaliczyc:

– trudna do odzworowania równoległosc zachodzacych w mózgu procesów w symulacji na współ-

czesnych komputerach,

– brak tworzenia relacji asocjacyjnego podobienstwa ASIM, która jest rozwijana w kolejnych wer-

sjach modelu,

– nie nadaje sie do trwałego przechowywania danych, podobnie jak w przypadku ludzkiej pamiec

jest ulotna,

49

50

– trudne do przeprowadzenia operacje matematyczne.

Z kolei podstawowe zalety to:

– odzwzorowanie mozliwosci ludzkiego mózgu oraz zachodzacych w nim procesów skojarzenio-

wych,

– mozliwosc uogólniania i wnioskowania na podstawie posiadanej wiedzy,

– szybkie wyszukiwanie posiadanej wiedzy za pomoca skojarzen,

– nie wystepuja duplikaty danych, w przypadku podobnych danych nastepuje ich agregacja,

– brak petli obliczeniowych, struktura danych jest grafowa.

W ramach pracy zostało wykonanych szereg mniej lub bardziej udanych testów na róznych zbiorach

sekwencji uczacych, pozwalajacych na sprawdzenie poprawnosci działania systemu, a takze jego mozli-

wosci. Wykazały one własciwe działanie procesów neurogenezy i neuroplastycznosci, a takze uogólnia-

nia i wnioskowania. Odpowiedzi sensownie odwzorowywały wiedze zawarta w sekwencjach uczacych.

Stwierdzono natomiast brak powstawania relacji podobienstwa oraz niezbyt dobre działanie systemu w

zakresie wzmacniania lub modyfikowania wiedzy, wobec czego przydatne byłoby uzupełnienie zastoso-

wanego modelu grafu ANAKG o mozliwosc automatycznej reprezentacji relacji ASIM i usprawnienie

modyfikacji wag.

Na podstawie zebranych doswiadczen przy tworzeniu systemu, zaproponowano przykładowe rozsze-

rzenia funkcjonalnosci stworzonej aplikacji i systemu wiedzy:

– Całkowite oddzielenie modelu wraz z silnikiem od reszty aplikacji, ograniczajac dostep do niego

jedynie do wywoływania metod silnika. Dałoby to mozliwosc uruchomienia go na zewnetrznym

serwerze, do którego dostep istniałby za pomoca usług REST. Z tego serwera mogłyby korzy-

stac zarówno aplikacja desktopowa, jak i webowa, dostepna w internecie. Całkowite oddzielenie

warstwy prezentacji od warstwy serwerowej w 100% spełniłoby wymagania wzorca MVC.

– Mozliwosc zmiany parametrów systemu w trakcie działania programu. Poczatkowo załozono, ze

beda obecne w systemie jako stałe, jednakze na podstawie przeprowadzonych testów stwierdzono,

ze nawet niewielkie zmiany tych parametrów moga miec istotny wpływ na uzyskana odpowiedz.

– Dodanie wykresu porównawczego poziomu pobudzenia danego neuronu, dla tego samego zapyta-

nia przy róznych wartosciach parametrów. Dałoby to dodatkowy materiał do analizy zachowania

systemu i dalsze sugestie rozwoju grafów ANAKG.

– Poprawa działania prezentacji wyników zapytania w module Response, zwłaszcza zastosowanego

w automatycznym rozmieszczeniu elementów algorytmu genetycznego. Reczne rozsuwanie kafel-

ków daje wyraznie lepsze efekty, graf jest wówczas bardziej czytelny.

G. Wasowski Budowa sztucznego systemu wiedzy

A. Plik xml z danymi do testów

<?xml v e r s i o n = ’1 .0 ’? >

< d a t a l e n g t h = ’250 ’ >

< b r a i n >

< s e n t e n c e s >

< s e n t e n c e > i have a monkey </ s e n t e n c e >

< s e n t e n c e >my monkey i s ve ry smal l < / s e n t e n c e >

< s e n t e n c e > i t i s ve ry l o v e l y < / s e n t e n c e >

< s e n t e n c e > i t l e a r n s q u i c k l y < / s e n t e n c e >

< s e n t e n c e >my monkey i s l o v e l y < / s e n t e n c e >

</ s e n t e n c e s >

< q u e r i e s >

< query i n t e r v a l = ’16 ’ > what i s t h i s monkey l i k e < / query >

< query i n t e r v a l = ’12 ’ > t h i s i s < / query >

</ q u e r i e s >

</ b r a i n >

< b r a i n >

< s e n t e n c e s >

< s e n t e n c e > i have a monkey </ s e n t e n c e >

< s e n t e n c e >my monkey i s ve ry smal l < / s e n t e n c e >

< s e n t e n c e > i t i s ve ry l o v e l y < / s e n t e n c e >

< s e n t e n c e > i t l i k e s t o s i t on my head </ s e n t e n c e >

< s e n t e n c e > i t can jump ve ry q u i c k l y < / s e n t e n c e >

< s e n t e n c e > i t i s a l s o ve ry c l e v e r < / s e n t e n c e >

< s e n t e n c e > i t l e a r n s q u i c k l y < / s e n t e n c e >

< s e n t e n c e >my monkey i s l o v e l y < / s e n t e n c e >

< s e n t e n c e > i have a l s o a s m a l l dog </ s e n t e n c e >

</ s e n t e n c e s >

< q u e r i e s >

< query i n t e r v a l = ’12 ’ > what i s t h i s monkey l i k e < / query >

51

52

< query i n t e r v a l = ’12 ’ > t h i s i s < / query >

</ q u e r i e s >

</ b r a i n >

< b r a i n >

< s e n t e n c e s >

< s e n t e n c e >G4N4 E4N4 E4N4 F4N4 D4N4 D4N4 C4N8 E4N8 G4N2</ s e n t e n c e >

< s e n t e n c e >G4N2 C5N4 E5N2 D5N4 C5N2 H4N4 C5N4 H4N4 A4N4

G4N2 G4N4 E4N2 F4N4 G4D2</ s e n t e n c e >

< s e n t e n c e >C4N4 D4N4 E4N4 F4N4 G4N4 A4N4 H4N4 C5N4</ s e n t e n c e >

</ s e n t e n c e s >

< q u e r i e s >

<query >C4N4 D4N4 E4N4 </ query >

<query >C4N4 D4N4</ query >

<query >G4N4 E4N4 E4N4 </ query >

</ q u e r i e s >

</ b r a i n >

< b r a i n >

< s e n t e n c e s >

< s e n t e n c e > j u p i t e r i s a p l a n e t < / s e n t e n c e >

< s e n t e n c e > s a t u r n i s a p l a n e t < / s e n t e n c e >

< s e n t e n c e > s a t u r n i s a b i g p l a n e t < / s e n t e n c e >

< s e n t e n c e > j u p i t e r i s big < / s e n t e n c e >

< s e n t e n c e > s a t u r n i s b i g g e r t h a n e a r t h < / s e n t e n c e >

< s e n t e n c e > mercury i s s m a l l p l a n e t < / s e n t e n c e >

< s e n t e n c e >olympus mons i s a b i g mountain < / s e n t e n c e >

< s e n t e n c e > e a r t h i s our p l a n e t < / s e n t e n c e >

< s e n t e n c e > e a r t h i s b i g g e r t h a n mercury < / s e n t e n c e >

< s e n t e n c e > each p l a n e t can have moons < / s e n t e n c e >

</ s e n t e n c e s >

< q u e r i e s >

<query > t h e j u p i t e r < / query >

<query >what i s j u p i t e r < / query >

</ q u e r i e s >

</ b r a i n >

</ da t a >

G. Wasowski Budowa sztucznego systemu wiedzy

B. Skróty klawiaturowe

F1 – Włacza lub wyłacza okienko pomocy.

F2 – Uruchamia gre kółko i krzyzyk.

F5 – Wykonuje zrzut ekranu do pliku.

F7 – Zatrzymuje grana melodie.

F8 – Odtwarza melodie, jesli jest to mozliwe.

F9 – Balansowanie synaps.

F10 – Wymusza przejscie do kolejnej fazy balansowania grafu.

F12 – Zmienia tryb aktywacji normalny/równoległy.

Escape – Natychmiastowe zakonczenie balansowania.

Insert – Włacza tryb nowego zapytania.

Left – Przesuwa czas/wykres w lewo.

Right – Przesuwa czas/wykres w prawo.

Up/Down – Zwieksza/zmniejsza interwał.

PageUp – Zmienia zapytanie na nastepne.

PageDown – Ustawia aktualne zapytanie na poprzednie.

Ctrl + PageUp – Ustawia zbiór sekwencji na poprzedni.

Ctrl + PageDown – Zmienia zbiór sekwencji na kolejny.

Num1/Num3 – Przyblizenie/oddalenie.

Num2/Num4/Num6/Num8 – Przesuwanie grafu lub osi czasu.

Num5 – Wysrodkowanie ekranu.

53

Spis rysunków

2.1 Sztuczna inteligencja wymyka sie spod kontroli [13] . . . . . . . . . . . . . . . . . . . 12

2.2 Kojarzenie słowa z tłumaczeniem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

2.3 Bezposrednie skojarzenie słowa z rzecza . . . . . . . . . . . . . . . . . . . . . . . . . . 15

3.1 GUI z perspektywy modułu Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . 25

3.2 Neuron i synapsy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

3.3 Graf nieuporzadkowany . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

3.4 Widok uporzadkowanego grafu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

3.5 Moduł Creation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

3.6 Wpisywanie nowego zapytania . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

3.7 Moduł Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

3.8 Moduł Chart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

3.9 Moduł Response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

4.1 Wykres aktywnosci neuronów dla testu Układ Słoneczny . . . . . . . . . . . . . . . . . 38

4.2 Odpowiedz systemu dla testu Układ Słoneczny . . . . . . . . . . . . . . . . . . . . . . 39

4.3 Wykres aktywnosci neuronów dla testu Małpka . . . . . . . . . . . . . . . . . . . . . . 40

4.4 Odpowiedz systemu dla testu Małpka . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

4.5 Wykres aktywnosci neuronów dla testu Melodia - kakofonia dzwieków . . . . . . . . . . 43

4.6 Harmonijna odpowiedz dla testu Melodia . . . . . . . . . . . . . . . . . . . . . . . . . 44

4.7 Kółko i krzyzyk - normalna małpka . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

4.8 Kółko i krzyzyk - madra małpka . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

54

Bibliografia

[1] Horzyk, A., Sztuczne systemy skojarzeniowe i asocjacyjna sztuczna inteligencja, Akademicka Ofi-

cyna Wydawnicza EXIT, Warszawa, 2013.

[2] Horzyk, A., Innovative Types and Abilities of Neural Networks Based on Associative Mechanisms

and a New Associative Model of Neurons - referat na zaproszenie (Invited Talk) na miedzynarodo-

wej konferencji ICAISC 2015, Springer Verlag, LNAI 9119, 2015, pp. 26-38.

[3] Horzyk, A., Human-Like Knowledge Engineering, Generalization and Creativity in Artificial Neu-

ral Associative Systems, Springer Verlag, AISC 11156, ISSN 2194-5357, 2015, pp.

[4] Horzyk A., Aktywne kojarzenie i sztuczne systemy skojarzeniowe, wykład dostepny na stronie http:

//home.agh.edu.pl/~horzyk/ lectures/aas/sss.php

[5] Horzyk, A., How Does Human-Like Knowledge Come into Being in Artificial Associative Systems,

Proc. of the 8-th International Conference on Knowledge, Information and Creativity Support Sys-

tems, ISBN 978-83-912831-8-9, Krakow, Poland, 2013, 189-200. - prezentacja

[6] Müller, Vincent C. and Bostrom, Nick, ‘Future progress in artificial intelligence: A Survey of Expert

Opinion, in Vincent C. Müller (ed.), Fundamental Issues of Artificial Intelligence Synthese Library;

Berlin: Springer, dostepny na stronie http://www.nickbostrom.com/papers/survey.pdf

[7] Horzyk, A., How Does Generalization and Creativity Come into Being in Neural Associative Sys-

tems and How Does It Form Human-Like Knowledge?, Elsevier, Neurocomputing, 2014, pp. 238-

257, DOI: 10.1016/j.neucom.2014.04.046, IF = 1,634.

[8] Horzyk A., Sztuczne Systemy Skojarzeniowe SSS, Relacje Bazodanowe czy Asocjacje AGDS?, wy-

kład dostepny na stronie http://home.agh.edu.pl/~horzyk/ lectures/aas/SSS-DBtoAGDStoAANG.

pdf

[9] Tadeusiewicz R., Sieci Neuronowe, Akademicka Oficyna Wydawnicza RM, Warszawa 1993.

[10] Barth J. A., Wissenschaftliche Selbstbiographie. Mit einem Bildnis und der von Max von Laue

gehaltenen Traueransprache, Verlag (Leipzig 1948), p. 22.

55

56 BIBLIOGRAFIA

[11] Ebbinghaus H., Memory: A Contribution to Experimental Psychology, 1885, Translated by Henry

A. Ruger & Clara E. Bussenius (1913).

[12] Encyklopedia internetowa PWN, dostepna pod adresem http://encyklopedia.pwn.pl

[13] http://arstechnica.com/ information-technology/2016/03/ tay-the-neo-nazi-millennial-chatbot-gets-autopsied/

[14] https://pl.wikipedia.org/wiki/Post%C4%99p_w_sztucznej_inteligencji

[15] http://www.computerchess.org.uk/ccrl/4040/rating_list_all.html

[16] http://magazine.uc.edu/editors_picks/recent_features/alpha.html

[17] https://pl.wikipedia.org/wiki/Paradoks_Moraveca

[18] XNA Game Studio 4.0 - https://msdn.microsoft.com/en-us/ library/bb200104.aspx

G. Wasowski Budowa sztucznego systemu wiedzy