Czy pudło może myśleć?

Komputery to jednak wyjątkowo głupie stworzenia. Tak naprawdę potrafią jedynie wykonywać proste polecenia, działając według ściśle określonych schematów. Któż jednak słyszał o myślącym komputerze? Filmy science fiction, gdzie komputer nie tylko w pełni rozpoznaje komendy człowieka, ale też konwersuje z nim, potrafi sam podjąć decyzję itp., to nadal jedynie wytwór bujnej ludzkiej wyobraźni. Czy aby jednak na pewno?

Komputery to jednak wyjątkowo głupie stworzenia. Tak naprawdę potrafią jedynie wykonywać proste polecenia, działając według ściśle określonych schematów. Któż jednak słyszał o myślącym komputerze? Filmy science fiction, gdzie komputer nie tylko w pełni rozpoznaje komendy człowieka, ale też konwersuje z nim, potrafi sam podjąć decyzję itp., to nadal jedynie wytwór bujnej ludzkiej wyobraźni. Czy aby jednak na pewno?

Przyzwyczailiśmy się już do tradycyjnego schematu interakcji z komputerem. Ta elektroniczna maszyna stanowi albo narzędzie, gdzie "na tacy" podano nam gotowy schemat działania i dokładnie wiemy, co można za jego pomocą uzyskać, albo też spełniamy rolę twórcy schematu, kiedy to my decydujemy, jak w danej sytuacji komputer ma się zachować. Każdy jednak na pewno doświadczył zdarzenia, kiedy komputer "głupieje" - czy jest to wynik nieprawidłowo wydanego polecenia, czy może nie dopracowanego programu. W każdym wypadku maszyna jest zmuszona do podjęcia decyzji, do której nie jest przygotowana. A człowiek? Co robi w takiej sytuacji? Posługuje się czymś, czym różni się na razie od komputera i co daje mu nad nim zdecydowaną przewagę. Posługuje się inteligencją.

Inteligencja to umiejętność wnioskowania na podstawie niepełnych danych, umiejętność samodzielnego analizowania schematów i podejmowania decyzji, mimo że nie ma wszystkich koniecznych ku temu przesłanek. Od dawna staramy się nauczyć tego nasze komputery - na razie rezultaty są mierne. Dlaczego? Weźmy prosty przykład. Przypomnijcie sobie, jak wygląda pies. A teraz zastanówcie się - czy widząc na ulicy zupełnie nie znaną rasę bylibyście w stanie określić, że zwierzę to jest psem, a nie np. kotem? Oczywiście, że tak. Komputer tego - niestety - jeszcze nie potrafi. Owszem, powstają systemy, w których udaje się rozpoznawać pewne charakterystyczne cechy, ale w sytuacji, kiedy przesłanek jest za mało, mózg ludzki wraz z nie skończonymi zwojami neuronów nawet najpotężniejszy superkomputer bije na głowę.

Systemy eksperckie i bazy wiedzy

Najprostszym zastosowaniem sztucznej inteligencji są tzw. systemy eksperckie czy też bazy wiedzy. Są to - tak naprawdę - bazy danych wzbogacone o elementy wnioskowania i algorytmy, mające elementy sztucznej inteligencji. Przykładem systemu eksperckiego może być program działający w specjalistycznym szpitalu, który - oprócz tego, że przechowuje dane dotyczące schorzeń - jest w stanie "podpowiedzieć" lekarzowi, na podstawie podanych objawów, co może dolegać jego pacjentowi. Oczywiście, takiemu systemowi daleko jeszcze do miana sztucznej inteligencji, albowiem i tak końcowe decyzje podejmuje człowiek, zaś komputer jedynie podpowiada i przetwarza pewne dane sugerując odpowiedź. Jest to jednak krok do przodu od tradycyjnej bazy danych, gdzie całość "myślenia" należy do osoby z niej korzystającej.

Sieci neuronowe

Bardziej rozwiniętym (i chyba obecnie najbardziej popularnym) systemem sztucznej inteligencji są sieci neuronowe. Pod tą tajemniczą nazwą kryje się zupełnie odmienne podejście do programowania i interakcji z komputerem - jesteśmy więc winni wyjaśnienie. Otóż sieć neuronowa to wynik naśladowania sposobu działania komórek mózgowych. Dlatego też jest to jeden z najbardziej zaawansowanych mechanizmów, zdolny nie tylko do wnioskowania na podstawie jednoznacznych przesłanek i działania zgodnie z ustalonym schematem, ale także do zapamiętywania, kojarzenia faktów i samodzielnego podejmowania decyzji.

Prosta sieć neuronowa - podobnie jak mózg - zbudowana jest z "komórek" połączonych ze sobą w różne schematy (w sieci neuronowej tę rolę spełniają proste procesory lub pojedyncze, niezależne procesy systemowe). Model powiązań jest stały - nie zmienia się w wyniku oddziaływania sił zewnętrznych. Sieć neuronowa ma wiele punktów wejściowych, do których przekazywane są informacje ze świata zewnętrznego (są to zazwyczaj proste dane liczbowe), oraz wiele punktów wyjściowych, gdzie pojawiają się informacje po ich przetworzeniu. Wynikiem działania sieci jest układ informacji na wyjściu, czyli sieć działa na zasadzie rozdzielania i sortowania, a nie przetwarzania danych.

Każda komórka sieci jest zbudowana z trzech elementów. Pierwszy to system odbiorczy, czyli jedna końcówka, przez którą odbierane są dane (od innej komórki bądź ze świata zewnętrznego). Drugi - to dwa lub więcej elementów wyjściowych, które przekazują informacje do dalszego przetwarzania. Jądro komórki jest wyposażone w mechanizm przypominający zwrotnicę, czyli algorytm, decydujący o tym, do którego wyjścia mają być przesłane informacje (otrzymane dane nie są modyfikowane). "Zwrotnice" mają także swoje "wagi" (wartości, które wpływają na to, gdzie kierowane są dane) i w zależności od liczby informacji konkretnego typu, kierują dane w kierunku jednego z wyjść.

Pierwszym etapem działania sieci neuronowej jest jej "uczenie". System otrzymuje jak najwięcej informacji danego typu, które powodują ustalenie wag poszczególnych komórek. "Nauczona" sieć - kiedy otrzymuje zadanie rozpoznania informacji - rozdziela je w sposób zbliżony do tego, w jaki rozdzielała dane przykładowe, czyli wiedząc, gdzie informacje opuszczą sieć, można określić ich typ.

Sieci neuronowe mają wiele zastosowań. Na nich oparte są np. systemy rozpoznawania mowy, a przede wszystkim mnogość rozwiązań wojskowych - np. systemy samonaprowadzania rakiet. Niestety - ich możliwości jeszcze dalekie są od mocy, jaką posiada mózg ludzki - po części ze względu na fakt, iż liczba komórek w mózgu jest wielokrotnie większa od najpotężniejszych nawet sieci neuronowych, po części dlatego, że nie jesteśmy na razie pewni, w jakie inne mechanizmy wnioskowania wyposażyła nas natura - nie potrafimy więc ich naśladować.

Algorytmy genetyczne i inne dziwactwa

Na pograniczu Sztucznej Inteligencji znajdziemy koncepcje jeszcze dziwniejsze niż sieci neuronowe. Przykładem tego mogą być algorytmy genetyczne, również będące próbą wykorzystania mechanizmów powszechnie stosowanych przez matkę naturę.

Podstawą do funkcjonowania algorytmu genetycznego jest komputerowa imitacja chromosomu. Jest to najczęściej ciąg znaków o z góry określonej długości, podlegający przeróżnym działaniom symulującym proces ewolucji. Wszelkie działania uzależnione są od "otoczenia", gdyż to, czy dane chromosomy przeżyją, czy nie, zależy od określonego algorytmu oceny tego, jak dobrze spisują się one w danym środowisku. Algorytm genetyczny działa w kilku etapach. Pierwszy z nich to wygenerowanie populacji chromosomów. Kolejny to proces oceny każdego chromosomu z wygenerowanej populacji. W zależności od wyniku tej oceny, system wybiera najlepiej dostosowane do danego środowiska chromosomy i łączy je w pary, symulując reprodukcje, czyli tworząc nowe chromosomy, będące losową kombinacją poszczególnych elementów "rodziców". Dodatkowo nowe chromosomy poddawane są symulowanej mutacji (podmianie losowych elementów ciągu znaków), zaś jednostki nie spełniające wymogów środowiska po pewnym czasie giną.

Algorytmy genetyczne i ich "krewni", czyli algorytmy ewolucyjne itp., są wykorzystywane przede wszystkim w technikach optymalizacyjnych. Do ich powszechnego zastosowania w technologii jeszcze nie doszło, aczkolwiek jest to kolejny krok informatyki do wykorzystania sprawdzonych i doskonale funkcjonujących na świecie mechanizmów natury.

Skąd wiemy, czy maszyna myśli?

Genialny matematyk brytyjski Alan Turing już w 1950 r. postawił pytanie: "Czy maszyna może myśleć"? Jego odpowiedź brzmiała twierdząco, choć powstał nowy problem - jeśli maszyna myśli, to w jaki sposób człowiek może się o tym przekonać? Rozwiązanie zaproponowane przez A. Turinga było tak proste, że aż genialne. Wystarczy, by w czasie rozmowy człowiek nie potrafił odróżnić odpowiedzi komputera od odpowiedzi człowieka.

Aż 40 lat później (w 1990 r.) Hugh Loebner we współpracy z naukowcami Cambridge Center for Behavioral Studies ogłosił konkurs na oprogramowanie, które będzie w stanie "oszukać" rozmówcę tak skutecznie, iż ten będzie przekonany, że rozmawia z człowiekiem. Na zwycięzcę nadal czeka nagroda w wysokości 100 tys. dolarów, jednakże co roku przyznawany jest Brązowy Medal oraz 2 tys. dolarów dla twórcy programu, który spisze się najlepiej spośród startujących w dorocznym konkursie. W tym celu grupa sędziów rozmawia przez terminal komputerowy z "partnerem", którym może być człowiek - ochotnik albo program komputerowy. Ocena zależy od tego, jak szybko sędziowie zorientują się, że rozmawiają z komputerem.

Przyszłoroczny konkurs odbędzie się 11 stycznia 1998 r. w PowerHouse Museum w Sydney, w Australii. Więcej informacji na jego temat, a także wyniki i archiwa z lat poprzednich, dostępne są pod adresem: http://acm.org/~loebner/loebner-prize.htmlx.

Ciekawe adresy WWW związane z tematyką Sztucznej Inteligencji:

http://www.cs.cmu.edu/Groups/AI/html/faqs/ai/top.html

http://widelux.poly.edu:8000/ailinks.html

http://www.cs.reading.ac.uk/people/dwc/ai.html

http://www.cs.vu.nl/~cjtwigt/

http://aaai.org/


Zobacz również