Historie umělé inteligence Dana Nejedlová Katedra informatiky Ekonomická fakulta Technická univerzita v Liberci
Co je to inteligence? Běžná definice umělé inteligence: UI je obor, který se snaží konstruovat inteligentní stroje a chápat inteligentní entity. Ale co je to inteligence? Učení se, operování s fakty, ale také kreativita, vědomí, emoce a intuice. Mohou být stroje inteligentní? Dodnes není jisté, zda je možné sestrojit stroj se všemi aspekty inteligence. Tento výzkum je v oboru UI ústřední.
Co je umělá inteligence? Stavba strojů manipulujících se symboly, provádějící rozpoznávání, učení a další formy inference Řešení problémů, ve kterých je nutné použít heuristické prohledávání namísto analytického přístupu Využívání nepřesných, neúplných nebo špatně definovaných informací Nalézání formalismů pro reprezentaci informací, které by to kompenzovaly Určování významných kvalitativních znaků situace a operování s nimi Práce se syntaxí a sémantikou Nalézání odpovědí, které nejsou ani přesné ani optimální ale v určitém smyslu „dostatečné“ Využívání velkého množství znalostí z omezené domény Využívání metaznalostí (znalostí o znalostech) pro zlepšení řízení strategií řešení problémů
Před vznikem elektronických počítačů Starověké a středověké mýty Talos, Pandora, Golem umělí lidé, roboti, automaty Výzkum od starověku do 17. stolení n.l. Aristoteles, Gottfried Wilhelm Leibniz automatizace racionálního uvažování Thomas Hobbes, René Descartes mechanistické pojetí živých bytostí 20. století, 1948 Norbert Wiener – Cybernetics: Or the Control and Communication in the Animal and the Machine Inteligentní chování je výsledkem zpětné vazby.
Počátky elektronických počítačů John Louis von Neumann (1903 – 1957) Von Neumannova architektura počítače konzultace na projektu EDVAC (1945) Teorie her (1944) Je aplikovatelná na interagující inteligentní agenty. Celulární automaty (1966) Mají výpočetní kapacitu. Alan Mathison Turing (1912 – 1954) Turingův stroj (1936) formalizace algoritmu, abstrakce počítače Turingův test (1950) návrh, jak testovat schopnost stroje demonstrovat myšlení Programování počítače „Manchester Mark I“ (1949)
Vznik pojmu „umělá inteligence“ John McCarthy poprvé použil termín „Artificial Intelligence“ jako téma Dartmouthské konference v roce 1956. Místo konání: Dartmouth College, Hanover, stát New Hamphshire, USA Organizátoři: John McCarthy, Marvin Minsky, Nathaniel Rochester a Claude Shannon Účastníci: Ray Solomonoff, Oliver Selfridge, Trenchard More, Arthur Samuel, Herbert Simon a Allen Newell Cíl: Dokázat, že každý aspekt učení nebo jakýkoliv jiný znak lidské inteligence se dá v principu precizně popsat a potom simulovat na stroji.
Přístupy k umělé inteligenci Good Old-fashioned Artificial Intelligence (GOFAI) neboli symbolická umělá inteligence (John Haugeland, 1985) Program (například klasifikátor) ve stylu GOFAI je složen z částí (například pravidel), které mají jasný vztah k reálnému světu. New-fangled Artificial Intelligence Nejdůležitější větví byl konekcionismus (connectionism) – umělé neuronové sítě (McCulloch – Pitts, 1943). Ústřední myšlenka je, že velké množství jednotek s výpočetní schopností může dosáhnout inteligentního chování, když bude tvořit síť. Genetické algoritmy (Holland, 1975) a další druhy biologicky inspirovaného zpracování informace Strong AI (John Searle, 1980) Umělá inteligence je skutečná inteligence. Řešení komplexních úkolů, například robotika. Weak AI Umělá inteligence je pouhou imitací lidské skutečné inteligence. Řešení specifických problémů nepokrývajících celou škálu lidských schopností, například rozpoznání písma nebo šachy.
Motivace pro biologicky inspirované zpracování informace Danny Hillis: The Connection Machine (1985) Stroje programované pomocí GOFAI jsou tím pomalejší, čím více je v nich znalostí. Prohledávají bázi znalostí. U lidí je tomu naopak. Mají masivně paralelní architekturu mozku. Lidé nejsou výsledkem inženýrského projektu. Jsou výsledkem evoluce. Marvin Minsky: The Society of Mind (1986) Model lidské inteligence vystavěné z interakcí jednoduchých částí zvaných agenty(i?), kteří nemají vědomí. Je obtížné si představit, jak by evoluce zformovala tak složitý systém, jako je lidská mysl, jako jeden celek. Evoluce ale mohla vytvořit jednotlivé specializované kognitivní jednotky a formovat mechanismy jejich interakcí. Marvin Minsky: The Emotion Machine (2006) Emoce jsou jen jiným způsobem přemýšlení, který naše mysl používá pro zvýšení naší inteligence.
Filozofie umělé inteligence Co je to inteligence a myšlení? Turingův test (1950) Podle GOFAI je myšlení manipulací se symboly, a proto program ve stylu GOFAI myslí. Problém čínského pokoje (John Searle, 1980) Myšlení lidí a počítačů je naprosto odlišné. Je lidská inteligence neoddělitelná od vědomí a emocí? Co znamená tvrzení, že počítač rozumí přirozenému jazyku? Kdo je zodpovědný za rozhodnutí učiněná UI? Jaká má být etika chování se lidí k výtvorům s umělou inteligencí?
Hard versus Soft computing Good Old-fashioned Artificial Intelligence Pravidla (IF – THEN rules) Heuristika New-fangled Artificial Intelligence Neuronové sítě Fuzzy logic (mlhavá logika) Probabilistic reasoning belief networks (Bayes networks) genetic algorithms chaos theory parts of learning theory (machine learning)
Heuristika Metoda řešení problémů, která je obvykle úspěšná, ale v některých situacích může selhat Nejasně definované problémy s chybějícími nebo nejednoznačnými daty Medicínská diagnostika Vidění, rozpoznání řeči Pomáhá rozhodnout se mezi nekonečným množstvím možných interpretací. Problém může mít přesné řešení, ale cena jeho výpočtu může být prohibitivní. Šachy, tic-tac-toe, 15 or 8-puzzle, rozvrhy, hledání cesty… Heuristická funkce Oceňuje každé stádium řešení. Počet konfliktů v množství možných rozvrhů Pomáhá rozhodnout se o dalším kroku vedoucímu k řešení. Vývěr rozvrhu s nejmenším počtem konfliktů, který bude dále upravován tak, aby došlo k nalezení vyhovujícího rozvrhu
Očekávání od umělé inteligence Předpovědi Herberta Simona a Allena Newella (Heuristic Problem Solving, 1958), že do 10 let se počítač stane světovým šachovým šampiónem, počítač objeví důležitý nový matematický teorém, počítače budou komponovat hudbu přijímanou dobře kritikou, většina teorií v psychologii bude ve formě počítačových programů.
Typická úloha řešená v UI Problém 8 královen Existuje způsob, jak rozmístit 8 královen na šachovnici tak, aby se žádné dvě z nich nemohly vzájemně napadnout?
Těžký problém pro UI Problém neúplné šachovnice Existuje způsob, jak umístit kostky domina na šachovnici tak, aby byla zakrytá všechna pole šachovnice a kostky domina se nepřekrývaly? Lidé úlohu řeší snadno, ale je pro ně obtížné úlohu popsat formálně.
Omezení umělé inteligence David Hilbert (1862 – 1943) a Kurt Gödel (1906 – 1978) Gödelův teorém neúplnosti (1931) Bezespornost formálního systému nelze uvnitř tohoto systému dokázat, protože v něm mohou být tvrzení s autoreferencí – logické paradoxy typu: Toto tvrzení je nepravdivé. Některé úlohy nelze algoritmizovat. Problém zastavení algoritmu Nelze rozhodnout, zda se algoritmus v konečném čase zastaví. Týká se to opět algoritmů odkazujících se samy na sebe. Teorie složitosti (NP-completeness, 1971) Některé problémy lze algoritmizovat, ale výpočet nelze prakticky (na počítači) dokončit, protože bychom se nedočkali. Roger Penrose (knihy The Emperor‘s New Mind, Shadows of the Mind) Nemusí být možné dokonale simulovat biologickou inteligenci pomocí počítačů, protože možná pracuje s využitím jevů (patrně kvantových), které neznáme a neumíme napodobit.
Hrozby umělé inteligence Technologická singularita Hypotéza, že vyvinutí umělé superinteligence zrychlí technologický pokrok, což bude mít nepředvídatelný vliv na lidskou společnost Existenční rizika vývoje umělé inteligence Kniha „Superinteligence“ Nicka Bostroma Cíle UI by měly být pečlivě zvoleny, aby UI nezničila lidstvo při jejich plnění. Bostrom definuje superinteligenci jako uměle vytvořený intelekt převyšující lidský intelekt ve všech aspektech včetně kreativity, obecné moudrosti a sociálních dovedností.
Gödelův teorém neúplnosti V každém axiomatickém matematickém systému schopném definovat množinu přirozených čísel jsou věty nedokazatelné pomocí axiomů tohoto systému. Příklad teorému 1 = 2 Důkaz teorému: Když a = b, a ≠ 0, b ≠ 0, potom platí také dvě následující rovnosti: a2 – b2 = (a – b) ∙ (a + b), a2 – b2 = a2 – ab. A z těchto rovností lze odvodit následující tvrzení: a2 – ab = (a – b) ∙ (a + b) a ∙ (a – b) = (a – b) ∙ (a + b) a = a + b a = a + a a = 2a 1 = 2 Pravdivost se dá ověřit jen pomocí znalostí přesahujících aritmetiku operující s přirozenými konečnými čísly.
The Logic Theorist – první program s umělou inteligencí Allen Newell, J.C. Shaw a Herbert Simon v Carnegie Institute of Technology, nyní Carnegie Mellon University, v roce 1955 Hledal logické důkazy z knihy Principia Mathematica (Bertrand Russell a Alfred North Whitehead, 1910). Využíval mentální postupy lidských expertů. kognitivní věda Pro implementaci programu Logic Theorist na počítači, tito tři badatelé vyvinuli programovací jazyk IPL, předchůdce jazyka Lisp.
Programovací jazyky Úkoly jako zpracování přirozeného jazyka, reprezentace znalostí nebo dokazování teorémů vyžadovaly speciální jazyk pro zpracování symbolických dat. Lisp (John McCarthy, USA, 1958) funkcionální paradigma / zpracování seznamů Program se skládá z funkcí s vnořenými funkcemi. Data a programy jsou reprezentovány stejně: seznamem. (+ 1 2 3) je jednak seznam 4 atomů a zároveň funkce s hodnotou 6. Program může sloužit jako data pro jiný program! Mocná vlastnost dovolující flexibilní a produktivní psaní programů. Prolog (Alain Colmerauer, Evropa, 1972) deklarativní paradigma / logické programování Program se skládá z faktů a pravidel. Programátor popíše (deklaruje) problém. Překladač z nich vydedukuje nová fakta. Programátor nepíše algoritmus pro řešení.
Programy se symbolickou umělou inteligencí The General Problem Solver (1957) Řešil formalizované symbolické problémy, například matematické důkazy a šachy. The Geometry Theorem Prover (1958) Dokazoval teorémy pomocí explicitně reprezentovaných axiomů. SAINT (Symbolic Automatic INTegrator) Integrální počet (1961) ANALOGY (1963) Obrázek A má vztah k obrázku B jako obrázek C k obrázku D. IQ testy se užívají k měření inteligence lidí. Počítače lze naprogramovat tak, aby v IQ testech excelovaly. Ale ty samé programy by byly v reálných situacích hloupé.
Zpracování přirozeného jazyka STUDENT (1964, 1967) Řešil slovní úlohy z algebry. SIR (Semantic Information Retrieval, 1968) Četl jednoduché věty a odpovídal na otázky. ELIZA (1965) Simulovala psychoterapeuta. TLC (Teachable Language Comprehender) (1969) Četl text a vytvářel z něj sémantickou síť. SUR (Speech Understanding Research) (1971) 5-ti letý plán agentury ARPA (dnes DARPA) na výzkum rozpoznání spojité mluvené řeči
Expertní systémy Patří do symbolické umělé inteligence. Používají množinu pravidel a heuristiku. MACSYMA (MIT, 1968 -1982) Prováděl symbolické matematické výpočty. DENDRAL (SRI, 1965) Identifikuje chemikálie. MYCIN (SRI, Edward Shortliffe, 1974) Diagnostikoval infekční nemoci z krve. Pokračovatelé: EMYCIN, PUFF, INTERNIST - CADUCEUS
Komerční expertní systémy PROSPECTOR (SRI, 1974 – 1983) Analyzuje geologická data. Hledá ložiska. XCON – eXpert CONfigurer (CMU, 1978) Konfiguroval počítače řady VAX firmy DEC. TEIRESIAS (SRI, Randall Davis, 1976) Knowledge Acquisition System (KAS) Získává znalosti od lidských expertů. Vytváří znalostí báze pro expertní systémy.
Robotika Marvin Lee Minsky (* 1927) Freddy (University of Edinburgh,1973) SHAKEY (SRI, 1969) SHRDLU (MIT, Terry Winograd, 1970) blocks worlds (MIT, 1970) Robot má manipulovat se stavebními kostkami podle instrukcí. počítačové vidění porozumění přirozenému jazyku plánování
První umělé neuronové sítě Warren McCulloch a Walter Pitts Model umělého neuronu (1943) Neuron reprezentuje funkce. Donald Olding Hebb Pravidlo pro učení neuronové sítě (1949) Marvin Minsky a Dean Edmonds postavili první počítač s neuronovou sítí. SNARC (1951)
Další umělé neuronové sítě Frank Rosenblatt Perceptron (1957) jednovrstvá síť a její pravidlo učení umožňující jí naučit se lineárně separabilní funkce Bernard Widrow a Marcian Ted Hoff minimalizace čtverce chyby sítě Delta rule (pravidlo učení neuronové sítě) ADAptive LINEar Systems or neurons or ADALINEs (1960) MADALINEs (1962) vícevrstvé verze ADALINEs
Kritika neuronových sítí Kniha „Perceptrons“ (Marvin Minsky a Seymour Papert, 1969) Když se jednovrstvé neuronové sítě typu Perceptron neumí naučit funkci XOR (ta je lineárně neseparabilní), tak se to nenaučí ani vícevrstvé sítě. Financování výzkumu neuronových sítí tím bylo do počátku 80. let 20. století zastaveno. Vícevrstvé neuronové sítě se funkci XOR ale naučit mohou. Jen je třeba najít správný algoritmus pro jejich učení.
Vzkříšení neuronových sítí Hopfieldova síť (John Hopfield, 1982) Umí se naučit několik obrázků (vzorů). Self-Organizing Map (SOM) (Teuvo Kohonen, 1982) Umí se učit bez dozoru. (unsupervised learning) Backpropagation (Arthur Bryson a Yu-Chi Ho, 1969) algoritmus učení vícevrstvé neuronové sítě Vyžaduje, aby neurony sítě neměly ostrý práh. Protože byl nepovšimnut, byl potom několikrát znovuobjeven v 70. a 80. letech 20. století a popularizován v roce 1986. NETtalk (Terry Sejnowski a Charles Rosenberg, 1986) Vícevrstvá neuronová síť, která se učila anglickou výslovnost a uměla zobecňovat. Používala backpropagation.
Současnost neuronových sítí Neuronové sítě s množstvím vrstev a neuronů používané od 80. let 20. století měly problémy s učením. Od roku 2006 se daří nacházet způsoby trénování velkých neuronových sítí, které se umí učit v kvalitě srovnatelné s člověkem. Hluboké učení (Deep Learning) neuronové sítě s větším množstvím vrstev Deep Belief Network Její vrstvy je možné trénovat odděleně učením bez dohledu. vícevrstvá neuronová síť učící se pomocí backpropagation Její variantou je konvoluční neuronová síť pro rozpoznávání obrázků. Hlavním cílem je dosažení schopnosti extrahovat znaky rozpoznávaného objektu na různých úrovních abstrakce. Vstupem do první vrstvy sítě jsou pixely, na dalších vrstvách jsou rozpoznány hrany, obrysy, části objektu, na výstupní vrstvě je určen druh objektu. Různé úrovně abstrakce jsou řešeny v různých vrstvách sítě. Síť si přiděluje úrovně abstrakce svým vrstvám sama. Ilustruje to přednáška průkopníka hlubokého učení Yoshua Bengio. Předpoklady existence velkého množství dat a trénovacích databází, například: obrázky s popisem, co na nich je texty a jejich překlady do různých jazyků distribuované výpočty (např. cloud), větší výpočetní síla CPU, využití GPU
Současné aplikace neuronových sítí Zpracování přirozeného jazyka (například IBM Project Debater) Generování realistických obrázků Generative Adversarial Network například algoritmy společností Google a Facebook Komponování hudby s pomocí strojového učení například neuronová síť Coconet natrénovaná na hudbě J. S. Bacha Zpětnovazební učení (Deep Reinforcement Learning) Řeší úlohy, ve kterých hráč interaguje s prostředím a snaží se maximalizovat odměnu. Neuronová síť má jako vstup stav hry a akci hráče a jako výstup odměnu hráče po provedení akce. se učí ze skutečně pozorovaných kombinací stavů, akcí a odměn. Umožňuje učení bez lidského dohledu. Programy hrají proti sobě. Výsledný systém dokáže hrát videohry na úrovni lidí. Lidé se mohou od něj učit. (například Dota 2: OpenAI.com, The Verge) Omezení Pravidla hry musí být beze zbytku formalizovatelná. Facebook’s Chatbots začali komunikovat umělou řečí. (Wired.com, Independent) Vyžaduje extrémní výpočetní výkon. například stovky GPU a tisíce jader CPU pro hru Dota 2 (OpenAI.com)
Nejvýznamnější laboratoře MIT (Massachusetts Institute of Technology) 1959 - John McCarthy a Marvin Minsky založili Artificial Intelligence Laboratory. SRI (Stanford Research Institute) 1963 - John McCarthy založil AI Laboratory. CMU (Carnegie Mellon University) 1980 - Raj Reddy založil The Robotics Institute. IBM Watson (analýza textů pomocí komerčních cloudových aplikací) Amazon Amazon Machine Learning (analýza obchodních dat) Google Quantum AI Lab – aplikace kvantového počítače na umělou inteligenci a strojové učení DeepMind – britská akvizice, kde byly vyvinuty algoritmy pro hraní hry Go a Atari video her Facebook AI Research OpenAI nezisková výzkumná společnost založená Elonem Muskem
Současnost Robotické hračky, vesmírné sondy Robotika ve strojírenství Domácí spotřebiče (pračky, vysavače) Data Mining, detekce podvodů, filtrování spamu Hledání informací na Internetu (webové agenty) Modelování interaktivních procesů (agenty) E-business – personalizace obchodů Inteligentní výukové systémy a SW rozhraní Role-playing games, šachové programy Rozpoznání řeči a obrazu Strojový překlad