Artykuł

Andrzej Augustynek

Andrzej Augustynek

Sztuczna inteligencja


Pojęcie "sztucznej inteligencji" (ang. artificial intelligence, AI) wprowadził w 1956 roku do literatury John McCarthy (1927-2011), amerykański informatyk, laureat Nagrody Turinga w 1971 roku za wkład w dziedzinie sztucznej inteligencji. Jego zdaniem (1956) sztuczna inteligencja to maszyna, o której działaniu dałoby się powiedzieć, że jest podobne do ludzkich przejawów inteligencji. Obecnie problematyka sztucznej inteligencji należy do dziedziny wiedzy obejmującej logikę rozmytą, obliczenia ewolucyjne, sieci neuronowe, sztuczne życie i robotykę. Tematyka sztucznej inteligencji należy również do działu informatyki, zajmującego się tworzeniem modeli zachowań inteligentnych oraz programów komputerowych symulujących te zachowania. Można ją też zdefiniować jako dział informatyki, zajmujący się konstruowaniem maszyn i algorytmów, których działanie posiada znamiona inteligencji. Rozumie się przez to zdolność systemów informatycznych, automatów lub robotów do samorzutnego przystosowywania się do zmiennych warunków, podejmowania skomplikowanych decyzji, uczenia się i rozumowania abstrakcyjnego.

Inną, może trochę anegdotyczną definicją jest definicja sztucznej inteligencji sformułowana przez Turinga (1950), który powiedział kiedyś, iż maszyna wtedy będzie inteligentna, jeżeli znajdujący się w drugim pomieszczeniu obserwator nie zdoła odróżnić jej odpowiedzi na pytania od odpowiedzi człowieka. Z definicją tą związane jest pewne zabawne zdarzenie. Alan Mathison Turing (1912-1954) - brytyjski matematyk, kryptolog, logik, twórca pojęcia maszyny Turinga i jeden z prekursorów informatyki, uważany za ojca sztucznej inteligencji, ciągle powtarzał, że zawsze będzie potrafił maszynie zadać takie pytanie, na które zareaguje ona nieprawidłowo, demaskując swoją "nieludzkość". Jego studenci postanowili zrobić mu kawał. Wprowadzili swego mistrza do pokoju, w którym na środku stał komputer, stwierdzając, iż udało im się skonstruować inteligentną maszynę. Z lekką dozą ironii Turing podszedł do maszyny i zaczął prowadzić z nią dialog, tyle tylko, że na zadawane przez niego pytania odpowiadali ukryci w sali obok "spiskowcy". Po kilku godzinach bardzo zdenerwowany Turing wybiegł z pokoju. Musiał wyglądać bardzo groźnie, ponieważ studenci przyznali się do żartu dopiero po kilku dniach (Wiśniewski, 1999).

W XXI wieku badania nad stworzeniem sztucznej inteligencji idą w kilku kierunkach (Szumakowicz, 2001):
  1. Sieci neuronowe składając się z elementów półprzewodnikowych starają się naśladować funkcję prawdziwych neuronów i połączeń między nimi, przez co przejmują niektóre cechy mózgu. Struktura sieci może być bardzo skomplikowana (duża liczba wejść, wyjść, warstw, a także skomplikowany system połączeń między neuronami). A proces uczenia takiej sieci przypomina w dużej mierze nauczanie małego dziecka.
  2. Algorytmy genetyczne odtwarzają (modelują) ewolucję biologiczną. Prawdziwa ewolucja jest naturalnym procesem trwającym miliony lat. Jej komputerowe naśladowanie zajmuje czasem tylko kilka godzin. Dzieje się tak gdyż w toku ewolucji przyroda modyfikuje skomplikowane organizmy, a nawet całe gatunki; w komputerze zaś manipulujemy ich bardzo uproszczonymi modelami.
  3. Systemy ekspertowe starają się zastąpić specjalistę w jednej, konkretnej dziedzinie wiedzy. W odróżnieniu od wcześniej wzmiankowanych tu sieci neuronowych i algorytmów genetycznych, systemy ekspertowe wzorują się na procesach dedukcyjnych, podobnych do tych, jakie stosuje każdy z nas, na co dzień, nie zdając sobie nawet z tego sprawy. Analizując budowę systemów ekspertowych, stwierdzamy, że składają się one (pomijając szczegóły rozwiązań programistycznych, jak chociażby interfejs użytkownika) z reguł i faktów tworzących bazę wiedzy. Fakty są zdaniami twierdzącymi bądź przeczącymi. Reguły zaś stwierdzeniami typu, "Jeśli, to" (Wiśniewski, 1999).

Urządzenia informatyczne rozwiązują coraz trudniejsze zadania dzięki sieciom neuronowym. Są one programami komputerowymi składającymi się z małych jednostek, wchodzących we wzajemne interakcje dzięki połączeniom podobnym do tych, które łączą sieci neuronów w naszych mózgach. W przeciwieństwie do większości programów komputerowych działanie sieci neuronalnych opiera się na wielu procesach przebiegających jednocześnie (McClelland i Rumelhart, 1986).

Struktura sieci neuronowych w początkach ich historii inspirowana była budową mózgu człowieka. Jednak badania wykazały, że dużo bardziej efektywne jest korzystanie ze wzorca mózgu owada, posiadającego zamiast kory mózgowej ciała grzybkowate. Ich liczne wzajemne połączenia zapewniają lepszy przepływ informacji, niż ma to miejsce w mózgu człowieka. Jak twierdzi Tadeusiewicz (2017) algorytmy owadzie należą do obszernej dziedziny sztucznej inteligencji, tak zwanej "inteligencji roju", w której tworzy się algorytmy komputerowe, naśladujące inteligentne zachowania rojów (rodzin) osobników, z których żaden nie posiada indywidualnej inteligencji, ale których zbiorowość jest zdolna do inteligentnego działania. Zastosowanie tych reguł w programach komputerowych pozwala na tworzenie narzędzi informatycznych zdolnych do inteligentnego działania przy zaangażowaniu niezbyt złożonych algorytmów i szybkim osiąganiu celów. Omawiane tu algorytmy mrówkowe należą do najpopularniejszych narzędzi tego typu, chociaż nie są one jedyne. Buduje się nie tylko modele mrówkowe, ale też rodziny pszczelej, czy kopca termitów.

Założenie, że owady nie posiadają indywidualnej zdolności do myślenia i inteligencji wydaje mi się z gruntu fałszywe. Złożone systemy przekazywania informacji, indywidualne i samodzielne podejmowanie decyzji zdecydowanie temu przeczą. A gdyby obserwować z oddali ludzkie miasta, czy obserwator nie doszedłby do wniosku, że są one przejawem inteligencji roju, gdyż pojedyncze osobniki wykonują stereotypowe czynności?

Sieci neuronalne prawidłowo rozpoznają obiekty i potrafią je klasyfikować. Na ich bazie tworzy się programy sztucznej inteligencji. Co ciekawe, skutki ich częściowego uszkodzenia często przypominają efekt uszkodzenia mózgu człowieka (Kosslyn, Rosenberg, 2006).

Oczywiście komputery działają na odmiennej zasadzie niż mózg człowieka. Nie chodzi tu tylko o budowę, czy też budulec, lecz przede wszystkim o sposób przetwarzania informacji. U człowieka w gigantycznej pamięci istnieje olbrzymi rezerwuar wiedzy niezwerbalizowanej. Człowiek posiada intuicję, empatię, racjonalne myślenie. W swoim zachowaniu kieruje się nie tylko logiką, ale i emocjami. Sto pięćdziesiąt miliardów neuronów, z których każda posiada kilkaset wypustek łączących ją z innymi komórkami powoduje, że złożoność struktury mózgu jest olbrzymia, nieosiągalna obecnie w pojedynczych komputerach. Porównywalną złożoność mają dopiero komputery połączone w sieć internetu.

W 2017 roku mózg człowieka jest skuteczniejszy w od najmocniejszych programów komputerów w rozpoznawaniu obrazów, dźwięków, smaków, zapachów, orientacji przestrzennej, koordynacji szybkich i złożonych ruchów wykonywanych pod wpływem złożonych bodźców o różnej modalności. Jeżeli odtworzono by architekturę mózgu człowieka z układów scalonych i wyposażono go w receptory i efektory analogiczne do naszych powstałby wielki, powolny komputer, praktycznie niezdolny do działania.

Dobrym sprawdzianem efektywności programów sztucznej inteligencji jest pojedynek z człowiekiem w grach. Na tym polu trwa rozgrywka pomiędzy mózgiem człowieka, a ciągle rosnącą mocą obliczeniową komputerów (Grzyb 2005). Pojedynek ten praktycznie rozpoczął się ponad dwadzieścia lat temu (10 lutego 1996 r.), kiedy to superkomputer IBM Deep Blue wyposażony w zwykły program szachowy po raz pierwszy pokonał w partii z turniejową, standardową kontrolą czasu aktualnego wtedy mistrza świata Gary Kasparowa. Partia ta przeszła do historii także dlatego, że w czasie jej trwania wystąpił błąd oprogramowania komputera. W 44 ruchu błąd oprogramowania spowodował, że komputer nie mógł przeanalizować sytuacji i wykonał losowy ruch. Posunięcie to tak zaskoczyło mistrza, że stracił dużo czasu, popadł w niedoczas i w efekcie przegrał. Kasparow wygrał trzy kolejne partie i dwie zremisował, ostatecznie wygrywając z Deep Blue 4:2. W ciągu kilku miesięcy Deep Blue został znacznie ulepszony i zagrał ponownie z Kasparowem w maju 1997 roku. Mecz skończył się 11 maja wynikiem 3,5:2,5 dla komputera.

Deep Blue był bardzo szybki (200 milionów operacji na minutę), miał dużą ilość równolegle działających procesorów (256) i gigantyczną na tamte czasy pamięć zarówno stałą, jak i operacyjną. Dzięki temu mógł uwzględniać oraz oceniać olbrzymią liczbę kombinacji ruchów. Deep Blue wykorzystywał algorytm "siłowy", podobny do obdzwaniania wszystkich sklepów muzycznych znajdujących się w książce telefonicznej w celu znalezienia konkretnej płyty. Przewaga Deep Blue nad wcześniejszymi programami komputerowymi opierała się w pewnej mierze na tym, że był on w stanie antycypować większą ilość możliwych konsekwencji danego ruchu. Na dodatek Deep Blue miał w pamięci informację o setkach tysięcy rozegranych w przeszłości arcymistrzowskich partii (ze wszystkimi partiami rozegranymi przez Kasparowa włącznie), zatem mógł rozpoznawać przez analogię konsekwencje ruchów wykonywanych przez aktualnego wtedy mistrza świata (Kosslyn i Rosenberg, 2006). Po przegranym meczu Kasparow powiedział, że czasami zauważał głęboką inteligencję i kreatywność w grze maszyny. Wiele, jak się później okazywało dobrych jej ruchów, początkowo nie rozumiał. Sugerował także, że ludzie pomagali komputerowi podczas meczu. Po części zarzuty Kasparowa były prawdziwe. Pomiędzy partiami program Deep Blue był modyfikowany. W programie nadpisywano informacje z ostatrniej partii, tak aby program lepiej znał styl gry Kasparowa. Zniechęcony Kasparow przy stanie 2,5 do 2,5 już w 19 ruchu się poddał. Szachista zażądał rewanżu, jednak IBM odmówił i nie rozwijał już Deep Blue.

Superkomputer Deep BlueSuperkomputer Deep Blue. Źródło: IBM_Blue_Gene_P_supercomputer (1997).

W drugiej dekadzie XXI wieku możemy za darmo (Arena, Lucas Chess), lub za opłatą w granicach 20 - 350 zł. (Houdini, Fritz, Komodo Chess) otrzymać programy szachowe lepiej grające w szachy niż Deep Blue. Niewielu ludzi potrafi z nimi zremisować, a tych, którzy potrafią wygrać pojedyncze bodaj partie można policzyć na palcach jednej ręki. Nawet Władimir Kramnik, były szachowy mistrz świata, przegrał mecz z programem Deep Fritz 2:4 (Winiarski 2016).

Obecnie najlepsze programy szachowe, by znaleźć godnego siebie przeciwnika, wystawiane są najczęściej przeciw sobie. Google do gry w szachy przygotowało w oparciu o sztuczną inteligencję program Alpha Zero. Na początek wyposażono go jedynie w algorytm zawierający zasady gry w szachy bez zaprogramowanej strategii. Następnie program rozegrał miliony partii sam z sobą zarówno białymi jak i czarnymi. Jest to metoda uczenia maszynowego o nazwie ?uczenie przez wzmacnianie". Pozwala ona na wytworzenie własnej, nieznanej przedtem strategii. Powstały w ten sposób program nie jest zwykłym systemem ekspertowym, ale posiada samodzielnie wypracowaną strategię wygrywania.

Wartość Alpha Zero sprawdził program Stockfish 8 przez wielu uważany wtedy za najlepszy na świecie. Stockfish 8 w swojej bazie danych ma zakodowanych kilkaset tysięcy partii rozegranych przez najwybitniejszym szachistów oraz liczne algorytmy i heurystyki wygrywające. Alpha Zero mając przed meczem tylko 4 godziny treningu wygrała 25 partii grając białymi oraz trzy grając czarnymi. Pozostałe 72 partie zakończyły się remisem. Dla komentujących pojedynek arcymistrzów szachowych posunięcia Alpha Zero wydawały się szalone. Poświęcała np. gońca i hetmana, by zyskać przewagę pozycyjną. Takie poświęcenia w grze ludzi widywane są niezmiernie rzadko. A jednak końcowy efekt był taki, że dawały Alpha Zero zwycięstwo. Wskazuje to, że Alpha Zero podchodzi do gry w inny sposób tworząc zupełnie nową strategię.

Szachy to nie jedyne gry, w które człowiek przegrywa. Dotyczy to, także sportowego pokera, scrabble, Othello. Komputery od dawna dobrze grały w szachy. Istniała jednak gra, która przez długi czas sprawiała komputerom problemy. Jest to go (Winiarski 2016).

Go rozgrywana jest na planszy złożonej z 361 pól tworzonych przez przecinające się linie. Polega na dokładaniu na planszę kolejnych pionków. Używane do gry pionki nie mają zróżnicowanej siły ani formy. Postawiony pionek już się nie przesuwa, ale można go zbić (lub całą ich grupę) przez całkowite otoczenie pionkami innego koloru. Zbite pionki zdejmuje się z planszy. Rozgrywkę wygrywa ten z graczy, który na końcu gry będzie miał otoczony swoimi pionkami większy obszar planszy wraz ze zbitymi pionkami przeciwnika. Remis następuje kiedy obaj przeciwnicy w tej samej kolejce uznają, że nie mogą zrobić ruchu.

W każdej sytuacji istnieje bardzo wiele możliwości ruchu, a ogromna plansza sprawia, że istotne dla celów strategicznych wydarzenia zachodzą w wielu miejscach jednocześnie. To wszystko sprawia, że gra w go jest prosta w zasadach, ale niezmiernie trudna do analizowania. Amerykański szachista i miłośnik gry w go, zmarły w 1981 roku Edward Lasker powiedział, że skoro szachy to król gier, to go jest ich cesarzem.


Nic dziwnego, że w tej sytuacji dla naukowców i firm zajmujących się rozwijaniem sztucznej inteligencji to właśnie go jest jednym z wyzwań, które warto podjąć. W 2008 roku Mark Zuckerberg napisał na Facebooku, że utworzył specjalny zespół naukowców zajmujących się trenowaniem AI do gry w go.

Google także pracowało nad programem mającym za zadanie pokonanie człowieka w go. Przygotowana przez Google sztuczna inteligencja DeepMind, zainstalowana została w komputerze AlphaGo. Na początek zaprogramowano w niej tylko zasady gry. Następnie AlphaGo zaczęła rozgrywać miliony partii go sama z sobą. Po zakończeniu tego etapu AlphaGo zagrała z innymi programami do gry w go. Udało jej się wygrać 499 z 500 rozegranych meczy. Kolejnym przeciwnikiem AlphaGo był trzykrotny mistrz Europy Fan Hui. Mistrz przegrał z AlphaGo wszystkie pięć partii. Był to pierwszy przypadek udokumentowanego pokonania profesjonalnego gracza w go przez program komputerowy.

Następnie DeepMind zwyciężyła 4 do 1 koreańskiego mistrza świata w go Lee Sedol. Pojedynek transmitowany przez Google w Internecie oglądało wiele tysięcy osób. Chińskie i koreańskie media przygotowały specjalne audycje i kanały poświęcone temu wydarzeniu.

"DeepMind nie gra jak człowiek, ale też nie gra jak jakikolwiek inny program komputerowy. Ona gra w zupełnie unikatowy sposób" - mówił podczas konferencji prasowej prezentującej program Demis Hassabis twórca DeepMind.

Google przygotowuje również program do gier wideo. Program o nazwie Agent został zapoznany z regułami 49 klasycznych gier wideo, nie mając przy tym żadnego doświadczenia i wiedzy związanej z graniem. Kierował się on jedynie wytyczną, że celem jest zwycięstwo. Po wielu miliardach operacji Agent wypracował strategie pozwalające na wygraną nawet z profesjonalnymi graczami. Przykładem może być Arkanoid.

Elon Musk szef firmy Tesla założył niedawno organizację OpenAI, która stworzyła program łatwo zwyciężający profesjonalnych e-sportowców. Próbką jego skuteczności jest mecz w Dota 2. Przeciwnikiem OpenAI był jeden z najlepszych graczy na świecie Ukrainiec Danil Dendi. OpenAI potrzebował tylko kilkunastu minut do zwycięstwa. Dendi twierdził później, że OpenAI nie gra ani jak człowiek, ani jak inny program komputerowy.

Arkanoid - gra komputerowa, w której za pomocą małej ruchomej platformy odbija się piłeczkę wewnątrz prostokąta otwartego z jednej strony. Celem gry jest niedopuszczenie do wydostania się piłeczki poza prostokąt oraz odbijanie jej w taki sposób, aby zbić jak najwięcej klocków rozmieszczonych wewnątrz prostokąta. Na początku gracz ma do dyspozycji określoną liczbę piłeczek lub platform (w zależności od wersji gry), które traci kolejno, jeśli piłeczka ucieknie poza prostokąt. Za zbijane klocki przyznawane są punkty. Po zbiciu wszystkich klocków lub uzyskaniu odpowiedniej liczby punktów następuje przejście do kolejnego poziomu, co oznacza nowe ułożenie klocków na planszy. W grze pojawiają się bonusy w postaci dodatkowych piłeczek i platform.


A co będzie w przyszłości? Elon Musk podczas spotkania zorganizowanego przez National Governor's Association podzielił się swoimi obawami związanymi z rozwojem sztucznej inteligencji. "Mam dostęp do najbardziej zaawansowanych technologii sztucznej inteligencji i myślę, że powinniśmy się jej obawiać. Sztuczna inteligencja stanowi fundamentalne zagrożenie dla naszej egzystencji w sposób, z jakim nie mieliśmy do czynienia w przypadku wypadków samochodowych, katastrof lotniczych, wadliwych leków czy trującej żywności. W przyszłości roboty będą w stanie wykonać każdą pracę i to lepiej od ludzi. SI może też rozpocząć wojnę (Logan, 2017).Trwają współcześnie prace nad opracowaniem programów opartych o sztuczną inteligencje do działań na giełdach finansowych. Zaawansowane są też prace nad chipem domózgowym, umożliwiającym połączenie się z siecią internetu bez żadnych urządzeń pośredniczących.






Bibliografia


  • Grzyb J. (2005) Sztuczna inteligencja w grach. Software Developer's Journal, nr 7, s. 26 - 27.
  • Kosslyn S., Rosenberg R. (2006) Psychologia. Znak, Kraków.
  • Logan B (2017) Elon Musk ostrzega: sztuczna inteligencja to największe zagrożenie w historii. BusinessInsider.com.
  • McCarthy J. (1956) Philosophical logic and artificial intelligence. MIT, Cambridge.
  • Szumakowicz E. (2001) Granice sztucznej inteligencji, Wydawnictwo Politechniki Krakowskiej, Kraków.
  • Tadeusiewicz R. (2017) Sztuczna inteligencja dla gier. http://ryszardtadeusiewicz.natemat.pl/148935,sztuczna-inteligencja-dla-gier.
  • Turing A. (1950) Computing machinery and intelligence, Mind, Nr 59, s. 433-460.
  • Winiarski M. (2016) Historia sztucznej inteligencji grach komputerowych. WmWin GAMEDEW. http://mwin.pl/historia-sztucznej-inteligencji-grach-komputerowych/.
  • Wiśniewski A. (1999) Sztuczna inteligencja. Fantazja czy rzeczywistość, "Wiedza i Życie". Nr 11 s. 20-24.




Opublikowano: 2018-02-11



Oceń artykuł:


Ten artykuł nie ma jeszcze żadnych komentarzy. Skomentuj artykuł