Si të konfiguroni telefonat inteligjentë dhe PC. Portali informativ
  • Shtëpi
  • Këshilla
  • Shkurtimisht se si funksionojnë neuroprocesorët duke përdorur shembullin e NM500 nga NeuroMem. Intel fillon dërgimin e procesorëve për rrjetet nervore

Shkurtimisht se si funksionojnë neuroprocesorët duke përdorur shembullin e NM500 nga NeuroMem. Intel fillon dërgimin e procesorëve për rrjetet nervore

kompani kineze Huawei ka prezantuar Kirin 970, çipin e parë që përmban një njësi të përpunimit nervor të dedikuar (NPU). Pas kinezëve, Apple tregoi A11 Bionic për Modelet e iPhone 8, 8 Plus dhe X. Ky çip, ndër të tjera, mbështet teknologjinë Neural Engine, e cila, sipas përfaqësuesve të kompanisë, është “projektuar posaçërisht për mësimi i makinës" Kohët e fundit, Qualcomm prezantoi çipin e tij Snapdragon 845, i cili mund të transferojë detyrat që lidhen me inteligjencën artificiale në bërthama specifike. Nuk ka ndonjë ndryshim të veçantë në qasjet e kompanive. Gjithçka varet nga nivelet e kontrollit bazë të disponueshëm për zhvilluesit dhe efikasiteti i energjisë i çipave.

Por a janë çipat e rinj vërtet dukshëm të ndryshëm nga analogët ekzistues në treg, dhe nëse po, cili është ndryshimi i tyre? Përgjigja për këtë mund të jepet nga termi që shpesh gjendet në raportet mbi inteligjencën artificiale - "kompjutera heterogjene". Zbatohet për procesorët që përdorin veçori të specializuara të sistemit për të përmirësuar performancën ose për të zvogëluar konsumin e energjisë. Kjo qasje tashmë është zbatuar në mënyrë të përsëritur në gjeneratat e mëparshme të çipave. Procesorët e rinj celularë thjesht përdorin këtë koncept me disa ndryshime.

Zhvillimi natyror?

gjeneratat e fundit procesorët përdorin në mënyrë aktive teknologjinë ARM Big .Little. Ai kombinon bërthama të ngadalta, me efikasitet energjie me bërthama më të shpejta dhe më efikase. nivel të lartë konsumi i energjisë. Ideja ishte të zvogëlohej sasia e energjisë për të rritur autonominë e pajisjeve. Vitin e kaluar, çipat nervorë hodhën një hap tjetër në këtë drejtim, duke shtuar element i veçantë për përpunimin e detyrave inteligjencës artificiale, ose, në rastin e , duke përdorur bërthama të veçanta me fuqi të ulët për këtë detyrë.

Procesori celular A11 Bionic i Apple përdor Neural Engine në kombinim me një çip grafik për të shpejtuar Face ID, Animoji dhe për të shpejtuar disa aplikacione jo vendase. Kur përdoruesi i ekzekuton këto procese iPhone i ri, çipi përfshin një motor nervor për të përpunuar fytyrën e përdoruesit ose për të projektuar shprehjet e tij të fytyrës në një foto të animuar.

NPU merr përsipër funksionet e skanimit dhe përkthimit të fjalëve në imazhet e marra duke përdorur Përkthyesi i Microsoft. Megjithatë, tani për tani programi është i vetmi aplikimi i palës së tretë, duke punuar me përshtatur Prodhuesi kinez teknologjisë. Sipas Huawei, teknologjia e re “HiAI” përshpejton funksionimin e shumicës së elementeve të chipset-it dhe është në gjendje të kryejë një gamë shumë më të gjerë detyrash sesa NPU-të e tjera.

Horizontet e Reja

Kur konsiderohet veçmas, teknologjia bën të mundur kryerjen, me jo më pak efikasitet, drejtpërdrejt në pajisjen e atyre detyrave që janë përpunuar më parë duke përdorur zgjidhje cloud të palëve të treta. Me ndihmën e komponentëve të rinj, një telefon i pajisur me çipa të tillë do të jetë në gjendje të funksionojë më shumë veprim njëkohësisht. Kjo do të ndikojë në shumë aspekte të funksionimit të pajisjes, nga reduktimi i kohës për përkthime deri tek kërkimi i fotografive duke përdorur hashtags të brendshëm. Gjithashtu, transferimi i proceseve të tilla drejtpërdrejt në smartphone në vend të përdorimit të zgjidhjeve cloud do të ketë një ndikim pozitiv në sigurinë dhe privatësinë, duke reduktuar shanset që hakerët të marrin të dhënat e përdoruesit.

Edhe një pikë e rëndësishmeÇipat e rinj janë konsumi i energjisë, sepse energjia është një burim i vlefshëm që kërkon shpërndarje të arsyeshme, veçanërisht kur bëhet fjalë për detyra të përsëritura. Çipat grafikë pëlqejnë të përdorin shumë shpejt jetëgjatësinë e baterisë, kështu që shkarkimi i proceseve të tyre në DSP mund të jetë një zgjidhje e mirë.

Në fakt, vetë procesorët celularë nuk mund të marrin vendime në mënyrë të pavarur se cilat bërthama duhet të përdoren gjatë ekzekutimit detyra të caktuara. Kjo varet nga zhvilluesit dhe prodhuesit e pajisjeve që përdorin bibliotekat e mbështetura nga palët e treta për këtë. , dhe integroni në mënyrë aktive zgjidhje të tilla si TensorFlow Lite dhe Facebook Caffe2. Qualcomm gjithashtu mbështet shkëmbimin e ri të rrjeteve nervore të hapura (ONNX), dhe Apple së fundi shtoi ndërveprimin për shumë modele të reja të mësimit të makinerive në Korniza kryesore e ML.

Mjerisht, procesorët e rinj celularë nuk ofrojnë ende ndonjë avantazh të veçantë. Prodhuesit tashmë janë matur me testet dhe standardet e tyre. Por pa një integrim të ngushtë me mjedisin përdorues modern Në realitet, këta tregues kanë pak kuptim. Vetë teknologjia është në një fazë shumë të hershme të zhvillimit dhe zhvilluesit që e përdorin atë janë ende të paktë dhe të shpërndarë.

Në çdo rast, çdo teknologji e re është një fitore për përdoruesin, qoftë rritja e produktivitetit apo përmirësimi i efikasitetit të energjisë. Prodhuesit janë seriozë për të investuar kohë dhe para në zhvillimin e çipave nervorë, që do të thotë se procesorët e ardhshëm celularë do të jenë në gjendje të ofrojnë një listë shumë më të gjerë të detyrave që do të përfshijnë inteligjencën artificiale.

Ne i mirëpresim lexuesit tanë në faqet e blogut iCover! Në aktivitetin e mbajtur në fillim të shkurtit në San Francisko Konferenca ndërkombëtare Ndërkombëtare Gjendja e ngurtë Circuits Conference (ISSCC-2016), një grup zhvilluesish nga MIT (Instituti i Teknologjisë në Masachusetts) demonstruan një prototip pune të çipit të gjeneratës së re Eyeriss, i cili u krijua si një zgjidhje konceptuale që lejon rikrijimin e aftësive të algoritmeve të rrjetit nervor në gamë të gjerë pajisje me fuqi të ulët.


Një nga arsye objektive Arsyeja pse rrjetet nervore artificiale nuk kanë marrë zhvillimin e duhur në telefonat inteligjentë ose tabletët tanë është mungesa e një burimi kompakt energjie me fuqi të mjaftueshme. Në fund të fundit, të ashtuquajturat sisteme të inteligjencës artificiale të ngjashme me trurin, "të ngjashme me trurin", të paktën në formën në të cilën ato përfaqësohen nga teknologjitë moderne, varen në punën e tyre nga të fuqishme. procesorë me shumë bërthama duke konsumuar një sasi të pabesueshme energjie në krahasim me trurin tonë. Nuk ishte e mundur të imagjinoheshin zgjidhje të tilla në nivelin e pajisjeve të klasit të përdoruesit, të paktën deri vonë. Në të njëjtën kohë, ideja e "miniaturizimit" të inteligjencës artificiale ka emocionuar mendjet e zhvilluesve për një kohë të gjatë dhe, siç rezulton, tashmë po jep fryte mjaft të prekshme.

Rrjetet nervore kanë qenë në qendër të vëmendjes shkencore që në ditët e para të kërkimit të inteligjencës artificiale, por në vitet 1970, ato u harruan disi. Në dekadën e fundit, teknologjitë që lidhen me përdorimin e rrjeteve nervore janë studiuar në nivelin e programeve të "mësimit të thellë".

"Të mësuarit e thellë ka shumë aplikime, të tilla si njohja e objekteve, e të folurit ose e fytyrës," shënojnë Vivienne Sze dhe Emanuel E. Landsman, asistent profesor i inxhinierisë elektrike në MIT. shkenca kompjuterike, grupi i të cilit zhvilloi çipin e ri. “Tani, rrjetet nervore janë mjaft komplekse dhe punojnë kryesisht në çipa të fuqishëm. Imagjinoni të jeni në gjendje ta sillni këtë funksionalitet tek ju telefon celular ose një pajisje të integruar dhe më pas përpunoni sasi kolosale informacioni pa përdorur një lidhje Wi-Fi. Përpunimi i sasive të mëdha të të dhënave në smartphone tuaj do të shmangë vonesën që ndodh për shkak të shkëmbimit të të dhënave me rrjetin, gjë që, nga ana tjetër, do të lejojë që shumë aplikacione të funksionojnë shumë më me efikasitet. Përveç kësaj, zgjidhja e propozuar do të sigurojë një cilësi të re të mbrojtjes për informacionin konfidencial.”

Rrjetet nervore zakonisht zbatohen në njësitë e përpunimit grafik me shumë bërthama (GPU). Në Konferencën Ndërkombëtare në San Francisko, studiuesit e MIT prezantuan një çip të ri me 168 bërthama të krijuar për të zbatuar algoritme të inteligjencës artificiale të bazuara në rrjetet nervore. Krahasuar me një GPU të lëvizshme (nuk është specifikuar se cila), procesori demonstroi efikasitet 10 herë më të madh, gjë që lejon që pajisja celulare e përdoruesit të përdoret për të ekzekutuar algoritme të fuqishme të inteligjencës artificiale në nivel lokal, pa pasur nevojë të dërgohen të dhëna në cloud për përpunim. Pikat kryesore të zhvillimit janë pasqyruar në njoftimin për shtyp të MIT të datës 3 shkurt 2016.

Çipi i ri, i quajtur "Eyeriss" nga zhvilluesit, mund të gjejë aplikim të gjerë në Internetin e Gjërave, elektronikë të veshur, vetë-drejtues automjeteve, pajisjet e prodhimit, madje edhe në bujqësi, duke ndihmuar në zgjidhjen dhe koordinimin e detyrave aktuale. Me algoritme të inteligjencës artificiale në bord pajisje celulare do të jetë në gjendje të marrë vendime për nivel lokal, duke i ofruar përdoruesit një rezultat të gatshëm si një udhëzues për veprim, në vend të një grupi të dhënash "të papërpunuara" nga Interneti. Dhe, sigurisht, një nga aplikimet e rrjeteve nervore lokale është përdorimi i tyre në krijimin e robotëve autonome për një larmi qëllimesh.

Ndani dhe pushtoni

Rrjetet nervore zakonisht kanë një strukturë me shumë shtresa dhe secila shtresë përmban një numër të madh nyjesh përpunuese. Në fazën fillestare të përpunimit, të dhënat mbërrijnë dhe shpërndahen midis nyjeve të shtresës së poshtme. Pas përpunimit të të dhënave të marra nga çdo nyje, rezultati transferohet për përpunim në nyjet e shtresës tjetër. Në daljen e shtresës së fundit, formohet rezultati i zgjidhjes së problemit. Prandaj, zgjidhja e problemeve në shkallë të gjerë duke përdorur algoritmin e përshkruar do të kërkojë burime të konsiderueshme llogaritëse.

Kërkesat e vendosura fillimisht për çipin nga vetë zhvilluesit i vendosën ato brenda një kuadri mjaft të rreptë: nga njëra anë, zgjidhja duhet të jetë efikase në energji, nga ana tjetër, duhet të funksionojë me blloqe të thjeshta informacioni. Së fundi, çipi duhet të jetë në gjendje të simulojë lloje të ndryshme të rrjeteve nervore, duke marrë parasysh detyrat aktuale që i janë caktuar. Të gjitha këto kërkesa u zbatuan me sukses në procesorin Eyeriss.

Çipi, i zhvilluar në laboratorin MIT, është një rrjet nervor tashmë i formuar, i lokalizuar në nivelin e një procesori me 168 bërthama, i cili në të ardhmen mund të ndërtohet në pajisje të lëvizshme.

Çelësi i efikasitetit të Eyeriss është minimizimi i frekuencës së komunikimit midis bërthamave dhe bankave të memories së jashtme, një operacion i lidhur me konsumin e lartë të energjisë dhe kostot e kohës. Ndërsa bërthamat tradicionale GPU janë të lidhura me një bankë të përbashkët memorie, çdo bërthamë Eyeriss ka kujtesën e vet. Përveç kësaj, të dhënat i nënshtrohen një procedure kompresimi përpara se të dërgohen në bërthamat fqinje.

Një avantazh tjetër i algoritmit të zbatuar është aftësia e bërthamave për të "komunikuar" drejtpërdrejt me njëri-tjetrin, duke anashkaluar "ndërmjetësin" në formën e një autobusi. memoria e sistemit. Ky është një veçori kritike për simulimin e funksionimit të një konvolucioni rrjet nervor» (Convolutional Neural Network - CNN). E gjithë puna llogaritëse e kërkuar për njohjen e imazhit dhe të të folurit kryhet në nivel lokal në Eyeriss, pa pasur nevojë për të hyrë në burimet e rrjetit, gjë që lejon pajisjen të funksionojë me efikasitet edhe në mungesë të një rrjeti të jashtëm.

Së fundi, një tjetër avantazh i Eyeriss është parimi i shpërndarjes "inteligjente" të detyrave individuale informatike midis bërthamave brenda kornizës së një problemi të vetëm për t'u zgjidhur. Në memorien e tij lokale, kerneli duhet të ruajë jo vetëm të dhënat e përpunuara nga nyjet, por edhe të dhënat që përshkruajnë vetë nyjet. Për të siguruar performanca maksimale procesi i përpunimit të të dhënave, si dhe për të ngarkuar Eyeriss me sasinë maksimale të të dhënave nga memoria kryesore, algoritmi i shpërndarjes së të dhënave për të dy llojet është optimizuar nga një çip i krijuar posaçërisht për këtë qëllim në kohë reale, duke marrë parasysh veçoritë e rrymës. rrjet nervor.

Në Konferencën Ndërkombëtare të Qarqeve të Gjendjes së Ngurtë në San Francisko, ekipi i zhvillimit, duke përdorur aftësitë e çipit Eyeriss të nivelit "përdorues", demonstroi zbatimin e një algoritmi të njohjes së modelit brenda një rrjeti nervor lokal. Një detyrë e ngjashme – e shënuar në njoftimin për shtyp – u zbatua më herët, por në nivelin e projekteve qeveritare të krijuara nga rrjetet nervore më moderne.

“Kjo punë është shumë e rëndësishme sepse tregon se sa procesorë të integruar në mënyrë efikase mund të ofrojnë fuqinë e kërkuar dhe performancën e optimizimit dhe të sjellin komplekse proceset kompjuterike nga cloud te pajisjet celulare,” thotë Mike Polley, nënkryetar i lartë i laboratorit procesorë celularë Laboratori i Inovacioneve të Samsung shtoi: "Përveç një grupi inovativ zgjidhjesh harduerike, hulumtimi i MIT tregon se si thelbi i integruar mund të bëhet i dobishëm për zhvilluesit e aplikacioneve që përdorin arkitekturat standarde të industrisë AlexNet dhe Caffe".

Financimi për projektin Eyeriss, duke filluar me krijimin e një njësie me bazë në laboratorin MIT, u sigurua pjesërisht nga agjencia amerikane e mbrojtjes DARPA. Nuk është për t'u habitur që i pari që iu përgjigj njoftimit të procesorit me material editorial mbresëlënës ishte analisti i famshëm ushtarak Patrick Tucker. Të instaluar procesorë të rinj Eyeriss pajisje celulare Ushtarët amerikanë, sipas tij, do të jenë në gjendje të zgjidhin probleme komplekse kompjuterike që lidhen me përpunimin e sasive kolosale të informacionit pa u lidhur me një rrjet të përbashkët.

Kështu, Forcat Ajrore të SHBA-së aktualisht marrin deri në 1500 orë video HD dhe deri në 1500 fotografi me rezolucion ultra të lartë nga dronët që fluturojnë mbi Afganistan çdo ditë. Për më tepër, e gjithë kjo rrjedhë e pafund informacioni duhet të analizohet vizualisht nga operatorët në mënyrën e vjetër, pasi programi kompjuterik ekzistues nuk është në gjendje të dallojë një fshatar që ecën përgjatë një shtegu malor me shkop nga një terrorist me një lëshues për raketa të drejtuara. . Për të zgjidhur probleme të tilla, fillimisht filluan të krijohen metoda të mësimit të makinerive të bazuara në mësimin e përfaqësimit.

Procesorët Eyeriss janë idealë për instalim në dronët ushtarakë pa pilot, pasi ata do të lejojnë përpunimin inteligjent të një sërë imazhesh dhe videosh duke përdorur teknologjitë e të mësuarit të thellë direkt në bordin e avionit. Në këtë rast, të dhënat e dobishme të kontrolluara mund të dërgohen drejtpërdrejt në njësitë luftarake që veprojnë në rajonin e specifikuar, duke anashkaluar qendrën e analizës. informacion operacional.

Përmbledhje e shkurtër

Gjatë eksperimenteve, çipi Eyeriss tregoi një nivel të efikasitetit të energjisë dhjetë herë më të lartë se ai i telefonave celularë modernë. çipat grafikë. Në të njëjtën kohë, me ndihmën e tij, rezulton të jetë teknologjikisht e mundur të sigurohet funksionimi i algoritmeve të inteligjencës artificiale në pajisjet me madhësi kompakte - nga telefonat inteligjentë dhe tabletët deri tek pajisjet elektronike të veshura. Vonesat krijuar nga rrjetet Kur shkëmbeni të dhëna për një procesor të tillë, ato minimizohen, pasi çipi mund të kryejë shumicën e llogaritjeve në nivel lokal. Bazuar në Eyeriss, do të jetë e mundur të krijohen jo vetëm të gjitha llojet e " pajisje inteligjente“, por edhe robotë me një shkallë të caktuar pavarësie në vendimmarrje.

Intervale specifike kohore gjatë të cilave Eyeriss do të jetë në gjendje të transformohet në produkt komercial dhe zhvilluesit nga MIT nuk e kanë shpallur ende potencialin e tyre të plotë për të zbuluar aftësitë e tyre në nivelin e konsumatorit. Përfshirja e specialistëve kryesorë të NVIDIA në zhvillim dhe interesi i madh i studiuesve përgjegjës nga Samsung frymëzon njëfarë optimizmi.

Për rrjetet nervore deri në fund të këtij viti

Hardware Intel për të përshpejtuar funksionimin e sistemeve të inteligjencës artificiale, për të cilën Intel ka folur për mjaft kohë, do të dërgohet te klientët e parë këtë vit. Kompania njoftoi sot se procesori i saj i gjeneratës së parë të Rrjetit Neural (i koduar "Lake Crest") së shpejti do të jetë i disponueshëm për t'u porositur për një grup të kufizuar partnerësh për t'i ndihmuar ata të përshpejtojnë në mënyrë dramatike përpjekjet e tyre në kërkimin e inteligjencës artificiale.


NNP (Procesori i Rrjetit Neural) është optimizuar për shumë zgjidhje e shpejtë e specializuar problemet matematikore, të cilat qëndrojnë në themel të aplikacioneve të inteligjencës artificiale, veçanërisht rrjeteve nervore, një degë aktualisht e njohur e mësimit të makinerive. Një nga problemet kryesore me rrjetet nervore komplekse që tani janë kaq të njohura është se ato janë jashtëzakonisht intensive llogaritëse, duke e bërë të vështirë testimin dhe vendosjen e shpejtë të tyre.

NNP-të fillimisht do të lëshohen vetëm për një numër të vogël partnerësh të Intel-it, të cilët kompania planifikon t'i fillojë para fundit të këtij viti. Hardueri është duke u zhvilluar në bashkëpunim të ngushtë me Facebook, një nga kompanitë që po përpiqet të përdorë rrjetet nervore për qëllimet e veta, veçanërisht ne po flasim për luftimin e spamit, lajmeve "të rreme" dhe më shumë. përmbajtje të papërshtatshme më i madhi në botë.

Klientët do të jenë në gjendje të hyjnë në NNP përmes shërbimit Nervana të Intel. Sipas Naveen Rao, nënpresident dhe menaxher i përgjithshëm i grupit të produkteve të Intel, kompania planifikon ta bëjë shërbimin përgjithësisht të disponueshëm në të ardhmen e afërt.

Vëzhguesit presin fuqi përpunuese rekord nga sistemi, i cili është i ndryshëm nga produktet e tjera të Intel si teknologjikisht ashtu edhe funksionalisht. Intel sugjeron që zhvillimi i shpejtë i sistemeve të inteligjencës artificiale nënkupton kërkesë të lartë të klientëve për modele të reja procesorësh me aftësi të reja. Intel premton se prania e bërthamave ultra të shpejta nuk duhet të ndikojë në stabilitet dhe po flasim gjithashtu për formimin e një infrastrukture të përshtatshme.

"Kur jeni duke punuar në një temë si rrjetet nervore, ka shumë shpresë për përpunuesit nervorë," tha Rao. “Dhe ne jemi shumë të zhytur në mendime për shtesat dhe ndryshimet në arkitekturën e procesorit. Kur punoni në një mjedis me zhvillim të shpejtë, siç janë rrjetet nervore, është jashtëzakonisht e rëndësishme të gjurmoni shpejt të gjitha kërkesat dhe t'i zgjidhni ato për klientin.

Intel aktualisht është duke punuar në tre variante të procesorëve nervorë dhe ata premtojnë se të paktën një variant do të jetë i disponueshëm deri në fund të këtij viti.

Rrjetet nervore kanë qenë në qendër të vëmendjes shkencore që në ditët e para të kërkimit të inteligjencës artificiale, por në vitet 1970, ato u harruan disi. Në dekadën e fundit, teknologjitë që lidhen me përdorimin e rrjeteve nervore janë studiuar në nivelin e programeve të "mësimit të thellë". Një rrjet nervor artificial është një model matematikor, si dhe mishërimi i tij softuer ose harduer, i ndërtuar mbi parimin e organizimit dhe funksionimit të rrjeteve nervore biologjike - rrjetet e qelizave nervore të një organizmi të gjallë. Ky koncept u ngrit gjatë studimit të proceseve që ndodhin në tru dhe përpjekjes për të modeluar këto procese. Pas zhvillimit të algoritmeve të të mësuarit, modelet që rezultuan filluan të përdoren për qëllime praktike: në problemet e parashikimit, për njohjen e modeleve, në problemet e kontrollit, etj. ANN-të janë një sistem procesorësh të thjeshtë të lidhur dhe ndërveprues (neuronet artificiale). Procesorë të tillë janë zakonisht mjaft të thjeshtë (veçanërisht në krahasim me procesorët e përdorur në kompjuterët personalë). Çdo procesor rrjet i ngjashëm merret vetëm me sinjalet që merr në mënyrë periodike dhe sinjalet që periodikisht u dërgon procesorëve të tjerë. Dhe, megjithatë, duke u lidhur në mjaft rrjet i madh me ndërveprim të kontrolluar, të tillë veçmas procesorë të thjeshtë së bashku ata janë të aftë të kryejnë detyra mjaft komplekse.

  • Nga pikëpamja e mësimit të makinerive, një rrjet nervor është një rast i veçantë i metodave të njohjes së modeleve, analizave diskriminuese, metodave të grupimit, etj.
  • Nga pikëpamja matematikore, trajnimi i rrjeteve nervore është një problem optimizimi jolinear me shumë parametra.
  • Nga pikëpamja e kibernetikës, një rrjet nervor përdoret në problemet e kontrollit adaptiv dhe si algoritme për robotikë.
  • Nga pikëpamja e zhvillimit të teknologjisë kompjuterike dhe programimit, një rrjet nervor është një mënyrë për të zgjidhur problemin e paralelizmit efektiv.
  • Dhe nga pikëpamja e inteligjencës artificiale, ANN është baza e lëvizjes filozofike të konektivizmit dhe drejtimi kryesor në qasje strukturore të studiojë mundësinë e ndërtimit (modelimit) të inteligjencës natyrore duke përdorur algoritme kompjuterike.

Rrjetet nervore nuk janë të programuara në kuptimin e zakonshëm të fjalës, ato janë të trajnuar. Aftësia për të mësuar është një nga avantazhet kryesore të rrjeteve nervore ndaj algoritmeve tradicionale. Teknikisht, të mësuarit konsiston në gjetjen e koeficientëve të lidhjeve midis neuroneve. Gjatë procesit të të mësuarit, rrjeti nervor është në gjendje të identifikojë varësi komplekse midis të dhënave hyrëse dhe dalëse, si dhe të kryejë përgjithësim. Kjo do të thotë që nëse trajnimi është i suksesshëm, rrjeti do të jetë në gjendje të kthejë rezultatin e saktë bazuar në të dhënat që mungonin në grupin e trajnimit, si dhe të dhëna jo të plota dhe/ose "të zhurmshme", pjesërisht të shtrembëruara.

Aftësitë parashikuese të një rrjeti nervor rrjedhin drejtpërdrejt nga aftësia e tij për të përgjithësuar dhe nxjerrë në pah varësitë e fshehura midis të dhënave hyrëse dhe dalëse. Pas trajnimit, rrjeti është në gjendje të parashikojë vlerën e ardhshme të një sekuence të caktuar bazuar në disa vlerat e mëparshme dhe (ose) disa ekzistuese në momenti aktual faktorët. Duhet të theksohet se parashikimi është i mundur vetëm kur ndryshimet e mëparshme në të vërtetë, deri diku, paracaktojnë të ardhmen. Për shembull, parashikimi i çmimeve të aksioneve bazuar në çmimet e javës së kaluar mund (ose jo) të jetë i suksesshëm, ndërsa parashikimi i rezultateve të lotarisë së nesërme bazuar në të dhënat e 50 viteve të fundit pothuajse me siguri do të dështojë.

Lini komentin tuaj!

Aktualisht, neuroprocesorët mbeten ende një nga fushat më premtuese të zhvillimit të elektronikës. Sigurisht, ata janë ende shumë larg nga perfektja. Sidoqoftë, teknologjia nuk qëndron ende, dhe aftësitë e përpunuesve modernë nervorë rezultojnë të jenë shumë mbresëlënëse. Ky artikull përshkruan shkurtimisht historinë e neuroprocesorëve, zbulon ndryshimet midis neuroprocesorëve dhe procesorëve me arkitekturën tradicionale dhe analizon parimet themelore të funksionimit dhe trajnimit të neuroprocesorëve duke përdorur shembullin e një mikroqarkullimiN.M.500 ngaNeuroMem.

Pavarësisht të gjitha arritjeve teknologjive moderne, truri i njeriut mbetet më e përsosura sistemi informatik në Tokë. Sigurisht, çdo, madje edhe mikrokontrolluesi më i thjeshtë 8-bitësh do të tejkalojë lehtësisht një profesor matematike në garat aritmetike, por nuk ka gjasa të jetë në gjendje të merret me probleme të paformalizuara.

Shkathtësia e mahnitshme e trurit ka qenë prej kohësh një ëndërr për zhvilluesit sistemet e procesorit. Përpjekjet për të krijuar një analog makinerie të neuroneve u bënë në vitet '60 të shekullit të kaluar. Një shembull është perceptroni Mark-1, i zhvilluar nga Frank Rosenblatt. Versionet e para të neuroneve elektronike ishin shumë larg origjinalit biologjik në aftësitë e tyre, dhe interesi për këtë problem nuk ishte shumë i lartë. Sidoqoftë, në vitet '80, teknologjitë e integruara bënë të mundur krijimin e përpunuesve kompleksë që kombinojnë miliona transistorë, dhe normat e tyre topologjike doli të ishin më të vogla se madhësia e neuroneve biologjike reale. Në të njëjtën kohë, këta përpunues ishin ende dukshëm inferiorë ndaj trurit në efikasitetin e tyre në zgjidhjen e problemeve joformale. Ishte kjo kontradiktë që u bë shtysa për zhvillimin e teknologjive të neuroprocesorëve. Në të njëjtën kohë, diskutuam si për krijimin e arkitekturave të specializuara ashtu edhe për zhvillimin e çështje teorike.

Cili është ndryshimi midis një procesori nervor dhe një procesori tradicional?

Si ndryshojnë procesorët nervorë nga sistemet tradicionale të procesorëve, siç janë mikrokontrolluesit (MCU), procesorët (CPU), procesorët e sinjalit dixhital (DSP), GPU-të(GP), etj. Dallimi kryesor qëndron në arkitekturë. Përpunuesit tradicionalë përbëhen nga njësi të veçanta që kryejnë funksione të ndryshme (kompjuterike dhe njësitë periferike, kujtesa). Neuroprocesorët kanë një strukturë më "homogjene", duke përfshirë shumë neurone - qeliza llogaritëse identike dhe relativisht të thjeshta me memorie të integruar. Ky ndryshim është qartë i dukshëm edhe në fotografi (Figura 1).

Oriz. 1. Fotografi e zmadhuar e strukturës së një procesori tradicional dhe një neuroprocesori

Kështu, arkitektura e një neuroprocesori, sipas përkufizimit, rezulton të jetë me shumë bërthama, sepse çdo neuron është një bërthamë e pavarur llogaritëse. Si rezultat, shumë operacione si njohja e imazhit, filtrimi etj. kryhen shumë shpejt. Sigurisht, procesorët modernë mund të kenë gjithashtu një strukturë me shumë bërthama (kryesisht procesorë grafikë), por zgjidhja e problemeve të paformalizuara për ta ende rezulton të jetë e vështirë. Të tjera dallime të rëndësishme Aftësitë e procesorit janë paraqitur në tabelën 1.

Tabela 1. Krahasimi i procesorëve me arkitekturën tradicionale dhe procesorët nervorë

MK/ CPU/ DSP/ GP

Neuroprocesorët

Arkitektura e Harvardit ose arkitektura e von Neumann me ndarjen e bërthamës kompjuterike dhe kujtesës

Struktura uniforme e qelizave identike llogaritëse me kujtesën e tyre

Përpunimi paralel në sistemet multiprocesorike

Përpunimi paralel sipas përkufizimit

Zgjidhja e problemave logjike/sekuenciale/lineare?

Zgjidhja e problemeve jo standarde/paralele/jolineare?

Zbërthimi i detyrave dhe përdorimi i vlerësimeve objektive

Zgjidhja e problemit "tërësisht", duke marrë parasysh përvojën e mëparshme dhe vetë-mësimin e vazhdueshëm

Përcaktimi i ngurtë sipas kohës, aparatit matematikor, llojit të të dhënave

Nuk ka determinizëm të rreptë në zgjidhjen e problemeve

Ideale për të punuar me grupe të dhënash të strukturuara qartë

Ideale për të punuar me grupe të dhënash të pastrukturuara dhe jo standarde

Vështirësi në shkallëzim

Lehtësia relative e shkallëzimit

Zhvillimi i neuroprocesorëve, si zhvillimi i përpunuesve konvencionalë, është i lidhur ngushtë me përmirësimin e teknologjive të integruara. Sa më të vogla të jenë normat topologjike, aq më shumë neurone mund të vendosen në një çip duke ruajtur një nivel të ulët konsumi (Figura 2).

Oriz. 2. Zhvillimi i teknologjive të integruara përcakton zhvillimin e neuroprocesorëve

Aktualisht, ka shumë shembuj të zbatimeve gjithnjë e më pak të suksesshme të neuroprocesorëve. Shumë nga zgjidhjet e propozuara u zhvilluan për të zgjidhur një gamë të ngushtë problemesh dhe nuk ishin gjithmonë të disponueshme për një gamë të gjerë zhvilluesish. Sidoqoftë, me sa duket, shfaqja e përpunuesve nervorë të përballueshëm dhe miqësorë për përdoruesit nuk është larg. Një shembull janë procesorët CM1K dhe NM500 nga NeuroMem.

Si është i strukturuar rrjeti nervor në një neuroprocesor?

Le të shohim dizajnin dhe parimin e funksionimit të neuroprocesorëve duke përdorur shembullin e CM1K dhe NM500 nga NeuroMem. Këta procesorë, nga njëra anë, zbulojnë mirë thelbin e neurokompjuterisë, dhe nga ana tjetër, ata kanë një arkitekturë mjaft të thjeshtë dhe transparente.

CM1K- një neuroprocesor i prodhuar duke përdorur teknologjinë 130 nm dhe që përmban një rrjet prej 1024 neuronesh (Tabela 2). CM1K nuk ka një mbikëqyrës të integruar (bashkëprocesor kontrolli i integruar) - të gjitha llogaritjet kryhen nga neurone paralelë të lidhur me një autobus paralel dhe që funksionojnë në një frekuencë deri në 27 MHz (Figura 3). Në të njëjtën kohë konsumi total sistemi rezulton të jetë mjaft i ulët (nga 0,5 W). CM1K ka një paketë TQFP 16x16mm.

NM500- një neuroprocesor i ri nga NeuroMem, i bërë duke përdorur teknologjinë 110 nm, dhe duke kombinuar 576 neurone (Tabela 2). Ashtu si CM1K, NM500 nuk ka ndonjë mbikëqyrës të integruar (Figura 3). Dimensionet e kasës të këtij procesori 4x4 mm (WCSP64), dhe konsumi është më pak se 153 mW në modalitetin aktiv.

Oriz. 3. Struktura e neuroprocesorëve CM1K dhe NM500 rezulton të jetë mjaft e thjeshtë

Tabela 2. Krahasimi i karakteristikave të neuroprocesorëve C1MK, QuarkSE/Curie dhe NM500

Parametri

QuarkSE/Curie

Prodhuesi

Numri i neuroneve

Kujtesa e neuroneve

Distancat

"Kmë i afërt fqinjët» (K-Fqinji më i afërt, KNN)

Funksioni i bazës radiale (RBF)

Llogaritja e distancës LSUP

Llogaritja e distancës L1 (Manhatan)

Kaskadë

Frekuenca/frekuenca kur procesorët kaskadë

Kornizë

Teknologjia

Mungesa e një mbikëqyrësi të integruar do të thotë se puna me CM1K dhe NM500 kërkon një procesor kontrolli të jashtëm që do të furnizojë neuronet me të dhëna. Në këtë rast, komunikimi kryhet nëpërmjet një autobusi paralel dydrejtues 26-bit. Në thelb, NM500 është një zinxhir neuronesh identike që janë të lidhur me një autobus të përbashkët paralel dhe kanë lidhje me njëri-tjetrin (Figura 4).

Oriz. 4. Struktura e thjeshtuar e NM500

Si funksionon një rrjet nervor në një neuroprocesor?

CM1K dhe NM500 janë të afta të funksionojnë në dy mënyra kryesore: trajnim dhe njohje (Figura 5). Në këtë rast, mund të flasim për të dhëna që janë krejtësisht të ndryshme në natyrë: tekste, imazhe, sinjale zanore, video etj. Më tej (thjesht për thjeshtësi!) do të supozojmë se neuroprocesori përdoret për njohjen e imazhit. Rrjedha e të dhënave gjenerohet nga një procesor kontrolli i jashtëm dhe përpunimi kryhet nga neuronet.

Oriz. 5. CM1K dhe NM500 mund të funksionojnë në dy mënyra kryesore: mësim dhe njohje

Çdo neuron NM500 ka memorien e vet të programueshme: kryesore 256 bajt (shabllon), kontekst (8 bit), kategori (16 bit). Kategoria përdoret për të klasifikuar objektet dhe konteksti përdoret për të ndarë neuronet në nënrrjete. Përveç kësaj, çdo neuron ka NID-in e vet 24-bit (neuron ID). Programimi i memories neuronale është i ndryshëm nga programimi i procesorëve konvencionalë. Në një procesor konvencional, programi shkruhet para fillimit të punës. Në shumë procesorë nervorë (por jo të gjithë!) programimi mund të kryhet drejtpërdrejt gjatë funksionimit dhe quhet trajnim.

Figura 6 tregon procesin e trajnimit të NM500. Në hapin e parë, të gjithë neuronet nuk janë të trajnuar dhe janë në gjendjen "bosh" (përveç neuronit të parë). Në daljen e tyre ka sinjal i ulët"L". Neuroni i parë është në gjendjen "gati për të mësuar". Pasi procesori i kontrollit të përfundojë mbushjen memorie të brendshme(nëpërmjet një autobusi paralel), neuroni i parë do të kalojë në gjendjen e "trajnuar" dhe do të marrë identifikuesin NID=1, në daljen e tij do të vendoset një sinjal i lartë "H". Në këtë rast, neuroni i dytë do të shkojë në gjendjen "gati për të mësuar". Në këtë mënyrë, të gjithë neuronet (NID=2, NID=3...) mund të trajnohen në mënyrë sekuenciale dhe të identifikohen automatikisht. Kjo qasje lejon që procesorët NM500 të kaskadohen, duke rritur numrin e neuroneve pothuajse në pafundësi.

Oriz. 6. Neuronet NM500 trajnohen në mënyrë sekuenciale

Si shembull, le të analizojmë funksionimin e NM500 si pjesë e një arke me funksion të njohjes së produktit (Figura 7). Gjatë procesit të trajnimit, imazhet shabllone të produkteve u shkruan në memorien kryesore të neuroneve (256 bajt), dhe lloji i tyre u kodua në fushën e kategorisë (16 bit): kastravec, banane, karrota, etj. Më tej, gjatë funksionimit, kamera bën fotografisë dixhitale produkt. Procesori i kontrollit transmeton imazhin tek të gjithë neuronet në të njëjtën kohë përmes një autobusi paralel. Neuronet, duke përdorur algoritme të integruara të njohjes, krahasojnë përmbajtjen e kujtesës së tyre dhe imazhin që rezulton. Më pas, neuronet i raportojnë procesorit të kontrollit për rezultatet e ndeshjes. Nëse gjendet një përputhje, atëherë detyra është zgjidhur me sukses. Nëse jo, atëherë kontrolluesi i kontrollit, në mënyrë të pavarur ose me ndihmën e një operatori, mund të krijojë shabllon i ri dhe vendoseni në një neuron të lirë.

Oriz. 7. Përdorimi i NM500 për të njohur produktet

Neuronet mund të përdoren për njohje veti të ndryshme objekt, si forma, ngjyra etj. Në raste të tilla, është e përshtatshme të ndahen neuronet në nën-rrjete të veçanta duke përdorur fushën e kontekstit. Pastaj, gjatë procesit të njohjes, vetëm ato neurone, konteksti i të cilëve përkon konteksti global, vendosur nga procesori i kontrollit.

Shembulli i dhënë nuk merr në konsideratë aspektet më komplekse të funksionimit të neuroprocesorit. Në mënyrë të veçantë, si e bën një neuron një krahasim? Si vlerësohet ngjashmëria? Si zgjidhen çështjet e diskutueshme? Për shembull, çfarë do të ndodhte nëse në këtë shembull kamera kapte një banane të gjelbër, të papjekur që dukej si një kastravec? A do të kishte një përplasje midis neuroneve të 1-rë dhe të tretë? Le t'i shqyrtojmë këto pyetje veç e veç.

Pse procesori nervor mat distancën në bit?

Për të kuptuar se si vlerësohet shkalla e ngjashmërisë, duhet t'i referohemi strukturës së neuronit në NM500 (Figura 8). Gjatë procesit të krahasimit, imazhi origjinal përpunohet duke përdorur algoritme të specializuara(rreth tyre do flasim më tej) dhe një shabllon (256 byte) të ruajtur në kujtesën e neuronit. Rezultati i krahasimit është një numër 16-bitësh, i cili vendoset në regjistrin "Distanca". Me fjalë të tjera, neuroni gjeneron rezultatin jo në formën e "përputhjes" - jo "përputhshme", por në formën e një numri 16-bit - distancë, e cila është një masë e "ngjashmërisë". Sa më e vogël të jetë distanca, aq më afër shabllonit është imazhi në studim.

Oriz. 8. Procesi i njohjes në neuronin NM500

Pas llogaritjes së distancës krahasohet me vlerën e regjistrit të fushës së interesit (fusha e ndikimit, IF). Nëse distanca është më e vogël, atëherë objekti ka një ngjashmëri të lartë me shabllonin. Në këtë rast, neuroni kalon në një gjendje të ngacmuar (zjarr) dhe fillon të transmetojë vlerën e distancës, dhe më pas, nëse kërkohet, kategorinë (16 bit) dhe identifikuesin e neuronit (NID) në procesorin e kontrollit.

Ekziston mundësia që objekti në studim të bjerë njëkohësisht në fushën e interesit të disa neuroneve, si një banane jeshile, e cila është e ngjashme me një banane dhe një kastravec. Për raste të tilla, NM500 zbaton një mekanizëm arbitrazhi jo-shkatërrues të patentuar.

Për të kryer arbitrazhin, përdoret blloku i krahasimit COMP. Një nga hyrjet e tij merr të dhëna nga neuroni, dhe i dyti gjendjen aktuale gomave. Në këtë rast, linjat e daljes D të njësisë krahasuese janë të tipit kolektor të hapur dhe janë të lidhura me të njëjtin autobus. Kështu, secili prej neuroneve jo vetëm që transmeton të dhëna në autobus, por gjithashtu monitoron gjendjen e tij. Nëse rezulton se njëri prej neuroneve raporton një distancë më të vogël (më shumë ngjashmëri), atëherë neuroni me më pak ngjashmëri fiket automatikisht dhe del nga "gara" për ngjashmëri maksimale.

Nëse procesori i kontrollit, pas leximit të distancës, duhet të lexojë kategorinë (16 bit) dhe identifikuesin e neuronit (NID), atëherë përdoret i njëjti mekanizëm arbitrazhi. Prandaj, nëse dy neurone kanë një distancë të barabartë, por njëri prej tyre ka një vlerë kategorie më të vogël, atëherë është ai që do të fitojë "garën" e arbitrazhit dhe do të vazhdojë të transmetojë të dhëna.

Ky parim arbitrazhi quhet "Winner-Takes-All", i cili zakonisht përkthehet si "fituesi merr të gjitha".

Algoritmi i funksionimit i përshkruar më sipër korrespondon me mekanizmin e funksioneve të bazës radiale (Radial Basis Function, RBF). Avantazhi i tij kryesor është determinizmi maksimal i përkohshëm - procesori i kontrollit mëson për një ndeshje (ose mungesën e tij) në 19 cikle orësh (37 cikle ore me zbritje të kategorisë). NM500 gjithashtu mbështet mekanizmin K-Nearest Neighbor (KNN).

Kur përdorni mekanizmin K-Fqinji më i afërt (KNN), vlera e regjistrit të fushës së interesit shpërfillet dhe të gjithë neuronet shkojnë në një gjendje të ngacmuar gjithsesi. Më pas, procesori i kontrollit lexon vlerat e distancës së të gjithë neuroneve, gjë që kërkon shumë më tepër kohë. Siç u përmend më lart, leximi i distancës së një neuroni kërkon 19 cikle orësh, pastaj, për shembull, për të lexuar distancat e 50 neuroneve do të duhen 950 cikle ore.

Pse nevojiten algoritme të ndryshme përpunimi?

Është gjithashtu e nevojshme të thuash disa fjalë për vetë algoritmet e krahasimit. Ka shumë algoritme të tillë, në veçanti NM500 mbështet algoritmet L1 (Manhattan) dhe Lsup (Figura 9). Zgjedhja e algoritmit varet nga detyra specifike:

  • Lsup ju lejon të zbuloni devijimin maksimal të të dhënave burimore nga shablloni. Natyrisht, një algoritëm i tillë është ideal për filtrim, si dhe për zbulimin e anomalive.
  • L1 ju lejon të përcaktoni devijimin e të gjithë përbërësve të grupit të të dhënave nga përbërësit përkatës të shabllonit. Ky algoritëm është i kërkuar në operacionet minerare.

Oriz. 9. Për të llogaritur distancën, NM500 përdor algoritmet L1 (Manhattan) dhe Lsup

Puna e neuroprocesorit në gishta, në foto dhe tabela

Tani që çështjet e përgjithshme janë mbuluar, është koha për të parë në detaje disa shembuj specifikë.

Shembulli 1. Njohja e vargjeve njëdimensionale me dy numra

në këtë shembull supozohet se do të përdoren tre neurone. Për ta bërë këtë, kujtesa e tyre plotësohet si më poshtë:

  • 1 neuron: model = (11, 11), fusha e interesit AIF = 16, Kategoria CAT= 55, NID=1;
  • 2 neuron: shabllon = (15, 15), fusha e interesit AIF = 16, kategoria CAT = 33, NID = 2;
  • 3 neuron: model = (30, 30), fushë interesi AIF = 20, kategori CAT = 100, NID = 3.

Ky shembull mund të ilustrohet me lehtësi si një dydimensionale modeli grafik(Figura 10). Çdo neuron përfaqësohet si një sferë me një rreze të barabartë me fushën e interesit AIF. Në të njëjtën kohë, është e lehtë të vërehet prania e fushave të mbivendosura të interesit.

Oriz. 10. Shembulli 1. Paraqitja grafike të dhënat burimore

Le të shqyrtojmë përgjigjen e sistemit ndaj vektorëve të hyrjes.

Vektori (12, 12). Distanca e vlerësuar midis neuronit 1 dhe vektorit 1 (sipas algoritmit L1) llogaritet si shuma e diferencave midis përbërësve të vektorit dhe shabllonit: (12-11) + (12-11) = 2.

Po kështu:

  • Distanca nga neuroni 2: (15-12) + (15-12) = 6.
  • Distanca nga neuroni 3: (30-12) + (30-12) = 36.

Kështu, vektori (12, 12) bie në fushën e interesit të neuronit 1 dhe neuronit 2 (i ngacmon ato), por nuk bie në fushën e interesit të neuronit 3 (Figura 11).

Si rezultat, kur lexoni rezultatin duke përdorur mekanizmin "fituesi merr të gjitha", procesori i kontrollit do të marrë të dhënat e ndeshjes nga neuroni 1, pasi neuroni 1 ka distancën minimale, domethënë përputhjen maksimale.

Oriz. 11. Shembulli 1. Pozicioni i vektorit (12,12)

Vektori (13, 13). Distancat e vlerësuara me vektorin:

  • Distanca nga neuroni 1: (13-11) + (13-11) = 4.
  • Distanca nga neuroni 2: (15-13) + (15-13) = 4.
  • Distanca nga neuroni 3: (30-13) + (30-13) = 34.

Kështu, vektori (13, 13) bie në fushën e interesit të neuronit 1 dhe neuronit 2 (i ngacmon ato), por nuk bie në fushën e interesit të neuronit 3 (Figura 12). Në të njëjtën kohë, distanca në neuronet 1 dhe 2 është e njëjtë. Megjithatë, duke qenë se kategoria e neuronit 2 është më e vogël, ai do të fitojë garën që merr të gjitha. Procesori i kontrollit do të marrë të dhënat e ndeshjes nga neuroni 2.

Oriz. 12. Shembulli 1. Pozicioni i vektorit (13,13)

Vektori (14, 14). Distancat e vlerësuara me vektorin:

  • Distanca nga neuroni 1: (14-11) + (14-11) = 6.
  • Distanca nga neuroni 2: (15-14) + (15-14) = 4.
  • Distanca nga neuroni 3: (100-14) + (100-14) = 32.

Kështu, vektori (14, 14) bie në fushën e interesit të neuronit 1 dhe neuronit 2 (i ngacmon ato), por procesori i kontrollit do të marrë të dhëna për ndeshjen nga fituesi - neuroni 2 (Figura 13).

Oriz. 13. Shembulli 1. Pozicioni i vektorit (14,14)

Vektori (200, 200). Distancat e vlerësuara me vektorin:

  • Distanca nga neuroni 1: (200 - 11) + (200 - 11) = 378.
  • Distanca nga neuroni 2: (200 - 15) + (200 - 15) = 370.
  • Distanca nga neuroni 3: (200 - 30) + (200 - 30) = 340.

Kështu, vektori (200, 200) nuk bie në fushën e interesit të asnjë prej neuroneve (Figura 14). Në raste të tilla, procesori mund të inicojë shkrimin e këtij vektori në një neuron të papushtuar dhe ta klasifikojë atë në mënyrë të pavarur.

Oriz. 14. Shembulli 1. Pozicioni i vektorit (200,200)

Mësimi i një vektori të ri (13, 13). Le të themi se duhet të "mësojmë" një vektor të ri (13,13) me kategorinë 100. Siç u tregua më lart, ai është në një distancë të barabartë nga neuroni 1 dhe neuroni 2. Për këtë arsye, kur shkruajmë këtë vektor, neuronet do të ngushtoni fushat e interesit në vlerën AIF = 8. Kështu realizohet vetëmësimi i neuroneve.

Oriz. 15. Shembulli 1. Vetë-mësimi i neuroneve kur shtohet një vektor i ri konsiston në ngushtimin e fushës së interesit

Shembulli 2. Trajnimi dhe funksionimi i një rrjeti me dy neurone me një grup prej 10 numrash

Në këtë shembull, llogaritjet e ngjashme me ato nga Shembulli 1 përsëriten. Dallimi kryesor është se trajnimi kryhet midis njohjeve dhe ndikon seriozisht në rezultatet.

Procesi është paraqitur në tabelën 3.

Tabela 3. Shembulli 2. Sjellja e një neuroprocesori kur punon me një grup prej 10 numrash

Operacioni

Ndeshja më e mirë

Ndeshja e dytë më e mirë

Trajnimi i 1 neuronit

Vektori 1 = 0,1,2,3,4,5,6,7,8,9

Njohja

CAT=1, DIST=0, NID=1

CAT=0xffff, DIST=0xffff

Vektori 2 = 0,1,2,6,4,5,6,7,8,9

Njohja

CAT=1, DIST=3, NID=1

CAT=0xffff, DIST=0xffff

Trajnimi i neuronit 2

Vektori 3 = 0,1,4,3,8,5,12,7,16,9

Njohja

CAT=2, DIST=0, NID=2

CAT=0xffff, DIST=0xffff

Vektori 4 = 0,1,2,3,4,5,12,7,16,9

Njohja

CAT=2, DIST=6, NID=2

CAT=1, DIST=14, NID=1

Vektori 5 = 0,1,2,3,4,5,6,7,16,9

Njohja

CAT=1, DIST=8, NID=1

CAT=2, DIST=12, NID=2

Çfarë duhet të bëni nëse nuk ka mjaft neurone?

Lind një pyetje. 576 neurone dhe 256 bajtë memorie - është shumë apo pak? Natyrisht, përgjigja varet nga kërkesat aplikim specifik. Kjo është e mjaftueshme për detyra të thjeshta, por aplikacionet më komplekse mund të kërkojnë më shumë. mjet i fuqishëm. Sidoqoftë, procesorët NM500 rezultojnë të jenë shumë të thjeshtë dhe të arritshëm për një gamë të gjerë përdoruesish, gjë që është padyshim përparësia e tyre më e madhe.

Siç u përmend më lart, nëse është e nevojshme, rrjeti nervor i bazuar në procesorët NM500 mund të zgjerohet. Për këtë qëllim, përdoret kaskada e mikroqarqeve (Figura 16). Në këtë rast, dalja DCO e një procesori duhet të lidhet me hyrjen DCI të procesorit të ardhshëm. Numri i mikroqarqeve të lidhura në mënyrë sekuenciale nuk është i kufizuar, ose më saktë i kufizuar nga aftësitë bordi i qarkut të printuar ruani integritetin e sinjalit kur punoni në frekuenca deri në 20 MHz.

Oriz. 16. Zgjerimi i rrjetit neural me procesorë kaskadë NM500

Si mund të njihem me aftësitë e NM500?

Një nga qëllimet e krijimit të NM500 ishte promovimi i neuroprocesorëve tek masat. Duke vepruar në kuadrin e kësaj strategjie, kompania NeuroMem mori rrugën logjike dhe lëshoi ​​modulin e korrigjimit të NeuroTile të përputhshëm me Arduino, i cili e bën neuroprocesorin sa më të aksesueshëm si për zhvilluesit profesionistë ashtu edhe për entuziastët e zakonshëm të elektronikës.

NeuroTile ka një ose dy procesorë NM500 në bord, një mikrokontrollues STM32F476 me performancë të lartë dhe me fuqi të ulët me një bërthamë procesori ARM Cortex-M4, XO3 FPGA nga Lattice, Bluetooth, një modul inercial me 6 boshte (xhiroskop + akselerometër), një 6 -Moduli inercial i boshtit (magnetometër + akselerometër), sensor presioni, mikrofon, fole për kartën e kujtesës, çip karikimi Bateritë Li-jon, USB, steka e kokës së pineve të pajtueshme me Arduino (Figura 17).

Oriz. 17. Pamja e jashtme dhe struktura e bordit të zhvillimit të NeuroTile

Ka module korrigjimi të pajtueshme me Arduino me NM500 nga prodhuesit e palëve të treta, për shembull ProdigyBoard nga kompania koreane nepes (Figura 18). Karakteristikat dalluese ProdigyBoard janë: dy procesorë NM500, 1GB DDR3, FPGA me flash bootable 20 Mbit, kamera, mikrofon, Micro SD, USB.

Oriz. 18. Pamja dhe struktura e bordit të zhvillimit të ProdigyBoard

konkluzioni

Ndryshe nga procesorët tradicionalë, procesorët nervorë ofrojnë performancë të lartë dhe konsum të ulët kur kryejnë detyra komplekse informale. Ato mund të përdoren në një gamë të gjerë aplikimesh, duke filluar nga kontrolli i cilësisë së produktit deri te përpunimi i imazhit dhe zërit.

Shfaqja e neuroprocesorëve të thjeshtë dhe miqësorë për përdoruesit NM500 mund të jetë një hap i madh për popullarizimin e teknologjive të neuroprocesorëve.

Karakteristikat e neuroprocesoritNM500:

  • Numri i neuroneve: 576;
  • Kapaciteti i memories së neuroneve: 256 bajt;
  • Mënyra e funksionimit: funksionet radialisht simetrike (RadialBasisFunction, RBF) dhe "K-Fqinji më i afërt" (KNN);
  • Gjendjet e daljes: i përcaktuar, jo i plotë, i panjohur;
  • Llogaritja e distancës: L1 (Manhatan), Lsup;
  • Frekuenca e funksionimit: 37 MHz (procesor i vetëm), 18 MHz (me procesorë paralelë);
  • Ndërfaqet e komunikimit: autobus paralel (26 linja);
  • Tensionet e furnizimit: 3.3 V IO dhe bërthama 1.2 V;
  • Konsumi (puna aktive):<153 мВт;
  • Rasti: CSP-64 4.5x4.5x0.5 mm.

Një nga fushat më premtuese për zhvillimin e arkitekturave thelbësisht të reja të sistemeve kompjuterike është e lidhur ngushtë me krijimin e një gjenerate të re kompjuterësh bazuar në parimet e përpunimit të informacionit të ngulitura në rrjetet nervore artificiale(NS). Puna e parë praktike mbi rrjetet nervore artificiale dhe neurokompjuterët filloi në vitet '40 dhe '50. Një rrjet nervor zakonisht kuptohet si një grup i konvertuesve elementar të informacionit, të quajtur "neurone", të cilët janë të lidhur në një mënyrë të caktuar me njëri-tjetrin nga kanalet e shkëmbimit të informacionit "lidhje sinaptike".

Neuroni, në thelb, është një procesor elementar i karakterizuar nga gjendjet hyrëse dhe dalëse, një funksion transferimi (funksioni i aktivizimit) dhe memoria lokale. Gjendjet e neuroneve ndryshojnë gjatë funksionimit dhe përbëjnë kujtesën afatshkurtër të rrjetit nervor. Çdo neuron llogarit shumën e ponderuar të sinjaleve që vijnë në të nëpërmjet sinapseve dhe kryen një transformim jolinear mbi të. Kur dërgohen nëpër sinapse, sinjalet shumëzohen me një faktor të caktuar peshimi. Shpërndarja e koeficientëve të peshimit përmban informacion të ruajtur në kujtesën shoqëruese të rrjetit nervor. Elementi kryesor i dizajnit të rrjetit është trajnimi i tij. Kur stërvitni dhe rikualifikoni një rrjet nervor, koeficientët e peshimit të tij ndryshojnë. Megjithatë, ato mbeten konstante gjatë funksionimit të rrjetit nervor, duke formuar kujtesën afatgjatë.

N C mund të përbëhet nga një shtresë, dy shtresa, tre ose më shumë, megjithatë, si rregull, më shumë se tre shtresa në një NN nuk kërkohen për të zgjidhur problemet praktike.

Numri i hyrjeve NN përcakton dimensionin e hiperhapësirës, në të cilën sinjalet hyrëse mund të përfaqësohen me pika ose hiperrajone të pikave të ndara ngushtë. Numri i neuroneve në një shtresë rrjeti përcakton numrin e hiperplaneve në hiperhapësirë. Llogaritja e shumave të ponderuara dhe kryerja e një transformimi jolinear bëjnë të mundur përcaktimin se në cilën anë të një hiperplani të caktuar ndodhet pika e sinjalit hyrës në hiperhapësirë.

Le të marrim problemin klasik të njohjes së modelit: përcaktimi nëse një pikë i përket njërës prej dy klasave. Ky problem zgjidhet natyrshëm duke përdorur një neuron të vetëm. Do të lejojë që hiperhapësira të ndahet në dy hiperrajone jo të kryqëzuara dhe jo të mbivendosura. Në realitet, sinjalet hyrëse në problemet e zgjidhura duke përdorur rrjetet nervore formojnë zona shumë të mbivendosura ose të kryqëzuara në hiperhapësirë, të cilat nuk mund të ndahen duke përdorur një neuron të vetëm. Kjo mund të bëhet vetëm duke vizatuar një hipersipërfaqe jolineare midis rajoneve. Mund të përshkruhet duke përdorur një polinom të rendit të n-të. Megjithatë, funksioni i fuqisë llogaritet shumë ngadalë dhe për këtë arsye është shumë i papërshtatshëm për llogaritjen. Një opsion alternativ është përafrimi i hipersipërfaqes me hiperplane lineare. Është e qartë se saktësia e përafrimit varet nga numri i hiperplaneve të përdorura, i cili, nga ana tjetër, varet nga numri i neuroneve në rrjet. Prandaj lind nevoja për implementim harduerik të sa më shumë neuroneve në rrjet. Numri i neuroneve në një shtresë të rrjetit përcakton rezolucionin e tij. Një rrjet nervor me një shtresë nuk mund të ndajë imazhe të varura në mënyrë lineare. Prandaj, është e rëndësishme të jeni në gjendje të implementoni rrjete nervore me shumë shtresa në harduer.

DHE rrjetet nervore artificiale kanë veti të mahnitshme. Ato nuk kërkojnë zhvillim të detajuar të softuerit dhe hapin mundësinë e zgjidhjes së problemeve për të cilat nuk ka modele teorike apo rregulla heuristike që përcaktojnë algoritmin e zgjidhjes. Rrjete të tilla kanë aftësinë të përshtaten me ndryshimet në kushtet e funksionimit, duke përfshirë shfaqjen e faktorëve të paparashikuar më parë. Për nga natyra e tyre, NN-të janë sisteme me një nivel shumë të lartë paralelizmi.

neurokompjuterët përdoren parimet e përpunimit të informacionit të kryera në rrjetet neurale reale. Këto mjete thelbësisht të reja kompjuterike me një arkitekturë jokonvencionale lejojnë përpunimin me performancë të lartë të grupeve të informacionit në shkallë të gjerë. Ndryshe nga sistemet kompjuterike tradicionale, kompjuterët e rrjeteve nervore, të ngjashëm me rrjetet nervore, bëjnë të mundur përpunimin e rrjedhave të informacionit të sinjaleve diskrete dhe të vazhdueshme me shpejtësi më të madhe, përmbajnë elementë të thjeshtë llogaritës dhe me një shkallë të lartë besueshmërie lejojnë zgjidhjen e problemeve të informacionit të përpunimit të të dhënave. sigurimi i një mënyre vetë-ristrukturimi të mjedisit kompjuterik në varësi të zgjidhjeve të marra.

Në përgjithësi, termi "Neurokompjuter" aktualisht nënkupton një klasë mjaft të gjerë kompjuterësh. Kjo ndodh për arsyen e thjeshtë se zyrtarisht, çdo zbatim harduer i një algoritmi të rrjetit nervor mund të konsiderohet një neurokompjuter, nga një model i thjeshtë i një neuroni biologjik në një sistem njohjeje karakteri ose objektiva lëvizës. Neurokompjuterët nuk janë kompjuterë në kuptimin konvencional të fjalës. Aktualisht, teknologjia nuk ka arritur ende nivelin e zhvillimit në të cilin mund të flitet për një neurokompjuter me qëllime të përgjithshme (i cili do të ishte gjithashtu inteligjencë artificiale). Sistemet me vlera fikse të koeficientëve të peshimit janë përgjithësisht më të specializuarit e familjes së rrjeteve nervore. Rrjetet e të mësuarit janë më fleksibël ndaj shumëllojshmërisë së problemeve që zgjidhin. Kështu, ndërtimi i një neurokompjuteri është çdo herë fusha më e gjerë për aktivitetet kërkimore në fushën e zbatimit të harduerit të pothuajse të gjithë elementëve të rrjetit nervor.

Në fillim të shekullit të 21-të, ndryshe nga vitet 40-50 të shekullit të kaluar, ekziston një nevojë praktike objektive për të mësuar se si të bëhen neurokompjuterë, d.m.th. është e nevojshme të implementohen në harduer mjaft neurone operativë paralelë, me miliona lidhje-sinapse fikse ose paralele të modifikuara në mënyrë adaptive, me disa shtresa neuronesh plotësisht të lidhura. Në të njëjtën kohë, teknologjia e integruar elektronike është afër shterimit të aftësive të saj fizike. Dimensionet gjeometrike të transistorëve nuk mund të zvogëlohen më fizikisht: me madhësi teknologjikisht të arritshme të rendit 1 mikron ose më pak, shfaqen fenomene fizike që janë të padukshme me madhësi të mëdha të elementeve aktive - efektet e madhësisë kuantike fillojnë të kenë një efekt të fortë. Transistorët ndalojnë së punuari si tranzistorë.

Për zbatimin e harduerit të rrjetit nervor, kërkohet një medium i ri ruajtjeje. Një bartës i tillë i ri informacioni mund të jetë dritë, e cila do të rrisë në mënyrë dramatike performancën llogaritëse, me disa renditje të madhësisë.

E vetmja teknologji për implementimin harduer të rrjeteve nervore që mund të zëvendësojë optikën dhe optoelektronikën në të ardhmen është nanoteknologjia, të aftë për të siguruar jo vetëm shkallën maksimale të mundshme fizike të integrimit të elementeve kuantike nënmolekulare me shpejtësinë maksimale të mundshme fizike, por edhe arkitekturën tredimensionale aq të nevojshme për zbatimin harduerik të rrjetit nervor.

Për një kohë të gjatë, besohej se neurokompjuterët janë efektivë për zgjidhjen e të ashtuquajturave probleme jo të formalizueshme dhe dobët të zyrtarizueshme që lidhen me nevojën për të përfshirë procesin e të mësuarit duke përdorur materiale reale eksperimentale në algoritmin e zgjidhjes së problemeve. Para së gjithash, probleme të tilla përfshinin detyrën e përafrimit të një forme të veçantë funksionesh që marrin një grup diskrete vlerash, d.m.th. problemi i njohjes së modelit.

Aktualisht, kësaj klase problemesh po i shtohen një klasë problemesh, të cilat ndonjëherë nuk kërkojnë trajnim mbi materialin eksperimental, por janë të përfaqësuara mirë në një bazë logjike të rrjetit nervor. Këto përfshijnë detyra me paralelizëm të theksuar natyror të përpunimit të sinjalit, përpunimit të imazhit etj.. Pikëpamja se në të ardhmen neurokompjuterët do të jenë më efikas se arkitekturat e tjera mund të konfirmohet, në veçanti, nga zgjerimi i mprehtë vitet e fundit i klasës së problemeve të përgjithshme matematikore të zgjidhura në bazë logjike të rrjetit nervor. Këto, përveç atyre të listuara më sipër, përfshijnë probleme të zgjidhjes së ekuacioneve algjebrike lineare dhe jolineare dhe pabarazive në shkallë të gjerë; sistemet e ekuacioneve diferenciale jolineare; ekuacionet diferenciale të pjesshme; problemet e optimizimit dhe probleme të tjera.

Artikujt më të mirë mbi këtë temë