[发明专利]一种用于深度学习加速的硬件平台在审
申请号: | 202111483448.X | 申请日: | 2021-12-07 |
公开(公告)号: | CN114139694A | 公开(公告)日: | 2022-03-04 |
发明(设计)人: | 刘金建;余雷;杨帆 | 申请(专利权)人: | 苏州聚悦信息科技有限公司 |
主分类号: | G06N3/063 | 分类号: | G06N3/063;G06N3/04;G06F17/16 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 215100 江苏省苏州市苏州高新*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 用于 深度 学习 加速 硬件 平台 | ||
1.本发明提供一种用于深度学习加速的硬件平台,其特征在于,包括,包括控制模块、运算模块、存储模块;
所述控制模块用于协调硬件电路中各类资源的有序工作,协调对象包括FPGA运算单元、SRAM存储单元、FLASH存储单元、输入输出IO口;
所述运算模块以FPGA为核心,对深度学习所依赖的卷积神经网络进行求解运算,运算模块包括卷积模块、池化模块、全连接层模块;
所述存储模块包括SRAM和FLASH两种存储介质,SRAM用于存储卷积神经网络运算过程中的权重系数和中间值,FLASH用于存储训练完成的卷积神经网络模型。
2.根据权利要求1所述的一种用于深度学习加速的硬件平台,其特征在于,所述运算模块中提出了一种将输入的串行数据转换为处理所需的矩阵数据的方法,其实现步骤如下:
S1:对于一组16位的输入数据,数据的串行排列方式为第16位、第15位、第14位、第13位、……、第3位、第2位、第1位,数据位依次递减,则输入数据对应的数据矩阵大小为4×4,串行数据填充到矩阵中的时序以FPGA的晶振频率决定,当第1个时钟周期到来,第1位数据填充到矩阵第一行的第一位,当第5个时钟周期到来,第1位数据移动到矩阵第二行的第一位,当第9个时钟周期到来,第1位数据移动到矩阵第三行的第一位,当第12个时钟周期到来,第1位数据移动到矩阵第四行的第一位;
S2:当第12个时钟周期到来时,此时数据矩阵最右边的数据从上到下依次为第9位、第5位、第1位,当第13个时钟周期到来时,此时数据矩阵最右边的数据从上到下依次为第10位、第6位、第2位,当第14个时钟周期到来时,此时数据矩阵最右边的数据从上到下依次为第11位、第7位、第3位,由此得到第一个卷积操作矩阵为:
S3:在此基础上再经过三个时钟周期后,得到第二个卷积操作矩阵为:
依次类推,得到卷积操作所需的全部矩阵。
3.根据权利要求1所述的一种用于深度学习加速的硬件平台,其特征在于,所述运算模块中关于矩阵运算提出了一种快速的并发运算方法,其实现步骤如下:
S1:对于一组矩阵运算:
其中Aij和Bij为输入矩阵,Cij为输出矩阵,运算时将Aij和Cij不断更新传递,将Bij存储在FPGA中的一个运算单元内;
S2:Aij数据的输入顺序为:第1个时钟到来时输入A31、A21、A11,第2个时钟到来时输入A32、A22、A12,第3个时钟到来时输入A33、A23、A13,第4个时钟到来时A11进入Bij中进行乘法运算,第5个时钟到来时A21和A22进入Bij中进行乘法运算,第6个时钟到来时A31、A22和A13进入Bij中进行乘法运算,依次类推,最后输出结果即为所有数据的乘累计和。
4.根据权利要求1所述的一种用于深度学习加速的硬件平台,其特征在于,所述卷积模块的运算过程为:首先将输入的串行数据转换为矩阵数据,并从SRAM中提取相应的权重系数,将两个矩阵依据提出的快速并发运算方法进行卷积运算;运算过程中的中间特征值存储在SRAM中,当全部输入的数据完成第一次卷积运算并累加结束后进入下一次卷积运算;在FPGA中进行卷积运算时,使用并行工作的模式,在同一时刻将FPGA中的可用资源分为多个模块同时进行多数据的卷积运算,提高深度学习的速度。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州聚悦信息科技有限公司,未经苏州聚悦信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111483448.X/1.html,转载请声明来源钻瓜专利网。