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

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

Этот рисунок показывает архитектуру процессора глубокого обучения.

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

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

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

Типовой процессор свертки

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

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

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

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

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

Типовой процессор FC

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

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

The FC Controller (Scheduling) работает аналогично Conv Controller (Scheduling). The 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 Controlled Глубокое Обучение Processor.