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

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

CC BY
276
79
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
АНАЛИЗ ИЗОБРАЖЕНИЙ / НЕЙРОННЫЕ СЕТИ / РАСПРЕДЕЛЕННЫЕ ВЫЧИСЛИТЕЛЬНЫЕ СИСТЕМЫ / ОТОБРАЖЕНИЕ АЛГОРИТМОВ

Аннотация научной статьи по математике, автор научной работы — Тарков М. С.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

MAPPING NEURONET ALGORITHMS OF IMAGE ANALYSIS ON REGULAR STRUCTURES OF DISTRIBUTED COMPUTER SYSTEMS

Algorithms of mapping weight matrix of the first (buried) layer of neural network on distributed computer systems with torus at parallel solution of problems of image analysis have been proposed. It was shown that selection of mapping device depends on the ratio of a number of neurons in the layer to a number of neuron weighting coefficients (image pixels). In particular, for Hopfield network, distribution on processors of weight matrix rows gives higher efficiency of computing paralleling than column distribution.

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

Заключение

Язык описания макросов для ОВС МшТега II предназначен для текстового описания и последующего порождения макросов. Этот язык дает возможность строить макросы любого типа, наличие компилятора позволяет визуализировать гра-

фическое обозначение макроса в существующей системе программирования ОВС.

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

СПИСОК ЛИТЕРАТУРЫ

1. Колдовский В. Язык Erlang и программирование для мультия-дерных процессоров [Электронный ресурс]. - режим доступа: http://itc.ua/node/2672l/. - 23.09.2008.

2. Кузнецов О.П., Адельсон-Вельский ГМ. Дискретная математика для инженера. - М.: Энергия, 1980. - 409 с.

3. Воеводин В.В. Математические модели и методы в параллельных процессах. - М.: Наука, 1986. - 296 с.

4. Gross Т., O’Hallaron D.R. iWARP. Anatomy of a Parallel Computing System. - MIT Press, March 1998. - 530 p.

5. Лукин Н.А. Реконфигурируемые процессорные массивы для систем реального времени: архитектуры, эффективность, области применения. // Известия ТРТУ. - 2004. - № 9. -C. 36-45.

Поступила 14.07.2008 г.

УДК 004.89

НЕЙРОННАЯ СЕТЬ, ОСНОВАННАЯ НА ТОЧЕЧНЫХ ОТОБРАЖЕНИЯХ

А.К. Стоянов

Томский политехнический университет E-mail: stoj-ak@ad.cctpu.edu.ru

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

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

Нейрон, нейронная сеть, точечные отображения, особые точки, классификация, фильтрация.

Одной из особенностей применения нейронных сетей является «непрозрачность» механизма получения конечного результата. Нейронная сеть представляется «чёрным ящиком», который путем обучения настраивается на достижения результата. Это затрудняет как поиск новых путей использования, так и подбор параметров сетей, не говоря уже

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

Моделирование нейронных сетей одномерными отображениями

Пусть имеется многослойная нейронная сеть прямого распространения [1], схематично представленная на рис. 1. Слой входных нейронов -

0 слой, слой выходных нейронов - 3 слой.

Каждый из нейронов одного слоя соединен своим выходом с входами всех нейронов соседнего слоя: нейроны входного слоя с нейронами 1 (скрытого) слоя; эти, в свою очередь, с нейронами 2 слоя и т. д. На рис. 1 отображена часть таких соединений. На нейроны входного 0 слоя подается дискретный сигнал $={х;}, /=0,1,2.... Здесь / — номер

входного нейрона, х; - значение, подаваемое на вход і - нейрона 0 слоя. На входу-го нейрона 1 слоя подается сигнал, равный

(1)

Здесь I - количество нейронов входного слоя, - вес синапса, соединяющего г-й нейрон входного слоя с у-м нейроном 1 слоя.

3 слой ■— ^ _ ^ ■ ■ V ' ^ т= 0,1, 2

2 слой * г *= 0,1,2

1 слой ^ II ; ■ .

Рис. 1. Схема нейронной сети

Будем считать, что входной сигнал S - непрерывный. В этом случае для обработки всех его значений потребуется континуум нейронов. Номер нейрона г можно отождествить в этом случае со значением непрерывной текущей координаты £. Отождествим также у с непрерывной координатой £!, и к - с £2. Сумма (1) при таком предельном переходе может быть записана в виде интеграла

х'(0 =1 х(С) • Ж (С,С,) • йС,.

(2)

При записи (2) конечные значения координаты £, соответствующие конечным значениям индекса суммирования г, включены в определение функции х(£): она равна нулю вне интервала значений аргумента, соответствующих этим значениям. Весовая функция ЩС,^) - непрерывная функция своих аргументов. Потребуем, чтобы она зависела от разности своих аргументов, т. е. Ж(£,£!)=ЩС-&). При этих требованиях (2) является сверткой входного сигнала с весовой функцией:

х(Сг) = Х(С1) ® Г (С1). (3)

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

1__________

Уі(Сі) =

1 + ехр(-а •х1(£,) + в)'

(4)

Этот преобразованный сигнал подается на входы нейронов второго скрытого слоя. При этом механизм передачи сигнала от слоя к слою не меняется, то есть входной сигнал в точке £2 второго скрытого слоя равен

Ж2) = яЮ (С2). (5)

Затем в точке £2 сигнал (5) нелинейно преобразуется к виду

1

=

1 + ехр(-а • у'(^2) + в)'

(6)

Пусть Щ£) обладает свойствами 5-функции Дирака, и пусть координаты точек, выбранных в каждом из слоев, совпадают, то есть возьмем ^1=С2=Со- Тогда, учитывая фильтрующие свойства 5-функции, из (3)—(6) получим следующую последовательность соотношений:

х(С0) = Х(£0),

У1СС0) = / (х(Со)),

У2 (^0 ) = /(/(Х(Со)))-

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

/ (х) =--------1--------

1 + ехр(-а ■ х + в)

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

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

Т • £ х(0•8(С-І^Т).

(7)

Здесь Т — шаг выборки, 5(£-г-7) - функция Дирака. Подставляя выражение (7) в (2), после некоторых преобразований получим для входных сигналов нейронов 1 слоя соотношение, имеющее привычный для нейронных сетей вид:

х (Сі) = Т • £ х(і •Т) Ж(С,-і •Т).

(8)

Ранее отмечалось, что Ж(^) должна обладать свойствами 5-функции Дирака. Если взять

этК О

Ж (О = ■

П<

(9)

то при достаточно большом значении о0 эта функция будет обладать свойствами 5-функции Дирака. В результате из (8) получим:

хК.) = Т. £ хЦ-Т -ТТ > (10)

і=-о П •(Сі-і •Т)

Если оо0=п/Т, то выражение (10) является записью значения х'(Сі), восстановленного по дискретным значениям входного сигнала для функции со спектром, ограниченным величиной |ю|<ю0.

г=-да

Таким образом, весовые коэффициенты, определенные по (9), позволяют подать на вход отдельного нейрона первого слоя сигнал, повторяющий значение функции х(0) в выбранной точке С0. Очевидно, что на каждом слое можно задавать весовые коэффициенты №(£), позволяющие подавать на вход отдельного нейрона этого слоя выходное значение какого-либо нейрона предшествующего слоя- Тем самым в многослойной нейронной сети прямого распространения реализуется точечное отображение входных значений-

Существуют и другие, более простые способы, реализации отображений в сети. Можно использовать бинарную нейронную сеть, то есть сеть, в которой синаптические связи принимают значения о или 1- В такой сети подают сигнал с выхода одного нейрона на вход другого нейрона (или нескольких нейронов), сделав все остальные связи нулевыми-При этом на вход нейрона скрытого слоя может поступить только один сигнал. На вход одного нейрона выходного слоя могут поступить сигналы от нескольких нейронов.

Самая простая реализация отображений выполняется одним нейроном с обратной связью.

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

Работа нейронной сети

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

2" 3 ' А '

I &

2 • 1 с • 0

&

Рис. 2. Кривая 1 - для смещения в=0; кривая 2 - для р?0; прямая 3 - биссектриса у=х прямого угла

На рис. 2 приведены графики сигмоиды для разных значений коэффициента наклона а и смещения р. Пересечение биссектрисы кривыми задает особые точки отображения [2]. Видно, что у кривой 1 - одна особая точка - точка А. Нетрудно убедиться, что это - устойчивая притягивающая точка. У кривой 2 - три точки: А и С - устойчивые притягивающие точки, а В - неустойчивая точка.

Пусть имеется возможность установить значения хА, хв, хс соответствующие точкам А, В и С кривой 2. Пусть также в сети есть нейрон первого слоя с такими значениями особых точек. Представим, что на вход сети подаются два сигнала. У одного из них все значения больше хв, у второго - все значения меньше хв. Последовательное применение отображения к значению сигнала в первом случае приведет к тому, что на таком нейроне это значение будет стремиться к величине хА - значению, соответствующему устойчивой точке А. Во втором случае отображаемые значения будут стремиться к хс -значению, соответствующему устойчивой точке С. Следовательно, этот нейрон может разделить все входные сигналы на два класса.

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

Пусть все допустимые числовые значения первого признака для разных классов лежат в раздельных, непересекающихся числовых диапазонах (/-м признаком будем считать значение /-го отсчёта классифицируемого сигнала). Подадим значение этого признака от входного нейрона на три нейрона (по числу анализируемых классов). Каждый из нейронов имеет активационную функцию в виде сигмоиды с различными значениями коэффициентов наклона а и смещения р.

Пусть минимальное значение признака для /-го класса равно х1 а максимальное - X, где /=1,2,3. Пусть значение У1 неустойчивой точки у первого из нейронов лежит в интервале У1<х1, а значение Я1 устойчивой точки А - в интервале Х1<Я1<х2. Для второго нейрона значение У2 неустойчивой точки и значение Я2 устойчивой точки возьмём, соответственно, в интервале Я1<У2<х2 и Х2<Я2<х3. Для 3 нейрона величины У3 и Я3 возьмём в интервалах Я2< У3<х3 и Х3<Л3. Пусть также для устойчивой точки С у каждого из нейронов соответствующие значения равны г1, г2 и г3. Рассмотрим, какие величины при отображении примут значения, поданные на вход каждого из нейронов. Для удобства рассуждений отображённые значения сведены в табл. 1. На пересечении строк с номером класса к и номером нейрона т стоит выходное значение, получаемое при отображении значения признака соответствующего класса к, поданного на вход нейрона т.

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

значения рассматриваемых нейронов, то величина суммы будет разной для разных классов. Например, при подаче на входы нейронов признака 2 класса она примет значение Я1+Я2+г3. Очевидно, что эта сумма может служить индикатором при классификации, если подать её на вход выходного нейрона.

Таблица 1. Отображённые значения признаков классов

Номер нейрона Выходные значения нейронов

1 класс 2 класс 3 класс

1 Я Г} г-з

2 «1 Я2 Г-3

3 Я «2 «3

Подобные рассуждения можно провести и для других признаков. Ясно, что суммирование всех выходных значений, полученных при отображении, позволит создать индикатор для анализируемого сигнала в целом. В приведённых рассуждениях области допустимых значений какого-либо признака для всех классов не перекрываются. Если же часть из областей (или все области) перекрываются, то значения неустойчивой точки следует брать с учетом максимального и минимального значений из области перекрытия. Например, если перекрываются значения у 2 и 3 классов, то величину х2 нужно взять равной минимуму из всех перекрывающихся значений, а Х2- максимуму из всех перекрывающихся значений.

Рассмотрим, как можно определить величины а и в для нейронов, чтобы нейросеть решала поставленную перед ней задачу классификации. Анализируя процесс отображения, можно прийти к выводу, что неустойчивая точка В и устойчивая точка А отображения должны удовлетворять уравнению (4). Поскольку эти точки расположены на биссектрисе прямого угля первого квадранта, то в (4) следует взять у=х. Задаваясь значениями Я устойчивой и У неустойчивой точек для одного нейрона, получим систему двух нелинейных уравнений с неизвестными а и в. Такую систему легко решить численно, и получить значения неизвестных именно для этого нейрона. Процедура выбора значений особых точек 7и Я была обсуждена выше.

Возможен и другой подход к заданию значений устойчивой и неустойчивой точек, основанный на статистических свойствах значений рассматриваемого признака определённого класса. При достаточно большом объёме выборки случайные значения х одного признака можно считать распределенными по нормальному закону с дисперсией о2 вокруг среднего значения х0. Зададим значения неустойчивой точки У=хв=х0Гтои устойчивой Я=х4=х0+да.о, где т>1 - числовой множитель. Интервал хЛ-хв=2.ш.о определит величину доверительного интервала для х, то есть укажет, с какой вероятностью рассматриваемое х входит в заданный интервал, и, следовательно, принадлежит данному классу.

Рассмотрим вопрос о количестве нейронов в такой сети. Пусть у нас есть К классов с М признаками каждый. Очевидно, что для случая, когда значения

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

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

В случаях, когда диапазоны значений выбранного признака у части или всех классов перекрываются, нужно брать значение неустойчивой точки меньше минимального из перекрывающихся значений. Тогда вклад в результат будет одинаков для всех классов. Для учета этого вклада достаточно одного нейрона, настроенного на отображение значений из перекрывающихся диапазонов. Пусть К0 -число классов с не перекрывающимися значениями признаков, а К, где /=1,2...(К-К>) - число классов с перекрывающимися значениями в г-м признаке. Тогда количество нейронов для 1 скрытого

К-К 0

слоя будет равным М • К - I (К, -1).

,=1

Выражение (3) или эквивалентное ему (8) допускает использование низкочастотной фильтрации значений входного сигнала. Действительно, требования к ядру свёртки Ж(^) могут быть иными, чем обсуждалось выше. В частности, если в (9) взять о0< п/ Т, то выполнение (3) или (8) приводит к уменьшению высокочастотной составляющей в сигнале. Больший вклад будет у низкочастотной составляющей, то есть произойдёт низкочастотная фильтрация (сглаживание) входного сигнала. Выполнение такой фильтрации может приводить к разделению значений одного и того же признака для разных классов.

Экспериментальная проверка

Для проверки возможности создания нейронной сети-классификатора вышеизложенным методом использовались данные по ирисам Фишера [3]. Задача классификации ставится следующим образом. По известным значениям четырех признаков цветка необходимо отнести ирис к одному из трех классов: 8е1о8а, \fersico1or или Ущшса. Цветок ирис характеризуется набором четырёх признаков: длина и ширина чашелистика, длина и ширина лепестка.

Исследуемая выборка состоит из 150 наборов признаков цветков, по 50 наборов в каждом классе. В классе 40 случайно выбранных наборов входили в обучающую выборку, 10 - в тестовую. Обучающая выборка использовалась для расчёта параметров нейронов. Её размер достаточен, чтобы считать, что значения признаков в классе распределе-

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

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

Во входном слое моделируемой сети было четыре нейрона, на вход каждого из которых подавалось числовое значение одного из признаков классифицируемого ириса. Эти нейроны, как обычно, никаких вычислительных операций не выполняли. Их назначение - передача входных значений к нейронам первого скрытого слоя. На вход каждого из нейронов скрытого слоя подавалась взвешенная сумма входных значений, определяемая выражением (10).

Предварительный анализ исходных данных показал, что лишь в двух случаях есть разделение диапазонов значений признаков отдельных классов. Числовые значения признаков «длина лепестка» и «ширина лепестка» у класса Setosa лежат в диапазонах, не пересекающихся со значениями этих же признаков у других классов - Virginica и Versicolor. Остальные признаки имеют значения, расположенные в частично пересекающихся диапазонах.

Для уменьшения пересечения диапазонов, то есть фактически увеличения разброса значений какого-либо признака, использовалась низкочастотная фильтрация исходных данных. Весовые коэффициенты нейронов первого скрытого слоя вычислялись по (9) при частоте ю0<£.(гс/7), где к<1. Величина к задаёт размер прямоугольного окна фильтрации в частотной области. Она подбиралась по общей обучающей выборке всех классов отдельно для каждого признака таким образом, чтобы разброс значений этого признака был максимальным. Случайный разброс значений каждого признака характеризовался относительным стандартным отклонением. Чем оно больше, тем больше этот разброс. Фильтрация позволила почти полностью разделить значения признака «ширина лепестка» для классов Virginica и Versicolor, ранее значительно пересекавшихся. В пересекающейся области у каждого из классов осталось по три значения этого признака. Для остальных признаков фильтрация не дала желаемого результата.

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

Параметры а и в активационных функций нейронов первого слоя определялись численно, как сказано ранее, из системы двух нелинейных уравнений. Каждое из уравнений имеет вид (4), где у=х. Выбор значений устойчивых хА и неустойчивых точек хв для нейронов разных признаков и классов осуществлялся по результатам статистической обработки отфильтрованных значений так, как это обсуждалось в предыдущем разделе. Величина множителя т бралась в разных случаях равной либо 2, либо 3, что обеспечивает более чем 95 % вероятность попадания в выбранный доверительный интервал. Вычисленные значения а и в приведены в табл. 2.

Таблица 2. Значения коэффициентов наклона и смещения

Нейрон 1 2 3 4 5 6 7

а 94,334 7,416 5,197 9,561 4,33 4,474 6,5і

в -5,765 -і,884 -і,41Б -3Д85 -U63 -здз

Реализация отображений в эксперименте была смоделирована цепочками последовательно соединённых нейронов с одинаковыми активационными функциями. В начале каждой цепочки располагался один из нейронов 1 скрытого слоя. Такая реализация отображений обусловлена тем, что всё моделирование проводилось средствами табличного процессора MS Excel, где отдельный нейрон представлял собой ячейку таблицы с записанной в ней формулой нелинейного преобразования входного значения. Длина цепочки, то есть число нейронов, зависела от скорости достижения устойчивой точки и заданной точности вычислений. При точности три знака после запятой в отдельных случаях требовалось до 50-60 нейронов. Достигнутые устойчивые значения для всех цепочек суммировались и использовались в качестве индикатора класса. Для индикации суммы масштабировались и подавались на выходной нейрон.

Таблица 3. Суммы устойчивых состояний для разных классов

Класс Суммы устойчивых состояний Число объектов с указанной суммой

Setosa 0,937 50

Versicolor і,864 47

4,197 3

Virginica 4,197 47

4,895 1

3,734 2

Значения сумм, полученных в результате выхода к устойчивым точкам, для каждого класса были разными, но неизменными в пределах класса для большинства объектов (цветков). У класса БеЬза сумма была неизменной для всех 50 объектов из обеих выборок (100 % классификация). Для класса Уегасо1о 3 объекта из обучающей выборки дали результаты, отличающиеся от остальных (94 % классификация). У класса Уц^шса также 3 отличия: два в обучающей выборке, одно - в тестовой. В целом по всем классам сеть распознала более 96 % предъявленных объектов.

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

Выводы

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

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

ции Щ£), рассчитанными для определённых значений её аргумента. Вид Ж(£) определяется желаемыми характеристиками низкочастотной фильтрации входного сигнала и задает форму окна фильтрации в частотной области.

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

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

СПИСОК ЛИТЕРАТУРЫ 3. Миронов С. Ирисы Фишера [Электронный ресурс]. - режим

Хайкин С. Нейронные сети: полный курс. Пер. с англ. - М.: Доступа. ЬіІр.//«™ііе1рЬікіП8аот.сот/а8р/уіе№ІІет.а8р?саІа-

Издательский дом «Вильямс», 2006. - 1104 с. - 21.10.2008.

Лоскутов А.Ю., Михайлов А.С. Введение в синергетику. - М.:

Наука’ 199(1 - 270 с. Поступила 27.10.2008 г.

УДК 681.3.06:681.323

ОТОБРАЖЕНИЕ НЕЙРОСЕТЕВЫХ АЛГОРИТМОВ АНАЛИЗА ИЗОБРАЖЕНИЙ НА РЕГУЛЯРНЫЕ СТРУКТУРЫ РАСПРЕДЕЛЕННЫХ ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ

М.С. Тарков

Институт физики полупроводников СО РАН, г. Новосибирск E-mail: tarkov@isp.nsc.ru

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

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

Анализ изображений, нейронные сети, распределенные вычислительные системы, отображение алгоритмов.

Введение

В настоящее время наблюдается устойчивая тенденция роста объема перерабатываемой визуальной информации в современных информационных системах. Вместе с этим возрастают и требования к производительности таких систем. Одним из наиболее перспективных направлений в решении этой проблемы является использование нейрокомпью-терных технологий обработки изображений [1, 2]. В качестве преимущества такого рода технологий можно выделить возможность в рамках единого ме-тодико-алгоритмического базиса решать самые различные задачи обработки изображений. Кроме того, следует отметить, что большинство задач обра-

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

Элемент нейронной сети (нейрон) реализует преобразование вида у=/Цу,х)), где (м,х) - скалярное произведение вектора входных сигналов х на вектор весовых коэффициентов нейрона, / - нелинейная функция. Каждый весовой коэффициент соответствует одному входу (синапсу) нейрона. Множество нейронов, обрабатывающих один и тот же вектор входных сигналов х, образует слой нейронов. Функционирование слоя описывается формулой

i Надоели баннеры? Вы всегда можете отключить рекламу.