Официальный сайт МФТИ
Rambler's Top100
Официальный сайт МФТИ
Форум приемной комиссииФорум ректоратаКарта сайтаEnglish
 Поиск
 Разделы сайта

 Голосование
Знали ли Вы о том, что в МФТИ проводились следующие мероприятия?

Встреча с управляющим директором по развитию технологических проектов Московской межбанковской валютной биржи Сергеем Замолоцким
Встреча с соучредителем и генеральным директором Mail.Ru Group Дмитрием Гришиным
Открытая лекция директора аналитического бюро "Группа 24", Президента НО Фонд «ФОСТАС» Евгения Зиндера
Знал обо всех
Не знал ни об одном из этих мероприятий

Результаты
Архив голосований
 СЕКЦИЯ НЕЙРОКОМПЬЮТЕРОВ
Версия для печати

Архитектура нейроплат на ПЛИС


И.И. Киселёв

Московский физико-технический институт

 

В докладе рассматривается аппаратная реализация многослойных НС на FPGA Xilinx серии Virtex-E. Выбор архитектуры обрабатывающего элемента, для реализации многослойных НС, направлен на оптимальное использование аппаратных ресурсов FPGA Xilinx. Представлены результаты моделирования потоков данных при прямом распространении и обучении НС. Выдвинуты предложения по усовершенствованию архитектура нейроплаты. FPGA являются удобным средством аппаратной реализации алгоритмов, обладающих «естественным» параллелизмом. Использовались платы формата PCI, на которых расположены 4 FPGA. В одной из них размещен контроллер PCI 2.1, а к остальным трем подключены микросхемы ZBT RAM. FPGA соединены между собой по кольцу 32х-разрядными шинами.

Моделировались режимы прямого распространения и обучения 3х-слойной НС, содержащей N нейронов в каждом слое для различных N на данной плате. В процессе моделирования выяснилось, что предлагавшаяся ранее структура нейрона (8 8-ми разрядных входов, дерево сумматоров, выход взвешенной суммы, функция активации) оказалась неудобной для реализации больших НС с большой размерностью входного вектора. На кристалле XCV400E размещается 4 таких нейрона. Размещение затруднено тем, что для каждого умножителя необходимо подавать по 2 байта различных данных, а также тем, что дерево сумматоров плохо "ложится" на кристалл. В общем случае каждый такт на каждый нейрон необходимо подавать 8 компонент входного вектора и 8 весовых коэффициентов. Таким образом на кристалл необходимо каждый такт подавать 64 байта данных.

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

Рис.1

Здесь 1 – восьмиразрядный умножитель, 2 – накапливающий сумматор, 3 – функция активации, x_i- i-я компонента входного вектора, w_{ij} - весовые коэффициенты j-го нейрона y_j - выход j-го нейрона, u - управляющий сигнал, передающий взвешенную сумму на функцию активации и обнуляющий накопительный регистр сумматора.

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

Имеется возможность кэшировать данные, что позволяет значительно снизить объем данных, пересылаемых через PCI.

Назад:
Применение нейронных сетей при решении задачи текстонезависимой идентификации по голосу
Далее:
О методах распараллеливания нейросетевых алгоритмов на коммутационную среду супернейрокомпьютеров
наверх | на главную