exponenta event banner

Архитектура процессора глубокого обучения

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

На этом рисунке показана архитектура процессора глубокого обучения.

Для иллюстрации архитектуры процессора глубокого обучения рассмотрим пример классификации изображений.

Внешняя память DDR

Входные изображения, веса и выходные изображения можно сохранить во внешней памяти DDR. Процессор состоит из четырех главных интерфейсов AXI4, которые взаимодействуют с внешней памятью. С помощью одного из интерфейсов AXI4 Master можно загрузить входные изображения в Block RAM (BRAM). Блок ОЗУ обеспечивает активацию Generic Convolution Processor.

Универсальный сверточный процессор

Generic Convolution Processor выполняет эквивалентную операцию одного слоя свертки. С помощью другого интерфейса AXI4 Master весовые коэффициенты для операции свертки предоставляются Generic Convolution Processor. Generic Convolution Processor затем выполняет операцию свертки для входного изображения и обеспечивает активации для Activation Normalization. Процессор является универсальным, поскольку он может поддерживать тензоры и формы различных размеров.

Нормализация активации

Основываясь на нейронной сети, которую вы предоставляете, Activation Normalization модуль служит для добавления нелинейности ReLU, уровня maxpool или выполняет локальную нормализацию ответа (LRN). Вы видите, что процессор имеет два Activation Normalization единиц. Один блок следует за Generic Convolution Processor. Другой блок следует за Generic FC Processor.

Контроллер конвейера (планирование)

В зависимости от количества слоев свертки в предварительно подготовленной сети, Conv Controller (Scheduling) действует как буферы пинг-понга. Generic Convolution Processor и Activation Normalization может обрабатывать по одному слою за один раз. Для обработки следующего слоя, Conv Controller (Scheduling) возвращается к ЗУПВ, а затем выполняет операции нормализации свертки и активации для всех уровней свертки в сети.

Универсальный процессор FC

Generic FC Processor выполняет эквивалентную операцию одного полностью подключенного уровня (FC). С помощью другого интерфейса AXI4 Master весовые коэффициенты для полностью подключенного уровня предоставляются Generic FC Processor. Generic FC Processor затем выполняет операцию полностью подключенного слоя на входном изображении и обеспечивает активации для Activation Normalization модуль. Этот процессор также является универсальным, поскольку он может поддерживать тензоры и формы различных размеров.

Контроллер FC (планирование)

FC Controller (Scheduling) работы, аналогичные Conv Controller (Scheduling). FC Controller (Scheduling) координаты с помощью FIFO выполнять функции буферов ping-pong для выполнения операции с полностью подключенным слоем и Activation Normalization в зависимости от количества слоев FC и функций ReLU, maxpool или LRN, имеющихся в вашей нейронной сети. После Generic FC Processor и Activation Normalization модули обрабатывают все кадры в изображении, прогнозы или оценки передаются через интерфейс AXI4 Master и сохраняются во внешней памяти DDR.

Приложения процессора глубокого обучения

Одним из приложений пользовательского IP-ядра процессора глубокого обучения является управляемый MATLAB процессор глубокого обучения. Чтобы создать этот процессор, интегрируйте IP-адрес процессора глубокого обучения с HDL Verifier™ MATLAB в качестве AXI Master IP с помощью подчиненного интерфейса AXI4. Через интерфейс JTAG или PCI Express можно импортировать различные предварительно обученные нейронные сети из MATLAB, выполнять операции, указанные сетью в IP процессоре глубокого обучения, и возвращать результаты классификации в MATLAB.

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