Документ взят из кэша поисковой машины. Адрес оригинального документа : http://www.abitu.ru/en2002/closed/viewwork.html?work=149
Дата изменения: Fri May 5 15:25:53 2006
Дата индексирования: Tue Oct 2 02:32:59 2012
Кодировка: koi8-r

Поисковые слова: п п п п п п п п п п п п п п п п п п п п

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














ПРИМЕНЕНИЕ МОДУЛЯРНОЙ АРИФМЕТИКИ ДЛЯ УСКОРЕНИЯ НЕЙРООБРАБОТКИ.








Выполнил учащийся 11 класса ФМО
Криворучко Георгий
Научный руководитель канд.тех.наук
Сахнюк П.А.












г. Ставрополь
СОДЕРЖАНИЕ.

ВВЕДЕНИЕ 3


ПРИМЕНЕНИЕ МОДУЛЯРНОЙ АРИФМЕТИКИ
ДЛЯ УСКОРЕНИЯ НЕЙРООБРАБОТКИ 4




ЗАКЛЮЧЕНИЕ 8


Введение.
Нейрокомпьютерная технология на сегодняшний день является одним из
наиболее развивающихся направлений вычислительной техники. Нейросетевые
методы открывают широкие возможности для использования их в различных
сферах деятельности, ранее относившихся лишь к области человеческого
интеллекта. При современном уровне развития техники, когда даже бытовая
техника оснащается микропроцессорными устройствами, возникла потребность в
интеллектуальных адаптивных системах управления, способных
приспосабливаться к очень широкому диапазону внешних условий. Более того,
возникла потребность в универсальной технологии создания таких систем.
Научный опыт человечества свидетельствует о том, что в природе можно найти
великое множество ценных идей для науки и техники. Человеческий мозг
является самым удивительным и загадочным созданием природы. Способность
живых организмов, наделенных высшей нервной системой, приспосабливаться к
окружающей среде, может служить призывом к подражанию природе или имитации
при создании технических систем. Среди имитационных подходов выделяется
класс нейросетевых методов. Нейронные сети (НС) нашли широкое применение в
областях искусственного интеллекта, в основном связанных с распознаванием
образов, обработкой сигналов и с теорией управления.
Это, наряду с возможностями массового параллелизма модулярных
нейровычислений, определило целесообразность создания специализированных
вычислительных систем для решения формализуемых, трудно формализуемых и не
формализуемых задач, трудных для традиционных средств вычислительной
индустрии. Также дальнейшее повышение производительности компьютеров все в
большей мере связывают с искусственными нейронными сетями (ИНС), в
частности, с нейрокомпьютерами (НК), основу которых составляет
искусственная нейронная сеть.
Но на данный момент технология не позволяет создавать НК, в основе
которых лежит ИНС. На сегодня выходом из этого положения является эмуляция
ИНС с помощью программного обеспечения. Однако, главной проблемой остается
вопрос скорости и производительности ИНС, т.к. обучение сети осуществляется
итеративным методом, т.е. многократным прогоном данных через сеть для
получения наилучшего результата, и требует огромного числа нейросетевых
операций: умножить и сложить.
Следовательно, для увеличения скорости обработки сетью поступающих
данных необходимо увеличить скорость выполнения нейросетевых операций. На
сегодня основными методами увеличения скорости являются увеличение тактовой
частоты, уменьшение времени доступа к памяти и применение распараллеливания
вычислений. Однако тактовая частота работы (как и скорость доступа к
памяти) вычислительной системы определяется технологией производства
элементной базы и в настоящее близка к предельно достижимой для данного
уровня технологии производства, таким образом основным путем решения
проблемы увеличения производительности становится распараллеливание
вычислений.

Применение модулярной арифметики для ускорения нейрообработки.

Несмотря на большое разнообразие вариантов нейронных сетей, все они
имеют общие черты. Искусственные нейронные сети состоят из нейронов,
функциональные возможности которых аналогичны большинству элементарных
функций биологического нейрона. Эти элементы затем организуются по способу,
который может соответствовать анатомии мозга. Несмотря на такое
поверхностное сходство, искусственные нейронные сети демонстрируют
удивительное число свойств, присущих мозгу.
В качестве аналога нейрона используется вычислительный элемент, в
дальнейшем называемый линейным пороговым элементом (ЛПЭ) и определяемый
соотношением
[pic], (1)
где x=(x1, x2, ..., xn) - входной сигнал нейрона; a=(a1, a2, ...,an) -
набор весовых коэффициентов; N - размерность входного сигнала; b - значение
смещения (пороговый параметр нейрона); [pic]- функция активации; y -
выходной сигнал.
Нейронная сеть является специфической параллельной вычислительной
структурой. Характеризуется она большим числом связей между каждым
процессорным элементом, т.е. нейроном. В НС все нейроны работают
конкурентно, а на результат вычисления влияет информация, зашифрованная в
связях между элементами сети. Нейронная сеть представляет собой
выскопараллельную динамическую систему. Такая сеть получает входной сигнал,
реагирует на него и выводит конечную информацию. А особенность такой сети
состоит в том, что порядок обработки информации заложен именно в степени
прочности связей между нейронами. Нейронные сети по сути дела являются
формальным аппаратом описания только основной части алгоритма решения
задачи на ЭВМ. Это ограничение позволяет разрабатывать высокопараллельные
алгоритмы решения различных задач.
Преимущество НК заключается в том, что если алгоритм обработки
информации задан, но не хватает вычислительных мощностей, то после
представления алгоритма в нейросетевом логическом базисе, становится
возможным использование мощных аппаратных средств с массовым параллелизмом.
Там же, где алгоритмов нет или они недостаточно эффективны, нейронные сети
способны предложить многообещающий подход к созданию алгоритмов, которые
будут обладать многими привлекательными чертами. Такими как гибкость,
способность адаптироваться к изменяющимся условиям, сохраняя при этом
высокое качество работы.
Дальнейшая наша задача - найти способы ускорения операций сложения и
умножения, которые являются основными в нейросетевом логическом базисе. Как
один из способов решения этой задачи - внедрение непозиционной системы
счисления. Одним из нетрадиционных методов вычисления является применение
системы счисления в остаточных классах (СОК).
Если задан ряд положительных целых чисел
p1, р2, ...,рп,
называемых в дальнейшем основаниями системы, то под системой счисления в
остаточных классах будем понимать такую систему, в которой целое
положительное число представляется в виде набора целых неотрицательных
остатков (вычетов) по выбранным основаниям
A = [pic]
причем образование цифр осуществляется следующим процессом
[pic] для i=1, 2, ., n, (2)
т.е. цифра i-го разряда [pic] числа A есть положительный наименьший остаток
от деления A на pi.
Здесь образование цифры каждого разряда производится независимо друг
от друга. Цифра i-го разряда [pic] представляет собой положительный
наименьший остаток от деления самого числа A, а не предыдущего частного на
i-е основание. Очевидно, что [pic]. Если числа pi взаимно простые между
собой, то описание цифрами [pic] представление числа A является
единственным.
Объем диапазона представимых чисел в этом случае равен
[pic]
Здесь, как и в позиционной системе, диапазон представимых чисел растет
как произведение оснований, а разрядность чисел A растет как сумма
разрядностей тех же оснований.
К достоинствам системы в остаточных классах следует отнести:
- независимость образования разрядов числа, в силу чего каждый разряд
несет информацию обо всем исходном числе, а не о промежуточном числе,
получающемся в результате образования более младших разрядов. Отсюда
вытекает независимость разрядов числа друг от друга и возможность их
независимой параллельной обработки;
- малоразрядность остатков, представляющих число. Ввиду малого
количества возможных кодовых комбинаций открывается возможность построения
табличной арифметики, благодаря чему большинство операций, выполняемых
арифметическим устройством, превращаются в однотактные, выполняемые простой
выборкой из таблицы.
Рассмотрим правила выполнения операций сложения и умножения в системе
остаточных классов в случае, если оба числа и результат операции находится
в диапазоне [0,Р). Пусть операнды А и В представлены соответственно
остатками [pic] и [pic] по основаниям рi при i = 1, 2,..., п.
Результаты операций сложения и умножения А + В и АВ
представлены соответственно остатками [pic] и [pic] по тем же основаниям pi
т.е.
А = [pic],
B = ([pic]),
A +B = ([pic]),
АВ = ([pic]),
и при этом имеют место соотношения
[pic].
Утверждается, что [pic]сравнимо с [pic] по модулю рi, а [pic] сравнимо
с [pic] по тому же модулю, т.е.
[pic](mod pi),
[pic](mod pi),
при этом в качестве цифры результата берется соответственно
[pic] (3)
[pic][pic] (4)
Действительно, на основании (3) можно написать
[pic]
для i= 1, 2, ., n.

Из представления А и В следует, что
А = [pic] (5)
В = [pic]
для i = 1,2,..., п,
где ki и li - целые неотрицательные числа. Тогда
A+B = [pic]
[pic]
где i = 1,2,...,п
откуда
[pic]
что и доказывает (3).
В случае умножения
[pic].
Учитывая (5), получим
AB[pic]
[pic]
i = 1, 2,..., п.
Следовательно,
[pic][pic][pic][pic]
что и доказывает (4).[pic][pic]
Пример 1. Пусть основаниями системы являются
p1= 3, р2 = 5, р3 = 7.
Диапазон системы определится как
Р= p1p2p3=105.
Сложим число А = 17 с числом В = 63.
По выбранным основаниям числа А и В в системе остаточных классов будут
представлены как
А = 17 = (2, 2, 3),
В = 63 = (0, 3, 0).
В соответствии с (3) получим
А + В=(2, 0, 3).
Легко проверяется, что число (2, 0, 3) есть 80 и равно сумме
операндов.
Пример 2. Умножим число А = 17 на число В = 6.
В системе остаточных классов числа А и В будут представлены как
А =17 = (2, 2, 3),
В = 6 = (0, 1, 6).
В соответствии с (4) получим
AВ = (0, 2, 4) = 102.
Операции сложения и умножения над числами, представленными

в системе остаточных классов, сводятся к соответствующим операциям

над цифрами этого представления. Это оказывается справедливым и для

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

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

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

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

так и промежуточных результатов. При некоторых правилах выполнения

оказывается возможным ограничиться требованием невыхода из

диапазона лишь окончательного результата, оставляя за промежуточными
результатами возможность выходить за пределы диапазона.
При сопряжении вычислительных устройств, функционирующих в модулярной
арифметике, с позиционными устройствами возникает задачи эффективной
реализации перевода данных, представленных в модулярном коде в позиционное
представление.
Так, при использовании метода ортогонализации, число A в модулярном
коде преобразуется в позиционный код вычислением по модулю полного
диапазона P
A=[pic], (6)
где: Bi - ортогональные базисы, определяемые согласно выражению
Bi=mi[pic] (7)
для i =1, 2, . , k; mi - вес ортогонального базиса, удовлетворяющий
сравнению
[pic]=1.
(8)
Ортогональные базисы Bi являются основными константами для выбранной
системы оснований pi, i=[pic], непозиционной системы счисления.
Пример. Требуется перевести число A=(1, 2, 3) представленное в
модулярном коде по основаниям p1=2, p2=3, p3=5 в позиционную систему
счисления.
Для заданной системы оснований P = p1( p2( p3 = 30. Вычислим [pic]=
15, [pic]= 10, [pic]= 6. Вычислим теперь [pic]=1, [pic]=1, [pic]=1. По
таблице сравнений [4] находим m1 = 1, m2 = 1, m3 = 1. Итак, B1 = 15, B2 =
10, B3 = 6. Число A в ПСС равно A=[pic]=(1(15+2(10+3(6(30=(15+20+18(30=23.
Таким образом, выполнение арифметических операций в СОК производится
независимо по каждому из модулей, что и указывает на параллелизм данной
системы и приводит к появлению кодов с параллельной структурой. В отличие
от позиционной системы счисления исчезает необходимость «занимать» или
«переносить» единицу старшего разряда. Появляется возможность
распараллелить основные арифметические операции, которые выполняются в
нейронной сети. Заметим, что модулярная арифметика является альтернативным
подходом к построению ВС, которые в настоящее время базируются в основном
на использовании двоичной арифметики.
Еще одним преимуществом СОК является семантическое сходство
математической формы записи КТО и НС:
[pic]
Из чего можно сделать вывод, что применение СОК несколько упрощает
аппаратную реализацию НС, т.е. не требуется перестройки архитектуры НС под
СОК, что приближает к созданию НК на искусственных нейронных сетях.

Заключение.

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



[pic]

Функциональная схема порогового нейрона

Передаточная функция нейрона

[pic],

[pic]



y - значение выхода нейрона;
a=(a1, a2, ., aN) - весовые коэффициенты;
a0 - порог;
x1 - входные значения нейрона (xi ( {0,1});
N - размерность входного сигнала нейрона
МАТЕМАТИЧЕСКАЯ МОДЕЛЬ СИСТЕМЫ ОСТАТОЧНЫХ КЛАССОВ
Пусть p1, p2, . , pn - попарно взаимно простые числа, а [pic]. [pic], (pj,
pi)=1,
Введем обозначения [pic]; [pic]; [pic].
Тогда система линейных сравнений [pic] имеет единственное по модулю Pn
решение,
[pic]:[pic], где [pic], [pic], [pic], при [pic] mod [pic].
A = ((1, (2, . , (n), [pic], ([pic]),
Если A = ((1, (2, . , (n) и B = ((1, (2, . , (k), то [pic] [pic] . [pic],
Где [pic] - модульные операции, для A, B, [pic].

СЕМАНТИЧЕСКОЕ СХОДСТВО МАТЕМАТИЧЕСКОЙ ФОРМЫ ЗАПИСИ КТО И НС

[pic]
{(i} ~ {xn}, {Bi} ~ {[pic]n}, {P} ~{b}