Methoden voor het organiseren van krachtige processors. Databaseverwerkers. Streamprocessors. Neurale processors. Processors met meerwaardige (fuzzy) logica. Intel neurale processors

Een van de meest veelbelovende gebieden voor de ontwikkeling van fundamenteel nieuwe computersysteemarchitecturen hangt nauw samen met de creatie van een nieuwe generatie computers, gebaseerd op de principes van informatieverwerking ingebed in kunstmatige neurale netwerken(NS). Het eerste praktische werk aan kunstmatige neurale netwerken en neurocomputers begon in de jaren veertig en vijftig. Een neuraal netwerk wordt gewoonlijk opgevat als een reeks elementaire informatieconverters, ‘neuronen’ genoemd, die op een bepaalde manier met elkaar zijn verbonden door middel van informatie-uitwisselingskanalen, ‘synaptische verbindingen’.

Neuron, in wezen, is een elementaire processor die wordt gekenmerkt door invoer- en uitvoertoestanden, een overdrachtsfunctie (activeringsfunctie) en lokaal geheugen. De toestanden van neuronen veranderen tijdens het gebruik en vormen het kortetermijngeheugen van het neurale netwerk. Elk neuron berekent de gewogen som van signalen die via synapsen aankomen en voert er een niet-lineaire transformatie op uit. Wanneer ze via synapsen worden verzonden, worden signalen vermenigvuldigd met een bepaalde wegingsfactor. De verdeling van wegingscoëfficiënten bevat informatie die is opgeslagen in het associatieve geheugen van het neurale netwerk. Het belangrijkste element van netwerkontwerp is de training. Bij het trainen en hertrainen van een neuraal netwerk veranderen de wegingscoëfficiënten. Ze blijven echter constant tijdens het functioneren van het neurale netwerk en vormen een langetermijngeheugen.

N C kan bestaan ​​uit één laag, twee lagen, drie of meer, maar in de regel zijn meer dan drie lagen in een NN niet nodig om praktische problemen op te lossen.

Het aantal NN-ingangen bepaalt de dimensie van hyperruimte, waarin ingangssignalen kunnen worden weergegeven door punten of hyperregio's van dicht bij elkaar gelegen punten. Het aantal neuronen in een netwerklaag bepaalt het aantal hypervlakken in hyperruimte. Het berekenen van gewogen sommen en het uitvoeren van een niet-lineaire transformatie maken het mogelijk om te bepalen aan welke kant van een bepaald hypervlak het ingangssignaalpunt zich in de hyperruimte bevindt.

Laten we het klassieke probleem van patroonherkenning nemen: bepalen of een punt tot een van de twee klassen behoort. Dit probleem wordt op natuurlijke wijze opgelost met behulp van een enkel neuron. Hierdoor kan de hyperruimte worden verdeeld in twee niet-kruisende en niet-geneste hyperregio's. In werkelijkheid vormen invoersignalen bij problemen die worden opgelost met behulp van neurale netwerken sterk geneste of elkaar kruisende gebieden in hyperspace, die niet kunnen worden gescheiden met behulp van een enkel neuron. Dit kan alleen worden gedaan door een niet-lineair hyperoppervlak tussen de regio's te tekenen. Het kan worden beschreven met behulp van een polynoom van de n-de orde. De machtsfunctie wordt echter te langzaam berekend en is daarom erg lastig voor berekeningen. Een alternatieve optie is om het hyperoppervlak te benaderen met lineaire hypervlakken. Het is duidelijk dat de nauwkeurigheid van de benadering afhangt van het aantal gebruikte hypervlakken, dat op zijn beurt afhangt van het aantal neuronen in het netwerk. Daarom ontstaat de behoefte aan hardware-implementatie van zoveel mogelijk neuronen in het netwerk. Het aantal neuronen in één laag van het netwerk bepaalt de resolutie ervan. Een enkellaags neuraal netwerk kan geen lineair afhankelijke beelden scheiden. Daarom is het belangrijk om meerlaagse neurale netwerken in hardware te kunnen implementeren.

EN kunstmatige neurale netwerken hebben geweldige eigenschappen. Ze vereisen geen gedetailleerde softwareontwikkeling en bieden de mogelijkheid om problemen op te lossen waarvoor geen theoretische modellen of heuristische regels bestaan ​​die het oplossingsalgoritme bepalen. Dergelijke netwerken hebben het vermogen zich aan te passen aan veranderingen in de bedrijfsomstandigheden, inclusief de opkomst van voorheen onvoorziene factoren. Door hun aard zijn NN's systemen met een zeer hoog niveau van parallellisme.

IN neurocomputers Er wordt gebruik gemaakt van de principes van informatieverwerking die in echte neurale netwerken worden uitgevoerd. Deze fundamenteel nieuwe computerhulpmiddelen met een onconventionele architectuur maken een krachtige verwerking van grootschalige informatiearrays mogelijk. In tegenstelling tot traditionele computersystemen maken neurale netwerkcomputers, vergelijkbaar met neurale netwerken, het mogelijk om informatiestromen van discrete en continue signalen met grotere snelheid te verwerken, eenvoudige computerelementen te bevatten en met een hoge mate van betrouwbaarheid het oplossen van informatieproblemen bij gegevensverwerking mogelijk te maken, terwijl het verschaffen van een manier voor zelfherstructurering van de computeromgeving, afhankelijk van de verkregen oplossingen.

Over het algemeen betekent de term ‘neurocomputer’ momenteel een vrij brede klasse computers. Dit gebeurt om de eenvoudige reden dat formeel elke hardware-implementatie van een neuraal netwerkalgoritme kan worden beschouwd als een neurocomputer, van een eenvoudig model van een biologisch neuron tot een karakterherkenningssysteem of bewegende doelen. Neurocomputers zijn geen computers in de conventionele zin van het woord. Momenteel heeft de technologie nog niet het ontwikkelingsniveau bereikt waarop men zou kunnen spreken van een neurocomputer voor algemeen gebruik (wat ook kunstmatige intelligentie zou zijn). Systemen met vaste waarden van wegingscoëfficiënten zijn over het algemeen de meest gespecialiseerde van de neurale netwerkfamilie. Lerende netwerken zijn flexibeler in de verscheidenheid aan problemen die zij oplossen. Zo is de constructie van een neurocomputer telkens het breedste terrein voor onderzoeksactiviteiten op het gebied van hardware-implementatie van vrijwel alle elementen van het neurale netwerk.

Aan het begin van de 21e eeuw bestaat er, in tegenstelling tot de jaren 40-50 van de vorige eeuw, een objectieve praktische behoefte om te leren hoe neurocomputers gemaakt kunnen worden, d.w.z. het is noodzakelijk om in de hardware een flink aantal parallel werkende neuronen te implementeren, met miljoenen vaste of parallelle adaptief gemodificeerde verbindingen-synapsen, met verschillende volledig verbonden neuronenlagen. Tegelijkertijd is de geïntegreerde elektronicatechnologie bijna in staat haar fysieke mogelijkheden uit te putten. De geometrische afmetingen van transistors kunnen niet langer fysiek worden verkleind: met technologisch haalbare afmetingen in de orde van 1 micron of minder verschijnen fysieke verschijnselen die onzichtbaar zijn bij grote afmetingen van actieve elementen - kwantumgrootte-effecten beginnen een sterk effect te hebben. Transistors werken niet meer als transistors.

Voor hardware-implementatie van het neurale netwerk is een nieuw opslagmedium vereist. Zo'n nieuwe informatiedrager zou dat kunnen zijn licht, wat de rekenprestaties dramatisch zal verhogen, met verschillende ordes van grootte.

De enige technologie voor hardware-implementatie van neurale netwerken die in de toekomst optica en opto-elektronica kan vervangen is dat wel nanotechnologie, in staat om niet alleen de fysiek maximaal mogelijke mate van integratie van submoleculaire kwantumelementen te bieden met de fysiek maximaal mogelijke snelheid, maar ook de driedimensionale architectuur die zo noodzakelijk is voor de hardware-implementatie van het neurale netwerk.

Lange tijd werd aangenomen dat neurocomputers effectief zijn voor het oplossen van zogenaamde niet-formaliseerbare en slecht formaliseerbare problemen die verband houden met de noodzaak om het leerproces op te nemen met behulp van echt experimenteel materiaal in het probleemoplossende algoritme. In de eerste plaats omvatten dergelijke problemen de taak van het benaderen van een bepaalde vorm van functies die een discrete reeks waarden aannemen, d.w.z. patroonherkenningsprobleem.

Momenteel wordt er een klasse van problemen aan deze klasse van problemen toegevoegd, die soms geen training op experimenteel materiaal vereisen, maar die goed vertegenwoordigd zijn in een logische basis van een neuraal netwerk. Deze omvatten taken met een uitgesproken natuurlijk parallellisme van signaalverwerking, beeldverwerking, enz.. De opvatting dat neurocomputers in de toekomst efficiënter zullen zijn dan andere architecturen kan met name worden bevestigd door de sterke uitbreiding in de afgelopen jaren van de klasse van algemene wiskundige problemen die op een logische basis van een neuraal netwerk worden opgelost. Deze omvatten, naast de hierboven genoemde, problemen bij het oplossen van lineaire en niet-lineaire algebraïsche vergelijkingen en hoog-dimensionale ongelijkheden; systemen van niet-lineaire differentiaalvergelijkingen; partiële differentiaalvergelijkingen; optimalisatieproblemen en andere problemen.

Een neuraal netwerk wordt gewoonlijk opgevat als een reeks elementaire informatieconverters, ‘neuronen’ genoemd, die op een bepaalde manier met elkaar zijn verbonden door kanalen voor informatie-uitwisseling – ‘synaptische verbindingen’.

Een neuron is in wezen een elementaire processor die wordt gekenmerkt door een invoer- en uitvoerstatus, een overdrachtsfunctie (activeringsfunctie) en lokaal geheugen.


Rijst. 8.1.

De toestanden van neuronen veranderen tijdens het gebruik en vormen het kortetermijngeheugen van het neurale netwerk. Elk neuron berekent de gewogen som van signalen die via synapsen aankomen en voert er een niet-lineaire transformatie op uit. Wanneer ze via synapsen worden verzonden, worden signalen vermenigvuldigd met een bepaalde wegingsfactor. De verdeling van gewichtscoëfficiënten bevat informatie die is opgeslagen in het associatieve geheugen van het neurale netwerk. Het belangrijkste element van netwerkontwerp is de training. Bij het trainen en hertrainen van een neuraal netwerk veranderen de wegingscoëfficiënten. Ze blijven echter constant tijdens het functioneren van het neurale netwerk en vormen een langetermijngeheugen.

Een NN kan bestaan ​​uit één laag, twee, drie of meer lagen, maar in de regel zijn meer dan drie lagen in een NN niet nodig om praktische problemen op te lossen.

Het aantal NS-ingangen bepaalt de afmeting hyperruimte, waarin ingangssignalen kunnen worden weergegeven door punten of hyperregio's van dicht bij elkaar gelegen punten. Het aantal neuronen in de netwerklaag bepaalt het aantal hypervlakken V hyperruimte. Het berekenen van gewogen sommen en het uitvoeren van een niet-lineaire transformatie maken het mogelijk om te bepalen aan welke kant van een bepaald hypervlak het ingangssignaalpunt zich bevindt hyperruimte.


Rijst. 8.2.

Laten we het klassieke probleem van patroonherkenning nemen: bepalen of een punt tot een van de twee klassen behoort. Dit probleem wordt op natuurlijke wijze opgelost met behulp van een enkel neuron. Het zal je toelaten om te verdelen hyperruimte in twee onsamenhangende en niet-geneste hyperdomeinen. Invoersignalen bij problemen opgelost met behulp van neurale netwerken hyperruimte sterk geneste of overlappende gebieden die niet kunnen worden gescheiden met behulp van een enkel neuron. Dit kan alleen worden gedaan door een niet-lineair hyperoppervlak tussen de regio's te tekenen. Het kan worden beschreven met behulp van een polynoom van de n-de orde. De machtsfunctie wordt echter te langzaam berekend en is daarom erg lastig voor berekeningen. Een alternatieve optie is om het hyperoppervlak lineair te benaderen hypervlakken. Het is duidelijk dat de nauwkeurigheid van de benadering afhangt van het aantal gebruikte hypervlakken, wat op zijn beurt afhangt van het aantal neuronen in het netwerk. Daarom ontstaat de behoefte aan hardware-implementatie van zoveel mogelijk neuronen in het netwerk. Het aantal neuronen in één laag van het netwerk bepaalt de resolutie ervan. Een enkellaags neuraal netwerk kan geen lineair afhankelijke beelden scheiden. Daarom is het belangrijk om meerlaagse neurale netwerken in hardware te kunnen implementeren.


Rijst. 8.3.

Kunstmatige neurale netwerken hebben verbazingwekkende eigenschappen. Ze vereisen geen gedetailleerde softwareontwikkeling en bieden de mogelijkheid om problemen op te lossen waarvoor geen theoretische modellen of heuristische regels bestaan ​​die het oplossingsalgoritme bepalen. Dergelijke netwerken hebben het vermogen zich aan te passen aan veranderingen in de bedrijfsomstandigheden, inclusief de opkomst van voorheen onvoorziene factoren. Door hun aard zijn NN's systemen met een zeer hoog niveau van parallellisme.

Neurocomputers gebruiken de principes van informatieverwerking die worden uitgevoerd in echte neurale netwerken. Deze fundamenteel nieuwe computerhulpmiddelen met een onconventionele architectuur maken een krachtige verwerking van grootschalige informatiearrays mogelijk. In tegenstelling tot traditionele computersystemen, neurale netwerkcomputers, vergelijkbaar met neurale netwerken, maken het mogelijk om informatiestromen van discrete en continue signalen met grotere snelheid te verwerken, bevatten eenvoudige rekenelementen en maken met een hoge mate van betrouwbaarheid het oplossen van informatieproblemen bij gegevensverwerking mogelijk, terwijl ze een manier bieden voor zelfreconstructie van de computeromgeving, afhankelijk van de verkregen oplossingen.

Over het algemeen betekent de term ‘neurale computer’ momenteel een vrij brede klasse van computers. Dit gebeurt om de eenvoudige reden dat formeel elke hardware-implementatie als een neurocomputer kan worden beschouwd. neuraal netwerkalgoritme, van een eenvoudig biologisch neuronmodel tot een karakter- of bewegend doelherkenningssysteem. Neurocomputers zijn geen computers in de conventionele zin van het woord. Momenteel heeft de technologie nog niet het ontwikkelingsniveau bereikt waarop men zou kunnen spreken van een neurocomputer voor algemeen gebruik (wat ook kunstmatige intelligentie zou zijn). Systemen met vaste waarden van wegingscoëfficiënten zijn over het algemeen de meest gespecialiseerde van de neurale netwerkfamilie. Leernetwerken zijn meer aangepast aan de verscheidenheid aan problemen die worden opgelost. Lerende netwerken zijn flexibeler en kunnen een verscheidenheid aan problemen oplossen. Zo is de constructie van een neurocomputer telkens het breedste terrein voor onderzoeksactiviteiten op het gebied van hardware-implementatie van vrijwel alle elementen van het neurale netwerk.

Aan het begin van de 21e eeuw bestaat er, in tegenstelling tot de jaren 40-50 van de vorige eeuw, een objectieve praktische behoefte om te leren hoe neurocomputers kunnen worden gemaakt, d.w.z. het is noodzakelijk om in de hardware een flink aantal parallel werkende neuronen te implementeren, met miljoenen vaste of parallelle adaptief gemodificeerde verbindingen-synapsen, met verschillende volledig verbonden neuronenlagen.

Tegelijkertijd zijn de fysieke mogelijkheden van geïntegreerde elektronicatechnologie niet onbeperkt. De geometrische afmetingen van transistors kunnen niet langer fysiek worden verkleind: met technologisch haalbare afmetingen in de orde van 1 micron of minder verschijnen fysieke verschijnselen die onzichtbaar zijn bij grote afmetingen van actieve elementen - kwantumgrootte-effecten beginnen een sterk effect te hebben. Transistors werken niet meer als transistors.

Voor hardware-implementatie van het neurale netwerk is een nieuw opslagmedium vereist. Zo'n nieuwe informatiedrager kan licht zijn, wat het mogelijk maakt om scherp, met verschillende ordes van grootte, te vergroten prestatie berekeningen.

De enige technologie voor hardware-implementatie van NS die in de toekomst optica en opto-elektronica kan vervangen is nanotechnologie, die niet alleen de fysiek maximaal mogelijke mate van integratie van submoleculaire kwantumelementen met de fysiek maximaal mogelijke snelheid kan bieden, maar ook de driedimensionale architectuur zo noodzakelijk voor de hardware-implementatie van NS.

Lange tijd werd aangenomen dat neurocomputers effectief zijn in het oplossen van zogenaamde niet-formaliseerbare en slecht formaliseerbare taken gerelateerd aan de noodzaak om het leerproces met behulp van echt experimenteel materiaal op te nemen in het algoritme voor het oplossen van het probleem. In de eerste plaats omvatten dergelijke problemen de taak van het benaderen van een bepaalde vorm van functies die een discrete reeks waarden aannemen, dat wil zeggen het probleem van patroonherkenning.

Momenteel wordt er een klasse van problemen aan deze klasse van problemen toegevoegd, die soms geen training op experimenteel materiaal vereisen, maar die goed vertegenwoordigd zijn in een logische basis van een neuraal netwerk. Hiertoe behoren taken met een uitgesproken natuurlijk parallellisme in signaalverwerking, beeldverwerking, enz. Het standpunt dat neurocomputers in de toekomst efficiënter zullen zijn dan andere architecturen kan met name worden bevestigd door de sterke expansie in de afgelopen jaren van de klasse van algemene wiskundige problemen opgelost op logische basis van neurale netwerken. Deze omvatten, naast de hierboven genoemde, problemen bij het oplossen van lineaire en niet-lineaire algebraïsche vergelijkingen en hoog-dimensionale ongelijkheden; systemen van niet-lineaire differentiaalvergelijkingen; partiële differentiaalvergelijkingen; optimalisatieproblemen en andere problemen.

Het bereiken van mondiale dominantie is gebaseerd op twee hoofdstrategieën: informatiesuperioriteit en technologische superioriteit. Wat dit laatste betreft, brengt de transitie naar een nieuwe sociaal-economische formatie van de postindustriële samenleving technologieën als genetica en bio-engineering, nanotechnologie en neuro-informatica op de voorgrond.

Neuro-informatica, gebaseerd op de principes en mechanismen van het functioneren van de hersenen, kan zowel technologische als informatiesuperioriteit bieden. Het is geen toeval dat neurocomputers tegenwoordig een van de belangrijkste plaatsen innemen onder de veelbelovende ontwikkelingen op het gebied van wapens en militair materieel.

Er zijn verschillende bekende implementaties van verschillende modellen van neurale netwerken in neuroprocessorkristallen. Sommige werken beter, andere slechter, maar ze hebben allemaal één ding gemeen: het verlangen om de geheimen van het menselijk brein te doorgronden.

In de productcatalogi van Intel vallen twee ontwikkelingen op, in opdracht van DARPA (Defense Advanced Research Projects Agency): de analoge neuroprocessor i80170NX en de digitale - i80160NC of Ni1000.

Neuroprocessors vormen het hart van een nieuwe generatie computertechnologie: neurocomputers. De basis voor het functioneren van dergelijke machines is het modelleren van de manieren waarop informatie wordt verwerkt door het menselijke zenuwstelsel en de hersenen. Er wordt aangenomen dat deze richting begon in 1943, toen de Amerikaanse wetenschappers W. McCulloch en W. Pitts een artikel publiceerden waarin neuronen - de cellen van het zenuwstelsel - als de eenvoudigste logische apparaten werden beschouwd.

Het kunstmatige neuron van McCulloch en Pitts imiteert, in eerste benadering, de eigenschappen van een biologisch neuron. De input van zo’n kunstneuron ontvangt veel signalen, die elk de output zijn van een ander neuron. Elk ingangssignaal wordt vermenigvuldigd met een bepaalde coëfficiënt die de bijdrage weerspiegelt die dit signaal levert aan de waarde van het uitgangssignaal van het neuron. De signalen die door het neuron worden ontvangen en vermenigvuldigd met hun overeenkomstige coëfficiënten worden opgeteld, en als het totale signaal groter is dan een bepaalde drempel, wordt het neuron geactiveerd en geeft het een enkele impuls af aan de neuronen die ermee geassocieerd zijn. Door de waarden van de wegingscoëfficiënten aan de neuroningangen dienovereenkomstig te veranderen, kunt u de vereiste waarde aan de netwerkuitgang verkrijgen. Het proces van het aanpassen van de gewichtscoëfficiënten wordt neurale netwerktraining genoemd. Naar analogie met het menselijk leren kan een neuraal netwerk worden getraind met een leraar of zelfstandig, door middel van zelforganisatie.

De eenvoud van het voorgestelde neuronenmodel inspireerde talloze onderzoekers die probeerden de geheimen van het menselijk brein te doorgronden.

Eind jaren vijftig stelde de Amerikaan F. Rosenblatt, in een poging de werking van een biologisch neuron te verklaren, zijn model voor: een perceptron. Begin jaren zestig formuleerde wiskundige R. Blok de herkenningsstelling, en radio-ingenieur B. Widrow ontwikkelde en implementeerde het eerste kunstmatige neurale netwerk, in de literatuur bekend als ‘Adaline’. Ook creëerde hij een algoritme dat haar leert afbeeldingen te herkennen.

Tot halverwege de jaren tachtig kregen neurale netwerken echter geen verdere ontwikkeling. De kloof tussen praktijk en theorie en de imperfectie van de technologie hadden een impact. De gebruikte softwaremodellen konden niet alle voordelen van neurale netwerken onthullen, en de creatie van hun hardware-implementatie vereiste enorme kosten gezien het toenmalige technologieniveau. Traditionele grote computers (mainframes) werden als veelbelovender beschouwd, maar de snelle groei van het aantal zeer complexe taken dwong ons opnieuw naar kunstmatige neurale netwerken te gaan.

Intel was een van de eerste giganten in de computerindustrie die serieus geïnteresseerd raakte in de mogelijkheden van kunstmatige neurale netwerken. Het werk aan dit onderwerp begon in 1988. Het jaar daarop werd het eerste werkende exemplaar van de i80170NX-neuroprocessor gepresenteerd. Een jaar later begon Intel (samen met Nestor en met financiële steun van DARPA) de Ni1000 digitale neurochip te ontwikkelen, die in 1993 werd aangekondigd als de i80160NC.

De i80170NX ETANN (Electrically Trainable Analog Neural Network) neurale netwerkprocessor is een unieke chip die is ontworpen om patroonherkenningsproblemen op te lossen. De processor emuleert het werk van 64 biologische neuronen. Elk processorneuron heeft 128 synapsen (ingangen). Elke synaps is op zijn beurt verbonden met de processorinvoer via een apparaat waarmee je een coëfficiënt kunt instellen die de sterkte van deze verbinding karakteriseert, wat volledig consistent is met het model voorgesteld door W. McCulloch en W. Pitts. De gegevens aan de in- en uitgang van de processor zijn analoog, maar de besturingsfuncties, het instellen en uitlezen van gewichtscoëfficiënten zijn digitaal.

De neurochip is wat betreft signaalniveaus volledig compatibel met CMOS- en TTL-microcircuits. Het ingangssignaal naar het neuron kan variëren van 0 tot 2,8 V. Synapsgewichten worden ook weergegeven door spanning in het bereik van -2,5 tot 2,5 V. De processor is vervaardigd met behulp van gelicentieerde Intel-technologie - CHMOS III EEPROM.

De zeer parallelle architectuur die kenmerkend is voor neurale netwerken en een aantal processorontwerpkenmerken maakten het mogelijk om een ​​snelheid van 2 miljard bewerkingen per seconde te bereiken! De i80170NX is het hart van het neurale acceleratorbord voor pc's. De prestaties van zo'n bord met acht processors zijn 16 miljard bewerkingen per seconde! Tot voor kort waren dergelijke prestaties alleen kenmerkend voor supercomputers!

Korte technische details van de processor zijn als volgt:

  • productiviteit 2 miljard op./s;
  • in staat om 300.000 128-bits afbeeldingen per seconde te herkennen;
  • modellen 64 neuronen;
  • ondersteunt Hopfield neuraal netwerk, meerlaagse perceptron en Madaline III-modellen.

Het gemak van het maken van applicaties op de i80170NX wordt verzekerd door de aanwezigheid van krachtige ontwikkeltools. Voor het ontwerp van neurale netwerken worden het iNNTS (Intel Neural Network Training System) en EMB (ETANN Multi-Chip Board) pakket meegeleverd. Het pakket bevat ook een van de programma's voor het modelleren en bestuderen van kunstmatige neurale netwerken iBrainMaker van California Scientific Software of iDynaMind van NeuroDynamX. Beide programma's hebben een goede gebruikersinterface en kunnen worden gebruikt om de eigenschappen en mogelijkheden van neurale netwerken te demonstreren. Voor dezelfde categorie gebruikers die besluiten om zelfstandig neurale netwerkmodellen te ontwikkelen, is er een hele bibliotheek met functies voor het besturen van de neurochip - Training System Interface Lib (TSIL).

Een andere Intel-ontwikkeling op het gebied van kunstmatige neurale netwerken is de i80160NC-processor. Het belangrijkste verschil met de i80170NX is dat deze volledig digitaal is.

Technische gegevens van i80160NC:

  • intern geheugen: duizend 256-bits afbeeldingen;
  • geheugentype: Flash-EPROM;
  • maximaal aantal klassen: 64;
  • herkenningssnelheid: 33 duizend beelden per seconde op een frequentie van 33 MHz.
  • Net als de i80170NX wordt de i80160NC-processor geleverd op een neuraal netwerkversnellerbord voor een pc. De kenmerken van het bord zijn als volgt:
  • ISA-systeembus;
  • werkfrequentie 33 MHz;
  • bussnelheid 2 Mbit/s;
  • vermogen 8 W.

De volgende software wordt ondersteund:

  • MS-Windows 3.1;
  • MS Excel 4.0;
  • MS Visual C++, Borland C++.
  • De volgende applicatie-ontwikkeltools worden bij het bord geleverd:
  • Ni1000-assembleur;
  • Ni1000-emulatorbibliotheek;
  • Ni1000 Hardwarelib.

Met het Ni1000 Emulator-programma kunt u applicatiecode debuggen zonder een processor te gebruiken, en na voltooiing van het foutopsporingsproces onmiddellijk doorgaan met het werken aan de hardware.

De belangrijkste kenmerken van de i80170NX- en i80160NC-processors worden gegeven in de tabel. 1.

De Ni1000-processor is ontwikkeld als coprocessoroptie voor patroonherkenningstaken en was bedoeld voor integratie in krachtige draagbare scanners. Het gebruik van neurale netwerktechnologie heeft het mogelijk gemaakt om significante resultaten te bereiken bij het oplossen van problemen van deze klasse. Dus als je met de AMD29000- en i80860 RISC-processors sommige problemen 2-5 keer sneller kunt oplossen, dan kan met behulp van de i80160NC de snelheid van het oplossen van soortgelijke problemen met 100 en zelfs 1000 keer toenemen! Dergelijke prestaties maakten het mogelijk om deze klasse processors te gebruiken om het meest complexe probleem op te lossen: vingerafdrukherkenning.

Wat belooft de verschijning van zo'n krachtige processorfamilie op de markt voor ontwikkelaars en computergebruikers? Nu zijn er een aantal problemen van zeer hoge complexiteit. Deze omvatten weersvoorspellingen, luchtverkeersleiding over de Atlantische Oceaan waarbij rekening wordt gehouden met de beweging van luchtmassa's, computermodellering van kernexplosies en vele andere. Tot voor kort probeerden ze dergelijke problemen op supercomputers op te lossen, maar de kosten van dergelijke apparatuur zijn zeer indrukwekkend. In afb. Figuur 2 toont de positie van verschillende supercomputers, afhankelijk van hun kosten en prestaties. Het is duidelijk te zien dat de i80160NC de onbetwiste leider is. Het laat monsters als Cray en Cyber ​​ver achter zich.

Er gaan nieuwe horizonten open voor ontwikkelaars van kunstmatige-intelligentiesystemen. De verschijning van dergelijke processors betekent een doorbraak in het oplossen van problemen met beeldherkenning, en dus met de herkenning van handgeschreven tekst, spraak, enz. Japanse specialisten hebben dus aangetoond dat het met behulp van neurale netwerken mogelijk is om gelijktijdige vertalingen uit het Japans naar het Engels uit te voeren.

De mijlpaal die Intel-specialisten hebben weten te bereiken bij het modelleren van neurale netwerken kan worden weergegeven door een diagram dat lijkt op dat in figuur 1. 3, waarin de neurale netwerken van levende organismen worden vergeleken met de netwerken die zijn gesimuleerd met behulp van Intel-processors.

De ontwikkelaars van de neuroprocessor noemen hun geesteskind gekscherend niets anders dan een ‘supersonische slak’.

De droom van de mens om een ​​computermachine te creëren die in staat is de menselijke intellectuele capaciteiten te overtreffen of op zijn minst te evenaren, blijft ver weg. Tegelijkertijd kunnen we met vertrouwen zeggen dat Intel’s werk aan het creëren van kunstmatige neurale netwerken het moment dichterbij heeft gebracht waarop een kunstmatig brein het hart van een desktopcomputer zal worden.

Sinds de introductie van Intel-processors zijn er veel modellen van neurocomputers in de wereld verschenen; sommige daarvan zijn te vinden in Tabel. 2.

Tot op heden is er een groot aantal verschillende acceleratorboards en gespecialiseerde neurocomputers ontwikkeld. Neurale computers worden al gebruikt op verschillende gebieden van menselijke activiteit. In de Verenigde Staten bestaat er een systeem voor het detecteren van plastic explosieven in de bagage van vliegtuigpassagiers, gebaseerd op een neuraal netwerk. Er wordt veel aandacht besteed aan de kwestie van het gebruik van neurale processors in schakelsystemen in datanetwerken. Er zijn vdie gebruikmaken van neurale netwerken. De literatuur beschrijft vele andere gevallen van succesvol gebruik van neurale processors.

Kenmerkend voor de nieuwe ontwikkelingsronde van de computertechnologie is dat deze fundamentele veranderingen teweegbrengt in de wereld van de informatica. Met de komst van de volgende generatie computertechnologie in de samenleving zal het beroep van programmeur niet meer nodig zijn en zal zijn plaats worden ingenomen door een specialist in neurocomputertraining. De inbedrijfstelling van elke nieuwe computer zal worden voorafgegaan door een training. Het is mogelijk dat er behoefte zal zijn aan cyberpsychologen en neurale computerdocenten. We leven dus op een keerpunt in de ontwikkeling van de computerwetenschap en computertechnologie, en de neurale processors van Intel – de eerste tekenen van het tijdperk van neurale computers – hebben een belangrijke rol gespeeld in het feit dat dit is aangebroken.

Literatuur

  1. A. Thakoor et al., DARPA Program Review, dec. 1991, Washington, DC
  2. M. Holler, S. Tam, H. Castro, R. Benson, “Een elektrisch trainbaar kunstmatig neuraal netwerk (ETANN) met 10240 “Floating Grate” synapsen”, Internationale Gezamenlijke Conferentie over Neurale Netwerken, juni 1989, Washington, D.C.
  3. Intel, i80170NX elektrisch trainbaar analoog neuraal netwerk, Intel Corp., juni 1991.
  4. Stanly, Jeanette, Inleiding tot neurale netwerken, California Scientific Software, 1990.
  5. Intel, 80170NX neurale netwerktechnologie en -toepassing, Intel Corp., 1992.

Sergej Grinjajev

Wij heten onze lezers welkom op de pagina's van de iCover-blog! Op de International Solid State Circuits Conference (ISSCC-2016), die begin februari in San Francisco werd gehouden, demonstreerde een groep ontwikkelaars van MIT (Massachusetts Institute of Technology) een werkend prototype van de nieuwe generatie Eyeriss-chip, die was gemaakt als een conceptueel ontwerp. oplossing waarmee de mogelijkheden van neurale netwerkalgoritmen kunnen worden gereconstrueerd in een breed scala aan apparaten met een laag energieverbruik.


Een van de objectieve redenen waarom kunstmatige neurale netwerken niet goed ontwikkeld zijn in onze smartphones of tablets is het ontbreken van een compacte energiebron met voldoende kracht. De zogenaamde hersenachtige, ‘hersenachtige’ kunstmatige-intelligentiesystemen, althans in de vorm waarin ze door moderne technologieën worden vertegenwoordigd, zijn immers voor hun werking afhankelijk van krachtige multi-coreprocessors, die ongelooflijk veel verbruiken van energie in vergelijking met onze hersenen. Het was niet mogelijk om dergelijke oplossingen voor te stellen op het niveau van apparaten van gebruikersklasse, althans tot voor kort. Tegelijkertijd houdt het idee van 'miniaturisering' van kunstmatige intelligentie de hoofden van ontwikkelaars al geruime tijd bezig en, zo blijkt, werpt het al behoorlijk tastbare vruchten af.

Neurale netwerken staan ​​sinds de begindagen van het onderzoek naar kunstmatige intelligentie in het middelpunt van de wetenschappelijke aandacht, maar werden in de jaren zeventig enigszins vergeten. De afgelopen tien jaar zijn technologieën die verband houden met het gebruik van neurale netwerken bestudeerd op het niveau van ‘deep learning’-programma’s.

“Deep learning heeft veel toepassingen, zoals objectherkenning, spraakherkenning of gezichtsherkenning”, merken Vivienne Sze en Emanuel E. Landsman op, een MIT-assistent-professor elektrotechniek en computerwetenschappen, wiens groep een nieuwe chip ontwikkelde. “Nu zijn neurale netwerken behoorlijk complex en werken ze voornamelijk op krachtige chips. Stel je voor dat je deze functionaliteit naar je mobiele telefoon of embedded apparaat kunt brengen en vervolgens enorme hoeveelheden informatie kunt verwerken zonder een Wi-Fi-verbinding te gebruiken. Door grote hoeveelheden gegevens op uw smartphone te verwerken, vermijdt u de vertraging die optreedt als gevolg van de gegevensuitwisseling met het netwerk, waardoor veel applicaties veel efficiënter kunnen werken. Bovendien zal de voorgestelde oplossing een nieuwe kwaliteit van bescherming van vertrouwelijke informatie bieden.”

Neurale netwerken worden doorgaans geïmplementeerd op multi-core grafische verwerkingseenheden (GPU's). Op de internationale conferentie in San Francisco presenteerden MIT-onderzoekers een nieuwe 168-core chip die is ontworpen om algoritmen voor kunstmatige intelligentie te implementeren op basis van neurale netwerken. Vergeleken met een mobiele GPU (het is niet gespecificeerd welke) demonstreerde de processor een 10 keer grotere efficiëntie, waardoor het mobiele apparaat van de gebruiker kan worden gebruikt om krachtige kunstmatige intelligentie-algoritmen lokaal uit te voeren zonder de noodzaak om gegevens naar de cloud te sturen voor verwerking. De belangrijkste punten van de ontwikkeling worden weergegeven in het MIT-persbericht van 3 februari 2016.

De nieuwe chip, door de ontwikkelaars "Eyeriss" genoemd, zou brede toepassing kunnen vinden in het internet der dingen, draagbare elektronica, zelfrijdende voertuigen, productieapparatuur en zelfs in de landbouw, en zou kunnen helpen bij het oplossen en coördineren van huidige problemen. Met kunstmatige intelligentie-algoritmen aan boord zullen mobiele apparaten beslissingen kunnen nemen op lokaal niveau, waardoor de gebruiker een kant-en-klaar resultaat krijgt als leidraad voor actie, in plaats van een reeks ‘ruwe’ gegevens van internet. En een van de toepassingen van lokale neurale netwerken is natuurlijk het gebruik ervan bij het creëren van autonome robots voor een breed scala aan doeleinden.

Verdeel en heers

Neurale netwerken hebben doorgaans een meerlaagse structuur en elke laag bevat een groot aantal verwerkingsknooppunten. In de beginfase van de verwerking arriveren gegevens en worden deze verdeeld over de knooppunten van de onderste laag. Nadat de ontvangen gegevens door elk knooppunt zijn verwerkt, wordt het resultaat ter verwerking overgedragen aan de knooppunten van de volgende laag. Aan de uitgang van de laatste laag wordt het resultaat van het oplossen van het probleem gevormd. Dienovereenkomstig zal het oplossen van grootschalige problemen met behulp van het beschreven algoritme aanzienlijke computerbronnen vereisen.

De eisen die de ontwikkelaars zelf aanvankelijk aan de chip stelden, plaatsten deze binnen een vrij strikt kader: enerzijds moet de oplossing energiezuinig zijn, anderzijds moet deze werken met eenvoudige informatieblokjes. Ten slotte moet de chip verschillende soorten neurale netwerken kunnen simuleren, rekening houdend met de huidige taken die eraan zijn toegewezen. Al deze vereisten zijn met succes geïmplementeerd in de Eyeriss-processor.

De chip, ontwikkeld in het MIT-laboratorium, is een reeds gevormd neuraal netwerk, gelokaliseerd op het niveau van een 168-coreprocessor, die in de toekomst in mobiele apparaten kan worden ingebouwd.

De sleutel tot de efficiëntie van Eyeriss is het minimaliseren van de communicatiefrequentie tussen de kernen en externe geheugenbanken, een operatie die gepaard gaat met een hoog energieverbruik en tijdskosten. Terwijl traditionele GPU-kernen een gemeenschappelijke geheugenbank delen, heeft elke Eyeriss-kern zijn eigen geheugen. Bovendien ondergaan de gegevens een compressieprocedure voordat ze naar aangrenzende kernen worden verzonden.

Een ander voordeel van het geïmplementeerde algoritme is het vermogen van de kernen om rechtstreeks met elkaar te ‘communiceren’, waarbij de ‘tussenpersoon’ in de vorm van de systeemgeheugenbus wordt omzeild. Dit is een cruciaal kenmerk voor het simuleren van de werking van een convolutioneel neuraal netwerk (CNN). Al het rekenwerk dat nodig is voor beeld- en spraakherkenning wordt lokaal in Eyeriss uitgevoerd, zonder dat er toegang tot netwerkbronnen nodig is, waardoor het apparaat efficiënt kan werken, zelfs als er geen extern netwerk aanwezig is.

Tenslotte is een ander voordeel van Eyeriss het principe van “slimme” verdeling van individuele computertaken tussen kernen binnen het raamwerk van één enkel op te lossen probleem. In zijn lokale geheugen moet de kernel niet alleen de gegevens opslaan die door de knooppunten worden verwerkt, maar ook gegevens die de knooppunten zelf beschrijven. Om maximale prestaties van het gegevensverwerkingsproces te garanderen en Eyeriss te laden met de maximale hoeveelheid gegevens uit het hoofdgeheugen, wordt het algoritme voor het distribueren van beide soorten gegevens geoptimaliseerd door een chip die speciaal voor dit doel in realtime is ontworpen. , rekening houdend met de kenmerken van het huidige neurale netwerk.

Op de International Solid State Circuits Conference in San Francisco demonstreerde het ontwikkelingsteam, gebruikmakend van de mogelijkheden van de Eyeriss-chip op gebruikersniveau, de implementatie van een patroonherkenningsalgoritme binnen een lokaal neuraal netwerk. Een soortgelijke taak, vermeld in het persbericht, werd eerder geïmplementeerd, maar op het niveau van overheidsprojecten van de modernste neurale netwerken gecreëerd.

“Dit werk is belangrijk omdat het aantoont hoe goed ingebedde deep learning-processors de vereiste kracht en optimalisatieprestaties kunnen leveren en complex computergebruik van de cloud naar mobiele apparaten kunnen brengen”, zegt Mike Polley, senior vice-president van Samsung’s Mobile Processor Innovations Lab. “Naast een innovatieve reeks hardwareoplossingen laat het MIT-onderzoek duidelijk zien hoe de embedded kernel bruikbaar kan worden gemaakt voor applicatieontwikkelaars die de standaard netwerkarchitectuur van AlexNet en Caffe gebruiken.”

De financiering voor het Eyeriss-project, te beginnen met de oprichting van een eenheid in het MIT-laboratorium, werd gedeeltelijk verstrekt door de Amerikaanse defensieorganisatie DARPA. Het is niet verrassend dat de eerste die met indrukwekkend redactioneel materiaal reageerde op de aankondiging van de processor de beroemde militaire analist Patrick Tucker was. Nieuwe Eyeriss-processors die op mobiele apparaten van Amerikaanse soldaten zijn geïnstalleerd, zullen naar zijn mening in staat zijn om complexe computerproblemen op te lossen die gepaard gaan met het verwerken van enorme hoeveelheden informatie zonder verbinding te maken met een gemeenschappelijk netwerk.

Zo ontvangt de Amerikaanse luchtmacht momenteel dagelijks tot 1.500 uur aan HD-video en tot 1.500 ultrahoge-resolutiefoto's van drones die boven Afghanistan zweven. Bovendien moet al deze eindeloze informatiestroom op ouderwetse wijze visueel worden geanalyseerd door operators, aangezien bestaande computersoftware niet in staat is een boer die met een stok over een bergpad loopt te onderscheiden van een terrorist met een lanceerinrichting voor geleide raketten. . Om dergelijke problemen op te lossen, werden aanvankelijk machine learning-methoden ontwikkeld die gebaseerd waren op representatieleren.

Eyeriss-processors zijn ideaal voor installatie op onbemande militaire drones, omdat ze een intelligente verwerking van een reeks afbeeldingen en video's mogelijk maken met behulp van deep learning-technologieën direct aan boord van het vliegtuig. In dit geval zouden de uitgefilterde nuttige gegevens rechtstreeks naar gevechtseenheden kunnen worden gestuurd die in de gespecificeerde regio opereren, waarbij het centrum voor het analyseren van operationele informatie wordt omzeild.

Korte samenvatting

Tijdens experimenten toonde de Eyeriss-chip een niveau van energie-efficiëntie aan dat tien keer hoger was dan dat van moderne mobiele grafische chips. Tegelijkertijd blijkt het met zijn hulp technologisch mogelijk te zijn om de werking van kunstmatige intelligentie-algoritmen te garanderen op apparaten met compacte afmetingen - van smartphones en tablets tot draagbare elektronica. De vertragingen die netwerken veroorzaken tijdens de gegevensuitwisseling voor een dergelijke processor worden tot een minimum beperkt, omdat de chip de meeste berekeningen lokaal kan uitvoeren. Op basis van Eyeriss zal het mogelijk zijn om niet alleen allerlei ‘slimme apparaten’ te creëren, maar ook robots die een zekere mate van onafhankelijkheid hebben bij het nemen van beslissingen.

MIT-ontwikkelaars hebben nog geen specifieke tijdsintervallen genoemd waarin Eyeriss in een commercieel product kan veranderen en de mogelijkheden ervan op consumentenniveau volledig kan onthullen. De betrokkenheid van toonaangevende NVIDIA-specialisten bij de ontwikkeling en de grote belangstelling van verantwoordelijke onderzoekers van Samsung wekken enig optimisme.