Un diseño de arquitectura uniforme para acelerar CNNs 2D y 3D en FPGAs
Autores: Liu, Zhiqiang; Chow, Paul; Xu, Jinwei; Jiang, Jingfei; Dou, Yong; Zhou, Jie
Idioma: Inglés
Editor: MDPI
Año: 2019
Acceso abierto
Artículo científico
2019
Un diseño de arquitectura uniforme para acelerar CNNs 2D y 3D en FPGAs
Categoría
Ingeniería y Tecnología
Subcategoría
Ingeniería Eléctrica y Electrónica
Palabras clave
Redes neuronales convolucionales
CNN 3D
FPGAs
Aceleración
Multiplicaciones de matrices
Síntesis de alto nivel
Licencia
CC BY-SA – Atribución – Compartir Igual
Consultas: 41
Citaciones: Sin citaciones
Las redes neuronales convolucionales tridimensionales (CNN 3D) han ganado popularidad en muchas aplicaciones complicadas de visión por computadora. Muchos aceleradores personalizados basados en FPGAs se han propuesto para las CNN 2D, mientras que muy pocos son para las CNN 3D. Las CNN 3D son mucho más intensivas computacionalmente y el espacio de diseño para la aceleración de las CNN 3D se ha ampliado aún más ya que se introduce una dimensión adicional, lo que representa un gran desafío para acelerar las CNN 3D en FPGAs. Motivados por el descubrimiento de que los patrones de computación de las CNN 2D y 3D son muy similares, proponemos un diseño de arquitectura uniforme para acelerar tanto las CNN 2D como las 3D en este documento. La arquitectura uniforme se basa en la idea de mapear las convoluciones a multiplicaciones de matrices. Se desarrolla un módulo de mapeo personalizado para generar los azulejos de la matriz de características sin necesidad de almacenar toda la matriz de características ampliada en el chip o fuera del chip, se adopta una estrategia de división para reconstruir una capa convolucional para adaptarse a la capacidad de memoria en el chip, y se adopta una matriz de multiplicación y acumulación en 2D (MAC) para calcular las multiplicaciones de matrices de manera eficiente. Para la demostración, implementamos un prototipo de acelerador con una metodología de síntesis de alto nivel (HLS) en una placa Xilinx VC709 y probamos el acelerador en tres modelos típicos de CNN: AlexNet, VGG16 y C3D. Los resultados experimentales muestran que el acelerador logra un rendimiento de rendimiento de vanguardia tanto en las CNN 2D como en las 3D, con una eficiencia energética mucho mejor que la CPU y la GPU.
Descripción
Las redes neuronales convolucionales tridimensionales (CNN 3D) han ganado popularidad en muchas aplicaciones complicadas de visión por computadora. Muchos aceleradores personalizados basados en FPGAs se han propuesto para las CNN 2D, mientras que muy pocos son para las CNN 3D. Las CNN 3D son mucho más intensivas computacionalmente y el espacio de diseño para la aceleración de las CNN 3D se ha ampliado aún más ya que se introduce una dimensión adicional, lo que representa un gran desafío para acelerar las CNN 3D en FPGAs. Motivados por el descubrimiento de que los patrones de computación de las CNN 2D y 3D son muy similares, proponemos un diseño de arquitectura uniforme para acelerar tanto las CNN 2D como las 3D en este documento. La arquitectura uniforme se basa en la idea de mapear las convoluciones a multiplicaciones de matrices. Se desarrolla un módulo de mapeo personalizado para generar los azulejos de la matriz de características sin necesidad de almacenar toda la matriz de características ampliada en el chip o fuera del chip, se adopta una estrategia de división para reconstruir una capa convolucional para adaptarse a la capacidad de memoria en el chip, y se adopta una matriz de multiplicación y acumulación en 2D (MAC) para calcular las multiplicaciones de matrices de manera eficiente. Para la demostración, implementamos un prototipo de acelerador con una metodología de síntesis de alto nivel (HLS) en una placa Xilinx VC709 y probamos el acelerador en tres modelos típicos de CNN: AlexNet, VGG16 y C3D. Los resultados experimentales muestran que el acelerador logra un rendimiento de rendimiento de vanguardia tanto en las CNN 2D como en las 3D, con una eficiencia energética mucho mejor que la CPU y la GPU.