Romanchuk Vitaliy Alexandrovich, candidate of technical science, docent, v. romanchukarsu. edu. ru, Russia, Ryazan, Ryazan State University
УДК 681.142.2
МОДЕЛИРОВАНИЕ МНОГОКРИТЕРИАЛЬНОГО АНАЛИЗА ВЫБОРА СТРУКТУРЫ НЕЙРОПРОЦЕССОРНОЙ СИСТЕМЫ
В.Н. Ручкин, Б.В. Костров, В. А. Романчук, Д.Р. Пикулин, Г.А. Солдатов
Производится моделирование многокритериального анализа НПС с целью реализации экспертной системы выбора наиболее рациональной ее структуры по заданной стратегии проектирования. Описываются алгоритмы двух различных моделей представления пользовательского интерфейса на основе предложенной авторами методики распараллеливания с целью анализа возможных нейропроцессорных структур. Разрабатывается программа реализации интерфейса на современном языке TypeScript, который является надмножеством языка JavaScript. Исследуются класс NeuralComputerSystemStructure, метод getStructureType и некоторые методы определения структур с целью описания характерных возможных структур НПС, которые выявляют нужный тип нейро-компьютерной сети в условиях неопределенности с использованием нечетких множеств посредством нейронных сетей.
Ключевые слова: интерфейс экспертной системы, анализ нейропроцессорных структур, язык TypeScript, надмножество языка JavaScript, принятие решений, класс NeuralComputerSystemStructure, метод getStructureType.
Введение. Одним из решений современной проблемы дальнейшего повышения производительности структуры нейропроцессорных систем (НПС) или цены/производительности является перенос интеллектуальных функций из аппаратного обеспечения в программное в виде функций компилятора. Такая концепция направлена на упрощение аппаратного обеспечения и извлечения как можно больше «скрытого параллелизма» на уровне команд, используя либо большую ширину «выдачи» команд (WIW - Wide Issue-Width) либо длинные (глубокие) конвейеры с большой задержкой (DPL - Deep Pipeline-Latency). С другой стороны, в современных микропроцессорах продолжается разработка и проектирование современных оригинальных методов распараллеливания с целью анализа и выбора наилучшей нейропроцессорной структуры по ряду критериев. Конечным результатом является разработка принципиально новых и хорошо распараллеливающихся алгоритмов с элементами «умной» (интеллектуальной) компиляции. Эти два подхода ускоряют развитие альтернативных повышению частоты способов увеличения быстродействия. По результатам
157
в процессе исследования авторами были проанализированы три варианта моделей представления знаний с целью выбора наилучшей для создания экспертной системы.
1. Продукционная модель знаний — правил представления системы управления. Математический аппарат разработки экспертной системы выбора НПС был ранее описан авторами в ряде работ и позволяет представить знания о данной предметной области в виде различных моделей: продукционной, фреймовой и семантические сети на основании явного и неявного параллелизма. Каждая модель имеет свои достоинства и недостатки.
В результате решения задачи анализа структуры НПС получаем различные варианты ее структурной организации, определяющие основные знания — правила управления в зависимости от конкретной выбранной модели. Выбор наилучшей из них может быть реализован экспертной системы.
Связи между фактами представлены эвристическими правилами — выражениями декларативного знания об отношениях между объектами: L — число классов эквивалентности, |a | — порядок каждого класса. Согласно модели кластеры используются для выполнения: массива последовательных программ, никак не связанных одна с другой; распределенных программ (coarse-grain parallelism) независимых процессов с общими данными и параллельные программ (coarse-grain parallelism). Причем, распределенные программы являются основным типом задач, для которых создаются кластеры. Каждая такая программа состоит из конечного множества процессов, обменивающихся данными через коммуникационную среду кластера. Для этого система управления согласно составленного задания выполняет операции, совершаемые при запуске и выполнении задач или группы задач при обработке результатов вычислений. В некоторых случаях это могут быть пакетные задания, содержимое которых может быть входными данными для других задач, тем самым создавая зависимость по результатам.
В результате возможны следующие варианты знаний - правил в виде продукций.
1. Если "L, \щ |= 1, и последовательное управление обменом данных между кластерами в классах эквивалентности, то имеем конвейерную структуру.
2. Если "L, \ai |= 1, и управление обменом данных требуется одновременно всем кластерам классов, то имеем векторную структуру.
3. Если L = 1, |ai |= q и управление обменом информацией между кластерами в классах осуществляется последовательно, то имеем конвейерную структуру.
4. Если Ь = 1, |щ1= ц и управление обменом данных требуются одновременно всем кластерам классов, то имеем векторную структуру.
5. Если "Ь, |щ1= ц и управление обменом информацией между кластерами в классах осуществляется последовательно, то имеем конвейерную структуру.
6. Если "Ь, щ = ц и управление обменом информацией между
кластерами в классах осуществляется последовательно c небольшим исключением кластеров I - го класса, то имеем почти конвейерную структуру.
7. Если "Ь, |щ1= ц и управление обменом информацией между кластерами в классах согласно распределенной программы обработки, кроме 1 -го, осуществляется последовательно, а I - му классу данные требуются одновременно, то имеем вроде конвейерно —векторную структуру.
8. Если "Ь, |щ1= ц и управление обменом данных производится
последовательно согласно распределенной программы обработки, однако в некоторых классах данные требуются одновременно, то имеем вроде конвейерно-векторную структуру.
9. Если |щ1= Ь и независимо от передачи данных, то в общем виде имеем матричную структуру.
10. Если |щ1= Ь и управление обменом данных сразу требуются
кластерам всех классов согласно распределенной программы обработки, но в некоторых классах требуется последовательный обмен, то имеем почти векторно — конвейерную структуру.
11. Если |щ1= Ь и управление обменом данных требуется одновременно кластерам всех классов, но кластеры I -го класса обмениваются информацией последовательно, то имеем вроде векторно— конвейерную структуру.
12. Если |щ1= Ь и управление обменом данных требуется одновременно кластерам всех классов, кроме некоторых кластеров I -го класса, имеем почти векторную структуру.
13. Если |щ1= Ь и управление обменом данных требуется
одновременно всем кластерам классов, имеем векторную структуру.
Рассмотренные выше структуры управления являются четкими, т.к. сочетают в себе элементы явного параллелизма: конвейера, вектора, конвейер-вектора или вектора-конвейера.
В процессе проектирования ряд задач распараллеливается, как в векторной структуре, а ряд элементов — как в конвейере. В результате имеем множество сложных структур, которые отвечают (5) и каждая должна быть классифицирована, например, с использованием ЛП на базе нечетких множеств. Такие сложные и неопределенные структуры являют-
ся нечеткими структурами, и они имеют свой неявный параллелизм, например, с элементами конвейера или вектора. Полученные соотношения являются базовыми для обучения экспертных систем и могут быть представлены следующим пользовательским интерфейсом (рис. 1).
Рис. 1. Пользовательский интерфейс анализа НПС
2. Фрэймовое моделирование знаний - правил представления системы управления. Основу фрэйм-образа Structura составляют следующие слоты (дырки): число классов эквивалентности L, порядок классов эквивалентности |a |, тип обмена информации между кластерами внутри класса, тип обмена информации между кластерами различных классов, структура, быстродействие 1/ Tr , объем микропрограммной памяти | MP |, число микропроцессорных модулей N0, аддитивная функция полезности структуры Uf. Другими словами имеем фрэйм-образ:
Structura (L, |a1, тип обмена1, тип обмена2, структура, 1/Tr , | MP |, N0, Uf ). (5)
В качестве фрэйм-образа Structura используются нечеткие переменные термы: К - конвейерная структура PipelineStructura, ПК — почти-конвейерная структура NearPipelineStructura, КВ — конвейерно- векторная структура PipelineVectorStructura, ВКВ — вроде конвейерно-векторная структура NearPipelineVectorStructura, М — матричная структура Matrix-Structura, ВВК — вроде векторно-конвейерная структура NearVectorPipe-lineStructura, ВК — векторно-конвейерная структура VectorPipeline Structura, ПВ — почти векторная структура NearVectorStructura, В — векторная структура VectorStructura.
В результате записываются следующие фрэйм - экземпляры для разлиных структур:
Pipeline (L, 1, sequential, sequential, Pipeline, (1/Tr)pl, (| MP |)pl,
(N0)pl, (Ui )pl);
NearPipeline (L, q, sequential, simultaneously, NearPipeline, (1/ Tr )npl, (| MP | )npl, (N0)npl, (Uj)npl);
PipelineVector (L, q, sequential, simultaneously, PipelineVector,
(1/Tr)plv, (| MP |)plv, (N0)plv, (Ui )plv) (1)
NearPipelineVector (L, q, sequential, simultaneously, NearPipeline Vector, (1/TR)nplv, (| MP | )nplv, (N0)nplv, (Uj )nplv);
Matrix (L ,q,sequential/simultaneously, simultaneously/sequential, Matrix, (1/ TR )m, (| MP | )m, (N0 )m,(U);
VectorPipeline (q, q, simultaneously, simultaneously, VectorPipeline, (1/Tr)vpl, (| MP |)vpl, (N0)vpl, (Uj )vpl);
NearVectorPipeline (L, q, simultaneously, sequential, NearVectorPipe-line, (1/TR)nvpl, (| MP | )nvpl, (N0)nvpl, (Uj )nvpl);
NearVector (1, |ai |, simultaneously, sequential, (1/ Tr )nvec, (| MP | )nvec, (N0)nvec, (Uj)nvec);
Vector (1, |ai |, simultaneously, simultaneously, NearVector, (1/TR)vec, (| MP | )vec, (N0)vec, (Uj )vec).
Все перечисленные в (1) фрэйм-экземпляры представляют собой базу знаний экспертной системы выбора нейропроцессорной структуры. Связи между фактами представлены эвристическими правилами выражениями декларативного знания об отношениях и связях между кластерами в классах эквивалентности и между кластерами в разных классах. Часть рассмотренных выше структур являются четкими, т.к. сочетают в себе элементы явного параллелизма: конвейера, вектора, конвейер-вектора или вектора-конвейера. Другая часть классифицируется с использованием лингвистических переменных (ЛП) на базе нечетких множеств. Такие сложные и неопределенные структуры являются нечеткими структурами и они имеют свой неявный параллелизм, например с элементами конвейера, вектора или их сочетания.
3. Семантические сети. Исходными и выходными данными являются те же переменные, что и в пунктах II,III. Однако отношения между исследуемыми объектами строятся в виде графа. L — число классов эквивалентности, |ai | — порядок каждого класса, тип обмена
информации между кластерами внутри класса seqi, simuli, тип обмена информации между кластерами seq l/l+1, simul l/l+1 различных классов l/l+1. Каждая ветвь графа имеет шесть уровней, определяемых значениями всех шести переменных: L, |ai |, seql, simull, seq и+1, simul и+ъ Конечный
161
результат работы выводится в результате анализа и перебора всех возможных значений вышеперечисленных параметров в виде структуры -Structura. Это могут быть: конвейерная, векторная, конвейерно-векторная, конвейерно-векторная, почти конвейерно-векторная, векторно-конвейерная, вроде векторно-конвейерная, матричная структура, т. е. весь перечень возможных комбинаций с использованием нечетких лингвистических переменных. Например, согласно графа при "L, \щ |= 1, и последовательного обмена информации внутри кластера seqi и последовательного обмена информации между кластерами seq l/l+1 имеем конвейерную структуру Pipeline. При "L, \а/\= 1, и последовательного
обмена информации внутри кластера seql и параллельного обмена информации между кластерами seq l/l+1 имеем конвейерно-векторную структуру PipelineVector. При "L, \ai \= q и последовательном seql управлении обменом данных согласно распределенной программы обработки получаем. Однако в некоторых классах НПС данные могут требоваться одновременно simul l/l+1, тогда имеем вроде конвейерно-векторную структуру. На графе перечислены все возможные варианты решения. В конечном итоге экспертная система должна проанализировать все возможные решения и выбрать по заложенным критериям наиболее эффективную или группу возможных вариантов решения.
4. Описание пользовательского интерфейса экспертной системы. Для реализации и инкапсулирования логики приложения был написан класс NeuralComputerSystemStructure, который может определить нужный тип нейро-компьютерной сети. Сам класс состоит из методов, каждый из которых состоит из выше перечисленных правил.
Пользовательский интерфейс условно включает в себя три части. В первой части анализа вводятся исходные данные для задания класса NeuralComputerSystemStructure.
При этом согласно рисункам, входными данными для класса NeuralComputerSystemStructure являются объекты со следующими полями: equivalenceClassesCount - число классов эквивалентности information - тип востребованности информации orderOfEachClass - порядок каждого класса dataExchange - тип обмена данных между фрагментами multiplicity - кратность.
Метод getStructureType предназначен для реализации продуктивной модели выбора подходящей структуры. Если таковой не нашлось, то метод возвращает тип структуры 'Unknown'.
Реализация некоторых методов определения структур включает в себя описание некоторых характерных возможных структур НПС:
isPipelineStructure - проверка является ли структура конвейерной; isNearPipelineStructure - проверка является ли структура почти конвейерной;
1вУес1ог81гисШге - проверка является ли структура векторной;
1вР1ре1теУес1ог81гис1иге- проверка является ли структура конвейер-но-векторной
1в№агР1ре1теУес1;ог81;гис1;иге- проверка является ли структура почти конвейерно-векторной;
1вМа1пх81тис1;иге- проверка является ли структура матричной;
1в№агУес1;огР1ре1те81;гис1;иге - проверка является ли структура почти векторно - конвейерной;
1вУес1;огР1ре1те81;гис1;иге - проверка является ли структура векторно-конвейерной;
1в№агУес1ог81гис1иге - проверка является ли структура почти векторной.
Экспертная система выбора НКС
equ iva lenceCiassesCou nt
3
orderOfEachClass
3
multiplicity
0
dataExchange
• Sequentially Sequential lyWithSmalIFragrnentsExclusionOfLG ass Sequential lyExceptL
SequentíallyButSomeClassesWantinformatíonSinnultaneouslv
Information
• All Fragments AIIFragmentsForL
Al I Fra gmentsButSom eC I asses Requ r resSequent i a i ALIFragmentsExceptSomeL
Рис. 2. Пользовательский интерфейс анализа фреймовой модели НПС
Таким образом, разработанные методы представляют собой возможные варианты структур НПС.
Во второй части интерфейса выводится графическое представление возможной структуры НПС, соответствующее выбранной структуре.
В третьей части приводится название выбранной структуры НПС.
Заключение. В статье предлагаются продукционная, фреймовая, семантические сети в качестве моделей знаний в виде правил принятия решений — машины логического вывода экспертной системы на основе теоретико-множественной кластеризация явного и неявного параллелизма исходных алгоритмов. Для анализа неявного параллелизма рассматривается многокритериальный нечеткий выбор структуры нейропроцессорной системы по заданной стратегии выбора. С этой целью разработана экс-
Structure
■î MatrlK
пертная система с пользовательским интерфейсом анализа получаемых четких и нечетких структур по различным техническим характеристикам согласно стратегии выбора: быстродействие (1/ Tr ), объем микропрограммной памяти (| MP |), число микропроцессорных модулей (Nq ) и др. Для реализации и инкапсулирования логики приложения был написан класс NeuralComputerSystemStructure, который может определить нужный тип нейро-компьютерной сети. Сам класс состоит из методов getStructure-Type, каждый из которых представляет собой один из вариантов возможных структур НПС на основе выше перечисленных правил.
Список литературы
1. Колесенков А.Н., Костров Б.В., Ручкин В.Н., Нейронные сети мониторинга чрезвычайных ситуаций по данным ДЗЗ // Известия Тульского государственного университета. Технические науки, 2014. Вып. 5. С. 220-225.
2. Ручкин В.Н., Романчук В.А., Фулин В.А., Пролыгина А.А., Экспертная система нечеткой кластеризации нейропроцессорных систем // Известия Тульского государственного университета. Технические науки. 2014. Вып. 6. С. 162-167.
3. Романчук В. А., Ручкин В.Н. Оценка результатов моделирования вычислительных систем на базе нейропроцессоров // Известия Тульского государственного университета. Технические науки. 2013. Вып. 9. Ч. 2. С. 194-203.
4. Ruchkin V., Fulin V., Kostrov B., Taganov A., Kolesenkov A., Forest fire monitoring by means of cyber-physical system, В сборнике: 2016 5th Mediterranean Conference on Embedded Computing, MECO 2016 - Including ECyPS 2016, BIOENG.MED 2016, MECO: Student Challenge 2016 5. 2016. P. 30-34.
5. Ручкин В.Н., Романчук В. А. Разработка программного комплекса для моделирования и анализа нейропроцессорных систем обработки изображений Цифровая обработка сигналов. 2010. № 1. С. 53-57.
6. Колмыков М.В., Ручкин В.Н., Романчук В.А. Возможности программного комплекса nm model для разработки и отладки программ обработки изображений // Вестник Рязанского государственного радиотехнического университета. 2008. № 24. С. 83-85.
7. Ручкин В.Н. Проектирование и выбор специализированных средств обработки информации, Москва, 1997.
8. Ручкин В.Н., Романчук В. А., Лукашенко В.В. Обобщенная модель вычислений кластера нейрокомпьютеров // Вестник Рязанского государственного университета им. С.А. Есенина. 2015. № 2 (47). С. 146-150.
164
9. Романчук В. А., Ручкин В.Н. Разработка алгоритмов определения вида структуры нейропроцессорной системы на основе описания связей ее элементов // Информатика и прикладная математика: межвузовский сборник научных трудов. 2011. № 17. С. 103-106.
10. Новикова А.С., Ручкин В.Н., Кричинский П.Е. Электронное правительство - универсальные компьютерные технологии // Информатика и прикладная математика: межвузовский сборник научных трудов. 2015. № 21.С. 81-83.
11. Zlobin V., Ruchkin V. Neural Networks and Neural Computers, BHV-Peterburg, St. Petersburg, 2011. 256 p.
12. Ruchkin V.N., Kostrov B.V., Kolesenkov A.A. Emergencies monitoring and preventing // Proceedings of the 2nd Mediterranean Conference on Embedded Computing MECO. 2013, Montenegro, Budva. P. 89-93.
13. Ruchkin V.N., Romanchuk V.A., Fulin V.A. Design of the Neuro-processor Systems on Base Fuzzy Clasterisation, Vestnik of Ryazan State Radiotechnical University. 2014, № 50-1. P. 87-93.
14. Ruchkin V.N., Koctrov B.V., Svirina A.G. Sistems of Artificial In-telegence. Neural Networks and Neural Computers. M.: KURS, 2018. 288 c.
Ручкин Владимир Николаевич, д-р техн. наук, профессор, [email protected], Россия, Рязань, Рязанский государственный университет имени С.А. Есенина,
Костров Борис Васильевич, д-р техн. наук, профессор, [email protected], Россия, Рязань, Рязанский государственный радиотехнический университет,
Романчук Виталий Александрович, квнд. техн. наук, доцент, v.romanchuka365.rsu. edu.ru, Россия, Рязань, Рязанский государственный университет имени С. А. Есенина,
Пикулин Дмитрий Романович, аспирант, aspirisenagmail. com, Россия, Рязань, Рязанский государственный университет имени С. А. Есенина,
Солдатов Григорий Александрович, аспирант, g.soldalova.365.rsu.edu.ru, Рязанский государственный университет имени С.А. Есенина
MODELING OFMULTI-CRITERIAL ANALYSIS OF SELECTING THE STRUCTURE
OF THE NEUROPROCESSOR SYSTEM
V.N. Ruchkin, B. V. Kostrov, V.A. Romanchuk, D.R. Pikulin, G.A. Soldalov
The analysis of the representation of the expert system for selecting the structure of neuroprocessor systems is performed. Algorithms of three different models of the interface representation of expert systems are described on the basis of the method of parallelization
165
proposed by the authors for the purpose of analyzing possible neuroprocessor structures. The program for implementing the interface on the modern language TypeScript is being developed. It is a superset of the JavaScript language. The NeuralComputerSystemStructure class, the getStructureType method, and some methods for defining structures are presented to describe the characteristic possible NPS structures that identify the type of neural computer network under uncertainty conditions using fuzzy sets through neural networks.
Key words: expert system interface, analysis of neuroprocessor structures, TypeScript language, JavaScript superset, decision making, NeuralComputerSystemStructure class, getStructureType method.
Ruchkin Vladimir Nikolaevich, doctor of technical sciences, professor, v.ruchkin@,365.rsu.edu.ru, Russia, Ryazan,Ryazan State University namedfor S. Yesenin,
Kostrov Boris Vasilievich, doctor of technical sciences, professor, v.ruchkin@,365.rsu.edu.ru, Russia, Ryazan, Ryazan State Radiotechnical University,
Romanchuk Vitaly Alexandrovich, candidate of technical sciences, docent, v.romanchuk@,365.rsu. edu.ru, Russia, Ryazan, Ryazan State University namedfor S. Yesenin,
Pikulin Dmitry Romanovich, postgraduate, aspirisen@,gmail. com, Russia, Ryazan, Ryazan State University namedfor S. Yesenin,
Soldatov Grigory Aleksandrovich, postgraduate, g. soldatov@,365. rsu. edu. ru, Russia, Ryazan, Ryazan State University namedfor S. Yesenin
УДК 004.93 11
МЕТОДЫ ДЕТЕКТИРОВАНИЯ ОБРАЗОВ
Н.С. Сергеев
Рассмотрены методы детектирования образов на изображении с использованием детекторов углов и контурного обнаружения.
Ключевые слова: детектор, контур, интенсивность, маска.
Признаки изображений можно обнаружить с помощью двух различных подходов: методах, основанных на площадях, и методах, основанных на деталях изображений. В первом варианте в качестве характерных признаков выступают сами пиксели с соответствующими им значениями интенсивностей. Однако в таких методах процессы вычисления достаточно трудоемки из-за работы с большим числом параметров. Во второй группе методов в качестве характерных признаков могут выступать контуры изображений [1] и особые точки [2].