Кіріспе

Параллельді есептеу парадигмасы
Компьютерлік ғылым және машиналық оқытуда жасушалық нейрондық желілер (CNN) немесе жасушалық сызықтық емес желілер (CNN) – бұл нейрондық желілерге ұқсас параллельді есептеу парадигмасы, ерекшелігі тек көршілес элементтер арасында ғана байланысқа рұқсат етіледі. Типтік қолданылу аймақтарына кескіндерді өңдеу, 3D беттерді талдау, дербес дифференциалдық теңдеулерді шешу, геометриялық карталарға көрінбейтін мәселелерді келтіру, биологиялық көруді және басқа да сенсорлы-қимылдық органдарды модельдеу кіреді. CNN-ді конволюциялық нейрондық желілермен (көбінесе CNN деп те аталады) шатастырмау керек.

CNN архитектурасы

Архитектураларының саны мен әртүрлілігіне байланысты CNN процессоры үшін нақты анықтама беру қиын. Архитектуралық тұрғыдан алғанда, CNN процессорлары – шекті, тұрақты санмен, тұрақты орналасқан, тұрақты топологиялық құрылыммен, жергілікті байланысқан, көп кірісті, бір шығысты, сызықтық емес өңдеу бірліктерінің жүйесі болып табылады. Сызықтық емес өңдеу бірліктері көбінесе нейрон немесе жасуша деп аталады. Математикалық тұрғыдан алғанда, әрбір жасушаны диссипативтік, сызықтық емес динамикалық жүйе ретінде модельдеуге болады, онда ақпарат бастапқы күйі, кірістері және оның мінез-құлқын анықтайтын айнымалылар арқылы кодталады. Динамика көбінесе үздіксіз, мысалы, Ұздіксіз Уақыттық CNN (CT CNN) процессорларындағыдай, бірақ дискретті де болуы мүмкін, мысалы, Дискретті Уақыттық CNN (DT CNN) процессорларындағыдай. Әрбір жасушада бір шығыс бар, ол арқылы ол өз күйін басқа жасушалармен де, сыртқы құрылғылармен де бөліседі. Шығыс әдетте нақты санмен өрнектеледі, бірақ кешенді сан немесе тіпті кватернион да болуы мүмкін, яғни Көп Мәнменді CNN (MV CNN). Көптеген CNN процессорларында өңдеу бірліктері бірдей болады, бірақ бір-бірінен өзгеше бірліктерді қажет ететін қолданыстар да бар, олар Біртекті Емес Процессор CNN (NUP CNN) процессорлары деп аталады және әртүрлі типтегі жасушалардан тұрады.

Чуа-Ян CNN

Бастапқы Chua Yang CNN (CY CNN) процессорында жасушаның күйі кіріс мәліметтерінің салмақталған қосындысы болды, ал шығысы кесімді сызықтық функция болып табылды. Дегенмен, бастапқы перцептронға негіделген нейрондық желілер сияқты, оның орындай алатын функциялары шектеулі болды: атап айтқанда, XOR сияқты сызықты емес функцияларды модельдеуге қабілетсіз болды. Күрделірек функцияларды сызықты емес CNN (NL CNN) процессорлары арқылы іске асыруға болады. Жасушалар екі өлшемді Евклид геометриясы сияқты нормаланған торлы кеңістікте анықталады. Алайда, жасушалар екі өлшемді кеңістікпен ғана шектелмейді; оларды кез келген санмен өлшемдерде анықтауға болады және олар шаршы, үшбұрышты, алтыбұрышты немесе кез келген басқа кеңістіктік инвариантты орналасуда болуы мүмкін. Топологиялық тұрғыдан алғанда, жасушалар шексіз жазықтықта немесе тороидті кеңістікте орналасуы мүмкін. Жасушалардың өзара байланысы жергілікті болып табылады, яғни жасушалар арасындағы барлық байланыстар белгілі бір радиус шегінде (топологиялық өлшенген қашықтық бойынша) орналасады. Байланыстарды уақыт бойынша кешіктіруге болады, бұл уақыт доменінде өңдеуге мүмкіндік береді. Көптеген CNN архитектураларында жасушалардың бірдей салыстырмалы байланыстары болады, бірақ кеңістіктік түрленімді топологияны қажет ететін қолданыстар да бар, мысалы, Көп Көршілік Өлшемді CNN (MNS CNN) процессорлары. Сонымен қатар, бір қабаттағы барлық жасушалар бірдей болатын Көп Қабатты CNN (ML CNN) процессорларын CNN процессорларының мүмкіндіктерін кеңейту үшін пайдалануға болады. Жүйенің анықтамасы – бұл тәуелсіз, өзара әрекеттесетін, біртұтас бүтінді құрайтын элементтердің жиынтығы, олардың мінез-құлқы жеке элементтерінен сапалық жағынан жоғары болады. Байланыстар жергілікті болғанымен, ақпарат алмасу диффузия арқылы жаһандық деңгейде жүзеге асуы мүмкін. Осыған орай, CNN процессорлары жүйелер болып табылады, өйткені олардың динамикасы өңдеу бірліктері арасындағы өзара әрекеттесуден туындайды, өңдеу бірліктерінің ішінде емес. Нәтижесінде, олар пайда болатын және ұжымдық мінез-құлық көрсетеді. Математикалық тұрғыдан алғанда, жасуша мен оның әсер ету аймағында орналасқан көршілері арасындағы қатынас байланыс заңымен анықталады, және осы заң процессордың мінез-құлқын анықтайды. Егер байланыс заңдары бұрмалы логикамен модельделсе, онда бұл бұрмалы CNN болады. Егер бұл заңдар есептеулік қимыл-әрекет логикасымен модельделсе, онда бұл есептеулік қимыл-әрекет CNN болады. Бұрмалы және қимыл-әрекет CNN-тері жергілікті байланыстар тілдік терминдер арқылы жүзеге асырылған кезде әлеуметтік желілерді модельдеу үшін пайдалы.

Тарих

CNN процессорларының идеясын 1988 жылы Леон Чуа мен Лин Янг ұсынды. Осы мақалаларда Чуа мен Янг CNN процессорларының негізгі математикасын сипаттайды. Олар осы математикалық модельді нақты CNN-ді іске асыру үшін, егер кіріс деректері өзгермейтін болса, өңдеу бірліктері жинақталады және пайдалы есептеулерді орындау үшін қолданылуы мүмкін екенін көрсету үшін пайдаланады. Содан кейін олар CNN процессорларының алғашқы қолданыстарының бірі – бейне өңдеу және үлгілерді тануды ұсынады (қазіргі күнге дейін бұл ең ірі қолданыс болып табылады). Леон Чуа әлі де CNN зерттеулерімен айналысып, көптеген мақалаларын International Journal of Bifurcation and Chaos журналында жариялайды, ол оның редакторы болып табылады. IEEE Transactions on Circuits and Systems және International Journal of Bifurcation журналдарында басқа да білікті зерттеушілер жазған CNN процессорлары туралы көптеген пайдалы мақалалар бар. Біріншісі көбінесе жаңа CNN архитектураларына, ал екіншісі CNN процессорларының динамикалық аспектілеріне назар аударады. 1993 жылы Тамас Роска мен Леон Чуа әлемдегі алғашқы алгоритмдік бағдарламаланатын аналогты CNN процессорын ұсынды. Бұл көпұлттық жобаны Теңіз зерттеулер басқармасы, Ұлттық ғылым қоры және Венгрия ғылым академиясы қаржыландырды, ал зерттеу жұмыстарын Венгрия ғылым академиясы мен Калифорния университеті жүргізді. Бұл мақала CNN процессорларын өндіруге болатынын дәлелдеді және зерттеушілерге CNN теорияларын сынап көру үшін физикалық платформа ұсынды. Осы мақаладан кейін компаниялар CNN Universal Processor-мен бірдей негізгі архитектураға негізделген, үлкен және қуатты процессорларға инвестиция салуды бастады. Тамас Роска да CNN-ге үлкен үлес қосты. Оның есімі көбінесе биологиялық шабыттанған ақпаратты өңдеу платформалары мен алгоритмдерімен байланысты, ол көптеген маңызды мақалалар жариялады және CNN технологиясын дамытып жатқан компаниялар мен ғылыми-зерттеу институттарымен бірлесіп жұмыс істеді.

Қатынасты өңдеу архитектуралары

CNN процессорларын жасанды нейрондық желілер (ANN) мен үздіксіз автоматтардың (CA) араласуы ретінде қарастыруға болады.

Жасанды нейрондық желілер

CNN және NN-дің өңдеу блоктары ұқсас. Екі жағдайда да процессорлық бірліктер көп кірісті, динамикалық жүйелер болып табылады, ал жалпы жүйенің мінез-құлқы негізінен процессорлық бірліктердің сызықтық өзара байланысының салмақтары арқылы анықталады. Дегенмен, CNN процессорларында байланыстар жергілікті түрде жасалады, ал ЖСЖ-да (Жарлы Сынап Жүйелерде) байланыстар жаһандық. Мысалы, бір қабаттағы нейрондар басқа қабатқа толық байланысқан беріліс желісінде (feed forward NN) және барлық нейрондар Хопфилд желілерінде толық өзара байланысқан. ЖСЖ-да өзара байланыстардың салмағы өңдеу жүйесінің бұрынғы күйі немесе кері байланыс туралы ақпаратты қамтиды. Ал CNN процессорларында салмақтар жүйенің динамикасын анықтау үшін қолданылады. Сонымен қатар, ЖСЖ-ның жоғары өзара байланыстылығына байланысты, олар деректер жиынтығында немесе өңдеуде жергіліктілік принципін пайдаланбайды, нәтижесінде олар көбінесе артық жүйелер болып табылады, бұл апаттық қателерсіз берік және қатеге төзімді мінез-құлыққа мүмкіндік береді. ЖСЖ және CNN процессорларының араласуы Ratio Memory CNN (RMCNN) болып табылады. RMCNN процессорларында жасушалық өзара байланыс жергілікті және топологиялық тұрақты болып табылады, бірақ салмақтар бұрынғы күйлерді сақтау үшін, динамиканы басқару үшін емес, қолданылады. Жасушалардың салмағы ұзақ мерзімді естелік құру үшін белгілі бір оқу кезеңінде өзгертіледі.

Үздіксіз автоматтар

CNN процессорларының топологиясы мен динамикасы CA-ға өте ұқсас. CNN процессорларының көпшілігі сияқты, CA да кеңістікте дискретті және топологиялық жағынан біркелкі болатын бірдей процессорлардың белгілі бір санынан тұрады. Айырмашылығы, көптеген CNN процессорлары үздіксіз мәндермен жұмыс жасайды, ал CA дискретті мәндерге ие. Сонымен қатар, CNN процессордың жасушалық мінез-құлқы белгілі бір сызықтық емес функция арқылы анықталады, ал CA процессор жасушалары күй машинасы арқылы анықталады. Дегенмен, кейбір ерекшеліктер де бар. Ұздіксіз мәнді ұялы автоматтары – бұл үздіксіз ажыратымды CA. Белгілі бір Ұздіксіз автоматтың сипатталуына байланысты, ол CNN ретінде де қарастырылуы мүмкін. Сонымен қатар, Ұздіксіз кеңістіктік автоматтар да бар, олар шексіз көптеген кеңістікте үздіксіз, үздіксіз мәнді автоматтардан тұрады. Бұл сала бойынша көп жұмыс жүргізілуде, себебі үздіксіз кеңістіктерді дискретті кеңістіктерге қарағанда математикалық модельдеу оңайырақ, бұл ұялы автоматтарды зерттейтін кейбір ғалымдар қолданатын эмпирикалық тәсілге қарағанда сандық тәсілді пайдалануға мүмкіндік береді. Ұздіксіз кеңістіктік автоматтар процессорлары химиялық компьютер сияқты дәстүрден тыс ақпараттық өңдеу платформасы арқылы физикалық жағынан іске асырылуы мүмкін. Бұдан бөлек, үлкен CNN процессорларын (кіріс және шығыс ажыратымдылығы тұрғысынан) Ұздіксіз кеңістіктік автоматтар ретінде модельдеуге болады.

Есептеу моделі

CNN процессорларының динамикалық мінез-құлқы дифференциалдық теңдеулер арқылы сипатталуы мүмкін, мұнда әр теңдеу жеке өңдеу блогының күйін көрсетеді. CNN процессордың мінез-құлқы бастапқы шарттарымен, кірістерімен, жасушалардың өзара байланыстарымен (топологиясы және салмақтары) және жасушалардың өзімен анықталады. CNN процессорларын қолданудың бір мүмкіндігі – белгілі динамикалық қасиеттері бар сигналдарды жасау және оларға жауап беру. Мысалы, CNN процессорлары көп түрлі хаос (Чен аттракторы сияқты) тудыру, хаотикалық жүйелермен синхронизациялау және көп деңгейлі гистерезис көрсету үшін қолданылған. CNN процессорлары кеңістік пен уақыттың функциясы түрінде берілген, жергілікті, төмен деңгейлі, процессорлық ресурстарды көп қажет ететін мәселелерді шешу үшін арнайы жасалған. Мысалы, CNN процессорларын жоғары және төмен өткізгіш сүзгілерді, сондай-ақ морфологиялық операторларды жүзеге асыру үшін пайдалануға болады. Олар сонымен қатар жылу тарату және толқын таралуы сияқты көптеген дербес дифференциалдық теңдеулерді (ДДТ) жуықтау үшін де қолданылуы мүмкін.

Реакция-диффузия

CNN процессорларын реакциялық диффузия (RD) процессорлары ретінде қолдануға болады. RD процессорлары – кеңістіктік инвариантты, топологиялық инвариантты, аналогтық, параллель процессорлар болып табылады, олар реакциялармен сипатталады, онда екі агент бірігіп үшінші агентті құруы мүмкін, сондай-ақ агенттердің таралуымен сипатталады. RD процессорлары әдетте Петри табағындағы (процессор), жарықтағы (кіріс), және камерадағы (шығыс) химиялық заттар арқылы іске асырылады, бірақ RD процессорларын көп қабатты CNN процессорлары арқылы да іске асыруға болады. RD процессорларын Вороной диаграммаларын құру және скелеттеу үшін пайдалануға болады. Химиялық және CNN іске асыру арасындағы басты айырмашылық – CNN іске асырулары химиялық әріптестеріне қарағанда едәуір жылдам, ал химиялық процессорлар кеңістікте үздіксіз болса, CNN процессорлары кеңістікте дискретті болады. Ең көп зерттелген RD процессоры – Белоусов-Жаботинский (BZ) процессоры, төрт қабатты CNN процессорларын қолдана отырып, қазірдің өзінде модельдеуден өткен және жартылай өткізгіште іске асырылған.

Буль функциялары

CA сияқты есептеулер уақыт өте өсетін немесе өзгеретін сигналдарды жасау және тарату арқылы жүзеге асырылуы мүмкін. Есептеулер сигналдың ішінде немесе сигналдардың өзара әрекеттесуі арқылы болуы мүмкін. Сигналдарды пайдаланатын және үдемелі дамып жатқан өңдеу түрі – толқынды өңдеу, ол толқындардың пайда болуын, кеңеюін және соқтығысуын қамтиды. Толқынды өңдеу қашықтықты өлшеу және ең оңтайлы жолдарды табу үшін қолданылуы мүмкін. Есептеулер сондай-ақ бөлшектер, планерлер, шешімдер және өз пішіні мен жылдамдығын сақтайтын локальді құрылымдар арқылы жүргізілуі мүмкін. Осы құрылымдардың бір-бірімен және статикалық сигналдармен өзара әрекеттесуіне/соқтығысуына байланысты, оларды ақпаратты күйлер түрінде сақтау және әртүрлі Буль функцияларын іске асыру үшін пайдалануға болады. Есептеулер сонымен қатар құрттар, баспалдақтар және пиксельді жыландар арқылы күрделі, потенциалды түрде өсіп немесе дамитын локальді мінез-құлық арасында жүзеге асырылуы мүмкін. Бұл құрылымдар күйлерді сақтаумен және Буль функцияларын орындаумен қатар, статикалық құрылымдарды өзара әрекеттестіре алады, құра алады және жоя алады. Фангюэ Чэнь, Гуолон Хэ, Ксиубин Сюй және Гуанрон Чэньдің "CNN арқылы кез келген Буль функцияларын іске асыру" атты мақаласында CNN-ді Буль функцияларына қолдану талқыланған. Кез келген Буль функциясын құруға мүмкіндік беретін кез келген ақпаратты өңдеу платформасы универсалды деп аталады, нәтижесінде осы кластағы CNN процессорлары әдетте универсалды CNN процессорлары деп аталады. Алғашқы CNN процессорлары тек сызықтық бөлінетін Буль функцияларын ғана орындай алады. Функцияларды цифрлық логикадан немесе іздеу кестелерінен CNN доменіне аудару арқылы кейбір функцияларды едәуір жеңілдетуге болады. Мысалы, әдетте сегіз ұялы эксклюзивті немесе қақпалар арқылы іске асырылатын тоғыз биттік, тақ теңдікті жасау логикасын сома функциясы және төрт ұялы абсолюттік мән функциясы арқылы көрсетуге болады. Функцияның күрделілігі төмендеумен қатар, CNN іске асыру параметрлері үздіксіз, нақты сандар доменінде бейнеленеді.

Физикалық іске асыру

Бильярд шарларын қолданып, CNN процессорларын модельдеуге арналған ойыншық үлгілер бар, бірақ олар теориялық зерттеулер үшін ғана пайдаланылады. Іс жүзінде CNN процессорлары аппараттық құралдарда және жартылай өткізгіштер сияқты қазіргі технологиялармен жүзеге асырылады. Болашақта CNN процессорларын жаңадан дамып келе жатқан технологияларға көшіру жоспарлануда.

Жартылай өткізгіштер

Жартылай өткізгіштік негіздегі CNN процессорларын аналогтық CNN процессорлары, цифрлық CNN процессорлары және цифрлық процессорлар арқылы эмуляцияланған CNN процессорларына бөлуге болады. Аналогтық CNN процессорлары ең алдымен жасалды. Аналогтық компьютерлер 1950 және 1960 жылдары кеңінен таралған, бірақ 1970 жылдары олар цифрлық компьютерлермен біртіндеп алмастырылды. Аналогтық процессорлар дифференциалдық теңдеулерді оңтайландыру және сызықтық емес құбылыстарды модельдеу сияқты белгілі бір қолдануларда айтарлықтай жылдам болды, бірақ аналогтық есептеулерге деген қызығушылықтың төмендеуінің себебі – дәлдіктің жетіспеуі және күрделі теңдеуді шешу үшін аналогтық компьютерді конфигурациялаудың қиындығы болды. Аналогтық CNN процессорлары өз алдыңғылары сияқты бірнеше артықшылықтарға ие, олардың ішінде жылдамдық ерекше көзге түседі. Алғашқы аналогтық CNN процессорлары цифрлық процессорларға қол жеткізе алмайтын нақты уақыт режимінде өте жоғары кадр жылдамдығын (>10,000 кадр/с) өңдеуге қабілетті болды. CNN процессорларының аналогтық жүзеге асырылуы цифрлық аналогтарына қарағанда аз аумақ алады және аз қуатты тұтынады. Аналогтық CNN процессорларының дәлдігі цифрлық процессорлармен салыстырылғанда төмен болғанымен, көптеген қолданулар үшін шу мен өндірістік ауытқулар кескін сапасына көрінетін әсер етпейтіндей аз болады. Алғашқы алгоритмдік тұрғыдан бағдарламаланатын аналогтық CNN процессоры 1993 жылы құрылды. Тағы бір компания, AnaLogic Computers, 2000 жылы алғашқы алгоритмдік бағдарламаланатын CNN Универсалды Процессорды жасаған зерттеушілердің көпшілігімен құрылды. 2003 жылы AnaLogic Computers компаниясы ACE 4K процессоры, Texas Instrument DIP модулі және жоғары жылдамдықты кадрды тұтқырлайтын құрылғысы бар PCI X визуалды процессор тақтасын жасады. Бұл CNN өңдеуді үстел компьютеріне оңай қосуға мүмкіндік берді. 2006 жылы AnaLogic Computers компаниясы Bi I Ultra High Speed Smart Camera өнімдерін ұсынды, олардың жоғары деңгейдегі модельдерінде ACE 4K процессоры орнатылған. 2006 жылы Roska және авторлар тобы AnaLogic үшін бионикалық көзілдірік жасау туралы мақала жариялады. Bionic Eyeglass – екі камералы, киілетін платформа, ол Bi I Ultra High Speed Smart Camera негізінде құрылған және көзі көрмейтін адамдарға көмек көрсетуге арналған. Оның функцияларының ішінде маршрут нөмірін тану және түс өңдеу бар.

CNN-ның аналогты процессорлары

Кейбір зерттеушілер өздерінің жеке аналогты CNN процессорларын жасады. Мысалы:

Катания университеті зерттеу тобы алты аяқты роботтың қозғалысын жасау үшін бірін жасады. Chung Yu Wu және Chiu Hung Cheng Ұлттық Чиао Тунг Университетінен RM CNN процессорын үлгілерді үйрену және тану туралы көбірек білу үшін жасады. Ұлттық Лиен Хо технология институтының зерттеушілері (В. Йен, Р. Чен және Ж. Лай) CNN динамикасы туралы көбірек білу үшін Min Max CNN (MMCNN) процессорын жасады. Олардың жылдамдығына және аз қуат тұтынуына қарамастан, аналогты CNN процессорларының бірнеше маңызды кемшіліктері бар. Біріншіден, аналогты CNN процессорлары ортаның және өндіріс процесінің өзгеруіне байланысты қате нәтижелер беруі мүмкін. Көптеген қолданбаларда бұл қателер байқалмайды, бірақ шағын ауытқулар апатты жүйелік ақауларға әкелуі мүмкін жағдайлар бар. Мысалы, хаотикалық байланыс кезінде өндіріс процесінің өзгеруі фазалық кеңістікте жүйенің траекториясын өзгертеді, нәтижесінде синхрондылық/тұрақтылық жоғалады. Проблеманың ауырлығына байланысты, оны жақсарту үшін көптеген зерттеулер жүргізілуде. Кейбір зерттеушілер үлгілерді үлкен өзгерулерге бейімдеу үшін оңтайландырып жатыр. Басқа зерттеушілер жартылай өткізгіш өндіріс процесін теориялық CNN өнімділігіне жақындату үшін жетілдіріп жатыр. Тағы бір топ зерттеушілер басқа, ықтимал, берік CNN архитектураларын зерттейді. Сонымен қатар, зерттеушілер нақты чип пен жұмыс жағдайларына сәйкес үлгілерді баптау әдістерін әзірлеуде. Басқаша айтқанда, үлгілер ақпаратты өңдеу платформасына сәйкес оңтайландырылады. Өндіріс процесінің өзгеруі қазіргі аналогты CNN процессорларының мүмкіндіктерін ғана шектемейді, сонымен қатар күрделі өңдеу бірліктерін жасауға да кедергі келтіреді. Егер бұл өндіріс процесінің өзгеруі шешілмесе, ішкі өңдеу бірліктері, сызықтық емес кірістер сияқты идеяларды нақты уақыт аналогты CNN процессорында жүзеге асыру мүмкін болмайды. Сондай-ақ, өңдеу бірліктеріне арналған жартылай өткізгіш "аумақ" CNN процессорларының мөлшерін шектейді. Қазіргі уақытта ең үлкен AnaVision CNN негізіндегі бейне процессоры 4K детектордан тұрады, бұл қолжетімді тұтынушылар камераларында кездесетін мегапиксельдік детекторлардан әлдеқайда аз. Өкінішке орай, Мур заңы бойынша элементтердің мөлшерін азайту тек шағын жақсартуларға ғана әкеледі. Осы себепті, резонанстық туннельдеу диодтары және нейрондық биполярлы транзисторлар сияқты баламалы технологиялар зерттелді. Сонымен қатар, CNN процессор архитектурасы қайта қарастырылуда. Мысалы, Star CNN процессорлары ұсынылды, онда бір аналогты көбейтуші бірнеше процессор бірліктері арасында уақыт бөліседі және процессор бірлігінің мөлшерін 80%-ға дейін азайтуы күтілуде.

Цифрлық CNN процессорлары, FPGA

Цифрлық CNN процессорлары аналогтық процессорларға қарағанда жылдамдығы мен энергия тиімділігі жағынан кем болғанымен, технологиялық өзгерістер мен элемент өлшемдеріне байланысты туындайтын мәселелерден құтылады. Бұл цифрлық CNN процессорларына ішкі процессорлық блоктар, сызықтық емес элементтер және т.б. енгізуге мүмкіндік береді. Сонымен қатар, цифрлық CNN процессорлары икемдірек, арзанға түседі және интеграциялау оңай. Цифрлық CNN процессорларын іске асырудың ең көп таралған тәсілі – FPGA қолдану. 2002 жылы құрылған және Берклиде орналасқан Eutecus компаниясы Altera FPGA-ға синтездеуге болатын интеллектуалдық меншікпен қамтамасыз етеді. Олардың цифрлық 320x280, FPGA негізіндегі CNN процессорлары 30 кадр/с жылдамдықпен жұмыс істейді және жоғары жылдамдықты ASIC жасау жоспарлануда. Eutecus – AnaLogic компьютерлерінің стратегиялық серіктесі, олардың FPGA дизайндарын AnaLogic өнімдерінің бірнешеуінде кездестіруге болады. Eutecus сонымен қатар бейне қауіпсіздік нарығы үшін бейне талдау, элементтерді жіктеу, бірнеше нысандарды қадағалау, сигналдар мен кескіндерді өңдеу, ағын өңдеу сияқты міндеттерді орындауға арналған бағдарламалық кітапханаларды да әзірлеп жатыр. Осы алгоритмдердің көптегені CNN сияқты өңдеу әдістеріне негізделген. CNN симуляциясын прототиптеу, төмен жылдамдықты қолданулар немесе зерттеу мақсатында жүргізгісі келетіндер үшін бірнеше нұсқа бар. Біріншіден, SCNN 2000 сияқты нақты CNN эмуляциясы бағдарламалық пакеттері бар. Егер жылдамдық жеткіліксіз болса, Якобидің итерациялық әдісі немесе тікелей-кері рекурсия сияқты математикалық әдістерді қолдану арқылы CNN процессордың тұрақты күйін табуға болады. Соңында, цифрлық CNN процессорларын жоғары параллельді, мақсаттық процессорларда, мысалы, графикалық процессорларда эмуляциялауға болады. Графикалық процессорларды қолдана отырып, нейрондық желілерді іске асыру – бұл тағы бір зерттеу саласы.

Голография, нанотехнология

Зерттеушілер CNN процессорлары үшін баламалы технологияларды да қарастырып жатыр. Қазіргі CNN процессорлары цифрлық аналогтарымен байланысты кейбір мәселелерді болдырмаса да, олар барлық жартылай өткізгіш негізіндегі процессорларға тән ұзақ мерзімді мәселелерді бөліседі. Олардың ішінде жылдамдық, сенімділік, қуатты тұтыну және т.б. бар. АнаЛогикалық Компьютерлер оптикалық CNN процессорларын әзірлеп жатыр, ол оптика, лазерлер және биологиялық, сондай-ақ голографиялық жадтарды біріктіреді. Бастапқыда технологияны зерттеу мақсатымен жасалған процессор 500x500 CNN процессоры секундтына 300 гига операцияны орындай алады. CNN процессорлары үшін тағы бір перспективті технология – нанотехнология. Нанотехнологияның қарастырылып жатқан бір түсінігі – McCulloch Pitts CNN өңдеу бірліктерін құру үшін жеке электрондық немесе жоғары ток транзисторларына түрлендірілетін жеке электрондық туннельдік байланыстарды пайдалану. Қорытындылай айтқанда, CNN процессорлары жасалған және олардың пайдаланушыларына пайда әкелуде. Олар негізгі технологиясы – жартылай өткізгіштермен байланысты артықшылықтарды тиімді пайдалана алды және кейбір кемшіліктерді жойды. Зерттеушілер CNN процессорларын жаңа технологияларға көшіруде. Сондықтан, егер CNN архитектурасы нақты ақпаратты өңдеу жүйесіне сәйкес келсе, сатып алуға процессорлар бар (және бұл жақын болашақта да солай болады).

Қолданбалар

CNN зерттеушілерінің қызығушылықтары физикалық, инженерлік, теориялық, математикалық, есептеу және философиялық қолданыстарды қамтиды.

Суреттерді өңдеу

CNN процессорлары бейне өңдеуді орындау үшін жасалған; атап айтқанда, реактивтік қозғалтқыш сұйықтықтарындағы бөлшектерді анықтау және тұтандыру шамдарын анықтау сияқты қолданыстар үшін нақты уақыт режимінде жоғары кадр жылдамдығымен (>10,000 кадр/с) өңдеуге арналған. Қазіргі уақытта CNN процессорлары секундына 50,000 кадрға дейін өңдей алады, ал зымыранды қадағалау, жарқылды анықтау және тұтандыру шамдарының диагностикасы сияқты кейбір қолданыстарда бұл микропроцессорлар дәстүрлі суперкомпьютерлерден жоғары өнімділік көрсетеді. CNN процессорлары жергілікті, төмен деңгейлі, процессорлық жүктемелі операцияларға өте ыңғайлы және белгілерді алу, деңгей мен күшейтуді реттеу, түс тұрақтылығын анықтау, контрастты күшейту, деконволюция, бейнелерді сығу, қозғалысты бағалау, бейне кодтау, бейне декодтау, бейне сегментациясы, бағдарлау карталарын құру, үлгілерді оқыту/таныту, бірнеше нысандарды қадағалау, бейне тұрақтандыру, бейне деформацияларын және карталау, бейнелерді толықтыру, оптикалық ағын, контурлау, қозғалатын нысандарды анықтау, симметрия осін анықтау және бейнелерді біріктіру сияқты міндеттерде қолданылады. Өңдеу мүмкіндіктері мен икемділігінің арқасында CNN процессорлары жаңа салалық қолданыстар үшін пайдаланылып, прототиптері жасалды, мысалы, қалдықтарды өртеу зауытындағы жануды бақылау үшін жалынды талдау, инфрақызыл суреттерді пайдалана отырып, миналарды анықтау, жоғары энергиялық физика үшін калориметр кластерлік шыңы, геофизика үшін потенциалды дала карталарындағы аномалияларды анықтау, лазерлік нүктені анықтау, өндірістік ақауларды анықтау үшін металлдарды тексеру және сейсмикалық горизонтты таңдау. Сонымен қатар, олар саусақ іздерін тану, тамыр белгілерін алу, бетті қадағалау және перцептивтік резонанстарды бағалау үшін пайда болатын үлгілер арқылы визуалды стимулдарды жасау сияқты биометриялық функцияларды орындау үшін де қолданылды.

Биология және медицина

CNN процессорлары медициналық және биологиялық зерттеулерде гиперплазияны анықтау үшін ядролы жасушаларды автоматты түрде санау, суреттерді анатомиялық және патологиялық маңызды аймақтарға бөлу, жүрек функциясын өлшеу және сандық түрде бағалау, нейрондардың белсену уақытын өлшеу және ұстамаларға алып келетін ми аномалияларын анықтау үшін қолданылды. CNN микропроцессорларының болашақтағы бір мүмкіндігі – оларды ДНК микромассивтерімен біріктіріп, жүздеген мың түрлі ДНК тізбегінің дерлік нақты уақыт режимінде ДНК талдауын жүзеге асыру. Қазіргі таңдағы ДНК микромассивтерін талдаудағы басты қиындық – сурет түріндегі деректерді өңдеуге кететін уақыттың көптігі. CNN микропроцессорын пайдалану арқасында ғалымдар осы есептеуді орындауға қажетті уақытты 7 мс-қа дейін қысқартты.

Текстураны тану

CNN процессорлары үлгілер мен текстураларды жасау және талдау үшін де қолданылды. Олардың қолданылуының бір себебі – CNN процессорларын табиғи жүйелердегі үлгілердің қалыптасуын түсінуге пайдалану еді. Олар Тьюринг үлгілерін жасау арқылы олардың қалай қалыптасатынын, қандай түрлі үлгілер пайда болатынын, сондай-ақ ақаулар мен асимметриялардың болуын зерттеу үшін қолданылды.

Басқару және іске қосу жүйелері

Ұялы машиналар саласының дамуына бағытталған жұмыстар аясында CNN процессорларын сенсорлық есептеуді іске асыратын машиналарға енгізуге күш салынуда. Негізгі идея – сенсорлық сигналдарды өңдеуді, сондай-ақ шешім қабылдау және басқару процестерін CNN процессорлары арқылы жүзеге асыратын біріктірілген жүйе құру. Мұның себебі, CNN процессорлары төмен қуатты, кішкентай өлшемді және, әрине, төмен құнмен есептеу және іске қосу жүйесін ұсынуға қабілді. Бұл ұялы машиналар ақырында Сенсорлық Актуатор Желісін (SAN) құрайды, ол – Мобильді Арнайы Желілердің (MANET) бір түрі. Оны әскери барлау, қиын өткелді ортаны бақылау, кең аумақтарды күтіп ұстау, планеталарды зерттеу және тағы да басқа мақсаттар үшін қолдануға болады. CNN процессорларының кейбір басқару функцияларын орындауға жеткілікті мүмкіндіктері бар екені дәлелденді. Олар генетикалық алгоритмдер арқылы функцияларды оңтайландыруға, қашықтықты өлшеуге, күрделі және өзгермелі ортада ең тиімді жолды табуға қолданылды, сондай-ақ теориялық тұрғыдан күрделі стимулдарды үйренуге және байланыстыруға болады. Бұдан өзге, олар роботтық нематодалардың, құмырсқалардың және миногалардың қозғалысын имитациялайтын, сондай-ақ төменгі деңгейлі моторларды жасау үшін де пайдаланылды. Олар тек сыртқы ортадан кері байланыс ала отырып жұмыс істей алды, бұл берік және икемді, биологиялық шабыттанған роботтық мотор жүйесін құруға мүмкіндік берді. CNN негізіндегі жүйелер әртүрлі ортада жұмыс істей алады және өңдеу бірліктерінің бір бөлігі істен шыққан жағдайда да тиімділігін сақтайды.

Байланыс жүйелері

CNN процессорларында байқалатын әртүрлі динамикалық мінез-құлықтар оларды коммуникациялық жүйелер үшін қызықты етеді. CNN процессорларын қолданатын хаотикалық коммуникациялар олардың ықтимал төмен қуат тұтынуы, беріктігі және кең спектрлік мүмкіндіктері үшін зерттеледі. Хаотикалық коммуникацияның негізі – тасымалдаушы толқын ретінде хаотикалық сигналды пайдалану және бастапқы хабарды қалпына келтіру үшін хаотикалық фазалық синхронизацияны қолдану. CNN процессорлары берілген хабарды кодтау және декодтау үшін хабар жіберу және қабылдау бөлімдерінде қолданылуы мүмкін. Олар деректерді шифрлау және ашып алу, су таңбасы арқылы дерек көзін анықтау, спектрограммалық кескіндердегі (дыбыс өңдеу) күрделі үлгілерді табу және уақытша спектрлік сигналдарды анықтау үшін де пайдаланылуы мүмкін. CNN процессорлары – нейроморфты процессорлар, яғни олар биологиялық нейрондық желілердің кейбір аспектілерін имитациялайды. Алғашқы CNN процессорлары сүтқоректілердің торлы қабатына негізделген, ол фотодетекторлардың бірнеше қабатты жергілікті байланысқан нейрондарға қосылған қабаттарынан тұрады. Бұл CNN процессорларын ғылымның салааралық зерттеу саласының бір бөлігіне айналдырады, оның мақсаты – нейроғылымнан алынған білім мен идеяларды пайдаланып, жүйелерді жобалау және теорияларды нақты әлемде тексеру арқылы үлес қосу. CNN процессорлары сүтқоректілердің торлы қабатын қайталайтын нақты уақыт жүйесін іске асырды, бұл бастапқы CNN архитектурасы сүтқоректілердегі тапсырманы орындау үшін қолданылатын биологиялық нейрондық желілердің дұрыс аспектілерін модельдегенін растады. CNN процессорлары тірі жасушалар, биологиялық желілер, физиологиялық жүйелер және экожүйелер сияқты қарапайым байланысқан бірліктерді пайдалана отырып модельдеуге болатын жүйелерді түсіну үшін қолданылады. CNN архитектурасы табиғатта жиі кездесетін динамиканың кейбір түрлерін қамтиды және талдау мен эксперимент жүргізу үшін жеткілікті қарапайым. Олар спин мәселелерін, популяциялық динамиканы, торға негізделген газ модельдерін, перколяцияны және басқа да құбылыстарды зерттеуге мүмкіндік беретін стохастикалық модельдеу әдістері үшін де қолданылады. Басқа симуляциялық қолданбаларға жылу алмасу, механикалық діріл жүйелері, ақуыз өндірісі, Джозефсон тораптары, сейсмикалық толқындардың таралуы және геотермиялық құрылымдар кіреді. 3D CNN-нің мысалдары күрделі жүйелерде пайда болатын белгілі бір құбылыстарды дәлелдеу үшін қолданылды, бұл өнер, динамикалық жүйелер және VLSI технологиясы арасындағы байланысты орнатты. CNN процессорлары тепе-теңдіксіз жүйелер, кездейсоқ күрделіліктің сызықтық емес жүйелерін құру, пайда болатын хаотикалық динамика және жаңа динамикалық мінез-құлықты ашу сияқты математикалық ұғымдарды зерттеу үшін қолданылды. Олар жүйелік зерттеуде жиі қолданылады, бұл табиғи жүйелерді зерттейтін, пәндер аралық ғылыми сала. Жүйелік зерттеушілердің мақсаты – жүйелерді талдау, модельдеу және түсіну үшін қажетті тұжырымдамалық және математикалық негіздемелерді әзірлеу, соның ішінде атомдық, механикалық, молекулалық, химиялық, биологиялық, экологиялық, әлеуметтік және экономикалық жүйелер. Зерттелетін тақырыптарға пайда болу, ұжымдық мінез-құлық, жергілікті белсенділік және оның жаһандық мінез-құлыққа әсері, шамамен кеңістіктік және топологиялық инвариант жүйенің күрделілігін өлшеу кіреді. Күрделіліктің басқа анықтамасымен (MIT профессоры Сет Ллойд күрделіліктің 32 түрлі анықтамасын анықтады), ол экономикалық және әлеуметтік жүйелер сияқты жүйелерді талдау кезінде математикалық жағынан тиімді болуы мүмкін.