Patroonbetrapper

`Neugents' kunnen fraude herkennen, onbekende computervirussen onderscheppen en computernetwerken beheren. De software leert voorspellen op basis van eerdere gebeurtenissen.

De ervaringen met expertsystemen en neurale netwerken, computerprogramma's die complexe taken kunnen uitvoeren, lopen nogal uiteen: wetenschappelijk interessant, maar voor de alledaagse praktijk lang niet altijd inzetbaar. Het Amerikaanse softwarebedrijf Computer Associates (CA) probeert daarin verandering te brengen door beide technieken te combineren in `neugents', programma's die op basis van patroonherkenning voorspellingen kunnen doen. Neugents kunnen fraude herkennen, onbekende computervirussen onderscheppen en computernetwerken beheren.

Autoverkopers herkennen hun klanten vaak al op afstand. Een vader die met zijn zoon de showroom binnenwandelt, zal meteen worden meegenomen naar de gezinsauto's, terwijl een yup de sportwagens mag bewonderen. Jarenlang heeft men gedacht dat de kennis van autoverkopers en andere experts in een computersysteem kon worden gestopt. Zo'n systeem zou dan zelfstandig beslissingen kunnen nemen of experts beter kunnen adviseren. Dat bleek niet zo eenvoudig te zijn. Hoewel expertsystemen tot op zekere hoogte heel goed bruikbaar zijn, kunnen ze doorgaans weinig meer dan volgens `als...dan' regels bepaalde keuzes maken. ``Als de klant ouder is dan 35 jaar en 128.000 gulden bruto per jaar verdient, biedt hem dan de volgende koopsompolis aan'', zou een van die regels kunnen luiden. Met nieuwe of onbekende situaties weet zo'n programma nauwelijks raad.

INZICHTELIJK

``Een voordeel van expertsystemen is dat ze inzichtelijk zijn'', zegt Machiel Westerdijk van de Stichting Neurale Netwerken (SNN), onderdeel van de vakgroep medische fysica en biofysica van de Universiteit Nijmegen. ``Het redeneerproces wordt goed begrepen, wat het vertrouwen in de conclusies vergroot. Nadeel is dat regelgebaseerde systemen moeilijk om kunnen gaan met onzekerheden en niet erg goed van eerdere voorbeelden kunnen leren.'' Hoewel Computer Associates al enige tijd regelgebaseerde systemen levert onder de naam Aion – vermogensbeheerder Robeco gebruikt zo'n programma voor beleggingsadvies via de telefoon – zocht het softwarebedrijf naar mogelijkheden om deze programma's te optimaliseren. Met name voor het beheer van computersystemen- en netwerken zijn expertsystemen niet ideaal. ``Je hebt de neiging generieke regels op te stellen voor systemen die verschillend belast worden,'' zegt Marcel den Hartog van Computer Associates Nederland, ``Alleen al tussen een applicatieserver en een netwerkserver zit een wereld van verschil.''

Meer resultaten werden verwacht van de combinatie van regelgebaseerde systemen en neurale netwerken. Neurale netwerken werden ooit ontwikkeld om de interactie tussen neuronen in de hersenen te simuleren. Tegenwoordig worden ze vooral voor patroonherkenning gebruikt. De praktijk van patroonherkenning door klassieke computers is weerbarstig. Mensen hebben geen enkele moeite om auto's te herkennen, ook al verschilt een Volkswagen hemelsbreed van een Renault. Een computer raakt in de war als de bumper van de ene auto verschilt van die van een andere auto. Een neuraal netwerk dat een groot aantal auto's heeft gezien, kan echter zonder veel problemen een Toyota of een ander merk als auto herkennen.

Voor de analyse van de gegevens wordt gebruik gemaakt van een rekenkundig model dat lijkt op een netwerk van neuronen in de hersenen. Neuronen zijn in dit geval rekeneenheden (`knooppunten' of `processoren') die invoergegevens verwerken en doorgeven. Elk neuron ontvangt van verschillende neuronen ingangssignalen en geeft zelf een uitgangssignaal door naar andere neuronen. Elke verbinding tussen twee neuronen heeft een gewicht (een getal) dat kan worden verhoogd of verlaagd. Het uitgangssignaal (0 of 1) van het eerste neuron wordt vermenigvuldigd met het gewicht van de verbinding en doorgegeven aan het tweede neuron. Alle producten die dit tweede neuron binnenkrijgt van andere neuronen, worden ook weer opgeteld. Vervolgens wordt dit resultaat vergeleken met een van te voren vastgestelde drempelwaarde van het neuron. Is het resultaat groter dan de drempelwaarde, dan wordt een volgend neuron actief.

Omdat de drempelwaarden en gewichten in eerste instantie willekeurig gekozen worden, zal het netwerk als geheel een foute `output' geven. Maar door het systeem telkens voorbeelden te presenteren en iedere keer de drempels en gewichten een beetje aan te passen, zal het netwerk steeds beter gaan functioneren en de getoonde voorbeelden leren herkennen. Neurale netwerken mogen dan goed zijn in patroonherkenning, er zijn ook beperkingen. Westerdijk (Stichting Neurale Netwerken): ``Veel neurale netwerken opereren als een soort `black box'. Het is soms helemaal niet duidelijk hoe zo'n netwerk aan zijn voorspelling komt. Verder is het lastig om kennis van experts in zo'n netwerk te stoppen.'' Vandaar dat wetenschappers zich concentreren op zogenoemde `probabilistische grafische modellen', die de eigenschappen van neurale netwerken en expert systemen combineren. In zo'n model wordt kennis in de vorm van kansregels opgeslagen. Samen vormen die regels een grafische structuur die inzichtelijker is dan de structuur van een klassiek neuraal netwerk.

Computer Associates heeft voor een andere oplossing gekozen: een combinatie van regelgebaseerde systemen, neurale netwerken en agents, softwareprogramma's die op basis van patronen beslissingen kunnen nemen. Dergelijke agents moeten wel eerst getraind worden. Experts moeten `neugents' (samentrekking van neural networks en agents) vertellen welke gegevens belangrijk zijn en welke niet.

Hoewel de eerste neugents twee jaar geleden werden ontwikkeld, heeft het even geduurd voordat er in computernetwerken mee geëxperimenteerd kon worden. Marcel den Hartog van CA: ``Een neugent kan in drie seconden wel 1200 verschillende waarden meten, en zeker in het begin is de neugent aangewezen op de adviezen van de systeembeheerder. Dat wilden we voorkomen, want door al dat dataverkeer ga je het netwerk onnodig belasten.'' Neugents kunnen hun analyses nu lokaal uitvoeren, waarbij de systeembeheerder de agent alleen maar hoeft bij te sturen. Verder worden de gegevens zoveel mogelijk geclusterd. Den Hartog: ``Elk cluster vertegenwoordigt een ander probleem in het netwerk, zoals netwerkcongestie of een dreigend geheugentekort. Zo maak je processen transparanter.''

Er diende echter nog een probleem te worden opgelost voordat neugents in de praktijk toegepast konden worden. Om goed te functioneren heeft de neugent erg veel voorbeelden nodig. ``Voor netwerkbeheer spreek je al gauw over metingen van drie maanden,'' aldus Den Hartog. ``Al die gegevens moet je ergens opslaan. De extra opslagcapaciteit zou deze technologie extra duur kunnen maken.'' Zogenoemde `performance agents' – programma's die metingen aan neugents doorgeven – kunnen de gegevens nu zo indikken dat ze weinig opslagcapaciteit vereisen: geen terabytes, maar hooguit enkele megabytes per systeem.

TOEPASSINGEN

In netwerkomgevingen kunnen neugents nu met grote nauwkeurigheid voorspellen dat een computer door capaciteitsproblemen binnen een aantal uren zal uitvallen, zodat systeembeheerders tijdig kunnen ingrijpen. Het is vooral de combinatie met neurale netwerken die deze technologie nauwkeurig maakt. De laatste tijd worden neugents ook voor een groot aantal toepassingen ingezet. Het in kleding gespecialiseerde postorderbedrijf Charles Tyrwhitt analyseert met neugents het gedrag van klanten op haar website. Aan de hand van 74 variabelen worden klanten in vijf categorieën ingedeeld, variërend van belangrijk tot minder belangrijk. Klanten die veel kopen krijgen dan bijvoorbeeld kortingen aangeboden.

Er zijn ook toepassingen buiten de IT-industrie denkbaar: omdat een neugent afwijkingen in grote hoeveelheden gegevens kan ontdekken, zou financiële fraude makkelijker herkend en bestreden kunnen worden. Energiebedrijven willen neugents gebruiken voor voorspellingen van het energiegebruik, zodat er efficiënter geproduceerd kan worden. En het bedrijf Data National uit Florida gebruikt neugents om de behandeling van patiënten met RSI (muisarm) beter te begeleiden. Men maakt gebruik van de gegevens van duizenden patiënten die eerder behandeld werden.

Of neugents in alle gevallen even goed functioneren zal de ervaring moeten leren. De technologie zal zich niet voor iedere situatie lenen. CA's Den Hartog blijft realistisch: ``Natuurlijk is er gekeken naar de mogelijkheid om het verloop van de beursindex te voorspellen. Maar dan spreek je over honderden variabelen waar je rekening mee moet houden. De hoeveelheid gegevens die je moet verzamelen en analyseren is zo groot dat het de moeite eigenlijk niet loont.''