CN108171321A - 一种基于SoC芯片的深度神经网络嵌入式实现方法 - Google Patents

一种基于SoC芯片的深度神经网络嵌入式实现方法 Download PDF

Info

Publication number
CN108171321A
CN108171321A CN201711292569.XA CN201711292569A CN108171321A CN 108171321 A CN108171321 A CN 108171321A CN 201711292569 A CN201711292569 A CN 201711292569A CN 108171321 A CN108171321 A CN 108171321A
Authority
CN
China
Prior art keywords
neural network
soc chip
programmable logic
processor
deep neural
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201711292569.XA
Other languages
English (en)
Inventor
程陶然
文鹏程
白林亭
李阳
谢建春
郭锋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xian Aeronautics Computing Technique Research Institute of AVIC
Original Assignee
Xian Aeronautics Computing Technique Research Institute of AVIC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xian Aeronautics Computing Technique Research Institute of AVIC filed Critical Xian Aeronautics Computing Technique Research Institute of AVIC
Priority to CN201711292569.XA priority Critical patent/CN108171321A/zh
Publication of CN108171321A publication Critical patent/CN108171321A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Neurology (AREA)
  • Image Analysis (AREA)

Abstract

本发明属于机载智能计算领域,提出了一种基于SoC芯片的深度神经网络嵌入式实现方法。该方法基于SoC芯片进行实现,神经网络主程序在处理器内核上实现,完成全局调度任务;计算密集部分在可编程逻辑上实现,完成并行计算任务;两部分通过片内高速总线进行控制指令和状态信息的交换,实现处理器与可编程逻辑的协同工作。本发明提出的方法使用SoC内置的处理器内核执行整体调度任务,从而更好地利用FPGA可以动态重配置的特性,提升网络的灵活性。

Description

一种基于SoC芯片的深度神经网络嵌入式实现方法
技术领域
本发明属于机载智能计算领域,提出了一种基于SoC芯片的深度神经网络嵌入式实现方法。
背景技术
在2015年的ImageNet挑战赛中,深度神经网络的图片辨识能力超过了人眼的辨识能力;2016年,DeepMind公司基于深度神经网络开发的人工智能围棋程序AlphaGo战胜了围棋世界冠军李世石;同年,谷歌推出基于深度神经网络的翻译器,中英互译质量达到80%,深度神经网络在多个领域的智能计算任务中展现出了越来越好的应用效果,在航空领域同样具有极好的应用前景。基于深度神经网络的智能计算系统可以更好地完成辅助甚至自动驾驶任务,例如智能图像识别能够帮助驾驶员更好地掌握飞行环境,提前发现目标;智能决策系统可以更好地应对突发状况,实时优化路线;智能火炮系统可以更好地进行武器选择、切换等。
然而深度神经网络的规模往往十分庞大,运行在工作站、巨型机乃至计算机集群之上,很难在资源有限的机载嵌入式计算环境中运行,目前关于神经网络在嵌入式环境中的实现有两个主要研究方向:一是基于ASIC定制电路进行实现,根据所用深度神经网络模型的资源需求和拓扑结构,进行硬件电路设计;但是ASIC设计难度大,验证周期长,网络模型在设计完成后无法再更改,灵活性非常差。另一个方向是基于FPGA进行深度神经网络的嵌入式实现,FPGA硬件电路设计相对于ASIC具有较好的设计迭代速度,能够快速进行验证,而且FPGA具有可重配置特性,当网络发生变化时可以比较容易地进行更改;但是FPGA芯片调度能力较弱,在实现深度神经网络时,时序设计的难度非常大。
发明内容
本发明的目的:
提出了一种基于SoC芯片的深度神经网络嵌入式实现方法,通过该方法可以实现在机载嵌入式环境中布局深度神经网络,执行智能计算任务。该方法使用SoC内置的处理器内核执行整体调度任务,从而更好地利用FPGA可以动态重配置的特性,提升网络的灵活性。
本发明的技术方案:
本发明提出了一种基于SoC芯片的深度神经网络嵌入式实现方法,
神经网络主程序在SoC芯片的处理器内核上实现,完成全局调度任务;计算密集部分在SoC芯片的可编程逻辑上实现,完成并行计算任务;两部分通过片内高速总线进行控制指令和状态信息的交换,实现处理器与可编程逻辑的协同工作;
SoC芯片支持动态可重配置,可以在处理器内核的控制下,动态加载不同的配置文件,为方便描述,依据SoC芯片中可编程逻辑加载的配置文件的顺序,将芯片的状态分别标记为状态1、状态2、状态i……状态N;
在机载嵌入式环境中运行时,视频/图像信息传入SoC芯片,根据需要在处理器中完成数据预处理过程;同时处理器控制可编程逻辑加载子层1的计算逻辑和相关计算参数,计算逻辑包括卷积计算、激励函数计算、降采样计算等;在完成数据预处理后,可编程逻辑在处理器的控制下开始执行神经网络计算,依次完成子层1中各项计算,计算结果存入片外存储器中;完成状态i-1(1<i<N)的计算后,处理器控制可编程逻辑加载下一子层的计算逻辑和相关计算参数,SoC芯片进入状态i,可编程逻辑读取片外存储器中上一层的计算结果,继续运行深度神经网络,依次完成当前子层中的各项计算,并将计算结果存入片外存储器中,重复此过程,直至状态N;在状态N中,可编程逻辑加载了子层N和全连接层的计算逻辑和相关参数,完成神经网络最后的分类计算,最终计算结果反馈给处理器,经处理器按需求格式输出。
在上述方案中,为了便于描述,神经网络模型的每个子层各生成一个配置文件,在具体应用中,可以根据实际的模型结构和芯片硬件资源情况,调整使用相邻的多个子层生成一个配置文件,整体计算过程不变,最终通过对可编程逻辑的动态重配置,实现大规模深度神经网络在硬件资源有限的SoC芯片上的布局。
本发明具有的优点效果:
本发明提出的基于SoC芯片的深度神经网络嵌入式实现方法与一般的深度神经网络实现相比较,大幅度缩小了运行平台的体积与功耗,从而具备在机载嵌入式环境中运行的可行性;同时得益于集成电路技术的发展,SoC芯片将处理器硬核和可编程逻辑集成在同一个芯片内,通过片内高速总线连通两个部分,弥补了FPGA芯片调度能力弱的缺陷,大幅度提升了芯片执行任务时的灵活性,同时可以更好地利用FPGA动态可重配置的特点,在有限的硬件资源上实现更大规模的神经网络模型。
附图说明
图1为基于SoC的深度神经网络处理过程示意图。
具体实施方式
参见附图1对本发明做进一步详细说明。
该方法基于SoC芯片进行实现,神经网络主程序在处理器内核上实现,完成全局调度任务;计算密集部分在可编程逻辑上实现,完成并行计算任务;两部分通过片内高速总线进行控制指令和状态信息的交换,实现处理器与可编程逻辑的协同工作;深度神经网络运行时,输入信息根据实际情况经过视频接口、以太网接口、总线接口或存储接口等传入SoC芯片,根据需要在处理器中完成图像灰度计算、数据归一化或图像分割等预处理过程。同时处理器控制可编程逻辑加载子层1的计算逻辑和相关计算参数,子层内包含的运算因模型的不同而不同,常见的有卷积计算、激励函数计算、降采样计算等,而运算涉及的卷积核尺寸、激励函数类型、降采样步长等参数同样可以根据实际网络需求进行选择。这些参数被预先载入片外存储器的指定位置,其位置信息和对应的计算逻辑以配置文件的形式存储在FLASH中。在完成数据预处理和配置文件加载后,可编程逻辑部分开始执行神经网络计算,依次完成子层1中卷积层、降采样层计算,计算结果存入片外存储器中,如图1(a)状态所示。完成状态i-1(1<i<N)的计算后,状态信息反馈给处理器,由处理器控制可编程逻辑加载第i个配置文件,载入新的计算逻辑和参数,芯片从片外存储器中读取上一层的计算结果,继续神经网络计算,状态如图1(b)状态所示。重复上述过程,直至状态N,芯片加载最后一个子层和全连接层的计算逻辑及参数,完成最后的分类过程,将最终计算结果反馈给处理器,经过数据格式转换,最后经视频接口、以太网接口或者总线接口等途径输出指定格式的计算结果,如图1(c)状态所示。

Claims (3)

1.一种基于SoC芯片的深度神经网络嵌入式实现方法,其特征在于:神经网络主程序在SoC芯片的处理器内核上实现,完成全局调度任务;计算密集部分在SoC芯片的可编程逻辑上实现,完成并行计算任务;两部分通过片内高速总线进行控制指令和状态信息的交换;
处理器内核控制可编程逻辑部分加载第一个配置文件,载入子层1的相关参数和计算逻辑;原始输入经过处理器的预处理过程,进入可编程逻辑进行计算,输出信息存入外部存储器;之后,处理器控制可编程逻辑加载第二个配置文件,载入子层2的相关参数和计算逻辑,读取存储器中上一层的输出信息,继续进行计算;重复此过程直至完成最后的全连接层计算,最终输出结果反馈的处理器,按照需求格式输出。
2.如权利要求1所述的一种基于SoC芯片的深度神经网络嵌入式实现方法,其特征在于:所述配置文件对应不同子层,通过对可编程逻辑的动态重配置,实现大规模深度神经网络在硬件资源有限的SoC芯片上的布局。
3.如权利要求2中深度神经网络嵌入式实现方法所述,其特征在于:所述配置文件可由神经网络模型中相邻多个子层所生成。
CN201711292569.XA 2017-12-07 2017-12-07 一种基于SoC芯片的深度神经网络嵌入式实现方法 Pending CN108171321A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711292569.XA CN108171321A (zh) 2017-12-07 2017-12-07 一种基于SoC芯片的深度神经网络嵌入式实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711292569.XA CN108171321A (zh) 2017-12-07 2017-12-07 一种基于SoC芯片的深度神经网络嵌入式实现方法

Publications (1)

Publication Number Publication Date
CN108171321A true CN108171321A (zh) 2018-06-15

Family

ID=62524770

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711292569.XA Pending CN108171321A (zh) 2017-12-07 2017-12-07 一种基于SoC芯片的深度神经网络嵌入式实现方法

Country Status (1)

Country Link
CN (1) CN108171321A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109039534A (zh) * 2018-06-20 2018-12-18 东南大学 一种基于深度神经网络的稀疏码分多址信号检测方法
CN109359732A (zh) * 2018-09-30 2019-02-19 阿里巴巴集团控股有限公司 一种芯片及基于其的数据处理方法
CN111191772A (zh) * 2020-01-02 2020-05-22 中国航空工业集团公司西安航空计算技术研究所 一种面向嵌入式环境的智能计算通用加速系统及其构建方法
CN111382857A (zh) * 2018-12-29 2020-07-07 上海寒武纪信息科技有限公司 任务处理装置、神经网络处理器芯片、组合装置以及电子设备
CN113391798A (zh) * 2020-03-11 2021-09-14 北京灵汐科技有限公司 一种自动优化配置生成方法和系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106355244A (zh) * 2016-08-30 2017-01-25 深圳市诺比邻科技有限公司 卷积神经网络的构建方法及系统
CN106529517A (zh) * 2016-12-30 2017-03-22 北京旷视科技有限公司 图像处理方法和图像处理设备
CN107066239A (zh) * 2017-03-01 2017-08-18 智擎信息系统(上海)有限公司 一种实现卷积神经网络前向计算的硬件结构

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106355244A (zh) * 2016-08-30 2017-01-25 深圳市诺比邻科技有限公司 卷积神经网络的构建方法及系统
CN106529517A (zh) * 2016-12-30 2017-03-22 北京旷视科技有限公司 图像处理方法和图像处理设备
CN107066239A (zh) * 2017-03-01 2017-08-18 智擎信息系统(上海)有限公司 一种实现卷积神经网络前向计算的硬件结构

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109039534A (zh) * 2018-06-20 2018-12-18 东南大学 一种基于深度神经网络的稀疏码分多址信号检测方法
CN109039534B (zh) * 2018-06-20 2021-06-11 东南大学 一种基于深度神经网络的稀疏码分多址信号检测方法
CN109359732A (zh) * 2018-09-30 2019-02-19 阿里巴巴集团控股有限公司 一种芯片及基于其的数据处理方法
US11062201B2 (en) 2018-09-30 2021-07-13 Advanced New Technologies Co., Ltd. Chip and chip-based data processing method
US11361217B2 (en) 2018-09-30 2022-06-14 Advanced New Technologies Co., Ltd. Chip and chip-based data processing method
CN111382857A (zh) * 2018-12-29 2020-07-07 上海寒武纪信息科技有限公司 任务处理装置、神经网络处理器芯片、组合装置以及电子设备
CN111382857B (zh) * 2018-12-29 2023-07-18 上海寒武纪信息科技有限公司 任务处理装置、神经网络处理器芯片、组合装置以及电子设备
CN111191772A (zh) * 2020-01-02 2020-05-22 中国航空工业集团公司西安航空计算技术研究所 一种面向嵌入式环境的智能计算通用加速系统及其构建方法
CN113391798A (zh) * 2020-03-11 2021-09-14 北京灵汐科技有限公司 一种自动优化配置生成方法和系统

Similar Documents

Publication Publication Date Title
CN108171321A (zh) 一种基于SoC芯片的深度神经网络嵌入式实现方法
Hao et al. FPGA/DNN co-design: An efficient design methodology for IoT intelligence on the edge
CN104035751B (zh) 基于多图形处理器的数据并行处理方法及装置
CN108122032A (zh) 一种神经网络模型训练方法、装置、芯片和系统
CN108122027A (zh) 一种神经网络模型的训练方法、装置及芯片
CN104036451A (zh) 基于多图形处理器的模型并行处理方法及装置
CN110481536B (zh) 一种应用于混合动力汽车的控制方法及设备
CN106201651A (zh) 神经形态芯片的模拟器
CN102981893B (zh) 一种虚拟机调度方法及系统
US20200307785A1 (en) System and method for providing total logistic using drone
CN114162146B (zh) 行驶策略模型训练方法以及自动驾驶的控制方法
CN111539526B (zh) 一种神经网络卷积的方法和设备
Zhou et al. A glowworm swarm optimization algorithm based tribes
CN111831355B (zh) 权重精度配置方法、装置、设备及存储介质
CN111831359B (zh) 权重精度配置方法、装置、设备及存储介质
CN105205205A (zh) 基于网表位置信息最优划分的fpga粗粒度并行布线方法
CN109684190A (zh) 软件测试装置和方法
CN109919145A (zh) 一种基于3d点云深度学习的矿卡检测方法及系统
CN109144099B (zh) 基于卷积神经网络的无人机群行动方案快速评估方法
US20230118325A1 (en) Method and apparatus having a memory manager for neural networks
CN111831354A (zh) 数据精度配置方法、装置、芯片、芯片阵列、设备及介质
CN109767002B (zh) 一种基于多块fpga协同处理的神经网络加速方法
Qu et al. Advanced deep-learning-based chip design enabling algorithmic and hardware architecture convergence
CN117193988A (zh) 一种晶圆级架构ai加速芯片的任务调度方法及介质
EP4052188A1 (en) Neural network instruction streaming

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20180615