Sztuczna inteligencja Mianem sztucznej inteligencji (ang. Artificial Intelligence AI) można określić dziedzin e wiedzy zajmuj ac a si e poszukiwaniem technik rozwi azywania i ich formalnym sformu lowaniem pozwalaj acym na implementacj e maszynow a problemów trudnych, czyli takich które ludzie rozwi azuj a mniej lub bardziej wysilaj ac swój intelekt ale których dok ladnego i ogólnego algorytmu rozwi azania nie potrafi a podać. Nie jest to precyzyjna definicja. Czy to jest trudny problem: 98731269868414316984251684351 985316846315968463198643541684? A to: M eżu, kup ladny kawa lek wo lowiny na pieczeń! Problem naprawd e mega trudny: przelać wod e ze szklanki do pojemnika. Dok ladniej: maj ac pod l aczon a do komputera kamer e wideo (niech b edzie dwie) i mechaniczn a rek e z palcami i przegubami, napisz program zdolny podnieść ze stolika szklank e z wod a, i przelać wod e do pojemnika. Dowoln a szklank e. Z dowolnego stolika. Do dowolnego pojemnika. Wprowadzenie do sztucznej inteligencji co to jest AI? 1 Poj ecie inteligencji, lub jej braku, bywa cz esto nadużywane. Inteligentnym budynkiem nazywa si e budynek wyposażony w system automatycznego sterowania ogrzewaniem. Czym jest a czym nie jest inteligencja? Jednocześnie cz esto g lupim (czyli: pozbawionym inteligencji) nazywa si e program komputerowy, poprawiaj acy na bież aco b l edy pope lniane przez (inteligentnego) cz lowieka w pisanym przez niego tekście, gdy program ten pope lni okazjonaln a pomy lk e i zaproponuje niew laściwy wyraz. Wprowadzenie do sztucznej inteligencji co to jest AI? 2 Co jest istot a inteligencji naturalnej? Komputery sa tanie i szybkie, maj a pot eżne i niezawodne pami eci, a przy tym sa dok ladne, nie myl a si e (no, powiedzmy), i nie m ecz a si e, zachowuj ac swoj a dok ladność przez wiele godzin pracy. W czym wi ec problem, co jest takiego w inteligencji cz lowieka, z czym maj a trudności komputery? Cz eściowo, problem tkwi w laśnie w tej wytrwa lej i niezawodnej dok ladności! Ludzie rozwi azuj a trudne problemy stosuj ac abstrakcj e wielopoziomow a analiz e problemu i zdolność nieschematycznej dekompozycji problemu, tzn. rozbijania wi ekszego problemu na mniejsze. Ich myślenie cechuje elastyczność zmienny punkt widzenia i myślenie wielokierunkowe. S a zdolni do efektywnego rozpoznawania wzorców, kojarzenia faktów, oraz wykorzystywania analogii. Komputery natomiast maj a trudności z rozpoznawaniem odmiennych sytuacji, zmian a sposobu myślenia, i dostosowaniem go do sytuacji. Algorytmy rozpoznawania wzorców mog a być efektywne jeśli s a bardzo wyspecjalizowane, ale wtedy przestaj a dzia lać gdy tylko zmienia si e sytuacja. Wprowadzenie do sztucznej inteligencji co to jest AI? 3 AI-entuzjaści i AI-sceptycy Sztuczna inteligencja ma swoich zwolenników i oponentów. Oponenci AI twierdz a, że sztucznej inteligencji nie da si e skonstruować, ponieważ inteligencja ma charakter nieobliczeniowy, i jest wy l aczn a domen a ludzkiego umys lu. Zaś istniej ace systemy praktyczne najwyraźniej nie maj a nic wspólnego z prawdziw a inteligencj a, skoro s a oparte na programach komputerowych, a te jedynie wykonuj a operacje na liczbach i symbolach. Sztuczna inteligencja ma charakter uciekaj acego celu. Gdy niektóre zadania stawiane dawniej przed ta nauk a zosta ly rozwi azane, oponenci AI stwierdzili, że rozwi azania tych problemów nie wymaga ly inteligencji, tylko by ly zwyczajnie nieznane. Przydatny by lby obiektywny test, pozwalaj acy stwierdzić, czy stworzono sztuczn a inteligencj e. Wprowadzenie do sztucznej inteligencji co to jest AI? 4
Test Turinga (ca 1950) Należy skonstruować system zamkni ety w odizolowanym pomieszczeniu i po l aczony z niezależnym obserwatorem terminalem komunikacyjnym (typu teletype). Operator może komunikować si e z systemem w j ezyku naturalnym, zadawać pytania, itp. Jednocześnie drugi terminal l aczy operatora z drugim pomieszczeniem, gdzie przy terminalu siedzi cz lowiek. Jeśli operator nie b edzie móg l na podstawie odpowiedzi uzyskiwanych od obu partnerów definitywnie stwierdzić który z nich jest systemem komputerowym, a który żywym cz lowiekiem, to system komputerowy należy uznać za inteligentny. Pomimo up lywu czasu test zachowuje aktualność, tzn. nie stworzono systemu, który by ten test bezdyskusyjnie zaliczy l. Wprowadzenie do sztucznej inteligencji test Turinga 5 Praktyczne aspekty testu Turinga Zrealizowanie testu Turinga w praktyce zależy od nast epuj acych czynników ludzkich: cz lowieka zadaj acego pytania, cz lowieka nadzoruj acego przebieg testu, i s edziów oceniaj acych otrzymane wyniki. Wprowadzaj a oni, że test jest subiektywny. Wprowadzenie do sztucznej inteligencji test Turinga 6 Konkursy zwi azane z testem Turinga Test Turinga jest pewn a abstrakcj a i nie ma jednoznacznych regu l. Jednak podejmowane s a próby jego praktycznej implementacji i zaliczenia testu. Na przyk lad, w 1990 roku Hugh Loebner ufundowa l nagrod e $100,000 i z loty medal dla pierwszego komputera, którego odpowiedzi w procedurze stanowi acej wersj e testu Turinga, b ed a wystarczaj aco nieodróżnialne od odpowiedzi cz lowieka. Regulaminy tych konkursów definiuj a treść i zakres komunikacji mi edzy uczestnikami a s edziami konkursu. Jednak ostatecznie to s edziowie decyduj a czy partner w konwersacji jest cz lowiekiem czy maszyn a. Zatem o wyniku takiego konkursu może zdecydować pomy lka (niedostateczna inteligencja?) s edziego. Na przyk lad, w innym konkursie zorganizowanym w 2014 dla uczczenia 60-tej rocznicy śmierci Turinga 33% s edziów uzna lo za cz lowieka rosyjski program Eugene Goostman udaj acy ukraińskiego ch lopca. Organizator konkursu og losi l, że test Turinga zosta l pokonany, co zosta lo wielokrotnie skrytykowane. W 2011 program Watson (IBM) pokona l dwóch finalistów-ludzi i wygra l $1M w grze telewizyjnej Jeopardy!, gdzie prowadz acy podaje has lo-sugesti e, a uczestnicy musz a potwierdzić jego zrozumienia przez sformu lowanie pytania. Wprowadzenie do sztucznej inteligencji test Turinga 7 Wprowadzenie do sztucznej inteligencji test Turinga 8
Szachy komputerowe Szachy sa gr a wymagaj ac a inteligencji i od zawsze stanowi ly wyzwanie i naturalny poligon dla technologii sztucznej inteligencji. Jednym z pierwszych programistów szachów komputerowych by l Alan Turing, który nie by l jednak w stanie uruchomić swojego programu na żadnym komputerze, ale wykonywa l go przez r eczn a symulacj e. W 1957 roku Herb Simon, jeden z pionierów sztucznej inteligencji przewidzia l, że w ci agu 10 lat komputer zostanie mistrzem szachowym. Istotnie si e przeliczy l. Po wielu latach wysi lków nad budow a algorytmów, programów, i specjalizowanych komputerów do gry w szachy, dopiero w 1997 po raz pierwszy komputer szachowy Deep Blue pokona l mistrza świata Gary Kasparowa w jednym meczu. Nie oznacza lo to jednak pe lnego zwyci estwa komputerów nad ludźmi w szachach. Przez kolejnych 10 lat szereg kolejnych budowanych programów walczy lo z najlepszymi szachistami ze zmiennym powodzeniem. W roku 2006 program Deep Frits pokona l w turnieju mistrza świata Wladimira Kramnika. Od tego czasu zainteresowanie rozgrywkami najlepszych programów z ludźmi zacz e lo spadać, co w jakiś sposób sygnalizuje zakończenie tej walki zwyci estwem komputerów. Wprowadzenie do sztucznej inteligencji szachy i inne gry 9 Inne gry Możnaby powiedzieć, że gry s a dla sztucznej inteligencji czymś takim jak wyścigi samochodowe dla przemys lu motoryzacyjnego. Od zawsze stanowi ly wyzwanie dla badaczy i programistów. Gdy jedna gra zostawa la rozpracowana badź teoretycznie, badź przez si lowe przeszukiwanie po l aczone ze sprytnymi technikami zainteresowanie przenosi lo si e na inne gry. W warcabach program po raz pierwszy pokona l mistrza świata w roku 1994. Nieco później warcaby zosta ly rozpracowane teoretycznie. Jeśli obie strony graj a optymaln a strategi a, to gra kończy si e remisem. W grze Othello najlepsze programy dominuj a nad ludźmi i rywalizacja nie ma sensu. Odwrotnie w grze go (1000 p.n.e.), gdzie liczba możliwych ruchów jest tak duża, że sensowna strategia musi być oparta na analizie logicznej, przewaga si ly obliczeniowej znika, i najlepsze programy graj a na poziomie amatorskim. Ciekawy wynik zosta l osi agni ety w grze Backgammon, gdzie program TDGammon (1992) osi agn a l poziom mistrzowski, dzi eki zdolności uczenia si e, a nie tylko implementacji najlepszych znanych strategii. Strategie odkryte przez program zosta ly później przyj ete przez ludzi. Wprowadzenie do sztucznej inteligencji szachy i inne gry 10 Przez wiele lat bastionem nie do zdobycia przez komputery by la gra go, która jest tak skomplikowana, że zdolność szybkiej analizy i sprawdzania wielu pozycji nie dawa la komputerom przewagi nad ludźmi. Do roku 2016. W marcu 2016 program AlphaGo napisany w Google u pokona l koreańskiego arcymistrza Lee Sedola zamykaj ac kolejny etap rywalizacji ludzi z maszynami. Wprowadzenie do sztucznej inteligencji szachy i inne gry 11 Wprowadzenie do sztucznej inteligencji szachy i inne gry 12
Silna i s laba sztuczna inteligencja W zwi azku z potencjaln a możliwości a zbudowania sztucznej inteligencji sformu lowano dwa poziomy realizacji tego celu. Hipoteza silnej sztucznej inteligencji postuluje możliwość zbudowania systemu rzeczywiście inteligentnego, zdolnego myśleć jak cz lowiek i posiadaj acego umys l. Hipoteza s labej sztucznej inteligencji polega na budowie systemów, które potrafi lyby dzia lać i rozwi azywać problemy w warunkach pe lnej z lożoności świata rzeczywistego, tak jakby umys l posiada ly i myśla ly. Rozróżnienie tych dwóch postulatów ma g lównie charakter filozoficzny i etyczny. Wprowadzenie do sztucznej inteligencji zadania 13 Cele AI W praktyce, celem badań i prac inżynierskich w zakresie sztucznej inteligencji sa: opracowanie obliczeniowej (algorytmicznej) teorii inteligencji, funkcjonowania ludzkiego mózgu, pami eci, świadomości, emocji, instynktów, itp. W tym sensie sztuczna inteligencja ma zwi azek z biologi a, psychologi a, filozofi a, jak również matematyk a i informatyk a, ale także innymi dziedzinami nauki i wiedzy. budowa inteligentnych systemów (komputerowych) do skutecznego rozwi azywania trudnych zagadnień, zdolnych funkcjonować w normalnym świecie W tym sensie sztuczna inteligencja musi wspó lpracować, poza informatyk a, z robotyk a, mechanik a, mechatronik a i szeregiem dziedzin inżynierskich. Wprowadzenie do sztucznej inteligencji zadania 14 Zadania do rozwi azania Pomi edzy innymi, sztuczna inteligencja musi zmierzyć si e z nast epuj acymi zadaniami: reprezentacja wiedzy aby móc przyjmować pojawiaj ace si e informacje o świecie, rozumieć je, konfrontować z już posiadan a wiedz a wnioskowanie aby wyci agać wnioski z pojawiaj acych si e informacji, i podejmować decyzje o dalszych dzia laniach uczenie si e dla dostosowania si e do nowo pojawiaj acych si e okoliczności, nieprzewidzianych przez twórców systemu, pojmowania nowych zjawisk, itp. rozumienie j ezyka naturalnego jest praktycznie niezb edne aby można by lo praktycznie sprawdzić zdolności systemu sztucznej inteligencji pos lugiwanie si e wizj a w celu samodzielnego pozyskiwania wiedzy o świecie robotyka czyli praktyczna konstrukcja systemu zdolnego poruszać si e i wykonywać dzia lania w świecie rzeczywistym Wprowadzenie do sztucznej inteligencji zadania 15 Wprowadzenie do sztucznej inteligencji zadania 16
Reprezentacja wiedzy Problem reprezentacji wiedzy jest centralny dla wszystkich dziedzin i technik sztucznej inteligencji. Polega on na stworzeniu/wyborze j ezyka umożliwiaj acego wyrażanie faktów, relacji, zależności, dzia lań, ich w lasności, znaczenia, skutków, i innych informacji o problemie i jego otoczeniu, które maj a lub mog a mieć zwi azek z jego rozwi azywaniem. Problemem jest wybór i użycie dobrego j ezyka reprezentacji wiedzy. Zastosowanie w laściwego j ezyka cz esto umożliwia efektywne znalezienie rozwi azania, podczas gdy zastosowanie niew laściwego j ezyka może je znacznie utrudnić lub uniemożliwić. Dobra reprezentacja wiedzy ma również znaczenie dla efektywności pracy cz lowieka nad problemem. Dobry j ezyk reprezentacji pozwala rozumieć si e nawzajem ludziom fachowcom reprezentuj acym różne dziedziny wiedzy, pracuj acym wspólnie nad problemem. Wprowadzenie do sztucznej inteligencji reprezentacja wiedzy 17 Wprowadzenie do sztucznej inteligencji reprezentacja wiedzy 18 Uczenie si e maszyn Mówimy, że agent sztucznej inteligencji uczy si e, jeśli poprawia wyniki swoich przysz lych dzia lań na podstawie obserwacji swojego środowiska i wyników dzia lań poprzednich. Dopuszczamy wi ec podzia l agentów sztucznej inteligencji na takich, którzy potrafi a si e uczyć, i takich, którzy tego nie potrafi a lub nie robi a. To może rodzić dwie w atpliwości. Po pierwsze, inteligencja naturalna niepodzielnie posiada zdolność uczenia si e, nie da si e oddzielić inteligentnego dzia lania i uczenia si e. Nie uznalibyśmy za inteligentnego cz lowieka, który nie uczy si e ze swoich doświadczeń, przynajmniej w najprostszy sposób. Dlaczego wi ec rozdzielamy te zdolności dla inteligencji sztucznej? Niestety, nie ma dobrej odpowiedzi na to pytanie. Prawie wszystkie najważniejsze paradygmaty sztucznej inteligencji dzia laj a bez uczenia si e. Zdolność uczenia si e musi być dodana. Wprowadzenie do sztucznej inteligencji uczenie si e maszyn 19 Czy maszynowe uczenie si e jest potrzebne? Pojawia si e wi ec druga w atpliwość: jeśli zdolność uczenia si e nie jest oczywista albo konieczna, to czy na pewno jest niezb edna? Być może algorytmy sztucznej inteligencji mog a być dopracowane w 100% do perfekcji, i agent sztucznej inteligencji nie b edzie już w stanie nic zyskać przez uczenie si e. Na to pytanie istnieje odpowiedź, i można wymienić szereg powodów. Wprowadzenie do sztucznej inteligencji uczenie si e maszyn 20
Czy maszynowe uczenie si e jest potrzebne? (2) Po pierwsze, twórcy systemów sztucznej inteligencji nie s a w stanie przewidzieć wszystkich możliwych sytuacji w jakich znajdzie si e system. Na przyk lad, robot poruszaj acy si e w labiryncie musi nauczyć si e topografii konkretnego labiryntu, w którym si e znajdzie. Po drugie, podobnie nie można przewidzieć wszystkich możliwych zmian w czasie. Np. program maj acy przewidywać zmiany kursów akcji musi nauczyć si e dostosować swoje przewidywania, gdy warunki zmieni a si e w nieoczekiwany sposób. Po trzecie, niekiedy programiści po prostu nie potrafi a zaprogramować pewnych rozwi azań. Na przyk lad, ludzie potrafi a sprawnie rozpoznawać twarze osób znajomych. Nie s a jednak znane żadne skuteczne algorytmy pozwalaj ace osi agn ać podobn a zdolność, z wyj atkiem za pomoc a metod maszynowego uczenia si e. Wprowadzenie do sztucznej inteligencji uczenie si e maszyn 21 Wprowadzenie do sztucznej inteligencji uczenie si e maszyn 22 Zastosowania komunikacja w j ezyku naturalnym Technologie przetwarzania j ezyka naturalnego: rozumienie tekstu, zamiana tekstu na reprezentacj e formaln a maszynowe t lumaczenie ekstrakcja informacji odpowiadanie na pytania klasyfikacja tekstu, filtrowanie spamu, itp. Technologie przetwarzania mowy: rozpoznawanie j ezyka mówionego (ASR) synteza mowy (TTS) systemy dialogowe Wprowadzenie do sztucznej inteligencji zastosowania 23 Zastosowania percepcja wizualna rozpoznawanie obiektów, znaków segmentacja sceny rekonstrukcja 3D klasyfikacja obrazów Wprowadzenie do sztucznej inteligencji zastosowania 24
Zastosowania robotyka Robotyka l aczy ze sob a elementy mechaniki i elektroniki (mechatronika), oraz sztucznej inteligencji. Gdy przyst epujemy do budowy robotów i ich testowania w świecie rzeczywistym, napotykamy problemy daleko wykraczaj ace poza opracowan a teori e. Zagadnienia, istniej ace technologie, zastosowania: planowanie dzia lań sterowanie pojazdami (chodz acymi, jeżdż acymi, lataj acymi) systemy ratunkowe roboty spo leczne opieka nad ludźmi jej wymagaj acymi Wprowadzenie do sztucznej inteligencji zastosowania 25 Wprowadzenie do sztucznej inteligencji zastosowania 26 Historia AI lata 50-te XX wieku idee XIX-wieczne (i wcześniejsze): filozofia, logika, prawdopodobieństwo, badania nad funkcjonowaniem mózgu ludzkiego lata 50-te XX wieku: powstanie AI zwi azane jest z powstaniem informatyki, j ezyk programowania LISP (McCarthy) rozwi azywanie lamig lówek, gry, klasyczne problemy typu: ma lpa i banany, misjonarze i ludożercy, i inne wczesne systemy: GPS (Newell, Shaw, Simon), program do gry w warcaby (Samuel) modele teoretyczne: perceptron (Minsky) Wprowadzenie do sztucznej inteligencji historia 27 Historia AI trzeci kwarta l XX wieku pojawienie si e metod sformalizowanych opartych na logice zwi azek z rozwojem robotyki: metody percepcji, planowanie dzia lań, uczenie si e po pocz atkowym wybuchu entuzjazmu zwi azanym z powstaniem wielu metod i nadziejach na szybkie osi a- gni ecie celów AI nadesz lo zrozumienie problemów z lożoności i bariery kombinatorycznej niedostatki logiki klasycznej: potrzeba rozumowania przybliżonego i robienia za lożeń w braku pewnej informacji rozumowanie oparte na zdrowym rozsadku Wprowadzenie do sztucznej inteligencji historia 28
Historia AI ostatni kwarta l XX wieku zastosowania praktyczne, również komercyjne dowodzenie twierdzeń i obliczenia symboliczne rozumienie j ezyka naturalnego, automatyczne t lumaczenie tekstów, rozumienie mowy automatyczne programowanie: konstrukcja i weryfikacja programów analiza informacji wizyjnej i sterowanie robotami (pojazdami) autonomicznymi eksperckie systemy doradcze dla wielu dziedzin: medycyna, geologia, projektowanie inżynierskie, ekonomia, finanse, itp. uczenie si e Wprowadzenie do sztucznej inteligencji historia 29 Historia AI wiek XXI Na razie prowizoryczna, wiek XXI jeszcze si e nie skończy l... Silny rozwój metod numerycznych, np. dla zagadnień CSP, zaskakuj ace spektakularne wyniki, rozwi azanie niektórych zagadnień trudnych w czasie wielomianowym, lub wr ecz liniowym, np. algorytm GSAT. W tym kontekście nabieraj a znaczenia algorytmy poddaj ace si e zrównoleglaniu. Silny rozwój metod statystycznych, np. przetwarzanie j ezyka naturalnego oparte na korpusach, i inne zastosowania. Rozwój metod opartych na modelach probabilistycznych, procesach Markowa, uczenie si e ze wzmocnieniem, itp. Zwi azki z ekonomi a (inteligentny agent musi dzia lać racjonalnie i ekonomicznie), teori a gier, itp. Metody reprezentacji wiedzy oparte na ontologiach przeżywaj a w XXI wieku odrodzenie i rozwijaj a si e praktycznie w kontekście Internetu, tzw. Semantic Web Initiative. Wprowadzenie do sztucznej inteligencji historia 30 Nadal popularne s a podejścia agentowe, w różnych kontekstach Pojawiaj a si e nowe dziedziny zastosowań, np. roboty spo leczne. Dalsze dziedziny oddzielaj a si e od sztucznej inteligencji i zaczynaj a żyć w lasnym życiem, np. dr ażenie danych. Sztuczna inteligencja przenika do życia praktycznego w różnych postaciach, od inteligentnych asystentów w pakietach oprogramowania, inteligentne systemy obs lugi klientów, systemy wspomagaj ace obs lug e różnych systemów, np. kierowanie samochodami, do systemów przeznaczonych do dzia lania na polu walki. Coraz wi ecej zastosowań sztucznej inteligencji rodzi dylematy, kiedy i w jakim stopniu proces decyzyjny może być przekazywany inteligentnym maszynom. Wprowadzenie do sztucznej inteligencji historia 31 Krótkie podsumowanie pytania sprawdzaj ace 1. Co to jest problem trudny? 2. Co to jest reprezentacja wiedzy? 3. Zdefiniuj dwa g lówne cele AI. 4. Czym sie różni silna AI od s labej? 5. Czy można powiedzieć, że test Turinga zosta l zaliczony, przynajmniej w jakimś stopniu? 6. Dlaczego metody maszynowego uczenia si e sa rozwijane w dodatku do podstawowych metod sztucznej inteligencji? Wprowadzenie do sztucznej inteligencji 32