II. Definiowanie pojęć
Myślenie ludzi w dużej mierze oznacza operowanie pojęciami. Jeżeli chcemy, aby komputer nauczył się rozumieć znaczenie słów, musimy najpierw uświadomić sobie, skąd my wiemy, co dane słowo oznacza.
Kiedy się nad tym zastanowimy, stwierdzimy, że znaczenie słów nie jest dokładnie określone i każdy sam dla siebie określa znaczenie danego słowa w zależności od tego, w jakich sytuacjach konkretne słowo słyszał. Ponieważ większość osób mówiących tym samym językiem używa określonych słów w podobnych sytuacjach i reaguje podobnie na te sytuacje, wiec mogą się wzajemnie porozumiewać. Nie znaczy to jednak, że wszyscy wiedzą, jakie jest dokładne znaczenie danego słowa.
Co oznacza na przykład słowo “pies”? Kiedy małe dziecko usłyszy to słowo po raz pierwszy, nie ma pojęcia, o co chodzi. Prawdopodobnie w pobliżu znajduje się jakiś pies. Jednakże w pobliżu dziecka znajduje się tez mnóstwo innych przedmiotów, więc dziecko z początku nie wie, czego to słowo dotyczy. Jeżeli jednak usłyszy słowo “pies” ponownie i zawsze w obecności psa, to nauczy się łączyć to słowo z psem. Jeżeli to będzie wciąż ten sam pies, będzie to dość proste. Bardziej skomplikowane stanie się to, jeżeli zobaczy psa innej rasy. Dziecko jednak dość szybko nauczy się, że słowo “pies” może oznaczać inne, podobne stworzenia. Jeżeli będzie się spotykać tylko z psami a nie z innymi zwierzętami, to będzie przy pierwszym spotkaniu uważało za psa nie tylko wilka i lisa, ale również kota i wiele innych zwierząt.
Nawet dorosły człowiek, który po raz pierwszy zobaczy zwierzę wyglądające jak coś pomiędzy psem i kotem nie będzie w stanie zdecydować, czy to jest w rzeczywistości pies. Słowo “pies” będziemy rozumieć wyłącznie w odniesieniu do obiektów, które już znamy.
Nawet obiekty, które uważamy za bardzo znajome, są w znacznym stopniu niesprecyzowane. Co oznacza na przykład słowo “człowiek”? Większość ludzi używa tego pojęcia wówczas, kiedy ma na myśli inną osobę i nie ma kłopotów z zastosowaniem tego pojęcia, ponieważ żyje w grupie ludzi i wszyscy doskonale rozumieją, o co chodzi. Jeżeli jednak mamy podać definicję tego słowa, która będzie zrozumiała i jednoznaczna dla “kogoś innego niż człowiek”, zaczną się problemy. Problemy powstaną również wśród ludzi, kiedy zadamy pytanie dotyczące sytuacji, w której nie używali poprzednio tego słowa. Na przykład kiedy zapytamy, od jakiego momentu zarodek ludzki staje się człowiekiem. Czy jest człowiekiem już zapłodniona komórka jajowa, czy dopiero zarodek mający mózg, czy też dopiero urodzone już dziecko? Jeżeli nie poruszaliśmy wcześniej tego tematu, okaże się, ze różni ludzie będą mieć na ten temat różne poglądy. Problem może nastręczać też określenie, co “należy” do ludzkiego ciała. Większość ludzi zgodzi się z tym, że zęby są częścią człowieka, ale czy częścią człowieka jest również kamień nazębny? Albo w jakim momencie strawiony pokarm staje się częścią człowieka? Gdybyśmy chcieli dokładnie oznaczyć, które cząsteczki są w danej chwili częścią określonego człowieka, a które już nie, mielibyśmy poważny problem.
Jeszcze większe problemy mielibyśmy, gdybyśmy mogli przenieść się w czasie w odległą przeszłość lub w daleką przyszłość, gdzie spotkalibyśmy praczłowieka albo jakichś mutantów lub cyborgów. Podobnie jest z każdym innym słowem. Od dzieciństwa słyszymy je w różnych sytuacjach i w tych sytuacjach je rozumiemy. Gdybyśmy chcieli mieć pełną definicję konkretnego słowa, musieli byśmy definiować wszystkie jego powiązania z wszystkimi obiektami we wszystkich możliwych sytuacjach, a to jest niemożliwe. Z tego wynika, że granice pojęć są nieprecyzyjne i rozmyte a potrafimy je prawidłowo używać tylko w znanych sytuacjach.
Spróbujmy teraz zastanowić się, w jaki sposób wytłumaczyć komputerowi jakieś pojęcie. Pewien problem będzie stanowiło to, że komputer nie ma takich zmysłów jak my. W jaki sposób mu wytłumaczyć na przykład, co znaczy słowo czerwony? Jesteśmy w jeszcze trudniejszej sytuacji niż przy tłumaczeniu tego słowa ślepcowi.
Dopóki nie wyposażymy komputera w zmysły, za pomocą których będzie mógł postrzegać świat, możemy dać mu tylko abstrakcyjny system pojęć i powiązań pomiędzy nimi. Będzie mógł prawidłowo odpowiadać na pytania w ramach tego modelu, ale poza tym modelem sam nic nowego nie wymyśli, ani nie będzie miał możliwości sprawdzenia prawdziwości żadnych twierdzeń. Nawet w przypadku, kiedy dalibyśmy mu zmysły podobne do naszych, jego postrzeganie świata byłoby zupełnie odmienne od naszego. Analogicznie do tego, kiedy dalibyśmy ślepcowi urządzenie do pomiarów długości fali światła, żeby miał możliwość sprawdzić, czy dane światło jest czerwone.
Żeby dziecko nauczyło się rozumieć znaczenie słów, musi słyszeć dane słowo w odpowiednich sytuacjach. Jeżeli usłyszy: „To jest pies” i żadnego psa nie będzie widziało, nie zrozumie tego słowa nigdy. W jaki sposób nauczyć komputer rozumienia znaczenie słów, jeżeli nie widzi w taki sposób, jak my? Nie chodzi tylko o to, że nie widzi (możemy dać mu sztuczne oczy), ale że nie widzi tak jak my. Jeżeli patrzymy na film w telewizji, to nie znaczy, że to co my widzimy, widzi też każde inne stworzenie. W rzeczywistości to, że widzimy film, zawdzięczamy niedoskonałości naszego wzroku. Doskonały wzrok nie widziałby filmu, tylko szybko zmieniające się kolorowe punkty. Analogicznie jest także w rzeczywistości. Każda rzecz składa się z wibrujących cząsteczek i to co my widzimy może być zupełnie inne od tego, co może widzieć „doskonały wzrok”. Jak by to wyglądało, gdyby jakieś stworzenie, które rejestruje pole magnetyczne chciało nam wytłumaczyć w jaki sposób odczuwa linie pola magnetycznego. Nawet jeżeli będziemy mieli jakiś aparat do pomiarów pola magnetycznego, nie będziemy mieli pojęcia co on widzi i o czym mówi. Nie będziemy wiedzieli, z jaką dokładnością i z jakimi parametrami ustawić aparat.
Nie próbujmy więc doprowadzić do tego, żeby komputer rozumiał wszystko w taki sam sposób jak my, ale spróbujmy znaleźć takie pojęcia, które komputer mógłby zrozumieć tak jak my.
W jaki sposób dziecko uczy się rozumienia słowa? Początkowo słyszy tylko mieszankę dźwięków, w której dopiero później nauczy się rozróżniać, co do niego mówimy. Ale nawet to samo słowo jest przez tą samą osobą wymawiane w różny sposób. Czasem szybszej, innym razem wolniej, głośniej, ciszej, innym tonem i barwą głosu. Nie mówiąc już o tym, jak są słowa wymawiane przez różnych ludzi. Nie chodzi tylko o to, aby nauczyć się połączyć dane słowo z określoną sytuacją, ale także odwrotnie, daną sytuację ze słyszanym dźwiękiem, w którym później rozpozna się słowo. W celu uproszczenia problemu przenieśmy się na chwilę do królestwa zwierząt. Niektórzy ludzie mogliby się spierać o to, czy zwierzęta mają swój język i czy mogą rozumieć pojęcia abstrakcyjne. My dopuścimy taką możliwość i spróbujemy pokazać, jak taki prosty język mógłby wyglądać, w jaki sposób mógłby powstać i w jaki sposób młode osobniki mogą się go nauczyć. Nie chodzi nam tu o fakty ani o dokładność, tylko o próbę zrozumienia, jak mogło by to wyglądać, żeby później to wykorzystać w trakcie nauczania komputera.
Najprostszy język mógłby mieć tylko jeden wyraz, ale dla naszych celów wybierzmy język, który ma dwa wyrazy: niebezpieczeństwo i pokarm. Nie chodzi nam o to, w jaki sposób będą te wyrazy reprezentowane. Nie musi to być nawet dźwięk. Może to być na przykład zapach. Ważne jest, że odbiorca wie, co ma zrobić: ukryć się albo pójść jeść.
W jaki sposób młode zwierzę nauczy się rozumieć te wyrazy? Wielokrotnie słyszy je w sytuacjach, kiedy zbliża się niebezpieczeństwo albo kiedy znajduje żywność. Żeby taki język powstał wystarczy, że pojedyncze osobniki żyją w grupie, w podobnych sytuacjach reagują w podobny sposób i nawzajem postrzegają swoje reakcje. Widzimy, że nawet bardzo prymitywne organizmy mogą mieć swój język, który rozumieją.
Zwierzęta rozumieją się nawzajem dlatego, że podobnie odczuwają i mają podobne potrzeby: odczuwają strach i mają potrzebę bezpieczeństwa, odczuwają głód i mają potrzebę jedzenia. Dla nich sygnał, że zbliża się niebezpieczeństwo lub że gdzieś jest pokarm, ma ogromne znaczenie. Język powstaje w grupie i służy całej populacji. Pojedynczy osobnik, który był by sam, nie potrzebowałby żadnego języka.
Zanim zaczniemy zajmować się tym, jak powinien wyglądać język, który mógłby rozumieć komputer, zastanówmy się, czy jeden gatunek zwierząt może rozumieć mowę innego gatunku i co z mowy zwierząt możemy zrozumieć my.
Jeżeli sójka wydaje ostrzegawczy sygnał dźwiękowy, cały las cichnie. To znaczy, że i inne zwierzęta rozumieją, że zbliża się niebezpieczeństwo.
Ale wyobraźmy sobie, że dostalibyśmy się na przykład pomiędzy delfiny, a one starałyby się nas czegoś nauczyć. Pływałyby dookoła nas, gwizdałyby coś i machały płetwami. Nie byłoby proste zrozumieć, czego od nas chcą. Zwłaszcza że mogłyby próbować przekazać nam coś, o czym my nie mamy pojęcia. Na przykład o minimalnych różnicach w koncentracji soli w wodzie. Jeżeli mamy w swoich językach wyrażenia, których używamy w podobnych sytuacjach, wówczas możemy nauczyć się rozumieć wyrażenia zwierząt w miarę łatwo. Jednak, by zrozumieć na przykład język pszczół, nie wystarczy analizować ich sygnały, ale wymaga to dokładnej analizy ich sposobu życia.
Niektóre pojęcia, które nam wydają się oczywiste, mogą być ogólnie bez sensu. Na przykład pojęcia w lewo i w prawo. Dla nas mają sens dlatego, że mamy podłużną oś ciała i poruszmy się na płaszczyźnie, ale na przykład dla robota, który miałby oczy z wszystkich stron i mógł poruszać się we wszystkich kierunkach pojęcia w lewo i w prawo nie miałyby sensu. Nawet my, kiedy poruszalibyśmy się latającym talerzem, który obracałby się jednocześnie wokół kilku osi, nie mielibyśmy pojęcia, dokąd lecieć, kiedy ktoś powiedziałby nam, że mamy lecieć w lewo.
Jest jeszcze jedna rzecz, która może okazać się bardzo ważna w czasie nauki rozumienia pojęć. Jest nią nagroda. Jak na przykład postępujemy, kiedy chcemy nauczyć psa, aby słuchał naszych poleceń? Wydajemy polecenie i nagradzamy prawidłową reakcje. Pies nauczy się łączyć polecenie ze swoją reakcją i z nagrodą. Jest dosyć trudno sobie wyobrazić , jak nauczyć psa reagować na nasze polecenia, kiedy nie mielibyśmy możliwości nagradzania go (ewentualnie karania).
A jak tu nagradzać komputer, jeżeli go chcemy nauczyć, żeby rozumiał nasze polecenia? W tym miejscu musimy rozróżnić komputer, program komputerowy i robota. Nie będziemy starali się sformułować dokładnych definicji, nie będziemy też upierać się że taki podział jest jedyny i właściwy. Chcemy tylko zwrócić uwagę na fakt, że dla rozwoju myślenia w sensie rozumienia znaczenia słów może ważną rolę odegrać element nagrody, to znaczy otrzymania czegoś czego się pragnie, lub co jest potrzebne. Jeżeli pies nie miałby żadnych potrzeb, nie odczuwałby głodu ani bólu, nie miałby powodu nas słuchać i starać się o cokolwiek.
Dzisiejsze komputery nie są konstruowane tak, by miały jakieś potrzeby. Już samo sformułowanie „nagroda dla komputera” brzmi dosyć dziwnie. Natomiast w kwestii programów, możemy stworzyć wirtualny świat, w którym wirtualne obiekty będą miały jakieś wirtualne potrzeby. W rzeczywistym świecie możemy wyobrazić sobie robota, który ma jakieś czujniki, możliwość wpływania na otaczający go świat i który ma jakieś potrzeby. Nie musi wcale przypominać człowieka, przeciwnie, można próbować znaleźć jak najprostszego robota, jakiego można wymyślić, który będzie spełniał nasze minimalne wymagania – to znaczy będzie miał jakieś potrzeby i będzie istniała możliwość nagradzania go. Można próbować nauczyć go przynajmniej kilku podstawowych pojęć.
Można też pójść inną drogą. Nie próbować przekazać komputerom naszych pojęć, ale wytwarzać nowe pojęcia stworzone specjalnie w celu porozumienia się z komputerem. W tej chwili odłóżmy jeszcze pytanie, jakie pojęcia mogłyby to być i zastanówmy się na chwilę nad pojęciem informacja.