CN109214506B - 一种基于像素的卷积神经网络建立装置及方法 - Google Patents

一种基于像素的卷积神经网络建立装置及方法 Download PDF

Info

Publication number
CN109214506B
CN109214506B CN201811066203.5A CN201811066203A CN109214506B CN 109214506 B CN109214506 B CN 109214506B CN 201811066203 A CN201811066203 A CN 201811066203A CN 109214506 B CN109214506 B CN 109214506B
Authority
CN
China
Prior art keywords
convolution
characteristic diagram
pixels
unit
pixel
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.)
Active
Application number
CN201811066203.5A
Other languages
English (en)
Other versions
CN109214506A (zh
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.)
Shanghai Shenxin Intelligent Technology Co Ltd
Original Assignee
深思考人工智能机器人科技(北京)有限公司
深思考人工智能科技(上海)有限公司
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 深思考人工智能机器人科技(北京)有限公司, 深思考人工智能科技(上海)有限公司 filed Critical 深思考人工智能机器人科技(北京)有限公司
Priority to CN201811066203.5A priority Critical patent/CN109214506B/zh
Publication of CN109214506A publication Critical patent/CN109214506A/zh
Application granted granted Critical
Publication of CN109214506B publication Critical patent/CN109214506B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Neurology (AREA)
  • Complex Calculations (AREA)
  • Image Analysis (AREA)

Abstract

本发明公开了一种基于像素的卷积神经网络建立装置及方法,根据特征图的数据量,在FPGA上设置了2~64个相同的卷积计算模块,分别处理不同的输出通道;在每个卷积计算模块中,将特征图的9个像素输入到设置的卷积运算单元中;对于每个像素,由设置的卷积运算单元根据该像素对应权值进行卷积运算,得到该像素的卷积值;然后对特征图的9个像素的卷积值进行像素累加;再将像素累加后的卷积值进行输入通道累加;最终得到经过了CNN运算的特征图,输出。这样,就采用FPGA简单实现了CNN的特征图的卷积神经运算。

Description

一种基于像素的卷积神经网络建立装置及方法
技术领域
本发明涉及嵌入式系统的大数据量深度学习计算领域,特别涉及一种采用现场可编程门阵列(FPGA)上实现一种基于像素的卷积神经网络建立装置及方法。
背景技术
卷积神经网络(CNN)是近年发展起来,并引起广泛重视的一种高效识别方法。特别是在模式分类领域,CNN由于避免了对特征图的复杂前期预处理,可以直接输入原始特征图,并得到最终的特征图的分类结果,因而得到了更为广泛的应用。由于CNN涉及运算的特征图的数据量大且运算复杂,一般都采用大型计算机编程实现,这会增加实现的难度及费用。
发明内容
有鉴于此,本发明实施例提供一种基于像素的CNN的建立装置,该装置采用FPGA简单实现CNN的特征图的卷积神经运算。
本发明实施例还提供一种基于像素的CNN的建立方法,该方法采用FPGA简单实现CNN的特征图的卷积神经运算。
本发明实施例是这样实现的:
一种卷积神经网络的建立装置,在现场可编程门阵列FPGA设置2~64个卷积计算模块,分别处理不同的输出通道;在每个卷积计算模块中包括:特征图输入缓存单元、特征图加载单元、特征图重排序单元、卷积运算单元、权值缓存单元及权值加载单元、输入通道累加单元及特征图输出缓存单元;其中,
特征图输入缓存单元,用于缓存特征图,将特征图的9个像素并行发送给特征图加载单元;
特征图加载单元,用于并行接收特征图中的9个像素并寄存;
特征图重排序单元,用于从特征图加载单元中接收特征图中的9个像素,并按照卷积计算所采用的像素顺序进行重排序;
权值缓存单元,用于缓存9个像素对应的权值,并行发送给权值加载单元;
权值加载单元,用于并行接收对应9个像素的权值并寄存;
卷积运算单元,用于根据从特征图重排序单元提取的重排序的9个像素,及从权值加载单元接收对应于9个像素的权值,并行进行9个像素的卷积累加运算,得到像素累加后的卷积值,输出到输入通道累加单元;
输入通道累加单元,用于对卷积运算单元输出的像素累加后的卷积值进行输入通道累加,最终得到经过卷积神经运算的特征图;
特征图输出缓存单元,用于接收经过卷积神经运算的特征图,并进行缓存。
一种卷积神经网络的建立方法,包括:
根据特征图的数据量,在FPGA上设置了2~64个卷积计算模块,分别处理不同的输出通道;
在每个卷积计算模块中,将特征图的9像素输入到设置的卷积运算单元中;
对于每个像素,由设置的卷积运算单元根据该像素对应的权值进行卷积运算,得到该像素的卷积值后,对9个像素的卷积值进行像素累加;
将像素累加后的卷积值进行输入通道累加,最终得到经过了CNN运算的特征图,输出。
如上可见,本发明实施例根据特征图的数据量,在FPGA上设置了2~64个相同的卷积计算模块,分别处理不同的输出通道;在每个卷积计算模块中,将特征图的9个像素输入到设置的卷积运算单元中;对于每个像素,由设置的卷积运算单元根据该像素对应权值进行卷积运算,得到该像素的卷积值;然后对特征图的9个像素的卷积值进行像素累加;再将像素累加后的卷积值进行输入通道累加;最终得到经过了CNN运算的特征图,输出。这样,就采用FPGA简单实现了CNN的特征图的卷积神经运算。
附图说明
图1为本发明实施例提供的CNN的建立装置结构示意图;
图2为本发明实施例提供的卷积计算模块结构示意图;
图3为本发明实施例提供的CNN的建立方法流程图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明进一步详细说明。
为了简单且容易的情况下,实现CNN的卷积神经运算,本发明实施例采用FPGA实现,具体地,根据特征图的数据量,在FPGA上设置了2~64个相同的卷积计算模块;在每个卷积计算模块中,将特征图的9个像素输入到设置的卷积运算单元中;对于每个像素,由设置的卷积运算单元根据该像素对应权值进行卷积运算,得到该像素的卷积值;然后对特征图的9个像素的卷积值进行像素累加;再将像素累加后的卷积值进行输入通道累加;最终得到经过了CNN运算的特征图,输出。这样,就采用FPGA简单实现了CNN的特征图的卷积神经运算,简单且降低费用。
以下以具体采用32个卷积计算模块对本发明实施例进行详细说明,但是需要注意的是,卷积计算模块的数量范围在2~64个,这里并不限制。
图1为本发明实施例提供的CNN的建立装置结构示意图:在FPGA上设置的32个相同的卷积计算模块,分别处理不同的输出通道;在每个卷积计算模块中包括:特征图输入缓存单元、特征图加载单元、特征图重排序单元、卷积运算单元、权值缓存单元及权值加载单元、输入通道累加单元及特征图输出缓存单元;其中,
特征图输入缓存单元,用于缓存特征图,将特征图的9个像素并行发送给特征图加载单元;
特征图加载单元,用于并行接收特征图中的9个像素并寄存;
特征图重排序单元,用于从特征图加载单元中接收特征图中的9个像素,并按照卷积计算所采用的像素顺序进行重排序;
权值缓存单元,用于缓存9个像素对应的权值,并行发送给权值加载单元;
权值加载单元,用于并行接收对应9个像素的权值并寄存;
卷积运算单元,用于根据从特征图重排序单元提取的重排序的9个像素,及从权值加载单元接收对应于9个像素的权值,并行进行9个像素的卷积累加运算,得到像素累加后的卷积值,输出到输入通道累加单元;
输入通道累加单元,用于对卷积运算单元输出的像素累加后的卷积值进行输入通道累加,最终得到经过卷积神经运算的特征图;
特征图输出缓存单元,用于接收经过卷积神经运算的特征图,并进行缓存。
在该装置中,所述特征图输入缓存单元在每个卷积计算模块中有16个,采用在FPGA上的块随机存取存储器(BRAM)实现,特征图加载单元采用FPGA上的reg类型的寄存器实现,具体由9个reg类型的寄存器构成。
在该装置中,卷积运算单元采用设置在FPGA上的处理元件(PE)构成,所述PE是由数字信号处理(DSP)实现,具体卷积运算单元由9个PE构成。
在该装置中,权值缓存单元采用BRAM实现,具体由9个BRAM构成,权值加载单元采用FPGA上的reg类型的寄存器实现,具体由9个reg类型的寄存器实现。
在该装置中,特征图输出缓存单元采用BRAM实现。
图2为本发明实施例提供的卷积计算模块结构示意图,如图所示,其中,特征图输入缓存单元采用IBRAM表示,含义是特征图的BRAM,特征图加载单元采用IREG表示,含义是特征图的reg类型的寄存器;权值缓存单元采用WBRAM,含义是权值的BRAM,权值加载单元采用WREG表示,表示的是权值的reg类型的寄存器;卷积运算单元采用PE表示。
本发明实施例采用了32个卷积计算模块,同时处理32个输出通道及每个卷积计算模块可同时进行9个像素点的乘加运算,处理能力强大,可以处理任意大小的图片。
图3为本发明实施例提供的CNN的建立方法流程图,其具体步骤为:
步骤301、根据特征图的数据量,在FPGA上设置了32个相同的卷积计算模块,分别处理不同的输出通道;
步骤302、在每个卷积计算模块中,将特征图的9像素输入到设置的卷积运算单元中;
步骤303、对于每个像素,由设置的卷积运算单元根据该像素对应的权值进行卷积运算,得到该像素的卷积值后,对9个像素的卷积值进行像素累加;
步骤304、将像素累加后的卷积值进行输入通道累加,最终得到经过了CNN运算的特征图,输出。
在该方法中,在步骤302之前,还包括:所述特征图的9个像素经过缓存后,再发送给FPGA的reg类型寄存器寄存及按照卷积计算所采用的像素顺序重排序。
在该方法中,在步骤303之前,还包括获取对应9个像素的权值过程:
9个像素对应的权值经过缓存后,再发送给FPGA的reg类型权值寄存器寄存后,提供给卷积运算单元进行卷积运算。
在该方法中,所述卷积运算单元采用设置在FPGA上的PE实现,具体是采用DSP实现。
该方法还包括:输出后将经过了CNN运算的特征图进行缓存,具体采用BRAM进行缓存。
可以看出,本发明实施例采用了FPGA实现了特征图的卷积神经网络运算,适用于深度学习芯片场景。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (7)

1.一种基于像素的卷积神经网络建立装置,其特征在于,根据特征图的数据量,在现场可编程门阵列FPGA设置2~64个卷积计算模块,分别处理不同的输出通道;在每个卷积计算模块中包括:特征图输入缓存单元、特征图加载单元、特征图重排序单元、卷积运算单元、权值缓存单元及权值加载单元、输入通道累加单元及特征图输出缓存单元;其中,
特征图输入缓存单元,用于缓存特征图,将特征图的9个像素并行发送给特征图加载单元;
特征图加载单元,用于并行接收特征图中的9个像素并寄存;
特征图重排序单元,用于从特征图加载单元中接收特征图中的9个像素,并按照卷积计算所采用的像素顺序进行重排序;
权值缓存单元,用于缓存9个像素对应的权值,并行发送给权值加载单元;
权值加载单元,用于并行接收对应9个像素的权值并寄存;
卷积运算单元,用于根据从特征图重排序单元提取的重排序的9个像素,及从权值加载单元接收对应于9个像素的权值,并行进行9个像素的卷积累加运算,得到像素累加后的卷积值,输出到输入通道累加单元;
输入通道累加单元,用于对卷积运算单元输出的像素累加后的卷积值进行输入通道累加,最终得到经过卷积神经运算的特征图;
特征图输出缓存单元,用于接收经过卷积神经运算的特征图,并进行缓存;
所述特征图输入缓存单元采用FPGA中的块随机存取存储器BRAM;
所述特征图加载单元采用FPGA上的reg类型的寄存器实现。
2.如权利要求1所述的装置,其特征在于,所述卷积运算单元采用数字信号处理DSP实现。
3.如权利要求1所述的装置,其特征在于,所述权值缓存单元采用BRAM;
所述权值加载单元采用FPGA上的reg类型的寄存器;
所述特征图输出缓存单元采用BRAM。
4.一种利用权利要求1所述装置的基于像素的卷积神经网络建立方法,其特征在于,包括:
根据特征图的数据量,在FPGA上设置了2~64个卷积计算模块,分别处理不同的输出通道;
在每个卷积计算模块中,将特征图的9像素输入到设置的卷积运算单元中;
对于每个像素,由设置的卷积运算单元根据该像素对应的权值进行卷积运算,得到该像素的卷积值后,对9个像素的卷积值进行像素累加;
将像素累加后的卷积值进行输入通道累加,最终得到经过了CNN运算的特征图,输出;
在所述将特征图的9像素输入到设置的卷积运算单元中之前,还包括:
所述特征图的9个像素经过缓存后,再发送给FPGA的reg类型寄存器寄存及按照卷积计算所采用的像素顺序重排序。
5.如权利要求4所述的方法,其特征在于,所述由设置的卷积运算单元根据该像素对应的权值及特征图进行卷积运算之前,还包括获取对应9个像素的权值过程:
9个像素对应的权值经过缓存后,再发送给FPGA的reg类型权值寄存器寄存后,提供给卷积运算单元进行卷积计算。
6.如权利要求4~5任一所述的方法,其特征在于,所述卷积运算单元采用DSP实现。
7.如权利要求4所述的方法,其特征在于,该方法还包括:输出后将经过卷积神经运算的特征图进行缓存。
CN201811066203.5A 2018-09-13 2018-09-13 一种基于像素的卷积神经网络建立装置及方法 Active CN109214506B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811066203.5A CN109214506B (zh) 2018-09-13 2018-09-13 一种基于像素的卷积神经网络建立装置及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811066203.5A CN109214506B (zh) 2018-09-13 2018-09-13 一种基于像素的卷积神经网络建立装置及方法

Publications (2)

Publication Number Publication Date
CN109214506A CN109214506A (zh) 2019-01-15
CN109214506B true CN109214506B (zh) 2022-04-15

Family

ID=64983576

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811066203.5A Active CN109214506B (zh) 2018-09-13 2018-09-13 一种基于像素的卷积神经网络建立装置及方法

Country Status (1)

Country Link
CN (1) CN109214506B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109858622B (zh) * 2019-01-31 2021-03-02 瑞芯微电子股份有限公司 深度学习神经网络的数据搬运电路和方法
CN110399591B (zh) * 2019-06-28 2021-08-31 苏州浪潮智能科技有限公司 基于卷积神经网络的数据处理方法和装置
CN111047035B (zh) * 2019-12-09 2024-04-19 Oppo广东移动通信有限公司 神经网络处理器、芯片和电子设备
CN111047036B (zh) * 2019-12-09 2023-11-14 Oppo广东移动通信有限公司 神经网络处理器、芯片和电子设备
US11216375B2 (en) 2020-02-26 2022-01-04 Hangzhou Zhicun Intelligent Technology Co., Ltd. Data caching
CN113313228B (zh) * 2020-02-26 2022-10-14 杭州知存智能科技有限公司 数据缓存电路和方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106228240A (zh) * 2016-07-30 2016-12-14 复旦大学 基于fpga的深度卷积神经网络实现方法
CN106355244A (zh) * 2016-08-30 2017-01-25 深圳市诺比邻科技有限公司 卷积神经网络的构建方法及系统
US9665799B1 (en) * 2016-01-29 2017-05-30 Fotonation Limited Convolutional neural network
CN107992940A (zh) * 2017-12-12 2018-05-04 郑州云海信息技术有限公司 一种卷积神经网络在fpga上的实现方法及装置
CN108154229A (zh) * 2018-01-10 2018-06-12 西安电子科技大学 基于fpga加速卷积神经网络框架的图片处理方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8442927B2 (en) * 2009-07-30 2013-05-14 Nec Laboratories America, Inc. Dynamically configurable, multi-ported co-processor for convolutional neural networks
EP3035204B1 (en) * 2014-12-19 2018-08-15 Intel Corporation Storage device and method for performing convolution operations
US10621486B2 (en) * 2016-08-12 2020-04-14 Beijing Deephi Intelligent Technology Co., Ltd. Method for optimizing an artificial neural network (ANN)
CN108090496A (zh) * 2017-12-22 2018-05-29 银河水滴科技(北京)有限公司 基于卷积神经网络的图像处理的方法和装置
CN108416422B (zh) * 2017-12-29 2024-03-01 国民技术股份有限公司 一种基于fpga的卷积神经网络实现方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9665799B1 (en) * 2016-01-29 2017-05-30 Fotonation Limited Convolutional neural network
CN106228240A (zh) * 2016-07-30 2016-12-14 复旦大学 基于fpga的深度卷积神经网络实现方法
CN106355244A (zh) * 2016-08-30 2017-01-25 深圳市诺比邻科技有限公司 卷积神经网络的构建方法及系统
CN107992940A (zh) * 2017-12-12 2018-05-04 郑州云海信息技术有限公司 一种卷积神经网络在fpga上的实现方法及装置
CN108154229A (zh) * 2018-01-10 2018-06-12 西安电子科技大学 基于fpga加速卷积神经网络框架的图片处理方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
A fast FPGA-based deep convolutional neural network using pseudo parallel memories;Muluken Hailesellasie等;《2017 IEEE International Symposium on Circuits and Systems (ISCAS)》;20170928;第1-4页 *
卷积神经网络的FPGA并行结构研究;杨薇;《数字技术与应用》;20160301(第12期);第51页 *

Also Published As

Publication number Publication date
CN109214506A (zh) 2019-01-15

Similar Documents

Publication Publication Date Title
CN109214506B (zh) 一种基于像素的卷积神经网络建立装置及方法
CN111199273B (zh) 卷积计算方法、装置、设备及存储介质
CN111797976B (zh) 神经网络的训练方法、图像识别方法、装置、设备及介质
CN111369427B (zh) 图像处理方法、装置、可读介质和电子设备
CN109886399B (zh) 一种张量处理装置及方法
CN110826567B (zh) 光学字符识别方法、装置、设备及存储介质
CN112258512A (zh) 点云分割方法、装置、设备和存储介质
CN109272113B (zh) 一种基于通道的卷积神经网络建立装置及方法
CN113326930A (zh) 数据处理方法、神经网络的训练方法及相关装置、设备
CN110738235A (zh) 肺结核判定方法、装置、计算机设备及存储介质
KR20180125843A (ko) (국문)다양한 cnn 모델에 적용 가능한 하드웨어 분류기
CN111178495B (zh) 用于检测图像中极小物体的轻量卷积神经网络
CN110738317A (zh) 基于fpga的可变形卷积网络运算方法、装置和系统
CN111178513B (zh) 神经网络的卷积实现方法、卷积实现装置及终端设备
CN114764615A (zh) 卷积运算的实现方法、数据处理方法及装置
WO2024045320A1 (zh) 人脸识别方法及装置
CN116912556A (zh) 图片分类方法、装置、电子设备及存储介质
CN116434218A (zh) 适用于移动端的支票识别方法、装置、设备和介质
CN114429628A (zh) 图像处理方法、装置、可读存储介质及电子设备
CN113469254A (zh) 基于目标检测模型的目标检测方法及系统
CN112712070A (zh) 一种珠算题的判题方法、装置、电子设备及存储介质
CN114359889B (zh) 一种长文本资料的文本识别方法
CN112991415B (zh) 深度信息确定方法、装置、电子设备和存储介质
CN113761961B (zh) 一种二维码识别方法和装置
KR102590926B1 (ko) 왜곡 이미지의 이미지 복원 방법 및 장치

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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20190619

Address after: B203-205, Block B, Zhongguancun Development Building, 12 Information Road, Haidian District, Beijing, 100085

Applicant after: Deep thinking artificial intelligence robot technology (Beijing) Co., Ltd.

Applicant after: Shanghai Shenxin Intelligent Technology Co., Ltd.

Address before: 100084 B203, Zone B, Zhongguancun Development Building, 12 Shangdi Information Road, Haidian District, Beijing

Applicant before: Deep thinking artificial intelligence robot technology (Beijing) Co., Ltd.

CB02 Change of applicant information
CB02 Change of applicant information

Address after: B203-205, Block B, Zhongguancun Development Building, 12 Information Road, Haidian District, Beijing, 100085

Applicant after: IDEEPWISE ARTIFICIAL INTELLIGENCE ROBOT TECHNOLOGY (BEIJING) Co.,Ltd.

Applicant after: Deep thinking of artificial intelligence technology (Shanghai) Co.,Ltd.

Address before: B203-205, Block B, Zhongguancun Development Building, 12 Information Road, Haidian District, Beijing, 100085

Applicant before: IDEEPWISE ARTIFICIAL INTELLIGENCE ROBOT TECHNOLOGY (BEIJING) Co.,Ltd.

Applicant before: Shanghai Shenxin Intelligent Technology Co.,Ltd.

GR01 Patent grant
GR01 Patent grant