Anatomia Sztucznej Inteligencji

Fot. Piotr Sokołowski
Sztuczna inteligencja nie jest jednym zjawiskiem, technologią czy procesem. To bardzo szerokie pojęcie, w którym mieści się wiele różnych, niekoniecznie spójnych koncepcji, pomysłów i rozwiązań. Chcesz wiedzieć, czym są deep learning, sieci neuronowe, big data, algorytmy adaptacyjne, programowanie genetyczne, heurystyka i wiele więcej? Zapraszamy na fascynującą wyprawę po świecie SI.

Czym jest „inteligencja maszynowa”, czy też – najczęściej spotykane pojęcie odnoszące się do poruszanego tu tematu: „sztuczna inteligencja”? Wyjaśnienie, czym tak naprawdę jest sztuczna inteligencja, sprawia trudność, bo sami nie umiemy do końca jednolicie zdefiniować inteligencji jako takiej, mimo od dawna przeprowadzanych prób w tym kierunku.

Uznaje się, że samo pojęcie „inteligencja” wprowadził Cyceron – rzymski mówca, polityk, pisarz i dowódca. Określał on w ten sposób zdolności intelektualne człowieka. Dziś komputery, czy może szerzej – maszyny – są w stanie rozumieć ludzką mowę, samodzielnie wysnuwać wnioski, błyskawicznie dokonywać obliczeń, rozmawiać z ludźmi i przeprowadzać mnóstwo innych czynności, które uznalibyśmy z całą pewnością za przejaw zdolności intelektualnej, gdyby dana czynność była wykonywana przez człowieka. Czy zatem sztuczna inteligencja to zdolność intelektualna maszyny? Nie. Żeby znaleźć odpowiedź na pytanie, czym jest sztuczna inteligencja, najlepiej sięgnąć do jej początków.

Wspaniałe lata 50

W pierwszej połowie lat 50-tych ubiegłego wieku Claude Shannon i Alan Turing pisali już niezależnie od siebie programy szachowe na komputery zgodne z architekturą von Neumanna – pierwszą architekturą komputera jaką kiedykolwiek wymyślono (a wymyślono ją w 1945 roku). Co ciekawe, obaj wybitni informatycy napisali swój kod nie mając dostępu do komputera. Jednak po raz pierwszy sformułowania „artificial intelligence”, czyli „sztuczna inteligencja” użył amerykański matematyk i informatyk, absolwent Princeton: John McCarthy. Zrobił to w 1956 roku podczas dwumiesięcznych warsztatów naukowych przeprowadzonych w Darthmouth College. Zaproszono na nie naukowców zajmujących się teorią automatyki, sieciami neuronowymi czy badaniami nad ogólnie pojętą inteligencją.

Komputer zdolny do dedukcji

To właśnie w Darthmouth, Allen Newell i Herbert A. Simon zaprezentowali program o nazwie Logic Theorist, który był zdolny w pełni automatycznie dowieść większości twierdzeń zawartych w drugim tomie Principia Mathematica autorstwa Bertranda Russella i Alfreda Northa Whiteheada. Przynajmniej w jednym przypadku dowód przeprowadzony przez maszynę był bardziej elegancki niż ten przeprowadzony przez autorów Principia Mathematica. Dlaczego to takie niezwykłe? Ot choćby dlatego, że po pierwsze Logic Theorist przeczył popularnej wówczas tezie że maszyny mogą „myśleć” tylko numerycznie, na dodatek udowadniał, że maszyny są zdolne przeprowadzić proces dedukcji i „wymyślać” dowody logiczne. Pamiętajmy, że pierwsze znaki kodu programu Logic Theorist powstawały w 1955 roku, kiedy pojęcie „sztuczna inteligencja” jeszcze w ogóle nie istniało.

Twórcy programu Logic Theorist
Herbert Simon (po lewej) i Allen Newell – twórcy programu Logic Theorist (fot. cs.ks.edu)

Logic Theorist został później rozwinięty przez swoich twórców w program General Problem Solver, który potrafił nie tylko udowadniać twierdzenia matematyczne, ale również rozwiązywać dość szeroki zakres formalnie opisanych problemów (np. był w stanie rozwiązać popularną łamigłówkę „Wieże Hanoi”).

Maszyna może się uczyć

Choć Newell i Simon „skradli show” w Darthmouth to warto też wspomnieć o innych ciekawych projektach, jak choćby warcaby Arthura Samuela. Samuel, wówczas pracownik firmy IBM (późniejszy profesor Uniwersytetu Stanforda) również brał udział w warsztatach w Darthmouth College. Opracował on program stanowiący odpowiedź na pytanie „jak nauczyć komputer rzeczy, której samemu się nie potrafi?” – program, który grał z człowiekiem w warcaby. Przy ówczesnej wydajności komputerów i pojemności pamięci przewidywanie wszystkich możliwych w tej grze ruchów nie wchodziło w rachubę, zatem Samuel opracował algorytm przeszukujący (dziś znamy go pod nazwą algorytm alfa-beta), z redukcją liczby węzłów, charakteryzujący się wysoką efektywnością we wszystkich implementacjach gier dwuosobowych, takich jak warcaby, szachy czy go. Innymi słowy algorytm Samuela wykorzystywał funkcję oceniającą aktualną pozycję na planszy, co pozwalało wybierać w kolejnych posunięciach najbardziej obiecujące rozwiązania.

Arthur Samuel pionier uczenia maszynowego
Arthur Samuel podczas partyjki warcabów ze swoim programem wykorzystującym jeden z pierwszych algorytmów uczenia maszynowego (fot. IBM)

Ważne jest też to, że w swoim programie Samuel opracował również mechanizm, który umożliwiał maszynie uczenie się na błędach, tzw. algorytm rote learning. W ten sposób program Arthura Samuela był pierwszym komputerowym kodem wykorzystującym uczenie maszynowe i robił to całkiem dobrze. Samodoskonalący się program pokonał w 1962 roku mistrza stanu Connecticut w warcabach). Warto dodać, że dziś warcaby są grą, w którą komputer nie może przegrać. Moce obliczeniowe jakimi dziś dysponujemy pozwalają przewidzieć absolutnie każde posunięcie. Dowodem na to jest rozwijany w latach 1989 – 2007 na kanadyjskim Uniwersytecie Alberty program Chinook, z którym nie można wygrać. Człowiek (albo maszyna, np. z drugą instancją programu Chinook) nie popełniający żadnego błędu jest w stanie uzyskać jedynie remis.

Wróćmy jednak do pionierskich czasów dla SI. Logiczna dedukcja maszynowa, samouczenie, początki SI były imponujące. Nic dziwnego, że wielu badaczy już wówczas sądziło, że od cyfrowego intelektu dorównującego ludziom dzieli nas tylko jeden krok.

Najpierw był neuron – sztuczny neuron

Pierwszą pracą, którą obecnie powszechnie uznaje się, za pionierską w dziedzinie SI jest matematyczny model sztucznego neuronu opracowany w 1943 roku przez Warrena McCullocha i Waltera Pittsa. Obaj panowie opierali się na trzech pozornie niezależnych od siebie źródłach: po pierwsze dysponowali oni wiedzą na temat podstawowej fizjologii i funkcji neuronów w mózgu (pamiętajmy, w jakim czasie ów model powstawał), po drugie odwoływali się do matematycznej logiki formalnej, a dokładniej do spójnej teorii rachunku logicznego zdań Russella i Whiteheada, po trzecie skorzystali z teorii obliczalności Turinga. Ich model był prosty, każdy neuron mógł być w stanie aktywnym lub wyłączonym, a aktywność pojawiała się jako reakcja na stymulację przez wystarczającą liczbę sąsiednich neuronów.

Schemat neuronu McCullocha-Pittsa
Schemat neuronu McCullocha-Pittsa (źródło: projekt rastrowy: Andrut, wektoryzacja: Krzysztof Zajączkowski / Wikimedia)

McCulloch i Pitts pokazali ponadto, że każda funkcja obliczalna może być obliczona przez sieć połączonych neuronów. Tak, mówimy tu o pierwszej w historii sieci neuronowej – na razie jeszcze w formie konceptu, a nie fizycznego sprzętu. Co więcej, McCulloch i Pitts zasugerowali, że odpowiednio skonstruowana sieć sztucznych neuronów byłaby w stanie sama się uczyć. Potwierdzeniem tych sugestii było odkrycie dokonane w 1949 roku przez Donalda O. Hebba, kanadyjskiego psychologa specjalizującego się w neuropsychologii. Hebb wykazał, że psychologiczny proces uczenia się da się sprowadzić do relatywnie prostej reguły wzmacniania połączeń pomiędzy neuronami opisującej podstawowy mechanizm plastyczności synaptycznej. Dziś wiemy, że zarówno McCulloch i Pitts ze swoim modelem, jak i Hebb mieli rację, ale wówczas to był dopiero pierwszy impuls. Lawina wiedzy poszukującej odpowiedzi na pytanie postawione w 1950 roku przez Alana Turinga: „czy maszyna może myśleć?” ruszyła.

Jest neuron, jest sieć… jest mózg? Niestety, nie

Na początku 1952 roku dwóch absolwentów matematyki z Princeton: Marvin Minsky i Dean Edmonds konstruują SNARC (Stochastic Neural Analog Reinforcement Calculator) – pierwszy komputer ze stochastyczną siecią neuronową. Sprzęt wykorzystujący 3000 lamp próżniowych oraz zapasowy mechanizm autopilota z bombowca B-24 był w stanie symulować pracę 40 neuronów i stanowił część pracy doktorskiej Marvina Minsky’ego. Celem tej maszyny była symulacja szczura próbującego znaleźć wyjście z labiryntu, stąd też SNARC często jest określany nieoficjalną nazwą „Maze computer” (z ang. maze = labirynt).

Komisja oceniająca jego prace miała wątpliwości, czy symulowanie neuronów może być w ogóle uznane za matematykę, ale w komisji zasiadał również von Neumann, który stwierdził, że „jeżeli to nie jest nią (matematyką – dop. CHIP) teraz, to będzie nią w przyszłości”.

sztuczny neuron SNARC
Pojedynczy „neuron” z komputera SNARC Marvina Minsky’ego i Deana Edmondsa. Cała maszyna nie przetrwała do naszych czasów – została wypożyczona przez Minsky’ego studentom z Darthmouth i zdemontowana (fot. Gregory Loan).

Choć praca Minsky’ego i Edmondsa była z pewnością pod wieloma względami pionierska, to za pierwszą sztuczną sieć neuronową uznaje się zbudowany w 1957 roku przez Franka Rosenblatta Mark I Perceptron. Później pojawiły się kolejne sieci neuronowe, np. sieć ADALINE zbudowana przez Bernarda Widrowa w 1960 roku.

Mała dygresja: patrząc na pojedynczy lampowy neuron z komputera SNARC Minsky’ego i Edmondsa i porównując go z jednym z najnowszych urządzeń sprzętowych: Intel Movidius Neural Compute Stick aż trudno uwierzyć jak wielkiego skoku technologicznego dokonaliśmy od pionierskich czasów w dziedzinie badań nad SI. Sprzęt widoczny na powyższym filmie wygląda jak pendrive, a jest nie pojedynczym neuronem, lecz całą platformą akceleracyjną sieci neuronowych. Więcej na temat tego urządzenia już pisaliśmy. Tymczasem wróćmy do Minsky’ego i sztucznych sieci neuronowych sprzed półwiecza.

Niestety, swoistym paradoksem jest, że Minsky, jeden z pionierów sztucznych sieci neuronowych był jednocześnie badaczem, który później – w 1969 roku – wraz z Seymourem Papertem wykazał znaczne ograniczenia logiki perceptronów (perceptron to najprostsza sieć neuronowa składająca się z neuronów McCullocha-Pittsa), uniemożliwiające zwiększanie jego możliwości wyłącznie poprzez efekt skali. Oznaczało to, że cyfrowego odpowiednika ludzkiego mózgu nie uda się uzyskać, a przynajmniej nie tak szybko jak się wówczas wydawało. Na czym generalnie polegał problem z wczesnymi implementacjami algorytmów SI? Przede wszystkim na tym, że choć bardzo dobrze radziły sobie one w konkretnych przykładach, to w przypadku gdy próbowano uzyskane rozwiązania zaadoptować do szerszego spektrum bardziej skomplikowanych problemów, okazywały się nieskuteczne.

Dobrym przykładem tego stanu rzeczy był opracowany w 1965 roku program ELIZA. Miał on w zamierzeniu twórców prowadzić konwersację z człowiekiem na każdy temat. Pomysł niezwykle ambitny. Zbyt ambitny. Program w istocie udawał konwersację, ale słowo „udawał” jest tu kluczem. ELIZA po prostu manipulował zdaniami wprowadzonymi wcześniej przez człowieka. Kod nie miał żadnej „wiedzy” na temat znaczeń słów, pojęć itp. Dziś trudno się dziwić, że ELIZA powstały niemal pół wieku przed dzisiejszymi cyfrowymi asystentami głosowymi, takimi jak Siri Apple, Cortana Microsoftu, Asystent Google, czy Alexa Amazonu „poległ”.

Dzisiejsze boty konwersacyjne są o wiele doskonalsze, „rozumieją” nie tylko logiczne zależności pomiędzy wyrazami (syntaktyka), ale także ich znaczenie (semantykę). Powyższy film pokazuje rozmowę dwóch instancji sztucznej inteligencji ze sobą. Każdy kto chciałby pogadać z Cleverbotem (na podstawie tego właśnie programu opracowano powyższy film) może to zrobić zaglądając na witrynę tego projektu.

Wracając do głównego nurtu naszych rozważań, wiemy, że program ELIZA nie był udanym tworem. Podobnie było z wczesnymi próbami automatycznych, „inteligentnych” systemów tłumaczących. Po wystrzeleniu przez Sowietów pierwszego sztucznego satelity Ziemi w 1957 roku, Amerykanie chcieli jak najszybciej dysponować tłumaczeniami rosyjskich treści na język angielski. National Research Council wyłożył odpowiednie fundusze i prace ruszyły z impetem. Niestety, jedyne co uzyskano to proste syntaktyczne systemy słownikowe, dosłownie tłumaczące poszczególne wyrazy, ale całkowicie pozbawione „wiedzy” o niuansach języka. Jedną ze słynniejszych retranslacji cyfrowych z tamtych czasów było przetłumaczenie frazy „the spirit is willing but the flesh is weak” („duch wprawdzie ochoczy ale ciało słabe”, cytat z Ewangelii wg św. Mateusza) na… „the vodka is good but the meat is rotten” („wódka dobra, ale mięso zgniłe”). Wobec tak „obiecujących” rezultatów trudno się dziwić, że w 1966 roku amerykański rząd zaprzestał jakiegokolwiek finansowania projektów związanych z „inteligentnym” cyfrowym tłumaczeniem.

Praca Minsky’ego i Paperta spowodowała długotrwały impas w badaniach nad sztuczną inteligencją i sieciami neuronowymi. Nie tylko zachwiała wiarą w szybki przełom na drodze do uzyskania wszechstronnej sztucznej inteligencji (tzw. silnej SI), ale przede wszystkim odcięła źródła finansowania od wielu ówczesnych projektów związanych z sieciami neuronowymi i SI. Każdy impas kiedyś się jednak kończy.

Systemy oparte na wiedzy

Rozczarowanie pierwszymi systemami SI opartymi na logice formalnej i prostych sieciach neuronowych zaowocowało skierowaniem wysiłków badawczych w stronę tzw. systemów eksperckich, czy systemów opartych na wiedzy. Pierwszym przejawem nowego trendu w badaniach nad sztuczną inteligencją był opracowany w latach 60-tych ubiegłego wieku przez naukowców pracujących na Stanford University program Dendral. Bruce Buchanan (filozof i informatyk), Ed Feigenbaum (były student Herberta Simona – współtwórcy wspomnianego wcześniej programu Logic Theorist) oraz Joshua Lederberg (genetyk, laureat Nagrody Nobla) stworzyli narzędzie zdolne do automatycznej analizy i identyfikacji molekuł związków organicznych. Dendral analizował wyniki uzyskane w trakcie spektrometrii mas badanych związków (jest to jedna ze spektroskopowych technik analizy chemicznej).

Pierwotna wersja Dendrala była jednak daleka od doskonałości, po dostarczeniu do programu danych źródłowych (elementarne wzory chemiczne badanych związków oraz ich widma masowe) generował po prostu zbyt dużą liczbę danych, co przy bardziej skomplikowanych cząstkach czyniło go systemem niepraktycznym. Pomogła konsultacja twórców Dendrala z chemikami zajmującymi się analizą molekularną. Dopiero zaprogramowanie w kodzie Dendrala dobrze znanych wzorców w widmach masowych pozwoliło uczynić ten program użytecznym rozwiązaniem umożliwiającym przyśpieszenie rozpoznawania cząstek i to zarówno znanych związków, jak i takich, które wcześniej nie były znane. Po raz pierwszy w historii ludzkości odkrycie naukowe (nowego związku) zostało dokonane na Ziemi nie przez człowieka, a przez komputer i oprogramowanie.

Sukces Dendrala był swoistym natchnieniem dla jego twórców. Na Uniwersytecie Stanforda uruchomiony został projekt HPP (Heuristic Programming Project). Jego zadaniem było rozszerzenie nowej metodologii systemów eksperckich na inne dziedziny badawcze. Efektem współpracy Buchanana, Feigenbauma oraz Dr. Edwarda Shortliffe’a był MYCIN, pierwszy system komputerowej diagnostyki medycznej.

MYCIN był systemem eksperckim wyposażonym w około 450 reguł, za pomocą których ułatwiał on diagnozę infekcji krwi. Warto podkreślić, że system radził sobie z zadaniem równie dobrze co wielu lekarzy – ekspertów, a często znacznie lepiej niż początkujący lekarze. MYCIN w przeciwieństwie do Dendrala nie zawierał wbudowanego modelu teoretycznego, na którym opierał proces dedukcji. System wnioskował na podstawie wiedzy pochodzącej od ekspertów i wyników ich analiz konkretnych przypadków.

W latach 80-tych XX wieku systemów eksperckich funkcjonujących w branży było już naprawdę sporo. Programy zaprojektowane jako narzędzia wsparcia decyzyjnego dla ludzi. Jednak u podstaw ich architektury tkwiła istotna wada. System ekspercki wyciąga wnioski z bazy wiedzy zawierającej fakty uzyskane od specjalistów. To oczywiście słuszne podejście, ale problem polegał na tym, że wklepywane z mozołem w języku formalnym cząstki eksperckiej wiedzy się dezaktualizowały. Tymczasem skuteczność systemu eksperckiego w znacznym stopniu zależy właśnie od wielkości bazy wiedzy. Budowa takiej bazy wiedzy stanowi największy koszt tego typu systemów. Małe systemy były może i tanie, ale były w praktyce mało przydatne. Z kolei konserwacja i aktualizacja dużych systemów eksperckich konieczna ze względu na stale powiększające się zasoby wiedzy w danej dziedzinie, której konkretny system dotyczył, pochłaniała krocie. Było jasne, że trzeba było poszukać jeszcze innego rozwiązania.

Propagacja wsteczna i deep learning – nadzieje odżywają ponownie

Ironią losu jest fakt, że w tym samym, 1969 roku, w którym praca Minsky’ego i Paperta zachwiała wiarą w szybki rozwój SI opartej na sieciach neuronowych, inni badacze: Arthur E. Bryson oraz Yu-Chi Ho opracowali algorytm, który dał podwaliny rozwiązaniu budującemu renesans sieci neuronowych w późnych latach 80-tych i później: propagacji wstecznej.

Czym jest propagacja wsteczna? Jest to jeden z wielu znanych nam dziś algorytmów nadzorowanego uczenia wielowarstwowych sieci neuronowych. Okazało się, że można budować znacznie większe sieci neuronowe i będą one użyteczne w znacznie szerszym zakresie problemów niż perceptrony jednowarstwowe, wystarczyło nieco zmodyfikować samą metodę ich uczenia. Wielowarstwową sieć neuronową wykorzystującą algorytm propagacji wstecznej zaprezentowali w 1986 roku trzej badawcze. Dwóch z Instytutu Badań Kognitywnych Uniwersytetu Kalifornii w San Diego (David E. Rumelhart oraz Ronald J. Williams) oraz Geoffrey E. Hinton z Carnegie-Mellon University. Choć jednak udało im się udowodnić, że możliwe jest skuteczne uczenie wielowarstwowych sieci, to wciąż zbyt mała moc obliczeniowa w dwóch ostatnich dekadach XX wieku oraz niedoskonałości samego algorytmu (m.in. tzw. problem zanikającego gradientu) spowodowały, że mimo pewnych sukcesów sieci neuronowe nie zyskały już takiej atencji jak w pionierskich latach, co jednak nie oznacza, że finalnie zyskały dziś należne im miejsce w pracach nad sztuczną inteligencją.

Mniejsze zainteresowanie sieciami neuronowymi w dwóch ostatnich dekadach XX wieku wynikało również z tego, że opracowano odmienne, efektywne metody rozwiązywania zadań charakterystycznych dla sztucznej inteligencji. Przykładem może być zaproponowana przez V. Vapnika w 1998 roku tzw. maszyna wektorów nośnych (SVM – Support Vector Machine), czy opracowywane wówczas metody probabilistyczne. Jako ciekawostkę warto zaznaczyć, że SVM była (i jest) skutecznie wykorzystywana w procesie komputerowego rozpoznawania obrazów.

Stale rosnąca moc obliczeniowa, a także coraz większa ilość danych, które mogłyby stanowić bazę wzorców dla uczenia maszynowego spowodowała, że w 2006 roku dokonano kolejnego przełomu: pojawiło się tzw. głębokie uczenie maszynowe. Zasadniczo po raz kolejny zmieniła się metoda uczenia wielowarstwowych sieci neuronowych. Sieci korzystające z uczenia głębokiego uczy się warstwa po warstwie, przy czym każdą z warstw można dodatkowo „douczać” a i cała sieć jest wstępnie uczona.

Dziś z metod deep learning korzystają wszyscy najwięksi potentaci branży IT, bez uczenia głębokiego Google, Apple, czy Microsoft nie mogłyby oferować wielu swoich usług online. Inteligencja głosowych asystentów takich jak Siri, Cortana czy Asystent Google, to produkt głębokiego uczenia maszynowego. To, że poszukując np. konkretnych zdjęć, wyszukiwarka (Google, Bing) jest w stanie je znaleźć i wyszukać także podobieństwa wymaga „rozumienia” zawartości obrazu – tego maszyna też nie potrafiłaby bez uczenia głębokiego. Potencjał sztucznej inteligencji dostrzegają również firmy kojarzone raczej ze sprzętem, np. Intel. Zresztą trudno pominąć rolę procesorowego potentata z Santa Clara wobec faktu, że aż 97% wszystkich serwerów świata przetwarzających żądania związane z uczeniem maszynowym pracuje pod kontrolą procesorów Intela właśnie. Jednak „sprzętowcy” nie poprzestają wyłącznie na opracowywaniu samych układów. Intel przejął rok temu (w sierpniu 2016 roku) stosunkowo młodą, bo powstałą w 2014 roku firmę Nervana Systems. Ta mało znana u nas spółka ma imponujące osiągnięcia w dziedzinie technologii uczenia głębokiego. Intel ma nadzieję, że przejęcie własności intelektualnej Nervana Systems pozwoli firmie znacznie rozszerzyć możliwości w dziedzinie dalszego rozwoju sztucznej inteligencji.

Sieci neuronowe, uczenie maszynowe (machine learning), głębokie uczenie (deep learning), heurystyka – każde z tych, przedstawionych wyżej zagadnień, wespół z dynamicznie rosnącą mocą obliczeniową oraz coraz większymi zbiorami danych (big data) pozwala nam za pomocą komputerów symulować coraz więcej działań, które w przypadku gdyby wykonywał je człowiek uznalibyśmy za inteligentne.

Wciąż jednak daleko nam do symulowania całego ludzkiego mózgu. Możliwości SI są dziś imponujące, ale sztuczny mózg? Czy to da nam w pełni ogólną inteligencję maszynową? Zdania są podzielone, jednak ewolucja jest procesem, który potrafi wykreować inteligencję. Jesteśmy tego żywym dowodem.

Kopiowanie ewolucji

Czy zaadoptowanie mechanizmów darwinowskiego doboru naturalnego w cyfrowym świecie pomoże nam wykreować sztuczną inteligencję? Natura wykształciła precedens, wystarczy zatem tylko powtórzyć jej osiągnięcie, prawda? Niezupełnie. Oczywiście ludzki mózg jest centralnym organem kontrolnym istoty z pewnością uważanej za byt inteligentny. Zatem logicznie rzecz biorąc, jeżeli będziemy w stanie zmapować wszystkie połączenia nerwowe w mózgu w postaci cyfrowego konstruktu uzyskamy cyfrową inteligencję, a nawet świadomość taką samą jak biologicznego wzorca. Skoro potrafimy symulować neurony, tworzymy z nich całe sieci, to możemy przecież symulować cały mózg. Nie możemy. Jeszcze nie teraz. Czy kiedykolwiek? Uczciwa odpowiedź brzmi: to możliwe.

Półtora kilo wszechświata

Ludzki mózg waży nieco mniej niż półtora kilograma. Pod względem efektywności działania jest najdoskonalszym biologicznym komputerem jaki znamy. Skopiowanie go to olbrzymie wyzwanie. Wie o tym doskonale profesor Sebastian Seung z MIT, który wraz z współpracownikami podjął się analizy ludzkiego konektomu, czyli ogółu wszystkich połączeń nerwowych człowieka.

Ludzki mózg zawiera około 100 miliardów neuronów, z których każdy jest połączony z innymi neuronami za pomocą nawet do 10 tysięcy połączeń synaptycznych. Co więcej u każdego osobnika homo sapiens ta sieć ponad biliarda (1015) połączeń jest zupełnie inna. Struktury naszego mózgu są plastyczne i w ciągu naszego życia ulegają ciągłym modyfikacjom. Nie mówimy jednak o stworzeniu dynamicznego modelu, ale choćby pełnej kopii. Problemem z cyfrowym odtworzeniem mózgu jest przede wszystkim złożoność i brak metod dokładnego pomiaru. Obecnie możemy zeskanować mózg kawałek po kawałku za pomocą mikroskopu elektronowego, nietrudno jednak zauważyć, że metoda ta uniemożliwia zeskanowania mózgu kogoś żywego.

Kwestie konstrukcyjne związane z siecią połączeń nerwowych i budową mózgu, pozostające wciąż poza naszym zasięgiem to nie wszystko. Trudno budować opartą na ludzkim umyśle sztuczną inteligencję, jeżeli sami nie wiemy jak ów wzorzec dokładnie funkcjonuje. Dr Steven Novella, neurolog z Uniwersytetu Yale mówi wprost, że sami nie wiemy ile jeszcze nie wiemy, więc jakiekolwiek przewidywania kiedy będziemy w stanie zbudować inteligentny umysł odtwarzając nas własny są w chwili obecnej pozbawione sensu.

Niemniej już w 1988 roku Hans Moravec, profesor Instytutu Robotyki przy Uniwersytecie Carnegie Mellon w Pittsburghu w swojej książce pt. „Mind Children” napisał następujące słowa:

W ośrodkach zmysłowych i motorycznych ludzkiego mózgu zakodowane jest miliard lat doświadczenia o naturze świata i o tym, jak w nim przetrwać. Świadomy proces, który nazywamy myśleniem jest, według mnie, cieniutką warstewką ludzkich myśli, efektywną tylko dzięki wsparciu o wiele starszej i o wiele potężniejszej, choć zwykle nieuświadomionej, wiedzy motorycznej. Jesteśmy wszyscy wybitnymi olimpijczykami w dziedzinie percepcji i zdolności motorycznych, tak dobrymi, że trudne zadania wydają nam się łatwe. Myśl abstrakcyjna jednak jest nową zdolnością, być może młodszą niż 100 tys. lat. Nie opanowaliśmy jej jeszcze dobrze. Nie jest ona sama z siebie wcale trudna – tylko taka się wydaje, gdy my ją wykonujemy.

Wynika z nich coś bardzo istotnego: chcąc uzyskać sztuczną inteligencję drogą symulacji ludzkiego mózgu, zostawmy wypracowaną przez miliony lat ewolucji motorykę, skoro potrzebne są nam np. matematyka, inżynieria, logika czy myślenie naukowe. Innymi słowy wykorzystajmy ewolucję, ale nie po to by odkryć jak wyewoluował nasz mózg, a po to, by stosując jej mechanizmy wyhodować inteligentne programy.

Programowanie i algorytmy genetyczne

W 1980 roku profesor John Henry Holland wraz z Davidem Goldbergiem, jednym ze swoich doktorantów, pracowali nad rozwiązaniem praktycznego problemu dotyczącego optymalizacji przepustowości gazociągów za pomocą komputera. Zbudowali wstępny model problemu z istotnymi parametrami, a następnie poddawali go zmianom narzucanym przez algorytm działający w oparciu o reguły doboru naturalnego. W efekcie każda zmiana modelu stawała się odpowiednikiem mutacji, a kolejna iteracja poddawanego mutacjom modelu – pokoleniem. Pomysł okazał się nadspodziewanie dobry. Już po około 30 generacjach kodu model systemu gazociągów wyewoluował w rozwiązanie skuteczniejsze od stanu bazowego, opartego na rzeczywistym układzie.

Choć pomysł z wykorzystaniem algorytmu genetycznego w celu ewolucyjnego rozwiązania problemu jest dobry, to znacznie pogłębił go dr John Koza, współpracownik profesora Hollanda. Dr Koza postawił sobie pytanie: skoro mechanizmy ewolucyjne tak dobrze zoptymalizowały model rurociągu, może warto wykorzystać je do rozwijania samego kodu programu? To był początek programowania genetycznego, czyli tworzenia kodu za pomocą metod ewolucyjnych. Jakie to ma znaczenie w kontekście SI? Warto wiedzieć, że cechą programowania genetycznego szczególnie odróżniającą tę metodę tworzenia programów od technik klasycznych jest to, że dzięki niemu możliwe jest rozwiązywanie złożonych problemów praktycznie bez wsparcia człowieka. To całkowite przeciwieństwo wspominanych wcześniej systemów eksperckich, które nie istniały bez bazy pełnej fachowej, eksperckiej wiedzy. Co ciekawsze programowanie genetyczne i algorytmy ewolucyjne wielokrotnie udowodniły swoją przydatność generując zaskakujące rozwiązania, które wykonywały postawione przed nimi zadania zadziwiająco efektywnie. Często lepiej niż rozwiązania analogicznych problemów proponowane przez ekspertów w swoich dziedzinach. Skojarzenie ze sztuczną inteligencją wydaje się zasadne, ale wciąż mamy tutaj problem ograniczonej użyteczności – wypracowane rozwiązania działają skutecznie, ale w wąskim zakresie.

Sztuczna inteligencja jest już wokół nas

Mimo iż wciąż nie udało nam się zbudować ogólnej sztucznej inteligencji, czyli konstruktu cyfrowego, który byłby zdolny do rozwiązywania szerokiego zakresu problemów w stopniu porównywalnym do możliwości ludzkiego umysłu, to już dziś jesteśmy otoczeniu rozwiązaniami, które są w istocie wieloma instancjami tzw. słabej SI, czyli rozwiązania wykazującego inteligentne działanie w ograniczonym zakresie. „Ograniczony” nie jest tu równoznaczne z „banalny”. SI jest dziś wykorzystywana w analizie obrazów, w autonomicznej kontroli pojazdów (nie tylko samochody, ale też drony), diagnostyce medycznej, analizie finansowej, serwisach transakcyjnych, bezpieczeństwie informatycznym i wielu, wielu innych dziedzinach naszego życia.

Artystyczna wizja sztucznej inteligencji
Potencjał SI jest olbrzymi, ale budując coraz śmielsze projekty warto pamiętać o pewnych zasadach. Próbą skodyfikowania prac nad SI jest zbiór zasad „Asilomar AI Principles”. (fot. Future of Life Institute)

Grupa naukowców i wynalazców, z różnych dziedzin (m.in. Stephen Hawking czy Elon Musk) opracowała kodeks Sztucznej Inteligencji zwany „Zasadami z Asilomar”. Celem powstania tego spisu reguł było zdefiniowanie tego, czym ludzie się powinni kierować pracując nad sztuczną inteligencją. Poniższe zasady zostały podzielone na trzy grupy. Pierwsza grupa dotyczy reguł, które są ściśle związane z samymi badaniami nad sztuczną inteligencją, druga porusza znacznie bardziej ogólne kwestie dotyczące m.in. etyki i wartości, których znaczenie może rosnąć w miarę postępów w pracach nad SI. Natomiast trzecia grupa skupia się na długoterminowych kwestiach związanych z funkcjonowaniem SI. Pełny zbiór 23 zasad został zebrany przez Future of Life Institute (https://futureoflife.org/ai-principles/), organizację non-profit założoną przez współzałożyciela Skype’a Jaana Tallinna, kosmologa Maksa Tegmarka z MIT oraz Victorię Krakovną, badaczkę SI z DeepMind, firmy obecnie należącej do Alphabetu – właścicieli Google’a. Poniższe reguły opracowano podczas zorganizowanej w styczniu br. konferencji Beneficial AI, w której udział wzięli m.in. Elon Musk, Demis Hassabis (szef DeepMind), Yann LeCun (spec od AI w Facebooku), Jann Tallinn oraz Nick Bostrom, szwedzki naukowiec specjalizujący się w zagadnieniach dotyczących SI, czy transhumanizmu.

Dodatkowe źródła wiedzy

Jak zwykle w przypadku naszych przekrojowych materiałów dzielimy się z Wami ciekawymi źródłami wiedzy poszerzającymi spojrzenie na zagadnienia związane ze sztuczną inteligencją. Wiemy, co piszemy – sami z nich korzystaliśmy.

| CHIP