Научная статья на тему 'Аппаратная реализация нелинейных математических функций для нейронных сетей'

Аппаратная реализация нелинейных математических функций для нейронных сетей Текст научной статьи по специальности «Математика»

CC BY
632
114
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
МАТЕМАТИЧЕСКИЕ ФУНКЦИИ / ПЛИС / VHDL / QUARTUS II / MATHEMATICAL FUNCTIONS / PLD

Аннотация научной статьи по математике, автор научной работы — Берёза А. Н., Ляшов М. В.

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

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

Похожие темы научных работ по математике , автор научной работы — Берёза А. Н., Ляшов М. В.

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

Hardware realization of nonlinear mathematical functions for neural network

This article is devoted a hardware-based realization of mathematical functions on the base of programmable logic device. The developed device will allow creating autonomous system processing information on the base programmable logic integrated circuit (PLD) with improved productivity.

Текст научной работы на тему «Аппаратная реализация нелинейных математических функций для нейронных сетей»

Раздел VI. Вычислительные комплексы нового поколения и нейрокомпьютеры

УДК 004.896

А.Н. Берёза, М.В. Ляшов АППАРАТНАЯ РЕАЛИЗАЦИЯ НЕЛИНЕЙНЫХ МАТЕМАТИЧЕСКИХ ФУНКЦИЙ ДЛЯ НЕЙРОННЫХ СЕТЕЙ

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

Существует большое количество разнообразных методов вычисления элементарных функций. Из них в цифровой вычислительной технике нашли применение [1]: разложение в ряд Тейлора; аппроксимация с помощью различного вида полиномов; цепные дроби; рациональные приближения; табличные методы; итерацион-.

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

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

t = т(£ + £ ),

пол V умн сл / ’

где т - степень полинома; £ - время выполнения команды умножения;

- время выполнения команды сложения.

Преимуществом разложения в ряд Тейлора является возможность вычисления коэффициентов членов ряда непосредственно в процессе работы. В связи с этим отсутствует необходимость запоминания их в памяти машины, как это требуется при полиномиальной аппроксимации по Чебышеву. Однако такой способ определения коэффициентов требует значительного времени вычисления. Недостатком использования ряда Тейлора является также его медленная сходимость при вычислении функций 1п X, й.Т^ X, аГСБШ X, что приводит к большому времени вычисления и накоплению значительной инструментальной погрешности. Кроме , -.

предварительно сводят в более узкую область с помощью соответствующих преоб-.

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

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

t = v(t +1 +1 ) ,

ц.др V уш дел СЛ / ’

где V - число звеньев дроби, зависящее от вида функции и требуемой точности.

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

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

.

.

Метод CORDIC (в отечественной литературе также употребляются термины метод «цифра за цифрой» или алгоритм Волдера (Voider)). Название является сокращением (аббревиатурой) от английского словосочетания «Coordinate Rotation Digital Computer», что можно перевести как цифровое вычисление поворота координат. Идея метода заключается в сведении вычисления значений сложных (например, гиперболических) функций к набору простых шагов вида сложений, вычитаний и сдвига, т.е. переноса запятой. Такой подход особенно полезен при вычислении функций на устройствах с ограниченными вычислительными возможностя-,

(FPGA). Кроме того, поскольку шаги однотипны, то при аппаратной реализации алгоритм поддается развёртыванию в конвейер либо свертыванию в цикл.

CORDIC , -

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

.

Сущность итерационных методов состоит в построении последовательности у.+1 = f (y,), сходящейся к функции у(х). Эффективность применения данных

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

деления и умножения в процессе выполнения итерации существенно увеличивает .

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

,

(т.е. содержание таблиц) [3].

-

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

,

.

- -

.

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

I (х) =—1—.

1 + е

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

Пусть I = [Ь, и] - интервал аппроксимации, где Ь < и и / : I ^ Я -функция которую аппроксимируем, где Я - множество действительных чисел. Предположим, что /: I ^ Я - линейная функция /(х) = С1 + с2 X . Относительная ошибка при этом равна

е( х)=лхьМ.

1( X)

Для нахождения коэффициентов с1 и с2, решая систему уравнений:

1

с, + с2 Ь =----

1 2 1 + е-аь ,

л 1 '

с + си =

:

12 1+*

а , е - е с1 =------------------> с 2 = ■

а+в а+в

где а = и - Ь + ие ~аи - Ье ~аЬ и в = ие ~аЬ + ие~аи-аЬ - Ье -аи-аЬ - Ье ~аи

Структурная схема устройства, реализующего кусочно-линейную аппроксимацию, показана на рис. 1.

Рис. 1. Структурная схема устройства, реализующего линейную интерполяцию Рассчитанные коэффициенты С1 и с2 хранятся в ОЗУ 1 и ОЗУ 2 соответст-

.

время функционирования сети без выключения питания. Декодеры адреса DC 1 и DC 2 предназначены для декодирования аргумента X в соответствии с шагом ап.

На рис. 2 представлен алгоритм расчета оптимального шага аппроксимации.

Рис. 2. Алгоритм расчет оптимального шага аппроксимации

На рис. 3 приведен пример аппаратной реализации 8-р^рядного устройства линейной интерполяции, выполненный в системе автоматизированного проектирования программируемых логических интегральных схем Quartus II фирмы Altera.

Рис. 3. Принципиальная схема устройства линейной интерполяции в файле верхнего уровня, созданная в пакете Quartus II

В результате моделирования работы устройства линейной интерполяции в системе автоматического проектирования Quartus II тактовая частота составляет 240 МГц. Один модуль сумматора занимает в микросхеме семейства Strarix EP1S10F484C5 фирмы Altera менее 2%.

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1. Байков В.Д. Самолов В.Б. Аппаратурная реализация элементарных функций в ЦВМ. - Л.: Изд-во Ленингр. ун-та, 1975. - 96 с.

2. Бандман (ХА. Специализированные процессоры для высокопроизводительной обработки данных. - Новосибирск: Наука, 1988. - 204 с.

3. Шевкотяс Б.В. Микропроцессорные структуры. Инженерные решения. Справочник / 2-е изд. перераб. и доп. - М.: Радио и связь, 1990. - 512 с.

4. . . / 2- , - : ,

2001. - 224 с.

УДК 681.518

В.А. Литвиненко, С.А. Ховансков, О.Р. Норкин АЛГОРИТМ УСКОРЕНИЯ ВЫПОЛНЕНИЯ РАСПРЕДЕЛЕННЫХ ВЫЧИСЛЕНИЙ В КОМПЬЮТЕРНОЙ СЕТИ*

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

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

* Работа выполнена при поддержке РФФИ (грант № 07-01-00174). 198

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