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

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

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

Автор:

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

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

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

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

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

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

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


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

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

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

Визуализация комбинаторных задач теории вероятностей

Используется два вида операций: отбор подмножеств и упорядочению элементов множества. Комбинаторные задачи с точки зрения теории множеств — это задачи на определение числа возможных конечных множеств или кортежей с определенными...

Алгоритмы веб-сервиса обработки сборок метаданных для...

На сегодняшний день на рынке существует множество CRM-решений.

‒ Если тип вставки CRM, то происходят операции с сущностью с помощью методов CRM

Алгоритмы обработки информации в системе технического зрения робота.

Формирование методов и задач компьютерного зрения...

При работе с полутоновыми изображениями, понятия базовых операций над множествами основанных на

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

Применение нечеткой логики в задачах обработки визуальной информации...

Нестрогое сопоставление записей реляционных баз данных...

Получить кортежи отношения X, которым соответствует больше одного кортежа отношения Y, и наоборот, можно выполнив соответствующие группировки. Для элементов, которым соответствует множество размерности больше единицы...

Алгоритмы распознавания объектов | Статья в сборнике...

Существует множество методов распознавания объектов на изображении.

Второй шаг является наиболее трудоемким этапом в алгоритме, сложность которого

Суть пороговой обработки заключается в разделении объектов изображения на два типа по признаку яркости.

Обзор методов распознавания изображений | Статья в сборнике...

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

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

Организация сбора технологических данных с буровой и передачи...

В JMS слушателе написан алгоритм обработки WITS0 и занесение декодированной информации в базу данных.

Наиболее известные приложения на основе EclipcePlatform — различные «Eclipse IDE» для разработки ПО на множестве языков например, наиболее...

Целеполагание при проектировании курса «Дискретная...»

Полезная информация. Спецвыпуски. Как опубликовать статью.

Формировать представление о графе как о паре множеств особого вида.

Формировать представление о изоморфизме как отношении эквивалентности.

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

Визуализация комбинаторных задач теории вероятностей

Используется два вида операций: отбор подмножеств и упорядочению элементов множества. Комбинаторные задачи с точки зрения теории множеств — это задачи на определение числа возможных конечных множеств или кортежей с определенными...

Алгоритмы веб-сервиса обработки сборок метаданных для...

На сегодняшний день на рынке существует множество CRM-решений.

‒ Если тип вставки CRM, то происходят операции с сущностью с помощью методов CRM

Алгоритмы обработки информации в системе технического зрения робота.

Формирование методов и задач компьютерного зрения...

При работе с полутоновыми изображениями, понятия базовых операций над множествами основанных на

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

Применение нечеткой логики в задачах обработки визуальной информации...

Нестрогое сопоставление записей реляционных баз данных...

Получить кортежи отношения X, которым соответствует больше одного кортежа отношения Y, и наоборот, можно выполнив соответствующие группировки. Для элементов, которым соответствует множество размерности больше единицы...

Алгоритмы распознавания объектов | Статья в сборнике...

Существует множество методов распознавания объектов на изображении.

Второй шаг является наиболее трудоемким этапом в алгоритме, сложность которого

Суть пороговой обработки заключается в разделении объектов изображения на два типа по признаку яркости.

Обзор методов распознавания изображений | Статья в сборнике...

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

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

Организация сбора технологических данных с буровой и передачи...

В JMS слушателе написан алгоритм обработки WITS0 и занесение декодированной информации в базу данных.

Наиболее известные приложения на основе EclipcePlatform — различные «Eclipse IDE» для разработки ПО на множестве языков например, наиболее...

Целеполагание при проектировании курса «Дискретная...»

Полезная информация. Спецвыпуски. Как опубликовать статью.

Формировать представление о графе как о паре множеств особого вида.

Формировать представление о изоморфизме как отношении эквивалентности.

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