Świat Bytów Wirtualnych 2 Włodzisław Duch Katedra Informatyki Stosowanej, Uniwersytet Mikołaja Kopernika, Toruń School of Computer Engineering, Nanyang Technological University, Singapore Google: Duch Kierunki rozwoju nowoczesnych technologii, Uniw. Łódzki, 24.04.2004
Plan Technologia: agenci, awatary, grafika Świat bytów wirtualnych w Internecie i telefonach: awatary, boty, sztuczne osobowości w cyberprzestrzeni. Trochę definicji: cyberprzestrzeń, agent. Rynek: automatyzacja ... Potrzeby: robotyka kognitywna, automatyzacja złożonych czynności, interfejsy w języku naturalnym. Przykłady istniejących zastosowań. Technologia: agenci, awatary, grafika Technologia: dialog z użytkownikiem. Technologia: modele kognitywne złożonych zachowań. Co nadejdzie wkrótce? Dokąd to zmierza?
Technologie: agenci Podsumowanie rozwoju technologii agentów: http://www.agentlink.org/roadmap/roadmapreport.pdf Agent programowy to: Każdy system, który odbiera informacje z otoczenia i reaguje na te informacje. Cel: stworzyć agentów, którzy są samowystarczalni, zdolni do wykonywania wyspecjalizowanych funkcji. Człowiek: Sensory: oczy, uszy, skóra, nos, język ... Efektory: ręce, nogi, język, usta ... Robot: Sensory: kamery, czujniki podczerwieni, sonary, mikrofony ... Efektory: koła, motory, manipulatory ... Programy: Sensory wirtualne: ciągi bitów, zawierające informacje dochodzące ze środowiska ... Efektory wirtualne: ciągi bitów, przesyłane do środowiska...
Działanie agenta Idealny racjonalny agent powinien: Posiadać miarę oceny swojego działania z punktu widzenia stawianych przed nim celów. Wykorzystywać informację zawartą w nadchodzących postrzeganych danych tak, by optymalizować tą miarę w oparciu o dostępną wiedzę.
Jak? Działanie racjonalne – oparte na rozumowaniu. Mając różne możliwości działania, należy wybrać (wyszukać) najlepszą z punktu widzenia celu. Obiektywne miary jakości działania biorą pod uwagę. Szansa na sukces? Czas potrzebny do rozwiązania problemu? Koszt tego rozwiązania? Automatyczny kierowca: Osiągnięcie celu podróży, przestrzeganie przepisów i bezpieczeństwo jazdy, wybieranie najkrótszej drogi. Agent wyszukujący sklepy i porównujący ceny: Czy znalazł wszystkie oferty? Jak szybko? Czy uwzględnił wszystkie preferencje użytkownika?
Wiedza i działanie Działanie racjonalne wymaga wiedzy: Wiedza agenta jest zawsze ograniczona, np. z powodu ograniczeń percepcji lub braku doświadczenia, co czasami nie pozwala na znalezienie najprostszego rozwiązania. Zachowanie zależy od relacji pomiędzy postrzeganym (senso) a wykonywanym (motorycznych). Relacje w prostych przypadkach mogą być zapisane w tabeli. Relacje mogą być dane w postaci funkcji. Agent powinien działać autonomicznie: Autonomia wymaga zmiany zachowania w zależności od napływających danych. Nabywanie doświadczenia wymaga uczenia się agenta. W najprostszym razie uczenie się jest zmianą programu przez twórcę agenta.
Struktura agentów programowych Agent = architektura systemu + program Program: zbiór algorytmów określających relacje pomiędzy spostrzeżeniami a działaniami agenta. Architektura: Sprzęt i środowisko programowe. Dostęp do danych zewnętrznych (percepcji). Kontrola wykonywania programu. Dostęp do efektorów. Agent scharakteryzowany jest przez: Postrzeżenia. Akcje. Cele. Środowisko, w którym działa. Ulubione zajęcie informatyków zajmujących się agentami to pisanie środowisk do budowy agentów. Godnym polecenia jest JADE (Java Agent DEvelopment Framework), opracowany przez Telecom Italia Lab.
Przykłady agentów Agent Postrze-żenia Akcje Cele Środowisko Robot przemysłowy Piksele z kamery Ruch manipulatora Sortowanie części Taśma montażowa Kontroler rafinerii Ciśnienie, temp, par. chemiczne Regulacja zaworów Maks. wydajności Rafineria Analizator obrazów Piksele z kamer Segmentacja obrazu Prawidłowa segmentacja Satelita, skrzyżowanie Diagnostyka medyczna Testy medyczne Pytania, testy, terapia Poprawa zdrowia Szpital Automatyczny kierowca Czujniki, kamery Kierowanie, wybór drogi Bezpieczny przejazd Ulica, ruch drogowy Agent sklepowy Ceny, oferty, sklepy. Negocjacje, wyszukiwanie Prezentacja, porównanie Internet
Typy agentów Agenci mogą być prostymi lub złożonymi systemami. Agent wykorzystujący proste odruchy, nie ma pamięci, wykorzystuje reguły definiujące działanie, zwykle korzysta z systemu produkcyjnego (regułowego). Agent oparty na tabeli spostrzeżeń/działań, wykorzystuje duże tabele by wybrać następne działanie w zależności od sytuacji; tabela służy tu jako pamięć i umożliwia modelowanie przejść pomiędzy stanami wewnętrznymi. Agent oparty na odruchach z pamięcią stanu wewnętrznego, np. agent Markowa pamiętający swój poprzedni stan; tylko stan bieżący ma wpływ na podjętą decyzję. Agenci posiadający cele wykorzystują informację o bieżącym stanie i posiadający reprezentację możliwych stanów, ocenianych z punktu widzenia przyjętych celów. Agenci maksymalizujący funkcje użyteczności.
Agent Tablicowy Agenci posługujący się tablicami korelacji: Agent grający w szachy musiałby mieć tablicę o rozmiarze rzędu 35120. Trudno jest zbudować tabelę wszystkich możliwych powiązań. Agent nie jest autonomiczny, bo przy zmianie środowiska (np. reguł gry) nie potrafi sobie poradzić, wszystkie akcje trzeba z góry przewidzieć.
Agent z prostymi refleksami Agenci określający stan i stosujący regułę dla tego stanu: Reguły typu: warunek-akcja, np. Jeśli światło(czerwone) to przyspieszaj Jeśli światło(zielone) to hamuj Decyzje podejmowane tylko w oparciu o spostrzeżenie, rozważana jest tylko jedna decyzja. Zmiana pasa w czasie jazdy wymaga pamięci stanu poprzedniego: czy widać coś we wstecznym lusterku. Pamięć jest czasem niezbędna.
Agent ze stanami wewnętrznymi Model środowiska i rezultatów swojego działania.
Agent ze stanami wewnętrznymi Agenci zmieniający swoje stany wewnętrzne na skutek percepcji. Stany wewnętrzne pozwalają na zróżnicowanie reakcji przy tych samych stanach percepcyjnych, w zależności od przeszłego działania agenta. Wymaga modelu świata, reprezentacji jego zmian i wpływu własnych działań na stan świata. Ograniczenie się tylko do poprzedniego stanu znacznie upraszcza budowę agenta (łańcuchy Markowa).
Agent z celami Agenci reprezentujący stany wewnętrzne będące modelem środowiska i stany pożądane.
Agent z celami Cel: opis sytuacji pożądanej. Ogólny: osiągnięcie przewagi w grze. Szczegółowy: dotarcie do planowanego miejsca. Ostatni stan nie wystarczy, konieczny jest opis stanu oparty na reprezentacji skutków wirtualnych akcji. Stan wewnętrzny: pozwala śledzić zmiany stanu świata, nie tylko bezpośrednio spostrzegane zmiany. Rozważanych jest wiele decyzji: co się stanie jeśli ... Podstawą działania jest planowanie i szukanie.
Agent z f. użyteczności Stany oceniane za pomocą f. użyteczności.
Agent z f. użyteczności Preferowane stany wewnętrzne mają wyższe wartości funkcji użyteczności – modeluje to ukierunkowanie emocjonalne. Np. należy wybrać szybsze, bezpieczniejsze lub pewniejsze sposoby transportu. F. użyteczności f: stan => U(stan) F. użyteczności umożliwia: rozstrzyganie pomiędzy sprzecznymi celami. szansą na sukces a wagą celu. Szukanie – związane z celami, działania bezpośrednie. Użyteczność – związana z osiąganiem dalekosiężnych celów (np. wygranej lub zdobyciu przewagi w grach)
Agent ds. zakupów Agent krążący po sklepie powinien orientować się w przestrzeni: agent refleksyjny – ma szczegółową mapę (przy zmianie położeń ma kłopoty). agent celowy – sam tworzy mapę i wykorzystuje ją do rozumowania, dostosowuje się do zmian, np. wyprzedaży. Wybieranie przedmiotów: musi rozpoznawać przedmioty. agent refleksyjny – zbiera przedmioty dobrze wyglądające. agent celowy – posługuje się lista zakupów, ocenia wybierane przedmioty. Może planować, np. jeśli nie znajduje poszukiwanego przedmiotu planuje inne sposoby jego zakupu. agent z f. użyteczności – uwzględnia jakość i cenę.
Przykłady agentów Działa wiele agentów programowych: donoszące o błędach w programie – czuwają i przy wykryciu błędu zbierają informację i poszukują właściwego odbiorcy. agent pocztowy – dostarcza pocztę, poszukując odbiorcy. agent WWW – poszukuje informacji w sieci korzystając z różnych mechanizmów wyszukiwawczych. agent bibliograficzny – czuwa nad aktualizacją danych bibliograficznych, linków WWW. agent bioinformatyczny – śledzi pojawianie się nowych informacji i nowych baz informatycznych, dokonuje konwersji formatów danych.
Agenci w sieci Technologie wspierające infrastrukturę internetową, umożliwiające działanie agentów i współpracę systemów komputerowych. Podstawowe technologie internetowe. Zdalne uruchamianie Rozproszone obiekty łączenie P2P Usługi Java łączność bezprzewodowa integracja usług WWW technologie GRIDowe
Standardy dla agentów Współpraca wymaga standardów: w Europie jest kilka dużych programów, powstają systemy do robienia agentów (bardzo dobry jest JADE zrobiony przez Telecom Italia), standardy FIPA (Foundations of Intelligent Physical Agents), ważne konferencje i konkursy, takie jak Robocup. z AgentLink Roadmap
Standardy Technologie przechodzą przez cykle popularności, nadmiernych oczekiwań i rozczarowań: technologie agentowe również. z AgentLink Roadmap
Technologie przyszłości Działa wiele agentów programowych: donoszące o błędach w programie – czuwają i przy wykryciu błędu zbierają informację i poszukują właściwego odbiorcy. agent pocztowy – dostarcza pocztę, poszukując odbiorcy. agent WWW – poszukuje informacji w sieci korzystając z różnych mechanizmów wyszukiwawczych. agent bibliograficzny – czuwa nad aktualizacją danych bibliograficznych, linków WWW. agent bioinformatyczny – śledzi pojawianie się nowych informacji i nowych baz informatycznych, dokonuje konwersji formatów danych.
Szukanie semantyczne Jak zrozumieć sens informacji i wyszukać dokładnie to, o co chodzi pytającemu? Jak zrozumieć sens wypowiedzi w dialogu? W ramach projektów bibliotek cyfrowych (digital libraries) powstały projekty InterSpace, MedSpace, zastosowania „przestrzeni koncepcji” do określenia sensu pojęć: Słowo => wektor kontekstowy, relacje semantyczne => relacje odległości Dużo do zrobienia! Próbujemy tworzyć automatycznie reprezentację wiedzy o świecie, która ma każdy człowiek, ale nie bot ... Konieczna jest integracja różnych modeli pamięci: rozpoznawczej, semantycznej, epizodycznej, roboczej.
Avatars & bots in virtual environment Steve: agent uczący w wirtualnych środowiskach Nałóżmy okulary lub hełm VR, rękawice z sensorami i efektorami, by udać się do cyberprzestrzeni gdzie Steve i jego pomocnicy pokażą nam jak obsługiwać skomplikowaną maszynerię statku.
Roboty Roboty, ucieleśnione boty: sterowanie w czasie rzeczy- wistym, rozpoznawanie obiektów, ludzi, planowanie ... Zabawki – pieski AIBO, okres pełnego rozwoju wynosi 6 tygodni, duża sprawność ruchowa, same szukają prądu, rozpoznają głos i twarze. Najbardziej zaawansowane roboty humanoidalne: Honda P3 – 1.60m, 130 kg; Honda Asimo – 1.20 m, 43 kg. Sony Qrio – 0.6 m, 7 kg. Dynamiczna kontrola ruchu, potrafi tańczyć, grać w golfa, dyrygować. Rozpoznaje kilkadziesiąt tysięcy słów, głos, twarze, pamięta rozmowy; wykonuje wiele złożonych ruchów po zrozumieniu poleceń głosowych. Wzrok, słuch, rozpoznawanie obiektów ... => może działać autonomicznie. Procesy myślowe, rozumowanie, planowanie ... powoli nadchodzą.
Rozwój robotów Steve to tylko symulacja, która uczy nas obserwując nasze działania. Nomad, DB, Cog, Kismet, to roboty rozwijające swoje niemowlęce umysły. Cog: sakadyczne ruchy oczu, lokalizacja dźwięku, koordynacja motoryczna, równowaga, koordynacja wzroku i słuchu, koordynacja ruchu oczu, głowy i rąk, rozpoznawanie twarzy, kontakt wzrokowy, rozpoznawanie obiektów przez dotyk ... Interesujący model autyzmu! DB: pierwszy robot uczący się przez obserwację tańca, balansowania, gry w tenisa, żonglowania ... złożone ruchy oczu, zadania wymagające np. łapania piłki. Kismet: towarzyski robot wykazujący emocjonalne reakcje, wydaje się żywy.
Roboty + umysł Agent, bot, robot – maszyny bez rozumu? Wyższe czynności poznawcze – robotyka kognitywna – da im możliwość rozumowania o celach, spostrzeżeniach, działaniach, stanach mentalnych innych agentów. Allan Newell, SOAR uniwersalne teorie poznania + modelowanie kognitywne + analiza języka => NL-SOAR, oparty na regułach. John Anderson, ACT-R, architektura i teoria poznawcza. Intencje, instynkty, napędy: czemu nie? Gerald Edelman, roboty Nomad/Darwin mają ogólne instynkty, np. poszukują silniejszych wrażeń, co prowadzi do złożonych form zachowań, wodzenia kamerą za oświetlonymi poruszającymi się obiektami, zbliżenia się i zbadania tych obiektów. Nomad, DB, Cog, Kismet, Hal ... rozwój od podstaw, jak dziecko.
Dokąd to prowadzi? Czy proces modelowania zbiegnie się do czegoś autentycznego, czy tylko do sprytnego kalkulatora? Jak się ma symulacja myślenia do „myślenia prawdziwego”? Czy z cyfrowej chmury spadnie deszcz? Czy przyszły AIBO będzie miał psi umysł, a przyszły Kismet jak David z filmu AI? Niemożliwe? Czego więc brakuje? Allan Turing: świadomość to źle zdefiniowana koncepcja; wystarczy dostatecznie dobrze imitować umysł by nim być! Czy taka imitacja będzie czymś świadoma swojego wewnętrznego świata, czy będzie zombi, wykonującym swój program? Wielu filozofów umysłu (Jackson, Nagel, Searle, Chalmers ... ) próbowało wykazać, że jest tu jakiś magiczny czynnik ...
Złożoność mózgu Proste neuropodobne modele mają wiele cech podobnych do naszej pamięci skojarzeniowej: Pamięć jest rozproszona, wiele neuronów uczestniczy w kodowaniu tego samego śladu pamięci. Uszkodzenia sieci neuronów prowadza do łagodnego spadku jakości a nie zapominania konkretnych faktów. Pamięć epizodu odtwarza się z fragmentów. Czas przypominania nie zależy do liczby zapamiętanych faktów. Interferencja (błędy) i skojarzenia zależą od podobieństwa pamiętanych wzorców. Próby zapamiętania zbyt wielu rzeczy zbyt szybko kończą się chaosem .... Większość neuropsychologicznych syndromów i chorób psychicznych ma już niezłe modele. Mózgo-podobne obliczanie prowadzi do umysło-podobnych funkcji. => Złożoność mózgu nie musi być istotna, jak szybko to się zbiega?
Mózgopodobne systemy Stany mózgu to czaso-przestrzenne, fizyczne pobudzenia neuronów. Widzę, słyszę, czuję .. stany swojego mózgu! Np: ślepota zmian. Procesy kognitywne działają na mocno przetworzonych perceptach. Czerwień, słodycz, swędzenie, ból ... to stany fizyczne mózgu. W odróżnieniu od rejestrów komputera stany mózgu są dynamiczne, zawierają w sobie potencjalne relacje i skojarzenia. Świat wewnętrzny jest rzeczywisty! Stany umysłu to relacje pomiędzy stanami mózgu, pamięci roboczej. Komputery i roboty nie mają podobnych stanów.
Czy da się to zrobić? Tak! np. Pentti Haikonen (Nokia) robi symulacje modeli pamięci roboczej w których informacja sensoryczna (oparta o konkurencyjny algorytm dostępu do pamięci) przesyłana jest do obszarów skojarzeniowych. Właściwe pytanie: jak szczegółowy powinien być model by odtwarzać istotne cechy działania umysłu? Jeśli podsystem językowy będzie komentował stan pamięci roboczej, to jak będzie wyglądał ciąg jego komentarzy? Strumień świadomości: śliczny kolor, całkiem jak morza na Capri ...
W stronę świadomych robotów Komputer nie jest dobrą metaforą by myśleć o umyśle. Świadomość – obecna u ssaków, ptaków, wystarczy prosty mózg lub mózgo-podobna organizacja przetwarzania informacji. Czy chcemy coś takiego zbudować? Niewiele jest konkretnych projektów, ale ich liczba będzie rosła. Stan Franklin, "Conscious" Software Research Group, Institute of Intelligent Systems, University of Memphis, projekt CMattie: próba zaprojektowania i zaimplementowania agenta programowego w oparciu o teorię Global Workspace Theory (Bernard Baars). Owen Holland, University of Essex: wzrastająca złożoność inteligentnych zachowań w robotach z modelami wewnętrznymi środowiska, złożony system kontroli zachowania, powinien dać “oznaki świadomości”. Pentti Haikonen (Nokia, Helsinki), The cognitive approach to conscious machines (Imprint Academic 2003). Symulacje i nowe mikroczipy do budowy takich maszyn.
Symulacje sprzętowe? Wiele osób proponowało zrobienie mózgo-podobnych komputerów w oparciu o specjalne obwody scalone lub nawet wykorzystanie biologicznych neuronów. Connection Machines firmy Thinking Machines, Inc. (D. Hills, 1987) prawie odniosła sukces, zmierzając do masowej współbieżności. CAM Brain (ATR Kyoto) – popularny w Polsce projekt, niestety bez sensu, zmierzał w stronę ewolucji funkcji w sieciach komórkowych, by coś wyewoluować trzeba znać funkcję, a znamy głównie struktury. Potrzebujemy do symulacji uproszczonych modeli neuronów impulsujących oraz dwywym. warstwowej kory ssaka. ALAVLSI (konsorcjum EU), ogólna architektura mechanizmów uwagi i uczenia się oparta o neuromorficzną technologię VLSI. Osiągnięto dynamiczną kategoryzację obiektów w ruchu (2005).
Inne próby Artificial Development (www.ad.com) buduje CCortex™, symulator 20 mld neuronów kory mózgu i układów podkorowych, na klastrze 500 komputerów – najwiekszy projekt do tej pory. Artificial Development zamierza zastosowac swój symulator w wielu komercyjnych produktach, skierowanych w stronę globalnego biznesu, analizy semantycznej raportów i obrazów. Mało prawdopodobne? The Ersatz Brain Project – James Anderson (Brown University), oparty o model struktur kory, kolumn o różnych rozmiarach, od mini ~102, dużych ~104, do hiperkolumn korowych ~105 neuronów. Próba stworzenia sieci sieci, NofN, Network of Networks approximation, w oparciu o moduły typu BSB (Brain-State-in a Box).
Nasz projekt ABACUSS Artificial Development (www.ad.com) buduje CCortex™, symulator 20 mld neuronów kory mózgu i układów podkorowych, na klastrze 500 komputerów – najwiekszy projekt do tej pory. Artificial Development zamierza zastosowac swój symulator w wielu komercyjnych produktach, skierowanych w stronę globalnego biznesu, analizy semantycznej raportów i obrazów. Mało prawdopodobne? The Ersatz Brain Project – James Anderson (Brown University), oparty o model struktur kory, kolumn o różnych rozmiarach, od mini ~102, dużych ~104, do hiperkolumn korowych ~105 neuronów. Próba stworzenia sieci sieci, NofN, Network of Networks approximation, w oparciu o moduły typu BSB (Brain-State-in a Box).
Attention-Based Artificial Cognitive Control Understanding System (ABACCUS) Duży projekt zintegrowany EU, 9 instytucji: King’s College London (John G. Taylor, koordynator), UK Centre for Brain & Cognitive Development, Berkbeck College, University of London, UK Cognition and Brain Sciences Unit, Medical Research Council, UK Robotics and Embedded Systems, Technical University of Munich, G Institute of Neurophysiology and Pathophysiology, Universitätsklinikum Hamburg-Eppendorf, G Institute of Computer Science, Foundation for Research and Technology – Hellas, Heraklion, Crete, GR National Center for Scientific Research “Demokritos”, Athens, GR Dipartimento di Informatica, Sistemistica, Telematica, Universita di Genova, I Dep. of Informatics, Nicholaus Copernicus University, Torun, PL
Motywacje AI i CI nie doprowadziły do powstania dobrych interfejsów człowiek - maszyna, nie rozwiązały problemów dotyczących analizy obrazów, ani rozumienia języka naturalnego, szukania semantycznego i odkrywania wiedzy w danych, ani nawet dowodzenia matematycznych twierdzeń. Praktyczna motywacja: aplikacje z którymi można się porozumiewać w naturalny dla naszego aparatu poznawczego sposób wymagają mózgo-podobnej architektury (realizowanej programowo lub sprzętowo) by radzić sobie z takimi problemami; jest to centralny problem robotyki kognitywnej. Naukowe: zrozumienie jak wyższe czynności poznawcze powstają w wyniku oddziaływań pomiędzy neuronami wymaga zbudowania narzędzia w postaci symulatora; rozumienie złożonych systemów jest prawdziwe tylko gdy uda się nam je zbudować. Szybkość superkomputerów w 2005 roku osiągnęła 1016 binop/s, jest więc podobna do mózgu, chociaż architektura całkiem odmienna.
Konkluzje Roboty i awatary będą wykazywać coraz bardziej wyrafinowane człeko-podobne zachowania – grafika komputerowa zaczynała tak Sztuczne umysły mózgopodobnych systemów będą miały qualia; qualia w sztucznych systemach nie będą odmienne od naszych. Nie ma dobrych argumentów przeciwko zbieganiu się procesów modelowania mózgu do świadomych artefaktów. Osiągnięcie kompetencji na poziomie ludzkim w wielu dziedzinach (język, rozwiązywanie problemów) może zająć więcej czasu niż świadomość i qualia. Stworzenie świadomych artilektów (artikonów?) otworzy puszkę Pandory. Jaki będzie ich status? Czy doprowadzi to do degradacji godności ludzkiej? Czy wyłączenie świadomej maszyny to morderstwo? Czy nie zwrócą się przeciwko nam ... a może gubernator Kalifornii już jest jednym z nich?
Zagrożenia bliskie. Czy jest to nowy, wspaniały świat? W ciągu 10 lat nie będziemy się już mogli obyć bez swojego awatara. Coraz bardziej będziemy polegać na technice. Spam będzie się coraz bardziej rozszerzał – wkrótce strach będzie podnieść słuchawkę telefonu. Otrzymywałem już różne telefony ... Boty zachęcają na stronach internetowych i w grupach IRC do spróbowania pewnych usług. Telefonia Internetowa jest za darmo; w USA za 20$ można dzwonić cały miesiąc bez ograniczeń co do miejsca i czasu rozmów. Nie ma powodu by mój bot nie dzwonił do tysięcy osób na raz, przekonując by kupić reklamowane produkty. Na pewno pojawią się porno-boty i boty-naciągacze ... Widać też wiele innych zagrożeń ...
??? Notatki do wielu referatów: WWW (Google “Duch”) => PL => referaty po polsku Linki do botów i awatarów: WWW => Sztuczna Inteligencja i uczenie maszynowe WWW => AI w Szukaniu Informacji i zagadnieniach językowych Praca: Brain-inspired conscious computing architecture. WWW => Archiwum publikacji => Cognitive subjects ???