IT 2702 Kunstig intelligens (AI) 2006 Fagansvarlig: Professor Agnar Aamodt Institutt for datateknikk og informasjonsvitenskap, IT Vest, Rom 322, Email agnar.aamodt@idi.ntnu.no Kunstig intelligens (IT-2702) - høst 2006. Leksjon 1 Emner: Generell introduksjon til faget - hva er kunstig intelligens? - hvorfor kunstig intelligens? - historikk, fagets utvikling Fagets utvikling og basis - ulike tilnærminger til AI-feltet - fundamentale prinsipper - hovedområder i faget
KUNSTIG INTELLIGENS AI - Artificial Intelligence Foresltåtte definisjoner Den delen av informatikk-feltet som dreier seg om automatisering av intelligent adferd. Det som kunstig intelligens forskerne driver med. "Det som datamaskiner ikke kan". Vitenskapelig vinkling: Studiet av intelligente systemer relatert til datamaskinelle prosesser. Teknologsk vinkling: Utvikle smartere datasystemer INFORMATIKK STUDIE AV INTELLIGENTE SYSTEMER RELATERT TIL KOMPUTASJONELLE PROSESSER er delfelt av REALISERE DATASYSTEMER SOM KAN SIES Å OPPVISE INTELLIGENT ADFERD - DVS. ' SMARTERE' SYSTEMER har vitenskapelig perspektiv er koblet via empirisk vitenskapelig metode KUNSTIG INTELLIGENS (AI) har teknologisk perspektiv MATEMATIKK bygger bl.a. på har har metoder FILOSOFI KOGNITIV PSYKOLOGI BIOLOGI KUNNSKAPSBASERTE SUBSYMBOLSKE METODER METODER
HISTORISKE RØTTER Aristoteles Studiet av ting som endrer seg - materie vs. form Logikk - instrument for å forstå tenking, abstraksjon, syllogismer, deduksjon Copernikus, Galileo Nytt verdensbilde - ting er annerledes enn de ser ut Empirisk metode vs. sansing, matematisk analyse, epistemologi Descartes Introspeksjon, reduksjon av sansing - cogito ergo sum Dualisme og mind-body problemet Hume Mind-body problemet - kognisjon er komputasjon Leibniz Tidlig formalisering av logikk og komputasjon Euler Grafteori - tilstandsrom analyse HISTORISKE RØTTER (forts.) Babbage Difference engine - avansert regnemaskin Analytical engine - den første datamaskin, snakker om mønstre av intellektuell aktivitet på et abstraksjonsnivå Bool Formalisering av logikk - AND OR NOT systemet Frege System for Artistoteles' logikk - 1.ordens predikatlogikk, en syntax, en semantikk, og en inferensmetode Tarski Referense teori - kobling mellom symboler og virkelige ting Alan Turing "Computing machinery and intelligence" (1950) - går det an å lage en maskiner som tenker?
Turing-testen Turing testen - basert på: "the imitation game" utspørrer - Rent empirisk test av intelligent adferd hos datamaskiner - Kriteria går på funksjonalitet og ytelse, ikke indre struktur - men er dette hva intelligens (tenking) er? - og når er testen bestått? Integrerte systemer, AI + andre, kombinerte AI metoder, statistiske metoder, data mining, text mining, emosjonelle syst. 2000 Maskinlæring, kunnskapsmodellering, case-baserte metoder, Nevrale nett, genetiske algoritmer, adferdsbaserte metoder 1990 Utviklingsverktøy, kommersielle systemer innen databransjen, olje, finans, kjemisk industri, etc. 2. gen. ekspertsystemer (dyp kunnsk., strategisk resonnering) 1980 Kunnskapsbasert fokus, ekspertsystemer DENDRAL, MYCIN, PROSPECTOR AI - UTVIKLINGSTREKK Europa, Logikk-orientering, Prolog 1970 Resonnering, generell problemløsning, GPS program 1960 USA, Dartmout-conference, start-aktiviteter, LISP 1950
KUNNSKAPSBASERTE METODER - er karakterisert ved at kunnskap representeres eksplisitt - modelleres - i form av navngitte begreper og relasjoner mellom disse begreps-termene kalles symboler, da de symboliserer - står for - begreper i den virkelige verden (objekter, hendelser, prosesser,...) symbol-strukturene som derved bygges opp, prosesseres av tolknings- og slutningsmetoder (inferensmetoder) slik at ny informasjon kan utledes, konklusjoner kan trekkes, og ny kunnskap kan læres representasjonen av kunnskapen er adskilt fra metodene som prosesser den - og er kjernemetodene innen kunnskapsteknologi for å utvikle kunnskapsbaserte systemer. KUNNSKAPSBASERTE METODER Representasjon av det som for oss mennesker fortoner seg som kunnskap, i form av symbolstrukturer og inferensmetoder i et datasystem, og på en måte som gjør systemet istand til å tolke symbolene og utifra dette trekke meningsfylte slutninger, gjør at symbolstrukturene kan betraktes som kunnskap for systemet. Dette danner basis for det 'kunnskapsbaserte paradigmet' innen AI, og for rekken av kunnskapsbaserte systemer som er utviklet og i daglig bruk. Refereres ofte til som GOFAI Good Old-Fashioned AI,for å skille denne typen metoder fra ikke-symbolske, eller sub-symbolske tilnærminger til AI.
Kunnskap - Informasjon - Data Kunnskap Læring Utdyping Informasjon Tolking Tolkede symbolstrukturer - brukes til å tolke data og utdype informasjon - er en del av, er inni, en beslutningsprosess Tolkede symboler og symbol strukturer -gisinn til en beslutningsprosess -kommer ut av en beslutningsprosess Data Observerte, ikke-tolkede symboler - tegn, mønstre KUNNSKAPSBASERTE METODER - UTVIKLINGSTRENDER Kontroll-kunnskap Heuristiske regler Spesifikke case Dyp kunnskap Integrerte systemer (f.eks. SOAR, CREEK, META-AQUA) - totalarkitekturer for intelligent problemløsning
Kunnskapsrepresentasjon - basis Kunnskapsrepresentasjon i AI vil si å representere kunnskap i et system, og for dette systemet. Det er altså det intelligente systemets kunnskap - enten dette systemet er et menneske eller en maskin. En kunnskapsrepresentasjon består derfor av en data-struktur i et visst språk, samt en tolkning som gjør at kunnskapen får mening for den som 'eier' kunnskapen. En representasjonsmetode består av en språk-syntaks, og en underliggende semantikk definert av inferens-metoden. Uttrykkskraften av språket bestemmes av begge disse i sammen. En kunnskaps-struktur får mening ved at den gis en tolkning i den sammenhengen der den utnyttes. Kunnskapens meningsinnhold er derfor sjelden helt uavhengig av det formålet kunnskapen benyttes for og den sammenhengen den benyttes i. Hvorvidt representasjonen har den mening vi ønsker, kan testes ved å stille spørsmål til systemet. Kunnskapstyper vs. representasjonsmetoder Kunnskapstyper Dyp kunnskap - fundamentale teorier, prinsipper - lærebok-kunnskap - detaljerte klasse/subklasse hierarkier - detaljerte system/komponent relasjoner - funksjonelle modeller - kausale modeller (årsak-virkning relasjoner) - forklarte situasjoner Grunn kunnskap - erfaringregler - overflatiske sammenhenger mellom domenebegreper (klasse/subklasse, system/komponent, funksjonalitet,...) - erfarte situasjoner
Representasjonsmetoder Predikatlogikk - matematisk syntaks; deduktiv inferens - deklarativ semantikk - typisk eks.: Teorembevis-system Regel-basert - syntaks er If-Then sammenhenger, med AND, OR, NOT operatorer og evt. usikkerhetsanslag; inferens er regel-lenking og usikkerhetsberegning. - eks.: Produksjonssystem Nettverk - begreper er noder, relasjoner er lenker; inferens er bl.a. arving langs utvalgte lenker, ellers i utganspunktet uspesifisert - prosedural semantikk. - eks.: Taksonomisk hierarki Rammebaserte systemer - kan ses på som et nettverk der nodene er komplekse objekter; inferens som for nettverk, og typisk default arving, 'constraint propagation', og demoner (tilknyttede prosedyrer). SØKING I TILSTANDSROM - BASIS måltilstander mellomtilstander starttilstand traverserte søkeveier mislykkede noder aktive noder node der testing pågår Sentralt i enhver AI-metode er en eller flere søkestrategier for traversering av tilsstandsrommet (søkerommet) fra en starttilstand til en egnet måltilstand.
Utvikling av AI systemer Et AI system er en modell av en del av virkeligheten som gjør det mulig å resonnere og trekke slutninger angående fenomener og sammenhenger innenfor denne delen av virkeligheten. Utviklingsmetoder for AI systemer er i prinsippet de samme som for datasystemer generelt. I tillegg fins det en del spesielle metoder, bl.a. for for akkvisisjon av kunnskap, analyse og modellering av kunnskap, validering, vedlikehold og oppdatering av kunnskap, etc. AI systemer utvikles ofte etterat andre informatikkmetoder har vist seg utilstrekkelige. Det betyr at en ofte beveger seg i upløyd mark. Top-down metoder for programutvikling erstattes derfor ofte med mer utprøvende metoder med stor grad av iterasjon i utviklingsprosessen. KNOWLEDGE ENGINEERING AS MODELING Task Reality Modeling (Sub)Problem Description (Partial)Solution to Problem Model of Task Reality Task reality : The entire spatial and temporal extension of the world which is relevant for accomplishing a real-world task. Task: Method: Agent: What is to be accomplished (goal, purpose). How a task is accomplished (procedure, control). The physical entity who accomplishes a task (human, machine). Domain knowledge (Object knowledge): Possessed by agents and used within methods
MASKINL ÆRING vil si at maskinen selv lærer sin egen kunnskap og problemløsningsevne, gjennom egen erfaring aktivt AI- felt hele tiden, ny giv i det siste flere kommersielle produkter og systemer i drift, bl.a. innen - data mining - ekstraksjon av sammenhenger fra stor datamendger Metodetyper : similaritetsbasert vs. forklaringbasert læring læring av generell vs. spesifikk kunnskap læring av begreper vs. læring for problemløsning symbol-læring vs. subsymbolsk læring En kritikk av kunnskapsbaserte metoder Mennesker representerer sin kunnskap i maskinen, den kan defor ikke bli maskinens. Nyttig kritikk, men satt på spissen. Berører kunnskapsrepresentasjons-problemet generelt. - Konsekvenser for interaktive rådgivingssystemer : Utviklingsmetoder der mindre vekt legges på datamaskinen som problemløser, mer på samspillet mellom maskin og bruker. En utfordring er at systemet må ha eller bygge opp kunnskap om interaksjons-omgivelsen. - Konsekvenser for maskinlæring : Større grad av erfaringsbasert læring, der systemene lærer gradvis ved å delta i løsningen av reelle problemer i det miljø de virker. For (morgen)dagens ekspertsystemer : Fra 'tradisjonelle' problemløsende systemer til aktive, interaktive, og adaptive beslutningsstøtte-systemer
SUBSYMBOLSKE METODER (eks.) NEVRALE NETT Distribuert representasjon i et nettverk av noder koblet sammen via lenker (konneksjonisme). Ingen eksplisitt, direkte representasjonbegreper av og sammenhenger. GENETISKE ALGORITMER Representasjon i form av bit-strenger som maniplueres vha. genetiske operatorer. Bit-strengene kan representere begreper, men ikke nødvendigvis. Nevrale Nett Biologisk bakgrunn: Et nettverk av nerveceller Cell body
NEVRALE NETT Et nettverk av noder delvis koblet i sammen via lenker. Lenkene som går inn til en node kan medføre at noden aktiveres, som igjen medfører at lenken ut fra noden gis en verdi. En node i nettet: u i1 Aktiveringsverdien for en node (u) bestemmes av en aktiveringsfunksjon der styrken på inn-lenkene (i) samt av vektingen av dem (v) er input-parametre. Nevrale nett trenes opp ved at inndata gis inn, utdata registreres og resultatet tilbakeføres til nettet. v1 i2 v2 v4 v3 i3 i4 Egnede anvendelser: - Problemer der det er vanskelig å identifisere og beskrive kunnskap på eksplisitt form. - F.eks.: tolking av bilder, tolking og syntese av tale. Evolutionary Methods - Background: Darwinian Evolution Physiological, Behavioral Phenotypes Natural Selection Ptypes Morphogenesis Reproduction Sex Genotypes Recombination & Mutation Gtypes Genetic
Evolutionary Computation = Parallel Stochastic Search Indiv 1 2 3 4 5 6 Biased Roulette Wheel Fitness 3 8 2 4 1 1 Translation & Performance Test Selection Biasing 5 6 4 3 1 2 Selection Next Generation Mutation Crossover Adferdsbaserte metoder Fra kognitive til biologiske - og etologiske - modeller av intelligent adferd. Intelligent adferd forårsakes ikke av modeller som er representert i maskinen, den oppstår i vekselvirkning med omgivelsene. Basis for det nye fagfeltet 'Artificial Life'.
NOEN ANVENDELSESOMRÅDER Spill - velegnet for tilstandsrom analyse - well-strukturert problem med stort søkerom - noen spill krever ekspert-kunnskap - aktivt område tidligere, nesten borte nå Matematiske bevis - velegnet for logikk-resonnering - matematikere bruker erfarings-kunnskap - relatert til programverifikasjon, VLSI-testing,... Ekspertsystemer (kunnskapsbaserte rådgivingssytemer) - vekt på eksplisitte modeller av domenekunnskap - regelbasert paradigme ga kraftig og rask vekst - endring til kombinerte resonneringsmetoder - fra lukkede til åpne, interaktive systemer - mot grundigere kunnskapsmodeller og læring ved erfaring NOEN ANVENDELSESOMRÅDER (forts.) Naturlig språk forståelse - mye arbeid nedlagt, spesielt innen syntax-analyse - problemer med semantisk analyse, generelt sett - vellykkede systemer innen avgrensede områder Robotikk - relatert til planlegging, og til kunstig syn - fysisk interaksjon med omgivelsene viktig - alternative metoder til ren kunnskapsteknologi Andre - bildeforståelse, opplæringssystemer, systemutvikling, nettverksbaserte agenter, informasjonssøk, kunnskapsforvaltning,...
Definisjoner av AI - runde to 4 perspektiver på AI-systemer Systemer som tenker som mennesker (kognitiv-psykologisk vinkling) Systemer som oppfører seg som mennesker (menneskelig adferdsbasert vinkling) Systemer som tenker rasjonelt (logikk-basert vinkling) Systemer som oppfører seg rasjonelt (rasjonell agent-basert vinkling) Hovedperspektiv i dette faget STATUS, KUNSTIG INTELLIGENS - Oppsummert AI forskningen er en pådriver innen informatikk-feltet, bl.a. ved å angripe problemer som andre metoder ikke håndterer. Ekspertsystemer er blitt en kommersiell suksess, og regelbaserte systemer er nå endel av databehandling generelt. Økende fokus på maskinlæring.datamining viser gode resultater. Statistikk-baserte metoder på frammarsj. Systemer som kontinuerlig lærer av erfaring blir neste viktige gjennombrudd'. Case-baserte metoder ser lovende ut. Alternativer til det kunnskapsbaserte paradigmet blomstrer opp: Nevrale nett, genetiske algoritmer, andre. Integrerte metoder på sterk frammarsj.