Twoja wyszukiwarka

ANDRZEJ WIŚNIEWSKI
SZTUCZNA INTELIGENCJA - FANTAZJA CZY RZECZYWISTOŚĆ?
Wiedza i Życie nr 11/1999
Artykuł pochodzi z "Wiedzy i Życia" nr 11/1999

CZY POTRAFIMY JUŻ STWORZYĆ "PRAWDZIWĄ" SZTUCZNĄ INTELIGENCJĘ ? NASZA NOWA (CHOĆ WCIĄŻ BARDZO MAŁA) WIEDZA O BUDOWIE I DZIAŁANIU MÓZGU NASUWA POMYSŁY, JAK TO ZROBIĆ...

Ryc. Zbigniew Gręziak

Dla fi zyka komputer jest niczym więcej, jak tylko wymyślną maszyną sumującą- czystej wody idiotą, nadrabiającym braki inteligencji prędkością. Zanim komputer rozpocznie obliczenia, trzeba do niego wprowadzić teorię. Komputer sam nie potrafi tworzyć nowych teorii - twierdzi znany fi zyk, Michio Kaku, w swej książce Hiperprzestrzeń.

Czy większość ludzi nie uważa komputera za taką właśnie szybką, lecz niestety niezbyt rozgarniętą maszynę do liczenia ? Wielu z nas nigdy nawet nie zastanawiało się nad tym pytaniem, uznając je za retoryczne. No cóż, w końcu nigdy nie zdarzyło się nam kupić komputera prosto z fabryki, który wyraziłby choćby chęć kontaktu z nami, nie mówiąc już o przejawach sztucznejinteligencji.

Spójrzmy jednak na ten problem z trochę innej strony. Człowiek jest istotą inteligentną. Jednak mózg nasz ewoluował do obecnej postaci od rozmiarów i możliwości wręcz zerowych. Taki prehistoryczny mózg można porównać do dzisiejszych zjeżdżających z taśm fabryk komputerów - z ubogim tylko zestawem komunikatów o błędach.

Idąc tą ścieżką dalej, można stwierdzić, iż mózg nasz w trakcie ewolucji niejako zaprogramowano, została do niego wprowadzona właśnie owa teoria, o której wspomina Kaku. Taki jego rozwój nasuwa bardzo wyraźne analogie do programisty, który pisze program, uruchamia go, sprawdza i zmienia ostatecznie kod programu, tworząc tym samym nową, kolejną, lepszą wersję, po czym znów go uruchamia itd.

Czy więc w dobie spektakularnych sukcesów naukowych nie możemy stworzyć "prawdziwej" sztucznej inteligencji ? Myślę, że właśnie dzięki wielkim osiągnięciom badawczym - przede wszystkim w biologii, chemii i fi zyce -zdołamy to zrobić.

SZTUCZNE SIECI NEURONOWE

Sztuczne sieci neuronowe starają się naśladować prawdziwe neurony i połączenia między nimi, przez co przejmują wiele cech mózgu. Jedną z najważniejszych jest możliwość nauki i adaptacji swoich połączeń do bieżących potrzeb.

Aby zrozumieć działanie sztucznej sieci neuronowej, musimy jednak najpierw poznać kilka szczegółów budowy i funkcjonowania mózgu. Podstawową jednostką w mózgu jest neuron. Z grubsza rzecz ujmując, impulsy przychodzące z innych neuronów poprzez aksony (wypustki łączące różne neurony) odbierane są przez dendryty naszej komórki (mogą być tu wzmacniane bądź osłabiane), następnie w ciele jej samej (soma) następuje sumowanie tych impulsów, a w przypadku gdy suma ich jest wystarczająco duża (gdy następuje przekroczenie poziomu progowego), dany neuron wysyła poprzez swój własny akson nowy impuls.

Aby lepiej wyjaśnić sytuację, wyobraźmy sobie, że ustawiamy w jakimś mieście, w trzech różnych miejscach, menzurki z otworami przy podstawie (o średnicy, powiedzmy, 0.5 cm). Nazwiemy je kolejno A, B, C. Od każdej z menzurek ciągniemy rurę o średnicy 2 cm. Rury te prowadzimy do wielkiego pojemnika na wodę (100 l). Na wysokości 3/4 pojemnika umieszczamy czwartą rurę (ryc. 1). Podczas deszczu woda pierwszymi trzema rurami wpływa do zbiornika. Gdy w zbiorniku uzbiera się 75 l, woda zacznie płynąć rurą nr4.

Ryc. 1. System wczesnego ostrzegania

Ryc. Joanna Murawska

Analogie ? Pierwsze trzy rury odpowiadają dendrytom, one zbierają impulsy. Pojemnik na wodę to ciało komórki z poziomem progowym określonym jako 75 l, zaś rura nr 4 to nic innego jak akson. Rury w naszym przykładzie mogą mieć różne przekroje. Od tego będzie zależało, ile wody z jakiej rury wleje się do pojemnika głównego, co odpowiada osłabianiu bądź wzmacnianiu sygnałów (dokładniej mówiąc, w naszym przykładzie z rurami impulsy możemy tylko osłabiać, dlaczego ?).

Nasz przykład z rurami to nic innego jak system (w miarę) wczesnego ostrzegania np. przed powodzią. Zamiast chodzić od menzurki do menzurki i sprawdzać, ile deszczu gdzie spadło, wystarczy doprowadzić sobie czwartą rurę do domu (najlepiej do zlewu). Siedzimy teraz wygodnie w fotelu i patrzymy. Nie płynie woda - opady w normie, płynie - uciekamy. W ten sposób mamy pierwsze praktyczne zastosowanie sztucznej sieci neuronowej. Teraz należy już tylko narysować jej schemat (tak jak to robią fachowcy).

Aby to zrobić, wystarczy spojrzeć na nasze miasto z lotu ptaka (ryc. 2, poniżej ). Uważny czytelnik powinien zwrócić uwagę na znaczek "wA=1" przy rurze łączącej menzurkę A z głównym pojemnikiem. Nie jest to bynajmniej błąd w druku, wręcz przeciwnie, z premedytacją został tu wykorzystany mechani zm hamowania impulsów, niosących czasem informacje niewiarygodne. W pobliżu menzurki A mieszka bowiem sporo dzieci, których ulubioną zabawą (przez cały rok) jest śmigus dyngus. Część wody pochodząca z ich zabaw mogłaby trafić do menzurki, powodując konieczność natychmiastowej ewakuacji. Zmieniając przekrój rurki (wagę połączenia) z 2 na 1, częściowo zabezpieczamy się przed takim błędem.

Ryc. 2. Schemat sieci neuronowej. ABC - menzurki (wejście sieci), WA, WV, WC - przekrój rurki (waga połączenia), 4 - rurka nr 4 (wyjście sieci), BZW - belka z wodą neutron przetwarzający)

Ryc. Joanna Murawska

Powyższy przykład wykorzystania sztucznych sieci neuronowych może wydawać się bardzo prymitywny, lecz to tylko wierzchołek góry lodowej. Struktura sieci może być bardzo skomplikowana (duża liczba wejść i wyjść, duża liczba warstw, skomplikowany system połączeń między neuronami), a i nauczanie takich sieci zazwyczaj jest bardzo trudnym zadaniem. Nie sposób jednak głębiej wchodzić w te zagmatwane struktury, nie używając wzorów i dość skomplikowanego aparatu matematycznego. Pokrótce można tylko wspomnieć, iż sztuczna sieć neuronowa (na początku kompletnie nic "nie rozumiejąca") uczy się, podobnie jak małe dziecko.

Ryc. Dominik i Małgorzata Szczerba

Pierwszą z metod nauki sieci jest tzw. nauczanie z nauczycielem. Obowiązują tu podobne zasady do szkolnych - pani pokazuje literkę "a" i mówi, iż jest to literka "a". Identycznie uczy się sieć - podajemy zarówno dane na jej wejście, jak i pożądaną odpowiedź. Po pewnym czasie sieć, podobnie jak dzieci w szkole, zaczyna uczyć się przykładów oraz uogólniać zdobytą wiedzę- odnosząc ją nawet do przypadków, z którymi nigdy wcześniej nie miała do czynienia (jest to bardzo ważna cecha, odróżniająca sztuczne sieci neuronowe od innych "zwykłych" programów komputerowych).

Druga metoda uczenia sieci jest jeszcze ciekawsza. Nosi nazwę - jak się łatwo domyślić - "uczenia bez nauczyciela". Sieci tym razem nie trzeba podawać odpowiedzi na postawione pytania. Występuje tu analogia do sytuacji, w której ktoś pokazywałby nam dwie rozmaite maszyny, zbudowane przez różnych konstruktorów. Mimo iż nie wiedzielibyśmy, do czego te maszyny służą ani jak się nazywają, wraz ze wzrostem liczby prezentacji (wzorców) nauczylibyśmy się je rozróżniać - na podstawie pewnych zaobserwowanych podczas "pokazów" szczegółów. Potrafilibyśmy jednak stwierdzić tylko, która z maszyn robi to samo, co inna, a która nie.

Robokoneko to sztuczny kotek ze sztucznym mózgiem, który będzie wykonany w pierwszym etapie projektu BRAIN 2000

Nie można też nie wspomnieć o najważniejszych zastosowaniach sztucznych sieci neuronowych. Wykorzystuje się je m.in. do diagnostyki maszyn (firmy samochodowe), do sporządzania prognoz giełdowych (domy maklerskie) czy prognoz wypłacalności firm (banki), do sterowania robotami (zakłady przemysłowe), prognozowania trafień w totolotka (to ostatnie bez sukcesu...) i w wielu innych dziedzinach.

Trzeba jeszcze osobno - ponieważ jest to bardzo ważny kierunek zastosowań- wspomnieć o wykorzystaniu sieci w medycynie. Przetwarzanie neuronowe w placówkach medycznych stanowi olbrzymią pomoc dla lekarzy. Specjalne systemy wykrywają (często w kilka sekund) i klasyfikują choroby dzięki np. anali zie próbki krwi. Mogą też wykrywać nowe, nieznane jeszcze choroby- właśnie dzięki możności nauki bez nauczyciela - mimo iż sieć w tym wypadku nie wie nawet, co wykryła. My również często czegoś nie wiemy. Nie wiemy np., jakie procesy zachodzą w określonej chwili w danych komórkach sieci, ale to tylko znów przybliża sztuczne sieci neuronowe do budowy ludzkiegomózgu.

WINSTON 400 - przyszły trener kotka Robokoneko

Dlatego też jednym z najbardziej odważnych projektów związanych z przetwarzaniem neuronowym jest próba modelowania całego mózgu ludzkiego na komputerze. Jest to słynny projekt (CAM-BRAIN), prowadzony przez Hugo de Garisa w Japonii. W skład jego grupy badawczej wchodzą naukowcy z całego świata, w tym i z Polski (dr Andrzej Buller z Politechniki Gdańskiej). Aby jednak stworzyć tyle neuronów i połączeń między nimi, co w mózgu ludzkim - potrzeba bardzo dużo czasu oraz narzędzi, które pozwoliłyby stworzyć odpowiednie systemy neuronowe (nie znamy na tyle struktury mózgu i jeszcze nam do tego bardzo, bardzo daleko, aby powiedzieć, który neuron łączy się z którym). I znów drogą do sukcesu okazało się naśladowanie Natury.

ALGORYTMY GENETYCZNE

W pewnym sensie algorytmy genetyczne odtwarzają (ściślej: symulują czy też modelują) ewolucję. Prawdziwa ewolucja biologiczna jest procesem trwającym miliony lat. Jej komputerowe naśladowanie potrzebuje czasem dni, na ogół zaś tylko godzin. Jest tak dlatego, że Natura w toku ewolucji modyfikuje skomplikowane organi zmy czy gatunki, w komputerze zaś manipulujemy ich bardzo uproszczonymi modelami. Jest też rzeczą oczywistą, że nowy organi zmmusi dojrzeć do tzw. wieku rozrodczego, aby Natura miała znów cokolwiek do powiedzenia - po prostu często muszą minąć długie lata (w komputerze problem czekania na dojrzałość organi zmu nie ma prostego odpowiednika).

Ryc. Zbigniew Gręziak

Sytuację w Naturze i w naszym komputerze powinien przybliżyć poniższy przykład. Wyobraźmy sobie tym razem karawanę wielbłądów, która podróżuje przez niezmierzone bezkresy pustyni i składa się z pięciu wielbłądów, przy czym każdy z nich ma pojemnik, specjalnie przystosowany do transportu jedne-gotylko towaru. I tak, wiozą one kolejno: wodę, złoto, piasek, futra i czekoladę. Ponieważ właściciel karawany nie ma pieniędzy, aby wypełnić wszystkie pojemniki, kupuje więc towar tylko do trzech z nich. Przyjmijmy, iż kupił wodę, złoto i futra (ryc. 3). Z tak wyposażoną karawaną ruszył do innego miasta w celach handlowych. Po pewnym czasie na horyzoncie ukazała się druga karawana...

Ryc. 3. a) karawana (chromosom) pierwsza b) karawana (chromosom) druga c) "krzyżowanie" karawan (chromosom) d) "mutacja" karawany (chromosomu) z pkt. a na pozycji "złoto"

Ryc. Joanna Murawska

Przerwijmy na chwilę naszą opowieść. Postarajmy się opisać świat genów i znaleźć w nim analogie do karawany. W wielkim uproszczeniu można by stwierdzić, iż chromosom jest kombinacją genów. Geny z kolei występują w wielu wariantach, nazywanych allelami. Karawana (w naszej opowiastce odpowiada chromosomowi) złożona jest także z określonych elementów (wielbłądów, pojemników), których odpowiednikami są geny. Każdy pojemnik może być pusty albo pełny, a więc w naszym modelu dla każdego genu istnieją dwa możliwe allele (istnieć mogą oczywiście tylko rozłącznie). Jeżeli zaś chodzi o reprezentację algorytmów genetycznych w komputerze, to odpowiednikami naturalnych zasobów są pewne struktury danych (m.in. tablica, rekord, zmienna itp.), których dokładny opis budowania znajduje się m.in. w książce Davida E. Goldberga (ramka: Tylko dla naprawdę zainteresowanych obok).

Wróćmy do dwóch karawan. Ponieważ właściciele byli nastawieni handlowo, już na pustyni dokonali wymiany towarów. Nowa karawana składała się z takiej samej liczby wielbłądów - tyle tylko, że wypełnione w jej wypadku były pojemniki z piaskiem i czekoladą (ryc. 3b). Po krótkiej dyskusji obaj właściciele doszli do porozumienia. Karawany wymieniły się czterema ostatnimi wielbłądami. Pierwsza karawana miała teraz wodę, piasek i czekoladę, druga zaś złoto i futra (ryc. 3c). Karawany rozeszły się, każda w swoją stronę.

Cóż się ważnego wydarzyło ? Nastąpiła tzw. operacja krzyżowania. Nazwy tej używa się zarówno do opisu wydarzenia, w którym uczestniczą chromosomyorgani zmów żywych, jak i w komputerowym żargonie, dotyczącym algorytmów genetycznych. Polega ona (w podstawowej wersji) na rozcięciu dwóch chromosomów w pewnym miejscu i ich powtórnym złączeniu na przemian ze sobą.

W naszej historii z karawanami zdarzyło się też, iż pewnego dnia któraś z nich dotarła do oazy. Byli tu ludzie, którzy postanowili kupić zawartość jednego pojemnika, np. złota (ryc. 3d). Innym razem zaś, w innej oazie, innej karawanie sprzedano pojemniki z wodą. W ten sposób właśnie tworzy się trzeci element algorytmów genetycznych w podstawowej wersji, a mianowicie mutacja (znów jest to termin uniwersalny). Mutacja polega na bardzo rzadkiej zamianie jakiegoś allela innym.

Ryc. Zbigniew Gręziak

Jeżeli trzecim elementem teorii algorytmów genetycznych jest mutacja, drugim krzyżowanie, to co jest pierwszym ? Jest to dobór. Mamy pewną populację osobników (karawany na pustyni). Najpierw, przed krzyżowaniem i mutacją, wybieramy tych, którzy są najlepsi w dążeniu do założonego celu - oni przeżyją; reszta - prawdopodobnie - umrze. Wyraz "najlepsi" oznacza oczywiście pojęcie względne - i aby miał sens, używa się specjalnie tworzonej tzw. funkcji celu, która dokładnie i jednoznacznie określa "wartość" danego osobnika(chromosomu).

W naszym przykładzie, w zależności od tego, co jest dla nas istotne, funkcja celu może być określana rozmaicie. Na przykład, gdyby woda była dla nas warta 5 pkt., złoto - 50 pkt., piasek - 0 pkt., futra - 30 pkt., zaś czekolada 4 pkt., to (po naszym przykładowym krzyżowaniu) pierwsza karawana uzyskałaby 9 pkt.
(5 pkt. za wodę i 4 pkt. za czekoladę), druga zaś osiągnęłaby rezultat 80 pkt. (50 pkt. za złoto i 30 pkt. za futra). W tym więc przykładzie "lepsza" byłaby karawana druga i to właśnie ona by "przeżyła", aby móc przejść przez dalsze fazy algorytmu. Gdybyśmy zaś przyjęli inne wartości towaru, na przykład biorąc pod uwagę, gdzie się znajdujemy (pustynia), sytuacja mogłaby ulec zmianie. Sprawdźmy; jeśli przyjmiemy następujące wartości: woda - 50 pkt., złoto - 0 pkt., piasek - 0 pkt., futra - 5 pkt., czekolada - 20 pkt., to przy tak określonej funkcji celu lepsza okazuje się karawana pierwsza, uzyskując 70 pkt. (50 pkt. za wodę i 20 pkt. za czekoladę). Druga karawana uzyskała tylko 5 pkt. (za futra), co stawia ją na zdecydowanie przegranejpozycji.

Dochodzimy tu do bardzo ważnej konkluzji: działanie algorytmu genetycznego w głównej mierze zależy od odpowiedniego skonstruowania funkcji celu oraz sposobu kodowania informacji w chromosomach. Oczywiście, na końcowy sukces użycia algorytmów genetycznych wpływa także bardzo wiele czynników i parametrów, m.in. liczebność populacji, prawdopodobieństwo krzyżowania i mutacji, algorytm selekcji i wiele innych.

Czy również i człowiek, obsługujący tego robota medycznego, będzie zastąpiony przez komputer ? Czy zaufamy takiej maszynie ?

Jeżeli chodzi z kolei o zastosowania naszych algorytmów, są to przede wszystkim systemy poszukujące ekstremów funkcji (przede wszystkim, ponieważ w ogólnych testach z innymi tradycyjnymi metodami są bezkonkurencyjne), oraz rozwiązań równań i nierówności.

Prócz zadań - wydawałoby się - czysto matematycznych, algorytmy genetyczne radzą sobie również z takimi problemami, jak różnego rodzaju gry, przetwarzanie obrazów, sterowanie urządzeniami bądź ich diagnozowanie. Z tym ostatnim jednak problemem zdecydowanie lepiej radzą sobie systemy ekspertowe.

SYSTEMY EKSPERTOWE

Systemy te starają się zastąpić człowieka-fachowca w jednej szczególnej dziedzinie wiedzy. W odróżnieniu od wcześniej tu pokrótce opisanych sieci neuronowych i algorytmów genetycznych, systemy ekspertowe nie próbują w sposób bezpośredni naśladować Natury. Wzorują się natomiast na procesach dedukcyjnych, podobnych do tych, jakie stosuje każdy na co dzień, nie zdając sobie nawet z tego sprawy.

Każdy z nas, spotykając na ulicy przeziębionego znajomego, natychmiast odgadnie, że jest chory i zapewne nie będzie się wcale zastanawiał, skąd bierze się ta wiedza. Po prostu wiemy i już. Gdybyśmy jednak rozważyli ten problem głębiej, stwierdzilibyśmy, iż znajomy jest przeziębiony, gdyż ma katar i kaszle, cicho mówi (co wskazuje na obolałe gardło) i jest w stanie ogólnej apatii. I to są właśnie przesłanki procesu decyzyjnego, który prowadzi do rozpoznawania choroby zarówno przez nas, jak i przez specjalnie "wyszkolony" w tym celu system ekspertowy.

a) F1: Andrzej ma rybki
F2: Andrzej ma grzałkę
b) R1: IF Andrzej ma rybki THEN Andrzej ma akwarium
c) R2: IF (Andrzej ma grzałkę) AND (Andrzej ma akwarium)
THEN rybki żyją

Ryc. 4. Fakty i reguły w systemie ekspertowym

Opisany w ramce Syntezy ekspertowe z bliska na s. 40 przykład omawia ogólnie zachowanie systemów ekspertowych. Stosuje się je bardzo często do diagnozowania maszyn, rozpoznawania chorób (np. na podstawie objawów) lub rozwiązywania niektórych problemów matematycznych (dopasowywanie odpowiedniego algorytmu rozwiązania zadania na podstawie danych). Systemy ekspertowe niezbyt pasują (i, co bardziej smutne, nigdy nie będą pasować) do znanej definicji sztucznej inteligencji według Turinga (patrz: ramka Sztuczna inteligencja - definicje na s. 38). Same w sobie nigdy nie osiągną takiej wiedzy (która musi być przecież dostarczona przez administratora systemu), aby móc zadziwić człowieka swą wszechstronnością. Jednak systemy ekspertowe (np. magazynowanie i wykorzystanie informacji) w połączeniu z sieciami neuronowymi (np. zbieranie informacji) dają naprawdę piorunujące efekty. Takie połączone systemy, znane pod nazwą systemów hybrydowych, mogłyby- dla przykładu - być złożone z kamery w przedpokoju, sieci neuronowej połączonej z kamerą wejściami, wyjściami zaś z systemem ekspertowym. Taki system mógłby wprowadzać nowe fakty oraz reguły w systemie ekspertowym na podstawie tego, co "zobaczyła" sieć neuronowa. W szczególności zauważywszy (w tym przypadku mniejsza o to, jak...), że przeszliśmy z kuchni do pokoju, niosąc w woreczku ryby, system sam mógłby dodać fakt, np. F5: Andrzej marybki.

Takie łączenie daje naprawdę wielkie możliwości, o czym świadczą liczne związane z tym projekty (m.in. wyżej już wspomniany projekt CAM-BRAIN).

Podążanie ścieżkami Natury w badaniu sztucznej inteligencji jest chyba dobrą drogą, dlatego też powinniśmy starać się bardzo dokładnie poznać jej tajniki. Dobrze to ujął Galileusz, stwierdzając, iż filozofia zawarta jest w tej wielkiej księdze, którą mamy przed oczami - mam na myśli Wszechświat- ale nie uda się nam jej zrozumieć, dopóki nie poznamy właściwego języka i symboli, jakimi ją napisano...

Autor jest studentem Wydziału Informatyki Politechniki Wrocławskiej.