Articles

20 år efter Deep Blue: hur AI har avancerat sedan erövra Schack

För tjugo år sedan IBMs Deep Blue dator bedövade världen genom att bli den första maskinen att slå en regerande världsmästare i schack i en sex-spel match. Superdatorns framgång mot en otrolig Garry Kasparov utlöste kontrovers över hur en maskin hade lyckats övermanövrera en stormästare och uppmuntrade anklagelser—av Kasparov och andra—att företaget hade lurat sig till seger. Verkligheten av vad som hände under månaderna och åren fram till den ödesdigra matchen i maj 1997 var dock faktiskt mer evolutionär än revolutionär—en stenig Balboa–liknande uppgång fylld med intellektuella sparringsmatcher, noggranna framsteg och ett nederlag i Philadelphia som i slutändan satte scenen för en triumferande omkamp.

datavetare hade i årtionden betraktat schack som en mätpinne för artificiell intelligens. Schackspelande räknare uppstod i slutet av 1970—talet men det skulle ta ytterligare ett decennium innan ett team av Carnegie Mellon University doktorander byggde den första datorn—kallad Deep Thought-för att slå en stormästare i ett vanligt turneringsspel. Denna framgång var kortlivad – senare samma år 1989 slog Kasparov djupt tänkt handily i de två spelen. IBM var imponerad nog med C. M. U. teamets teknik för att få sina forskare ombord för att utveckla en tidig version av Deep Blue—Deep Thought efterträdare. Deep Blue-laget förlorade igen mot Kasparov 1996 vid en turnering i Philadelphia men lyckades vinna ett spel av sex mot världsmästaren.

den till synes lilla segern ”var mycket viktig för oss att visa att vi var på rätt väg”, säger Deep Blue AI-expert Murray Campbell, nu en framstående forskningspersonal i AI Foundations-gruppen inom IBM tj Watson Research Centers kognitiva Datororganisation. ”Vid tiden för vår sista match 1997 hade vi gjort tillräckligt med förbättringar av systemet baserat på vår erfarenhet som vi kunde vinna.”Scientific American talade med Campbell om datavetenskaparnas långa besatthet av schack, hur IBM kunde vända borden på den regerande schackmästaren och de utmaningar som ligger framför AI.

Hur blev du först involverad i Deep Blue-projektet?
jag var en del av en grupp doktorander vid Carnegie Mellon University som IBM närmade sig. Jag hade haft ett långt intresse för datorschack och hade till och med skrivit ett schackprogram som grundutbildning. Vid C. M. U. Jag arbetade mer allmänt med artificiell intelligens och inte exakt på att bygga en högpresterande schackdator som kunde spela mot en världsmästare. Men som ett sidoprojekt utvecklade ett antal av oss maskinen som blev känd som Deep Thought, som blev det första programmet för att besegra en stormästare, en professionell spelare i en turnering.

IBM märkte framgångarna att vi hade byggt den här maskinen på en liten budget och tyckte att det skulle vara intressant att få en grupp av oss att gå med i IBM Research för att utveckla nästa generation av denna maskin, kallad Deep Blue. De ville veta om det var något speciellt med de allra bästa schackspelarna i världen som var bortom vad datorer kunde under överskådlig framtid. Vår känsla var att det var inom några år av att vara gjort, även om andra forskare trodde att det fortfarande var årtionden borta.

vad handlar det om schack som gör ett särskilt intressant problem för en datavetare?
hundratals miljoner människor runt om i världen spelar schack. Det är känt som ett spel som kräver strategi, framsyn, logik—alla slags egenskaper som utgör mänsklig intelligens. Så det är vettigt att använda schack som en mätpinne för utveckling av artificiell intelligens.när vi tittar på ett spel som schack säger vi: ”ja, naturligtvis gör datorer bra eftersom det är ett väldefinierat spel-reglerna, rörelserna, målen.”Och det är ett begränsat problem där du känner till all information. Trots alla dessa förenklingar kan man säga att schack är ett enormt komplext spel, och det var därför det tog oss som ett fält 50 års utveckling för att äntligen slå världsmästaren.

vad var din roll specifikt i Deep Blue-laget?
Jag är expert på AI. AI var helt annorlunda 1989 och tidigt 1990. Den dominerande delen på den tiden var det vi nu kallade god gammaldags AI, eller symbolisk AI, som baserades mindre på maskininlärning. Visst maskininlärning var ett allvarligt fält på den tiden men inget som vad det är idag, där vi har massiva datamängder och stora datorer och mycket avancerade algoritmer för att churn genom data och komma med modeller som kan göra några fantastiska saker. När jag började med IBM var maskininlärningsmetoder för spelprogram ganska primitiva och kunde inte hjälpa oss mycket med att bygga Deep Blue. Vi arbetade med algoritmer för effektiv sökning och utvärdering av möjliga fortsättningar, som vi visste att Deep Blue skulle behöva för att konkurrera.

vilka var de viktigaste begränsningarna på AI då?hårdvaran stödde inte riktigt att bygga de typer av stora nätverk som har visat sig användbara idag för att göra stora datamodeller. Och själva uppgifterna var inte nödvändigtvis där i den utsträckning som vi behövde det vid den tiden. Varje gång du går tillbaka och tittar på de mest populära datorsystemen från 20 eller 25 år sedan är du chockad över hur du kan få något gjort på ett sådant system. Men naturligtvis gjorde vi—vi visste inte vad vi saknade, antar jag, för vi hade aldrig upplevt det.

När det gäller data tror jag inte att någon hade en klar uppfattning då att det var en stor fördel. Det skulle inte ha betalat för att bygga en riktigt stor datamängd eftersom processorkraften delvis inte skulle ha varit tillräckligt för att använda den ändå. Så vi nöjde oss med mycket mindre datamängder.

hur användbar var din egen schackkompetens för att bygga Deep Blue?
inte så användbart som du kanske tror. Jag kunde i ett tidigt skede identifiera problem med systemet och föreslå metoder som jag kände skulle kunna lösa ett problem utan att skapa en mängd andra problem. Det var nog tillräckligt bra för att få oss till en viss punkt. Så småningom, om du ska spela tävlingar finns det en mängd riktigt spelspecifik kunskap du behöver ha. När vi kom närmare den punkt där vi faktiskt skulle spela mot en världsmästare tog vi in stormästare—särskilt Joel Benjamin—för att hjälpa oss.

hur hjälpte grand masters att höja Deep Blue ’ s spel?
det fanns två delar till hur de hjälpte. En var särskilt att hjälpa till med öppningsbiblioteket, som varje schackprogram använder för att spara tid och se till att det hamnar i rimliga positioner. Människor har studerat schacköppningar i århundraden och utvecklat sin egen favorit . Grand masters hjälpte oss att välja ett gäng av dem att programmera till Deep Blue.

de var också, man kan säga, sparring partners för Deep Blue. De skulle spela mot datorn och försöka hitta svagheter i systemet. Och då skulle vi sitta med dem och med resten av Deep Blue-teamet och försöka formulera vad den svagheten faktiskt var och om det fanns ett sätt att ta itu med det. Ibland, med tanke på de begränsningar vi hade—vi programmerade en del av datorns instruktioner direkt på en hårdvara som kallades ett schackacceleratorchip snarare än att skriva programvara—fanns det några problem som vi inte lätt kunde fixa. Men ofta fanns det något sätt vi kunde förbättra dess förmåga att hantera ett problem som vi hade identifierat.

hur bestämde Deep Blue vilka drag som skulle göras?
djupblå var en hybrid. Den hade generella superdatorprocessorer i kombination med dessa schackacceleratorchips. Vi hade programvara som körde på superdatorn för att utföra en del av en schackberäkning och sedan lämna bort de mer komplexa delarna av ett drag till gaspedalen, som sedan skulle beräkna . Superdatorn skulle ta dessa värden och så småningom bestämma vilken väg man ska ta.

hur gick Deep Blue fram från 1996 till 1997 för att slå Kasparov?
Vi gjorde ett par saker. Vi fördubblade mer eller mindre systemets hastighet genom att skapa en ny generation hårdvara. Och sedan ökade vi schackkunskapen i systemet genom att lägga till funktioner i schackchipet som gjorde det möjligt att känna igen olika positioner och göra det mer medvetet om schackkoncept. Dessa marker kan sedan söka igenom ett träd av möjligheter att räkna ut det bästa draget i en position. En del av förbättringen mellan ’96 och ’97 är att vi upptäckte fler mönster i en schackposition och kunde sätta värden på dem och därför utvärdera schackpositioner mer exakt. 1997-versionen av Deep Blue sökte mellan 100 miljoner och 200 miljoner positioner per sekund, beroende på typ av position. Systemet kan söka till ett djup av mellan sex och åtta par drag—en vit, en svart—till högst 20 eller ännu fler par i vissa situationer. Ändå, medan vi var övertygade om att 1997 Deep Blue var mycket bättre än 1996-versionen, var det mest troliga resultatet av matchen oavgjort. Även gå in i det sista spelet i matchen, jag väntade oavgjort, och en sannolik omkamp.

varför beviljade IBM inte Kasparovs begäran om en omkamp efter 1997-tävlingen?
vi kände att vi hade uppnått vårt mål, att visa att en dator kunde besegra världsschackmästaren i en match och att det var dags att gå vidare till andra viktiga forskningsområden.

hur har AI förändrats under de två decennierna sedan den matchen?
naturligtvis har maskiner förbättrats i bearbetningshastighet och minne och så vidare. Människor började också samla-precis som en del av sin verksamhet—mycket mer data som gav foder till dagens maskininlärningsalgoritmer. Så småningom började vi inse att kombinera alla dessa saker kan ge några anmärkningsvärda resultat. IBM Watson-systemet som spelade Jeopardy! använde ett maskininlärningsbaserat system som tog mycket data som fanns i världen—saker som Wikipedia och så vidare—och använde dessa data för att lära sig att svara på frågor om den verkliga världen. Sedan dess har vi gått vidare för att lära oss att göra vissa typer av perceptuella uppgifter som taligenkänning och maskinvision. Det har lett till att Watson utför mer affärsrelaterade uppgifter som att analysera röntgenbilder och dela den informationen med läkare.

hur hjälpte din erfarenhet av att arbeta med Deep Blue att påverka ditt arbete på AI framöver?
En sak som vi lärde oss är att det finns mer än ett sätt att se på ett komplext problem. Till exempel i schack finns det det mänskliga sättet, vilket är mycket mönsterigenkänningsbaserat och intuitionsbaserat, och sedan finns det Maskinvägen, som är väldigt sökintensiv och tittar igenom miljoner eller miljarder möjligheter. Ofta är dessa tillvägagångssätt komplementära. Det är definitivt sant i schack men också i många verkliga problem-att datorer och människor tillsammans är bättre än någon ensam. Vi skulle till exempel inte vilja att datorer tar över diagnos och behandling av patienter själva eftersom det finns många immateriella tillgångar vid diagnos av en patient som är svåra att fånga i data. Men när det gäller att göra rekommendationer om alternativ att överväga—kanske de som är från mycket nya tekniska papper eller kliniska prövningar som kanske läkaren inte är medveten om—kan ett sådant system vara mycket värdefullt.

en viktig del av vad vi gör just nu tar mycket avancerade artificiella neurala nätverksbaserade system som tenderar att vara mycket svarta lådor–de är inte särskilt bra på att förklara varför de rekommenderar vad de rekommenderar—och ger dem möjlighet att förklara sig själva. Hur kan du verkligen lita på en rekommendation som kommer ut ur systemet om den inte kan förklara det? Dessa black box neurala nätverkssystem är enormt komplexa, med miljontals parametrar i dem. En del av att övervinna det kan vara i linje med att träna ett system genom att ge det exempel på goda förklaringar. Detta är särskilt uppenbart i sjukvårdsutrymmet när en dator ställer en diagnos eller rekommenderar en behandling. Om det finns en rimlig förklaring, kan vi förmodligen mer lämpligt ge den den vikt den förtjänar för att hjälpa en läkare att fatta ett slutgiltigt beslut.