(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.
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.
- 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.
- 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.
- 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.”