FEATURES OF SPA TIANIMAGE FILTERS IMPLEMENTA TION ONFPGA I.A. Orlova, D.I. Ustyukov, A.I. Efimov
The article describes the features of the implementation of spatial image filters on programmable logic integrated circuits (FPGAs). The presented solutions make it possible to use the architecture of the crystal to achieve the fastest possible filtering algorithms. The obtained results show the advantages of using programmable logic in image processing tasks.
Key words: matrix operator, matrix mask, discrete white noise, noise reduction coefficient, image, computational costs.
Orlova Irina Anatolievna, master, Irinochka. orlova@yandex. ru, Russia, Ryazan, Ryazan State Radio Engineering University,
Ustyukov Dmitry Igorevich, engineer, ustukov. mail@yandex. ru, Russia, Ryazan, Ryazan State Radio Engineering University,
Efimov Aleksey Igorevich, candidate of technical sciences, docent, [email protected], Russia, Ryazan, Ryazan State Radio Engineering University
УДК 681.24; 519.1
АНАЛИЗ МОДЕЛЕЙ ПРЕДСТАВЛЕНИЯ ЭКСПЕРТНОЙ СИСТЕМЫ ВЫБОРА СТРУКТУРЫ НЕЙРОПРОЦЕССОРНОЙ
СИСТЕМЫ
В.Н. Ручкин, В. А. Фулин, Д.Р. Пикулин
Производится анализ представления экспертной системы выбора структуры нейропроцессорных систем. Описываются алгоритмы трех различных моделей представления интерфейса экспертных систем на основе предложенной авторами методики расспараллеливания с целью анализа возможных нейропроцессорных структур. Разрабатывается программа реализации интерфейса на современном языке TypeScript, который является надмножеством языка JavaScript. Исследуются класс NeuralComputerSystemStructure, метод getStructureType и некоторые методы определения структур с целью описания характерных возможных структур НПС, которые выявляют нужный тип нейро-компьютерной сети в условиях неопределенности с использованием нечетких множеств посредством нейронных сетей.
Ключевые слова:интерфейс экспертной системы, анализ нейропроцессорных структур, язык TypeScript, надмножество языка JavaScript, принятие решений, класс NeuralComputerSystemStructure, метод getStructureType.
Одним из решений современной проблемы дальнейшего повышения производительности структуры нейропроцессорных систем или цены/производительности является перенос интеллектуальных функций из аппаратного обеспечения в программное в виде функций компилятора.
Такая концепция направлена на упрощение аппаратного обеспечения и извлечения как можно больше «скрытого параллелизма» на уровне команд, используя либо большую ширину «выдачи» команд ("ШШ - "хёеЬБие-либо длинные (глубокие) конвейеры с большой задержкой (БРЬ -БеерР1реНпе-Ьа1епсу).
С другой стороны, в современных микропроцессорах продолжается разработка и проектирование современных оригинальных методов распараллеливания с целью анализа и выбора наилучшей мультипроцессорной структуры по ряду критериев [2]. Конечным результатом является разработка принципиально новых и хорошо распараллеливающихся алгоритмов с элементами «умной» (интеллектуальной) компиляции. Эти два подхода ускоряют развитие альтернативных способов повышению частоты способов увеличения быстродействия. По результатам исследования [4,5] специалисты ожидают появления суперскалярного УЫШ - процессора с «параллелизмом в квадрате» - объединение явного статического параллелизма с неявным динамическим. Поэтому актуальным и перспективным направлением является разработка и проектирование современных оригинальных методов распараллеливания для анализа мультипроцессорных структур [7] с целью получения нового класса интеллектуальных компьютерных систем.
В процессе исследования авторами были проанализированы три варианта моделей представления знаний с целью выбора наилучшей для создания экспертной системы.
Задача кластеризации Нейропроцессорных структур. В соответ-свии со сказанныи имеет местоследующая постановка задачи, которая заключается в классификации, т.е. разбиении у -НПС 1тJ на кластеры структур, обладающих относительно высокой степенью близости на основе определенных характеристик Хк(к) [8-9]. В случае когда структуры относятся к одному классу, то образуют кластер и обладают относительно высокой степенью близости по предоставленными характеристиками.
Для выделения структур и их кластерного представления используется теоретико-множественную модель на основе анализа понятия отношения эквивалентности и выявления основных свойств:
рефлексивность определяет эквивалентность структуры самомой
себе;
симметричность устанавливает соответствие между отдельными произвольными структурами и их однозначном соответствии;
транзитивность выявляет структуры, подобные первоначальному и произвольно взятому.
В следствии этого, введенное отношение кластерной структуры КБу, выявления кластеров ставит в соответствие некоторой ]-й области
исследуемого НПС 1ш(') совокупность независимых и неравных кластеров
207
структур СЬ |, число которых равно числу классов эквивалентности Ь, а кратность д кластера СЬ С| определяется порядком класса эквивалентности
Уд = 1, а^; V/ = \ ,Ь
(1)
В результате каждый класс эквивалентности имеет своего представителя кластера СЬ] с размерностью вектора характеристик, равного порядку кластера . Выражение (1) является решением задачи кластерного анализа, которое задает искомое разбиение исследуемой области Ы« НПС на кластеры структур.
Продукционная модель знаний - правил представления системы управления. Математический аппарат разработки экспертной системы выбора НКС был ранее описан авторами в ряде работ [5, 9] и позволяет представить знания о данной предметной области в виде различных продукционных моделей на основании явного и неявного параллелизма.
В результате решения задачи (1) получим различные варианты структурной организации НПС, определяющие основные знания - правила управления в виде продукций, фрэймов и семантических сетей экспертной системы.
Связи между фактами представлены эвристическими правилами выражениями декларативного знания об отношениях между объектами: Ь -число классов эквивалентности, |аг| - порядок каждого класса. Согласно модели кластеры используются для выполнения: массива последовательных программ, никак не связанных одна с другой; распределенных программ (соагзе^гатрагаПеНзт) независимых процессов с общими данными и параллельные программ. Причем, распределенные программы являются основным типом задач, для которых создаются кластеры. Каждая такая программ состоит из конечного множества процессов, обменивающихся данными через коммуникационную среду кластера. Для этого система управления согласно составленного задания выполняет операции, совершаемые при запуске и выполнении задач или группы задач при обработке результатов вычислений. В некоторых случаях это могут быть пакетные задания, содержимое которых может быть входными данными для других задач, тем самым создавая зависимость по результатам.
В результате возможны следующие варианты знаний - правил:
1.Если УЬ, |аг| = 1 и последовательное управление обменом данных между кластерами в классах эквивалентности, то имеем конвейерную структуру.
2. Если УЬ, |аг| = 1 и управление обменом данных требуется одновременно всем кластерам классов, то имеем векторную структуру.
3. Если Ь = 1, \ щ\ = (7 и управление обменом информацией между кластерами в классах осуществляется последовательно, то имеем конвейерную структуру.
4. Если Ь = 1,\а1\ = ц и управление обменом данных требуются одновременно всем кластерам классов, то имеем векторную структуру.
5. Если УЬ, \ аг\ = ц и управление обменом информацией между кластерами в классах осуществляется последовательно, то имеем конвейерную структуру.
6. Если УЬ, |аг| = ц к управление обменом информацией между кластерами в классах осуществляется последовательно с небольшим исключением кластеров -го класса, то имеем почти конвейерную структуру.
7. Если УЬ, |аг| = ц к управление обменом информацией между кластерами в классах согласно распределенной программы обработки, кроме -го, осуществляется последовательно, а 1-шу классу данные требуются одновременно, то имеем вроде конвейерно-векторную структуру.
8. Если УЬ, |аг| = ц к управление обменом данных производится последовательно согласно распределенной программы обработки, однако в некоторых классах данные требуются одновременно, то имеем вроде конвейерно-векторную структуру.
9. Если |аг| = Ь и независимо от передачи данных, то в общем виде имеем матричную структуру.
10. Если |аг| =1 и управление обменом данных сразу требуются кластерам всех классов согласно распределенной программы обработки, но в некоторых классах требуется последовательный обмен, то имеем почти векторно-конвейерную структуру.
11. Если \аг\ = Ь и управление обменом данных требуется одновременно кластерам всех классов, но кластеры -го класса обмениваются информацией последовательно, то имеем вроде векторно-конвейерную структуру.
12. Если \аг\ = Ь и управление обменом данных требуется одновременно кластерам всех классов, кроме некоторых кластеров -го класса, имеем почти векторную структуру.
13. Если \аг\ = Ь и управление обменом данных требуется одновременно всем кластерам классов, имеем векторную структуру.
Рассмотренные выше структуры управления являются четкими, т. к. сочетают в себе элементы явного параллелизма: конвейера, вектора, конвейер-вектора или вектора-конвейера.
В процессе проектирования ряд задач распараллеливается, как в векторной структуре, а ряд элементов - как в конвейере. В результате имеем множество сложных структур, которые отвечают (1) и каждая должна быть классифицирована, например, с использованием нечетких множеств. Такие сложные и неопределенные структуры являются нечеткими струк-
209
турами и они имеют свой неявный параллелизм, например с элементами конвейера или вектора. Полученные соотношения являются базовыми для обучения экспертных систем.
Фрэймовое моделирование знаний - правил представления системы управления. В результате решения задачи (1) получим различные варианты структурной организации МПС, определяющие основные знания - правила управления экспертной системы. Связи между фактами представлены эвристическими правилами - выражениями декларативного знания об отношениях между объектами: L число классов эквивалентности, \a.i \ порядок каждого класса, данными последовательного, параллельного и сочетания последовательного/параллельного обмена.
Фрэймовой модель анализа возможных структур явного параллелизма. В результате решения задачи (1) получим различные варианты структурной организации МПС, которые составляют основу фрэймовой модели экспертной системы анализа явного параллелизма.
Основу фрэйм-образа Structura составляют следующие слоты (дырки): число классов эквивалентности L , порядок классов эквивалентности |аг| , тип обмена информации между кластерами внутри класса, тип обмена информации между кластерами различных классов, структура, быстродействие 1 /Тк , объем микропрограммной памяти \МР\ , число микропроцессорных модулей N0 , аддитивная функция полезности структуры . Другими словами имеем фрэйм-образ:
Structure (l, I тип обмена 1, тип обмена 2, структура, Ут .\МР\,N0,Ut) (2)
В качестве фрэйм-образа Structura используются нечеткие переменные термы:
К - конвейерная структура PipelineStructura;
ПК - почти-конвейерная структура NearPipelineStructura;
KB - конвейерно- векторная структура PipelineVectorStructura;
ВКВ - вроде конвейерно-векторная структура NearPipeline VectorStructura;
М - матричная структура Matrix Structura;
ВВК - вроде векторно-конвейерная структура NearVector PipelineStructura;
ВК - векторно-конвейерная структура VectorPipelineStructura;
ПВ - почти векторная структура Near VectorStructura;
В - векторная структура VectorStructura.
В результате записываются следующие фрэйм - экземпляры для разлиных структур:
Pipeline ^L, 1, sequential, sequential, Pipeline, (VrR) ' (I^^Dpi« O^o)pi, (U{)pij-,
(L, q, sequential, simultaneously, NearPipeline, (^-/j J
v R-'npi
(.\MP\)npi, (iV0)npi, QJdnpi 210
(L,q, sequential, simultaneously, PipelineVector, J
V R/piv
(\MP\)plv,(N0)plv, (Ui)plv
(L, q, sequential, simultaneously, NearPipelineVectorA
(VrR) г ' (.WP\)npiv, (No)nplv, (U{)nplv J'
nplv
sequential
L, q,-,
simultaneously
Matrix
"ix I
\ simultaneously /sequential, (^-/j J , (|MP|)m, (iV0)m, (¿/¿)т \ \ R' m
(q, q, simultaneously, simultaneously, VectorPipeline, ( "Уг ) Д
V R^vpi ;
(\MP\)vpl,(N0)vpl,(Ui)vpl J
(L, q, simultaneously, sequential, NearVectorPipeline,\
(VrR) г ' (l^^l)nvpi' (.No)nvpl> Wdnvpl J'
(1,1 аг I, simultaneously, sequential, NearVector, (Vt ) >(.WP\)nvec\
4 R'nvec I;
nvec> m nvec /
(1, |аг|,simultaneously,simultaneously, Vector, (VT J , (|MP|)vec,\
v R' vec I.
vec
№ vec '
Все перечисленные фрэйм-экземпляры представляют собой базу знаний экспертной системы. Связи между фактами представлены эвристическими правилами - выражениями декларативного знания об отношениях и связях между кластерами в классах эквивалентности и между кластерами в разных классах. Часть рассмотренных выше структур являются четкими, т. к. сочетают в себе элементы явного параллелизма: конвейера, вектора, конвейер-вектора или вектора-конвейера. Другая часть классифицируется^ использованием лингвистических переменных (ЛП) на базе нечетких множеств. Такие сложные и неопределенные структуры являются нечеткими структурами и они имеют свой неявный параллелизм, например с элементами конвейера или вектора.
Семантические сети. Исходными и выходными данными являются те же переменные, что и в пунктах 1,11. Однако отношения между исследуемыми объектами строятся в виде граф-L - число классов эквивалентности, | аг | - порядок каждого класса, тип обмена информации между кластерами внутри класса seq1, simult, тип обмена информации между кластерами seqt/i+1, simuli/i+1, различных классов l/l + 1.
Каждая ветвь графа имеет шесть уровней, определяемых значениями всех шести переменных: L , |аг| , seq1, seq1, seqt/l+1, simuli/i+1. Конечный результат работы выводится в результате анализа и перебора всех возможных значений вышеперечисленных параметров в виде структуры -Structura. Это могут быть: конвейерная, векторная, конвейерно-векторная, конвейерно-векторная, почти конвейерно-векторная, векторно-
211
конвейерная, вроде векторно-конвейерная, матричная структура, т. е. весь перечень возможных комбинаций с использованием нечетких лингвистических переменных.
Например, согласно графа при и последовательного обмена информации внутри кластера seq1и последовательного обмена информации между кластерами seqt/l+1 имеем конвейерную структуру Pipeline. При и последовательного обмена информации внутри кластера seq±и параллельного обмена информации между кластерами seqt/l+1 имеем конвейерно-векторную структуру PipelineVector. При и последовательном seq1 управлении обменом данных согласно распределенной программы обработки получаем. Однако в некоторых классах НПС данные могут требоваться одновременно simuli/i+1, тогда имеем вроде конвейерно-векторную структуру. На графе перечислены все возможные варианты решения. В конечном итоге экспертная система должна проанализировать все возможные решения и выбрать по заложенным критериям наиболее эффективную или группу возможных вариантов решения.
Описание пользовательского интерфейса экспертной системы. Для реализации и инкапсулирования логики приложения был написан класс NeuralComputerSystemStructure, который может определить нужный тип нейро-компьютерной сети. Сам класс состоит из методов, каждый из которых состоит из выше перечисленных правил.
Пользовательский интерфейс условно включает в себя три части. В первой части анализа вводятся исходные данные для задания класса NeuralComputerSystemStructure.
Экспертная система выбора НКС
eq u ¡va le nceC î asse sCo u n t 3
orderOfEachClass
3
multiplicity 0
dataExchange »! Sequentially
Seq u e nt i a 11 y Wit hS m a I ÎFragmentsExe! usi onOfLCI ass SequentiallyExceptL
SequentiallySutSomeCiassesWantlnformationSimultaneously information • ' Ail Fragments AI I Fra gmentsFor L
AIIFragmentsButSomeCfassesRequiresSequential ALIFragmentsExceptSomeL
Интерфейс экспертной системы
При этом согласно рисунка входными данными для класса «NeuralComputerSystemStructure» являются объекты со следующими полями:
equivalenceClassesCount - число классов эквивалентности; information - тип востребованности информации; orderOfEachClass - порядок каждого класса; dataExchange - тип обмена данных между фрагментами; multiplicity - кратность.
Метод «getStructureType» предназначен для реализации продукционной модели выбора подходящей структуры. Если таковой не нашлось то метод возвращает тип структуры 'Unknown'.
Реализация некоторых методов определения структур включает в себя описание некоторых характерных возможных структур НПС:
isPipelineStructure - проверка является ли структура конвейерной; isNearPipelineStructure - проверка является ли структура почти конвейерной;
isVectorStructure - проверка является ли структура векторной; isPipelineVectorStructure- проверка является ли структура конвейер-но-векторной;
isNearPipeline VectorStructure- проверка является ли структура почти конвейерно-векторной;
isMatrixStructure- проверка является ли структура матричной; isNearVectorPipelineStructure - проверка является ли структура почти векторно - конвейерной;
isVectorPipelineStructure - проверка является ли структура векторно-конвейерной;
isNearVectorStructure - проверка является ли структура почти векторной.
Таким образом, разработанные методы представляют собой возможные варианты структур НПС.
Во второй части интерфейса выводится графическое представление возможной структуры НПС, соответствующее выбранной структуре.
В третьей части приводится название выбранной структуры НПС. Заключение. В статье предлагается теоретико-множественная кластеризация явного параллелизма, на основе которой предлагается несколько фреймовая моделей знаний в виде правил принятия решений - машины логического вывода. Для анализа неявного параллелизма рассматривается многокритериальный нечеткий выбор структуры вычислительной системы по заданной стратегии выбора. С этой целью разработана экспертная система с пользовательским интерфейсом анализа получаемых четких и нечетких структур по различным техническим характеристикам согласно
стратегии выбора: быстродействие (^/f^j , объем микропрограммной памяти (|МР|) , число микропроцессорных модулей (/V0) и др. Для реализации и инкапсулирования логики приложения был написан класс
NeuralComputerSystemStructure, который может определить нужный тип нейро-компьютерной сети. Сам класс состоит из методов «getStructureType», каждый из которых представляет собой один из вариантов возможных структур НПС на основе ыше перечисленных правил.
Для связи одной из представленных здесь моделей баз знаний с машиной логического вывода разработан пользовательского интерфейс, включающий в себя три части: ввод исходных данных, графическое представление возможной структуры НПС и название выбранной структуры и ее параметры. Класс «NeuralComputerSystemStructure», методы «getStructureType» и интерфейс реализованы на одной платформе что придает данному решению гибкость в разработке.
Списоклитературы
1. Злобин В.К., Ручкин В.Н.Нейросети и нейрокомпьютеры. СПб.: БХВ — Петербург, 2011. 256 с.
2. Романчук В.А., Ручкин В.Н. Разработка программных средств анализа нейропроцессорных систем // Вестник Рязанского государственного радиотехнического университета, 2010. №32. С. 61-67.
3. Ручкин В.Н., Романчук В. А., Фулин В.А. Проектирование нейропроцессорных систем на основе нечеткой кластеризации Вестник Рязанского государственного радиотехнического университета, 2014. № 50-1. С. 87-93.
4. Hoang, DatDac, Hye-Young Paik, and Chae-Kyu KimServiceoriented middleware architectures for cyber-physical systems // International Journal of Computer Science and Network Security, 2012. P. 79-87.
5. Ручкин В.Н., Рогатин С.В., Фулин В.А., Рогатин В.Н., Пикулин Д.Р.Фреймовая модель интеллектуального компилятора мультипроцессорных структур, Информатика и прикладная математика: межвузовский сборник научных трудов, 2016. №22, С. 93-98.
6. Григоренко Д.В., Ручкин В.Н., Андреев Е.А., Шульгин С.С., Пикулин Д.Р. Теоретико - множественное представление кластеризации для оценки восстанавливаемости и надежности нейропроцессорных систем передачи данных, Информатика и прикладная математика: межвузовский сборник научных трудов, 2016. №22. С. 123-128.
7. Ручкин В.Н., Фулин В. А., Пикулин Д.Р. Возможности семантических сетей для предоставления теоретико-множественной кластеризации явного паралеллизма, Информатика и прикладная математика: межвузовский сборник научных трудов, 2017. №23. С. 117-121.
8. Ruchkin V.N., Kostrov B.V., Romanchuk V.A., Makhmudov M.N., Fulin V.A. Expert system of multi-criterion fuzzy management in selection of computing resources, Mechanical, system and control engineering, 2017. P. 348352.
9. Ручкин В.Н., Фулин В.А., Пикулин Д.Р. Интерфейс экспертной системы распараллеливания и анализа нейропроцессорных структур // Известия тульского государственного университета. Технические науки, 2017. Вып. 9. Ч. 1. С. 110-117.
Ручкин Владимир Николаевич, д-р техн. наук, проф., v.ruchkinarsu.edu.ru, Россия, Рязань, Рязанский государственный университет имени С. А. Есенина,
Фулин Владимир Андреевич, начальник центра дистанционного обучения и мониторинга качества образования, v.fulin@rsu. edu.ru, Россия, Рязань, Рязанский государственный университет имени С.А. Есенина,
Пикулин Дмитрий Романович, асп., [email protected], Россия, Рязань, Рязанский государственный университет имени С.А. Есенина
ANALYSIS OF MODELS OF EXPERT SYSTEM REPRESENTATION OF THE CHOICE OF STRUCTURES OF THE NEUROPROCESSOR SYSTEM
V.N. Ruchkin , V.A. Fulin, D.R. Pikulin
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 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@rsu. edu. ru, Russia, Ryazan, Ryazan state University namedfor S. A. Yesenin,
Fulin Vladimir Andreevich, head of distance learning center and monitoring the quality of education, v.fulin@rsu. edu. ru, Russia, Ryazan, Ryazan state University named for S. A. Yesenin,
Pikulin Dmitriy Romanovich, postgraduate, v. ruchkin@rsu. edu. ru, Russia, Ryazan, Ryazan state University namedfor S.A. Yesenin