Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Систолический процессор SAND.

Особенности нейросети как вычислительной среды. | Применение процессоров общего назначения для построения нейросред. | Применение DSP для построения нейросред. | Быстрая выборка и исполнение команд. | Возможность работы в мультимикропроцессорных конфигурациях. | Мощные блоки вычислений. | SIMD-режим выполнения операций. | Применение ПЛИС для построения нейросред. | СБИС ETANN 80170NX. | СБИС CLNN32/CLNN64 фирмы Bellcore. |


Читайте также:
  1. CISC и RISC процессоры
  2. Бюджетное позиционирование графических процессоров
  3. Взаимодействие элементов при работе микропроцессора
  4. Возможности создания многопроцессорных вычислителей на базе NM6403.
  5. Возможность работы в мультимикропроцессорных конфигурациях.
  6. Диагностирование оборудования процессоров.
  7. Лекция 4. Микропроцессоры. Классификация УВ, УВВ, ВЗУ.

Чип SAND (Simple Applicable Neural Device) разработан для применения в промышленных и исследовательских системах реального времени. Чип способен реализовывать нейросети с максимальным числом входов 512.

Принцип параллельной работы обрабатывающих элементов показан на рис..

Рис. 21: Параллельная работа обрабатывающих элементов

Вектор входных значений (vector of input activities) подается параллельно на все обрабатывающие элементы. Матрица весов (weight-matrix) разделена на m векторов-строк (line vector), каждый из которых обрабатывается собственным обрабатывающим элементом. В результате работы каждого элемента получается одна из m выходных величин. Таким образом, для слоя нейросети, состоящего из m нейронов, можно использовать m элементов, работающих в параллельном режиме, без обмена информацией.

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

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

Рис. 22: Пример обработки данных (m = 4 входных вектора)

На рис. 22 показан пример обработки данных для m = 4. Четыре обрабатывающих элемента производят обработку сразу четырех входных векторов. Значения, уже переданные в чип SAND показаны на рисунку заштрихованными. Четыре обрабатывающих элемента показаны кругом, пятиугольником, восьмиугольником и квадратом. За каждый цикл перемножаются два одинаково выделенных элемента. За каждый цикл из памяти необходимо передавать только один весовой коэффициент и одно входное значение (остальные значения уже выбирались ранее). Четыре цикла обрабатывающий элемент работает с одним и тем же весовым коэффициентом, каждый четвертый цикл вес обновляется. Таким образом на шине весов наблюдается непрерывный поток значений-весов. Входные значения передаются от одного обрабатывающего элемента к следующему через внутренние регистры. Каждый цикл происходит передача очередного входного значения, поэтому на входной шине также наблюдается непрерывный поток значений.

Рис. 23: Структура чипа SAND

Архитектура кристалла SAND показана на рис. 23. Он содержит четыре параллельных обрабатывающих элемента PE (Processing Elements), каждый из которых снабжен АЛУ и блоками отсечения (auto-cut). АЛУ используется для умножения векторов. Так как АЛУ накапливает входные значения, выходная шина имеет разрядность 40 бит (это ограничивает число входных нейронов до 512). Блок отсечения приводит снижает разрядность до 16 с контролем переполнения и потери точности. Окно, выбирающее 16 бит из 40 может быть смещено пользователем по его усмотрению.

Для некоторых задач необходим модуль постобработки (Post-Processing Min-Max Search), который проводит поиск минимума или максимума. Функция активации реализована в виде внешнего чипа, содержащего таблицу поиска. Некоторые типы нейросетей нуждаются не только в нелинейной функции активации, но и в линейной функции f (x) = x. Поэтому чип имеет два выхода: address - адрес в таблице поиска и data - линейное выходное значение. Для более быстрого вычисления блоки сложения и умножения размещены последовательно, образуя конвейер. Входные значения вначале умножаются на соответствующие веса, а затем складываются с предыдущими значениями.


Дата добавления: 2015-09-05; просмотров: 87 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Применение систолических процессоров для построения нейросред.| Систолический процессор CNAPS

mybiblioteka.su - 2015-2024 год. (0.005 сек.)