Разработка методологических основ программной оптимизации систем нейрокомпьютерной обработки информации | Статья в журнале «Молодой ученый»

Отправьте статью сегодня! Журнал выйдет 30 ноября, печатный экземпляр отправим 4 декабря.

Опубликовать статью в журнале

Автор:

Рубрика: Информационные технологии

Опубликовано в Молодой учёный №15 (95) август-1 2015 г.

Дата публикации: 02.08.2015

Статья просмотрена: 33 раза

Библиографическое описание:

Романчук, В. А. Разработка методологических основ программной оптимизации систем нейрокомпьютерной обработки информации / В. А. Романчук. — Текст : непосредственный // Молодой ученый. — 2015. — № 15 (95). — С. 56-61. — URL: https://moluch.ru/archive/95/21468/ (дата обращения: 16.11.2024).

Рассматриваются вопросы оптимизации кода для многопроцессорных систем на базе концептуально нового поколения вычислительной техники — нейрокомпьютеров, принцип функционирования которых основан на принципах мышления человека. Показана методология разбиения программы на множество подпрограмм, загружаемых на нейропроцессорный вычислительный модуль системы.

Ключевые слова: нейрокомпьютер, оптимизация, распараллеливание, обработка информации, программа.                                                                                                         

 

Введение. Программирование нейрокомпьютера — это обучение его на выполнение той или иной задачи, в связи с чем известные методы оптимизации и распараллеливания нейрокомпьютерной программы не могут быть ипользованы [1]. В свою очередь, интерес же к нейрокомпьютерам и нейрокомпьютерным системам постоянно увеличивается, их применяют в различных сферах: космос, военная промышленность, дорожное движение и др., в связи с чем, возникает необходимость разработки математического, алгоритмического и программного обеспечения создания и оптимизации программ для нейрокомпьютеров и систем на их базе. Следует также отметить, что нейрокомпьютерные системы обладают очень высоким уровнем распараллелирования, в связи с чем наиболее важна задача именно распараллеливания и оптимизации вычислительных систем на базе нейропроцессорных устройств [1–3].

Цель работы: разработка математического аппарата программной оптимизации в вычислительных системах различной структуры на базе нейропроцессоров.

Пусть  — некоторый -й алгоритм обработки информации для реализации его на на нейропроцессорной платформе. Введем множество операций . С учетом введенного множества операций этот алгоритм обработки информации представляет собой кортеж, состоящий из операций  длиной , т. е.:

.                                                                    (1)

Исходя из математического смысла нейрокомпьютерной обработки множество операций нейрокомпьютера рационально разделить на 2 подмножества [4–11]:

1. Множество операций первого типа, представляющих математическую модель формального нейрона, и состоящее из одной операции :

                                                                                               (2)

Операция  может быть рассмотрена в виде множества самостоятельных операций исходя из функциональных блоков, ее реализующих:

,                                                                                          (3)

где  — количество возможных видов векторных операций эмуляции нейрона в нейропроцессоре.

2. Множество вспомогательных операций второго типа: обмена данными, управления подготовки данных, и др.

                                                                                (5)

Тогда алгоритм (1) можно записать следующим образом:

                   (6)

На этапе разработки программы каждой операции ставится в соответствие микрокоманда процессора , где - множество микрокоманд, написанных на внутреннем языке нейропроцессора; - минимальное количество микрокоманд, необходимое для реализации операции .

Множество микрокоманд также можно разделить на 2 подмножества:

,                                                                                                (7)

,                                                           (8)

где  — число сочетаний исходя из (3) для конкретного нейропроцессора. Для того, чтобы определить , необходимо найти количество сочетаний команды притом, что часть функциональных блоков и часть может быть незадействована, т. е. количество возможных вариантов, если задействован один функциональный блок, если два, и т. д.:

,                                                                                (9)

где  — число сочетаний из  элементов по .

,                                                            (10)

где  — количество возможных микрокоманд, возможных для реализации вспомогательных операций второго типа, определяемых согласно (5).

Тогда, для каждой операции первого типа:

,                                            (11)

Под программой  понимается кортеж микрокоманд:

,             (12)

длиной .

В данном пункте на основании алгебраического подхода предлагается методика разбиения программы  на множество подпрограмм  исходя из числа нейропроцессорных вычислительных модулей (НПВМ)  [78].

Исходя из специфики и принципов функционирования нейрокомпьютеров, количество команд  гораздо больше команд  (не превышает 1 %), более того команды второго типа «делят» кортеж микрокоманд на сегменты, так как являются вспомогательными для подготовки данных (рисунок 1).

Рис. 1. Сегменты программы для нейрокомпьютера

 

Исходя из принципов функционирования и назначения нейрокомпьютера, количество и вид команд  зависит от кортежа команд , то есть каждая, произвольно взятая команда  зависит от некоторой команды  то есть:

,                                                       (13)

где  — количество операций второго типа. Также, каждой операции  может соответствовать одна или несколько операций , подготавливающих данные. Поэтому, в дальнейших рассуждениях считаем команды  невлияющими на функционирование нейропроцессорной системы и не рассматриваем отдельно.

Рассмотрим отношение двух произвольно взятых микрокоманд  и , каждая из которых представляет собой комплекс несвязанных между собой команд , число которых зависит от конкретного нейрокомпьютера. При этом, рассматривая две команды в виде «черного ящика», имеем:

-                   одинаковое функциональное назначение — эмуляция нейрона;

-                   одинаковое время выполнения команды, равное одному такту нейропроцессора;

-                   воздействие на один и тот же набор аппаратных ресурсов;

-                   аппаратная реализация нейрокомпьютера предполагает один и тот же путь потока данных и потока команд.

Введем понятие функционального равенства микрокоманд , под которым будет подразумеваться равенство времени исполнения команды  и равенство используемых командой аппаратных ресурсов , т.е:

.                                                                 (14)

Тогда справедливо утверждение о том, что отношение  двух произвольно взятых микрокоманд  и ,удовлетворяющим (14), есть отношение эквивалентности.

Отношение эквивалентности — это бинарное отношение, для которого выполнены следующие условия: рефлексивность, симметричность, транзитивность.

Рассмотрим каждое из этих условий:

1.                  Всякая микронейрокоманда , удовлетворяющая (14), и являющаяся отражением модели нейрона, может выполняться параллельно самой себе, что подразумевает сама архитектура нейросети и нейрокомпьютера, т. е. . Таким образом, справедливо условие рефлективности команд .

2.                  Если команда , функционально равна команде , то и команда  функционально равна команде  и одновременно с ней может выполняться, что предполагается исходя из парадигмы нейрокомпьютинга т. е.:

.                                         (15)

Другими словами выполняется условие симметричности двух нейромикрокоманд.

3.                  Если команда  функционально равна команде , а команда  функционально равна , тогда команда  функционально равна  и параллельна команде , т. е.

.      (16)

Таким образом, справедливо условие транзитивности нейромикрокоманд.

Введем понятие сегмента  нейромикропрограммного кода, поразумевающего кортеж команд  и связанных вспомогательных команд подготовки данных :

                                                                                 (17)

Тогда всю программу  можно разделить на кортеж сегментов:

                                            (18)

Под подпрограммой нейропрограммы  будем понимать кортеж сегментов:

                                                 (19)

На рисунке 2 показано сегментирование и программы .

Рис. 2. Сегментирование программы

 

Рассмотрим две произвольно взятые подпрограммы  и , каждая из которых представляет собой некоторый сегмент (рисунок 2), то есть представляет собой множество команд эмуляции нейрона, каждая из которых эквивалентна другой, произвольно выбранной команде, и вспомогательные команды, подготавливающие данные для обработки и являющиеся неотъемлимой частью множества команд первого типа:

.              (20)

Рассмотрим отношение  структуры , которое указывает на то, что любые две произвольно взятые подпрограммы  и , удовлетворяющие (17), могут выполняться одновременно на разных НПВМ под управлением микрокоманд, принадлежащих указанным подпрограммам, т. е.:

.                                                                              (21)

Справедливо утверждение о том, что отношение структуры обработки  есть отношение эквивалентности. Тогда задача разбиения программы на множество подпрограмм преобразуется в задачу рационального последовательного объединения сегментов  в множество подпрограмм :

             (22)

То есть, задача разбиения заключается в нахождении значения  выражения (22) для всех подпрограмм , где число подпрограмм равно числу НПВМ :

                                               (23)

Пусть число команд  в программе , определяемой как (18) равно , число команд некоторого сегмента  равно .

Цель разбиения программы на подпрограммы состоит в достижении одинакового времени обработки для всех этапов, то есть, в данном случае, в достижении одинакового количества команд  для всех подпрограмм. Тогда необходимо определить среднее число  команд  в подпрограмме:

.                                                                                                         (24)

Далее, добавление нового сегмента  к подпрограмме возможно лишь тогда, когда разность значения  и суммарного количества команд  уже добавленных в подпрограмму  сегментов больше, чем .

То есть, если верно условие ,                                    (25)

где  определяет номера сегментов, уже включенных в подпрограмму:

 — номер первого сегмента в подпрограмме ;

 — номер последнего сегмента в подпрограмме .

Тогда ;                                                                (26)

Если условие (25) неверно, то

                                                                         (27)

Таким образом, в соответствии с выражениями (23)-(27), нейромикропрограмма  может быть рационально разделена на подпрограммы , для которых верно отношение структуры обработки информации .

 

Литература:

 

1.                  Галушкин А. И. Нейронные ЭВМ — перспективное направление развития вычислительной техники — М.: Препринт, 1991.-615 с.

2.                  Головкин Б. А. Вычислительные системы с большим числом процессоров. М.: Радио и связь, 1995. — 320 с.

3.                  Злобин В. К., Григоренко Д. В., Ручкин В. Н., Романчук В. А. Кластеризация и восстанавливаемость нейропроцессорных систем обработки данных // Известия тульского государственного университета. Технические науки. — Тула: Издательство ТулГУ, 2013. — Вып.9. — Ч.2. — С.125–135.

4.                  Романчук В. А., Ручкин В. Н. Разработка программных средств анализа нейропроцессорных систем // Вестник РГРТУ. — Рязань: РГРТУ, 2010. — № 2. — Вып.32. — С.61–67.

5.                  Романчук В. А., Ручкин В. Н. Разработка программного комплекса для моделирования и анализа нейропроцессорных систем обработки изображений // Цифровая обработка сигналов. — Рязань: Информационные технологии, 2010. — № 1. — С.53–58.

6.                  Романчук В. А., Ручкин В. Н. Оценка результатов моделирования вычислительных систем на базе нейропроцессоров // Известия тульского государственного университета. Технические науки. — Тула: Издательство ТулГУ, 2013. — Вып.9–2 — С.194–203.

7.                  Романчук В. А. Моделирование нейропроцессорных систем // Отраслевые аспекты технических наук: научно-практический журнал. — Москва: ИНГН, 2013. — № 10(34). — С.19–24.

8.                  Романчук В. А., Ручкин В. Н. Разработка алгоритмов определения вида структуры нейропроцессорной системы на основе описания связей ее элементов // Информатика и прикладная математика: межвуз. сб. науч. тр. — Рязань: РГУ имени С. А. Есенина, 2011. — Вып.17. — С.106–109.

9.                  Романчук В. А. Инновационный программный комплекс моделирования вычислительных систем на базе нейропроцессоров «НейроКС» // Современные научные исследования и инновации. — Декабрь, 2012 [Электронный ресурс]. — URL: http://web.snauka.ru/issues/2012/12/19407.

10.              Романчук В. А. Разработка алгоритмов определения связей элементов вычислительной структуры на базе нейропроцессоров // Информатика и прикладная математика: межвуз. сб. науч. тр. — Рязань: РГУ имени С. А. Есенина, 2011. — Вып.17. — С.102–105.

11.              Романчук В. А. Оптимизация программных и аппаратных средств сложных вычислительных систем на базе нейропроцессоров // Моделирование, оптимизация и информационные технологии. — 2015. — № 1(8) 3 [Электронный ресурс]. URL: http://moit.vivt.ru/wp-content/uploads/2015/03/Romanchuk_1_15_1.pdf.

12.              Ручкин В. Н., Романчук В. А., Фулин В. А., Пролыгина А. А. Экспертная система нечеткой кластеризации нейропроцессорных систем // Известия тульского государственного университета. Технические науки. — Тула: Издательство ТулГУ, 2014. — Вып.6. — С.162–167.

Основные термины (генерируются автоматически): команда, множество подпрограмм, подпрограмма, отношение эквивалентности, алгоритм обработки информации, вспомогательная операция второго типа, кортеж команд, кортеж микрокоманд, кортеж сегментов, множество микрокоманд.


Ключевые слова

оптимизация, программа, обработка информации, нейрокомпьютер, распараллеливание

Похожие статьи

Разработка обобщенной модели архитектуры нейрокомпьютера

Рассматриваются вопросы разработки обобщенной модели архитектуры концептуально нового поколения вычислительной техники — нейрокомпьютеров, принцип функционирования которых основан на принципах мышления человека. Показаны особенности структуры вычисли...

Синтез конфигураций программируемых логических интегральных схем без использования проектов интегрированных сред разработки

В работе описаны некоторые проблемы с синтезом цифровых схем с которыми приходится сталкиваться разработчику использующему традиционные проекты интегрированных сред разработки (ИСР). Предложен процесс разработки, не имеющий описанных недостатков. Для...

Анализ методов искусственного интеллекта САПР технологических процессов производства электронной аппаратуры

В статье рассмотрены особенности применения методов искусственного интеллекта в САПР технологического проектирования. Основное внимание уделено методам формализации декларативных знаний по технологическим процессам. Рассмотрена методика разработки фр...

Разработка информационной системы корпоративного тестирования сотрудников со встроенным блоком графоаналитического представления результатов

В данной статье автор пытается создать прототип информационной системы тестирования корпоративных работников. Рассматриваются технологии для разработки и отладки информационных систем, а также способы построения архитектуры программного обеспечения.

Микроконтроллеры интеллектуальных систем управления

В статье представлен сравнительный анализ микроконтроллеров и программируемых логических интегральных схем с целью оценки потенциальной возможности их использования в интеллектуальных системах управления промышленными объектами.

Исследование методов автоматического программирования с применением искусственного интеллекта

В статье автор исследует методы применения искусственного интеллекта для разработки инструментов разработки программного обеспечения направлены на создание интеллектуальных систем, способных автоматически анализировать, оптимизировать и документирова...

Моделирование сложных динамических систем и механизмов методом компьютерного моделирования высокой детализации (КМВД)

Автором статьи разработан оригинальный метод компьютерного моделирования высокой детализации (КМВД), который позволяет решать задачи моделирования динамических систем и механизмов любой сложности. С помощью этого метода построены работающие динамичес...

Перспективы разработки программного обеспечения для визуализации результатов теоретико-множественного анализа сложных систем

В данной статье рассмотрена актуальность проведения теоретико-множественного анализа. Проведен анализ предметной области. Рассмотрены недостатки существующих программных решений. Создана функциональная модель реализации визуализации сложной системы.

Даталогическое моделирование задачи формирования алгоритмических структур инфологических моделей предметных задач

На кафедре «Информационные технологии и вычислительные системы» Московского государственного технологического университета «СТАНКИН» была разработана методология автоматизации интеллектуального труда (МАИТ). Методология автоматизации интеллектуальног...

Интеллектуализация системы обнаружения и предотвращения сбоев в сети

В статье обсуждены вопросы разработки программного приложения по обнаружению, предотвращению и предсказанию наблюдающихся сбоев в составе локальной сети. Целью создания программного приложения является интеллектуализация его алгоритмов, где на основе...

Похожие статьи

Разработка обобщенной модели архитектуры нейрокомпьютера

Рассматриваются вопросы разработки обобщенной модели архитектуры концептуально нового поколения вычислительной техники — нейрокомпьютеров, принцип функционирования которых основан на принципах мышления человека. Показаны особенности структуры вычисли...

Синтез конфигураций программируемых логических интегральных схем без использования проектов интегрированных сред разработки

В работе описаны некоторые проблемы с синтезом цифровых схем с которыми приходится сталкиваться разработчику использующему традиционные проекты интегрированных сред разработки (ИСР). Предложен процесс разработки, не имеющий описанных недостатков. Для...

Анализ методов искусственного интеллекта САПР технологических процессов производства электронной аппаратуры

В статье рассмотрены особенности применения методов искусственного интеллекта в САПР технологического проектирования. Основное внимание уделено методам формализации декларативных знаний по технологическим процессам. Рассмотрена методика разработки фр...

Разработка информационной системы корпоративного тестирования сотрудников со встроенным блоком графоаналитического представления результатов

В данной статье автор пытается создать прототип информационной системы тестирования корпоративных работников. Рассматриваются технологии для разработки и отладки информационных систем, а также способы построения архитектуры программного обеспечения.

Микроконтроллеры интеллектуальных систем управления

В статье представлен сравнительный анализ микроконтроллеров и программируемых логических интегральных схем с целью оценки потенциальной возможности их использования в интеллектуальных системах управления промышленными объектами.

Исследование методов автоматического программирования с применением искусственного интеллекта

В статье автор исследует методы применения искусственного интеллекта для разработки инструментов разработки программного обеспечения направлены на создание интеллектуальных систем, способных автоматически анализировать, оптимизировать и документирова...

Моделирование сложных динамических систем и механизмов методом компьютерного моделирования высокой детализации (КМВД)

Автором статьи разработан оригинальный метод компьютерного моделирования высокой детализации (КМВД), который позволяет решать задачи моделирования динамических систем и механизмов любой сложности. С помощью этого метода построены работающие динамичес...

Перспективы разработки программного обеспечения для визуализации результатов теоретико-множественного анализа сложных систем

В данной статье рассмотрена актуальность проведения теоретико-множественного анализа. Проведен анализ предметной области. Рассмотрены недостатки существующих программных решений. Создана функциональная модель реализации визуализации сложной системы.

Даталогическое моделирование задачи формирования алгоритмических структур инфологических моделей предметных задач

На кафедре «Информационные технологии и вычислительные системы» Московского государственного технологического университета «СТАНКИН» была разработана методология автоматизации интеллектуального труда (МАИТ). Методология автоматизации интеллектуальног...

Интеллектуализация системы обнаружения и предотвращения сбоев в сети

В статье обсуждены вопросы разработки программного приложения по обнаружению, предотвращению и предсказанию наблюдающихся сбоев в составе локальной сети. Целью создания программного приложения является интеллектуализация его алгоритмов, где на основе...

Задать вопрос