Datamaskin lærer av egne feil

Informatikere utvikler nå en databrikke som gjennom evolusjon lærer av sine egne feil. Brikken skal kunne fungere lynraskt uten kontakt med omverdenen, uansett om den plasseres på en annen planet eller på havbunnen.

NATURENS EGEN METODE: – Vi har tatt i bruk evolusjon for å utvikle så god hardware som mulig, forteller stipendiat Kyrre Glette (t.v.) og professor Jim Tørresen ved Institutt for informatikk. Foto: Ståle Skogstad.

Informatikere ved Universitetet i Oslo utvikler nå en helt ny type hardware som kan endre seg selv.

– Dette er et stort fremskritt. I dagens datamaskiner er hardwarebrikkene vanligvis laget én gang for alle. Da må alle endringene skje i programvaren og ikke i selve maskinvaren, påpeker professor Jim Tørresen i forskningsgruppen Roboter og intelligente systemer på Institutt for informatikk.

En hardwarebrikke (databrikke) er en fysisk konstruksjon bygd opp av bittesmå byggeklosser, slik som transistorer og logiske porter. Akkurat som man kan planlegge veinettet i en by på utallige måter, fins det flere billioner måter å lage en brukbar hardwarebrikke på. Da nytter det ikke å lete etter den optimale konstruksjonen med tilfeldig prøving og feiling. Forskerne stilte seg derfor spørsmålet om hvordan man raskest mulig kunne finne den gunstigste konstruksjonen.

– Gjennom evolusjon har naturen kommet frem til robuste systemer som overgår alt det menneskene har klart å lage. Vi har derfor tatt i bruk naturens egen mekanisme for å utvikle så gode systemer som mulig, forteller stipendiat Kyrre Glette .

De har nå laget en hardwarebrikke som ved hjelp av evolusjon designer seg selv, slik at den blir perfekt tilpasset de oppgavene den skal løse.

Datagener

Alle byggeklossene i hardwarebrikken er representert matematisk som en lang rekke med ”gener”. Ved å skru av og på genene får brikken forskjellige egenskaper.

For å kunne gjennomføre evolusjonen har forskerne laget en tenkt grunnpopulasjon i datamaskinen, med et titalls hardwarekonstruksjoner. Så pares alle hardwarekonstruksjonene med hverandre. Det betyr at datamaskinen tar halvparten av genrekkene fra to ulike brikker og parer dem sammen til en ny konstruksjon.

Når egenskapene til den nye konstruksjonen er testet ut, fortsetter paringene inntil systemet har funnet brikken med de beste egenskapene.

Det kan ta opptil 20 til 30 tusen generasjoner før systemet har funnet den optimale løsningen. Likevel tar ikke beregningene mer enn noen få sekunder.

– Hele poenget med den genetiske algoritmen (beregningsmetoden) er at den finner frem til en løsning som tar hensyn til tidligere suksess, forteller forsker Lena Garder .

Kyllingrobot på mars

Allerede høsten 2004 tok forskningsgruppen i bruk evolusjon for å lage
selvlærende programvare, men den gang hadde det intet med endringer i hardware å gjøre. Som den første i verden lagde førsteamanuensis Mats Høvin en egen programvaremodul med evolusjonslæring i en selvlærende kyllingrobot som ble kalt for Henriette. Roboten fikk den spesielle egenskapen at den kunne lære å gå av seg selv.

Hele poenget var: Dukket det opp uforutsette hindringer på veien, måtte kyllingroboten på egenhånd lære seg hvordan den skulle klare å omgå hindringen.

Hvis roboten ble sendt til planeten Mars, måtte den ha klart seg helt alene uten noen som helst hjelp fra moderplaneten Jorden. Kanskje hadde ikke programmererne tenkt seg den skjebnesvangre muligheten at roboten kunne falle ned i et hull. Likevel skulle roboten være programmert slik at den helt av seg selv, ved prøving og feiling, skulle lære hvordan den kunne komme seg opp igjen.

Undersjøisk oljerobot

Nå ønsker informatikerne å lage en robot som kan plasseres på havbunnen og passe på at oljeutvinningen går som den skal.

Anta at roboten skal vedlikeholde en oljeinstallasjon på 2000 meters dyp. Det er svært dyrt om roboten skal ha forbindelse til havoverflaten med lange og tunge kabler. En annen mulighet er å kommunisere med ekkosignaler. Men da oppstår det en tidsforsinkelse på flere sekunder.

– Vi er derfor interessert i å lage et intelligent system under vann som skal fungere på egenhånd, med liten kommunikasjon med omverdenen. Dette er århundrets satsingsområde. Kanskje må roboten skjønne at det står en stein i veien. Da kan den bruke kunstig evolusjon for å fungere optimalt, forteller Kyrre Glette.

Da er det også viktig at læringsalgoritmen er kjapp. Hvis man lager en robot der man kan endre på selve hardwarekonstruksjonen, er det mulig å øke læringstempoet med ti til hundre ganger.

Marcus Furuholmen ved Aker Kværner Subsea starter nå doktorgradsarbeidet ved Institutt for informatikk om nettopp autonome servicesystemer i havet.

– Hvis man må sende ut båt og fullt mannskap hver gang man skal inspisere eller styre den minste ting, blir det lite lønnsomt i lengden. I doktorgraden skal jeg derfor se på autonome løsninger. Tanken er å utvikle selvlærende systemer som skal fungere selv om omgivelsene endrer seg, slik som endringer av strømmene i havet eller seigheten i oljen, påpeker Marcus Furuholmen.

Den nye teknologien til forskningsgruppen ved Institutt for informatikk skal også kunne brukes til svært mange andre finurligheter, slik som lynraske og optimale systemer for gjenkjenning av ansikt og fingeravtrykk.

Emneord: Matematikk og naturvitenskap, Informasjons- og kommunikasjonsvitenskap, Kunnskapsbaserte systemer, Distribuerte systemer, Simulering, visualisering, signalbehandling, bildeanalyse, Algoritmer og beregnbarhetsteori Av Yngve Vogt
Publisert 1. feb. 2012 11:53
Legg til kommentar

Logg inn for å kommentere

Ikke UiO- eller Feide-bruker?
Opprett en WebID-bruker for å kommentere