Verktyg för AI-forskning och utveckling
Vetenskap / AI & robotik / Allt om AI
Under 50 år av forskning har AI – forskare utvecklat en stor mängd av verktyg för att lösa de flesta svåra problem inom datorvetenskap. Några av de mest generella av dessa metoder diskuteras nedan.
Sökverktyg och optimering
Många problem inom AI kan lösas i teorin genom att på intelligenta sätt söka genom många möjliga lösningar. Förmågan att resonera eller tänka ut olika alternativ kan liknas vid att göra en sökning. Till exempel kan logiska bevis ses som sökandet efter en väg som leder från premisser till slutsatser, där varje steg är tillämpningen av en beslutsregel. Planering algorytmer söker via träd av målsättningar och undermålsättningar, och försöker hitta ett sätt att nå ett överordnat mål. Den här processen kallas för ”medel-resultat” analys.
Algorytmer som används inom robotiken för att röra på armar och ben och för att fatta greppet om objekt använder sig av lokala sökningar i konfigurationsfältet. Många lärande algorytmer använder sig av sök-algorytmer som grundas i optimering.
Enkla uttömande sökningar är sällan tillräckliga för de flesta problem i den verkliga världen: sökningsrymden (antalet platser att söka) ökar snabbt till astronomiska tal. Resultatet är en sökning som är alltför långsam eller som aldrig tar slut. Lösningen för många sådana problem är att använda sig av ”heuristik” eller ”tumregler” som eliminerar valalternativ som osannolikt kommer att leda fram till målet (något som brukar kallas för ”beskärning av sökträdet”). Heuristisk förser programmet med en “bästa gissning” för vägen där lösningen finns.
En mycket annorlunda typ av sökning blev populär under 1990-talen, som grundades i den matematiska teorin för optimering. För många problem, kan det vara möjligt att börja sökningen med någon form av gissning och sedan förfina gissningen efterhand tills inga fler förfiningar kan göras. Dessa algorytmer kan visualiseras som blinda uppförsbacke-stigningar: vi börjar sökningar på en slumpmässig plats på landskapet, och sedan genom hopp eller steg, gissar vi uppåt, tills vi når toppen. Andra optimerings - algorytmer är bland annat slumpmässig optimering.
Evolutionär beräkning eller datavetenskap använder en form av optimeringssökning. Till exempel kan de börja med en population av organismer (gissningarna) och låter de sedan mutera eller rekombinera, och väljer ut de som anses vara de starkast och som således kommer att överleva (förfining av sökningar). Former av evolutionär beräkning innefattar svärm intelligens algorytmer och evolutionära algorytmer (såsom genetiska algorytmer och genetisk programmering).
Logik
Logik används för representation av kunskap och problemlösning, men den kan också användas för att lösa andra typer av problem också. Till exempel kan ett algorytm använda logik för att planera och induktiv logik-programmering används för att lära.
Flera olika typer av logik används inom AI-forskning. Satslogik är påståendenas logik som kan vara sanna eller falska. Första ordningens logik tillåter också användningen av kvantifikatorer och predikat, som kan uttrycka fakta om objekt, deras egenskaper och deras ömsesidiga relation. Diffus logik, är en version av första-ordningens logik som tillåter sanningen hos ett påstående representeras av ett värde mellan 0 och 1, snarare än helt enkelt Sant (1) eller Falskt (0).
Diffusa system kan användas för osäkra resonemang och har används mycket i modern industriell och konsument produkt kontrollsystem. Subjektiv logik modellerar osäkerhet på olika och mera explicita sätt än den luddiga logiken gör. En given binominal valmöjlighet uppfyller tro+misstro+osäkerhet=1 inom en beta distribution. Genom den här metoden, kan okunskap skiljas från probabilistiska uttalanden som en agent gör med hög självförtroende.
Standard logik, icke-monotonisk logik och omskrivning, är olika logikformer som har utvecklats för att hjälpa forskare med standard resonemang och kvalificeringsproblemet. Flera logikförlängningar har utvecklats för att hantera olika kunskapsdomäner såsom: beskrivningslogik, situation kalkyl, händelse kalkyl, flytande beräkning (för att representera händelser och tid); orsakssamband kalkyl; tro kalkyl; och modal logik.
Probabilistiska metoder för osäkra resonemang
Många problem inom AI-forskning (resonemang, planering, lärande, perception och robotik) kräver att agenter fungerar trots ofullständigt eller osäker information. AI-forskare har utvecklat ett antal kraftfulla verktyg som ska lösa dessa problem genom användning av metoder från sannolikhetsteori och ekonomi.
Bayesianska nät är ett mycket generellt verktyg som kan användas för att lösa ett stort antal problem: resonemang (med hjälp av Bayesiansk inferens algoritmen), inlärning (med förväntnings-maximering algoritmen), planering (med beslutsnätverk) och perception (med dynamiska Bayesianska nätverk). Probabilistiska algoritmer kan också användas för filtrering, förutsägelser, utjämning och för att hitta förklaringar till dataströmmar, hjälpa uppfattningssystem att analysera processer som sker över tiden (t.ex. dolda Markov modeller eller Kalman filtrar).
Ett centralt begrepp som kommer från ekonomi-fältet är ”nytta” eller nyttobegreppet: ett mått på hur värdefullt något är för en intelligent agent. Precisa matematiska verktyg har utvecklats som analyserar hur en agent kan göra val och planera, genom att använda sig av beslutsteori, beslutsanalys, informationsvärdeteori. Dessa verktyg innefattar modeller såsom Markovs beslutsfattandeprocess, dynamiska beslutsnätverk, spelteori och mekanismdesign.
Klassificerare och statiska inlärningsmetoder
De enklaste AI-applikationerna kan delas in inom två typer: klassificerare (”om glänsande är det en diamant”) och kontrollers (”om glänsande plocka upp den”).
Kontrollers klassificerar även förhållanden innan handlingar ska utföras och därför är klassifikationsformer en central del av många AI-system.
Klassificerare är funktioner som använder sig av mönstermatchning för att bestämma den närmaste matchningen. De kan inställas i enlighet med exempel, något som gör de mycket attraktiva för användning inom AI. Dessa exempel kallas för observationer eller mönster. I övervakad inlärning, hör varje mönster till en viss redan definierad klass. En klass kan ses som ett beslut som måste fattas. Alla observationer i kombination med deras klasser kallas för en datamängd. När en ny observation kommer in, kommer observationen att klassificeras i enlighet med tidigare erfarenheter.
En klassificerare kan tränas på flera sätt; det finns flera statistiska och maskininlärningsmetoder. De mest använda klassificerarna är det neurala nätverket, kärnmetoder såsom stödvektormaskinen, k-närmaste grannen algorytmen, glaussisk blandning modellen, naiva Bayes klassificerare och beslutsträdet. Hur bra dessa klassificerare presterar beror ganska mycket på informationen som ska klassificeras. Det finns ingen enda klassificerare som fungerar bäst på att lösa alla givna problem. Att avgöra vilken den lämpligaste klassificeraren för ett problem är, är fortfarande konst snarare än vetenskap.
Neurala nätverk
Ett neuralt nätverk är en sammankopplad grupp av noder, besläktad med den stora nätverk av neuroner i den mänskliga hjärnan.
Studien av artificiella neurala nätverk började innan AI-forskningsfältet grundades, via det arbete som gjordes av Walter Pitts och Warren McCullough. Andra tidiga viktiga forskare var Frank Rosenblatt som uppfann perceptron och Paul Werbos som utvecklade backpropagation algorytmen.
Nätverkens huvudkategorier är acykliska neurala nätverk (där signalerna endast rör sig i en enda riktning) och upprepande neurala närverk (som gör återkoppling möjlig). Bland de mest populära acykliska nätverken är preceptroner, multi-lager perceptroner och radiella nätgrund. Bland de upprepande nätverken är de mest kända Hopfield nätet, en form av attraktor närverk, som först beskrevs av John Hopfield år 1982. Neurala nätverk kan tillämpas för intelligent styrning (inom robotiken) eller inlärning, genom att använda sådana tekniker som Hebbian inlärning och kompetitiv inlärning.
Hierarkisk temporalt minne är en metod som modellerar en del av de strukturella och algoritmiska egenskaperna i neocortex.
Kontrollteori (styrteori)
Kontrollteorin, barnbarn till cybernetiken, har manga viktiga tillämpningar i synnerhet inom robotiken.
Programmeringsspråk
AI forskare har utvecklat flera specialiserade språk för AI-forskning bland annat Lisp och Prolog.
Källa: Arficial Intelligence