fredag, april 15, 1988

Artificiella neuronnät härmar hjärnan (Datornytt, 1988)

(Denna rapport skrevs för Datornytt i april 1988.)
 
Neural nets kallas ett av de senaste tillskotten från artificiell intelligens-forskningen. De härmar den mänskliga hjärnans sätt att arbeta och de kan till skillnad från andra datorsystem, inklusive expertsystem, snabbt lära sig saker på egen hand. De är också ovanligt stryktåliga vilket förstås väckts Pentagons intresse.

Det finns ett femtontal s k neural nets i USA idag. Ett av de mest avancerade kommer från företaget Nestor Inc., i Providence i delstaten Rhode Island. Ett annat företag som kommit långt på detta område är Hecht-Nielsen Neurocomputer i San Diego, Kalifornien.

Neurosystem har flera egenskaper som vanliga datorer inte har:
  • De är "stryktåliga" och kan fortsätta fungera även sedan delar av systemet förstörts.
  • De kan hitta saker i en databas som en annan dator skulle missa eftersom den är alltför precis.
  • De kan lära sig snabbt.
I slutet av januari presenterade Nestor Inc., sitt paket "The Nestor Development System" (NDS), ett neurosystem som baseras en teknik företaget utvecklade redan 1980. Barry Hoglund, informationschef på Nestor Inc., säger att man hittills använt sina neurosystem internt för att lösa kunders problem, men på senare tid har man börjat sälja produkter som utnyttjar den nya tekniken.

NDS är enligt Ed Rosenfield, som utger nyhetsbladet Intelligence, den mest spännande produkten på detta fält. (Citerad i Business Week 880215). Även en nybörjare kan bygga upp användbara neurosystem för mönsterigenkänning med hjälp och NDS och en persondator typ IBM PC AT. NDS är uppbyggt kring Nestor Learning System (NLS) som är ett neurosystem för att lära datorn känna igen mönster utan att behöva skriva långa detaljerade instruktionskedjor (algoritmer).

Ett exempel på en färdig produkt för mönsterigenkänning är Nestor Writer, som gör att en dator kan  läsa vanlig handstil. Med hjälp av Nestor Writer kan man skippa tangentbordet och istället skriva för hand. Nestor Writer är inte först med att kunna tolka handstil, men med att snabbt lära sig läsa nya stilar och symboler. Det tar bara några få försök att lära sig en ny handstil. (En "förövning" var säkert Nestors utveckling av ett system som känner igen 2 500 japanska skrivtecken i samma takt som de skrivs!)

Att känna igen mönster är ett av de svåraste problemen för datorer, men en fundamental egenskap för oss människor (och de flesta djur därtill). Vår hjärna kan ögonblickligen tolka mönster av ljus, ljud, känsel, smak och lukt som når våra sinnen. Vi behöver inte titta länge på ett ansikte för att sedan känna igen det. Icke så med en dator, som måste programmeras att söka efter väldefinierade egenskaper för att kunna matcha data mot ett mönster. Det behövs dessutom inte mycket för att datorn ska förkasta en matchning, t ex om ett foto täckts över i ett hörn.

För att komma vidare har AI-forskningen bl. a tagit hjälp från neurofysiologin (hjärnforskningen), som är en veteskapsgren i snabb utveckling. Insikter i och hypoteser om hur hjärnans tiotals miljarder hjärnceller (neuroner) fungerar och kommunicerar via nervtrådar och synapser (kopplingar) har lett till teoretiserandet kring och byggandet av s k neural nets, eller neurosystem som jag föreslår att de kallas. ("Hjärn-system" låter för pretentiöst. Nervnät, neuralnät och neurodatorer leder tanken åt fel håll.)

När den mänskliga hjärnan lär sig något sker lagringen genom en förstärkning av en eller flera synapser mellan neuroner. Kunskapen "etsas in." Var och en av neuronerna kan via synapserna upprätta förbindelser med mellan 1.000 och 100.000 andra neuroner. Repetition förstärker kopplingen och ju mer kunskaper man har på ett område, desto fler kopplingar har förstärkts, vilket underlättar ny inlärning. Neurosystemen arbetar på ett liknande sätt, fast på en mycket primitiv nivå jämfört med den mänskliga hjärnan. (Varje neuron är i och för sig inte så märkvärdig, de kan skifta laddning 1.000 gånger per sekund, medan ett datorchip kan göra det 1 miljard gånger per sekund. Mängden och det sofistikerade nätverket kompenserar för neuronens begränsade egenskaper.)

Hjärnan har dock begränsningar även när det gäller att känna igen mönster och denna begränsning blir alltmer uppenbar ju längre datoriseringen framskrider. Ett flygplans "instrumentbräda" eller en tabell fylld med hundratals eller tusentals siffror har goda chanser att göra oss människor förvirrade. För den som vill ha ett praktiskt exempel är det bara att gå till dragningslistorna eller börstabellerna i en dagstidning.

Ett sätt att få meningsfull information ut ur stora datamängder är att begränsa sökningen till några nyckeltal (t ex de lotter/obligationer/aktier du äger, eller de finansiella data som du betraktar som representanter för utvecklingen i stort). För mer sofistikerade analyser/tolkningar av data kan man använda datorstöd i olika former. Det vanligaste är kanske att grafiskt illustrera datamängden, men även dessa bilder måste tolkas.

Expertsystem och neurosystem är två lösningar på detta problem.

Nestor presenterar NDS som ett alternativ till expertsystem, där dessa är för långsamma och dyrbara. Men det handlar inte om att ersätta dem, förklarar Hoglund.

”Vår filosofi är att vi ska arbeta tillsammans med expertsystem. Det kan vara lämpligt att sätta ett expertsystem i fronten på vårt system, men också att använda det som "front end" för ett expertsystem,” säger han.

Såväl datorer med parallell arkitektur som kunskapsbaserade system, som expertsystem och neurosystemen, bryter mot en grundläggande princip för det mesta av dagens databehandling -- principen om seriell databehandling, där problem löses sekvensiellt, steg för steg. De går utöver den formella logiken för att kunna utnyttja kunskaper grundade i erfarenheter, vilka är svåra att definiera, men högst reella.

En experts råd kan t ex byggas in i ett expertsystem som en beslutsregel, utan att vi för den skull vet exakt varför experten gör som han gör. Allt vi har är kanske en tumregel som vi vet fungerar. Detta svåra och tidsödande arbete utförs av kunskapsingenjörer, experter på att utvinna kunskaper ur levande objekt, vilka sedan lär expertsystemet vad det måste kunna.

Det finns tre sätt att bygga neurosystem.

  1. Det första innebär att man försöker bygga en dator som fysiskt efterliknar hjärnans neuroner, nervtrådar och synapser. Ett exempel är ett neuro-chip som man utvecklat på AT&Ts Bell Laboratories i experimentsyfte. Detta mikrochip rymmer 75.000 transistorer på en yta stor som en tioöring. De är organiserade i 54 "hjärnceller" förbundna av kopplingar som kan programmeras till att reglera den mängd ström som de släpper igenom. De kommer då att fysiskt imitera hjärnans synapser. Biofysikern och kemisten John Hopfield visade 1982 hur man med hjälp av matematiska modeller för dynamiska system kan analysera beteendet hos ett nätverk av strömomkopplare (t ex transistorer som växlar mellan ström och inte ström, dvs 1 och 0 i ett digitalt system). Han visade också att ett nätverk av omkopplare som startat med godtyckliga växlingar mellan noll och ett tenderar att stabilisera sig så att de stannar i endera läge. Detta kan användas för att skapa betydelsebärande "avtryck", vilka sedan kan avläsas som digital information.
  2. Det andra sättet är att använda datorer med flera parallella processorer i kombination med program som låter datorn simulera ett nätverk av neuroner.
  3. Den tredje och vanligaste är den som Nestor Inc., valt, nämligen att låta ett datorprogram simulera nätverket på en vanlig seriell dator, en persondator eller en arbetsstation. Neurosystemet lär sig genom att det körs på några testfall. Systemets inlärningsregler fungerar så att om två "neuroner"  tillsammans åstadkommer rätt resultat förstärks förbindelsen mellan dem; i annat fall försvagas den. Det går automatiskt och snabbt. Läroprocessen för ett expertsystem kräver däremot att kunskapsingenjörer utvinner och bearbetar mänskliga experters kunskaper för att slutligen programmera och paketera den. Ett mödosamt och svårt arbete.
Lika lite som för hjärnan förstår forskarna helt hur neurosystemets inlärning går till. Men det betyder inte att systemet är okontrollerbart, försäkrar Hoglund.
”När man kört en omgång på systemet kan man titta på diagram och grafer som ger en bild av hur effektivt det börjar mäta sitt territorium.
”Om ett mönster identifieras fel kommer det att finnas tillräckligt med information för att du ska kunna hitta källan till problemet.”

Neurosystemets sätt att fungera ger det en hög grad av "stryktålighet." Minnet består av olika styrka i kopplingarna mellan "neuronerna" eller transistorerna, vilket betyder att det finns utspritt över systemet. Denna distribuerade datalagring minskar systemets känslighet för skador och dataförluster. Det kan fortsätta att fungera även sedan 15 procent av dess kopplingar är skadade, vilket är mångdubbelt bättre än för en konventionell dator. Det amerikanska försvaret, inte minst de forskare som arbetar med SDI-projektet ("Stjärnornas krig") har insett fördelen med detta. Den kan också komma till nytta i datorsystem som reglerar t ex kärnkraftverk.

En annan egenskap hos neurosystemet är att det kan söka information på ett associativt sätt. Matchningen kräver inte att datorn ska känna igen en bestämd uppsättning nollor och ettor för att ropa Bingo. Om neurosystemet "tittar" på en "inetsad" mängd information kan den acceptera den även om den saknar några bitar. Den kan också, om den inte hittar en perfekt matchning, plocka fram den närmast liknande matchningen.

Nackdelen med neurosystemen är att de inte alltid hittar det bästa svaret på ett problem. (En nackdel som de f ö delar med vår hjärna.) Ett bra svar kan få systemet att betrakta uppdraget som utfört, även om det finns andra svar som är bättre. I ett vanligt datorprogram prövas alla de data som det programmerats att ta hänsyn till och först därefter avges svaret. I komplicerade fall ställer detta mycket höga krav på såväl datorprogrammet som de datorer som ska utföra beräkningarna.

Neurosystem kommer därför  inte att ersätta tidigare metoder för databearbetning, men de kan få stor betydelse i alla de fall där det är viktigare att finna en hyfsad lösning snabbt än att förlora tid i väntan på den optimala lösningen. Ett exempel som refereras i Technology Review (maj/juni 1987) är den resande handelsmannen som vill räkna ut den kortaste vägen att besöka 10 olika städer. Han har inte mindre än 181.440 olika kombinationer att välja på! Skulle han ha 30 städer i sitt distrikt finge han en biljon triljoner rutter att välja på (Uttryckt på annat sätt: En etta följd av 30 nollor!) En seriell dator skulle tröska sig igenom alla alternativ, vilket skulle ta lång tid.

John Hopfield visade experimentellt tillsammans med David Tank, en kollega på Bell Labs, att ett neurosystem kunde lösa den resande handelsmannens problem 1000 gånger snabbare än ett konventionellt datorsystem. Visserligen fann man bara den absolut bästa lösningen i hälften av fallen, men i nio av tio fall prickade systemet in ett av de två nästa alternativen. Vår handelsresande skulle säkert varit fullt nöjd!

Hoglund ger ett annat exempel. Han anger inte specifikt vad det rör sig om, men en gissning är, att det rör sig om ett datorsystem som hjälper en jaktpilot att tolka flödet av information från mängden av instrument framför honom.

”Vi har massvis med signaler från sensorer och dessa behöver tolkas. Låt oss säga att vi har ett expertsystem som gör detta, men den hastighet med vilket det gör det är så långsam att det nästan är oanvändbart,” säger han.

”Det man då kan göra är ta ett neurosystem, som tränats för uppgiften och låta det göra en preliminär klassificering av inkommande data. De mönster som det är relativt säkert på kan handlas på ett sätt, medan de som det råder osäkerhet om kan lämnas till expertsystemet. Även för jaktpiloten torde det finnas ögonblick då han hellre fattar näst bästa beslut, än väntar på det bästa.”