[发明专利]一种矩阵卷积计算装置及矩阵卷积计算方法有效
申请号: | 201811101509.X | 申请日: | 2018-09-20 |
公开(公告)号: | CN109284475B | 公开(公告)日: | 2021-10-29 |
发明(设计)人: | 满宏涛;王振江;李拓 | 申请(专利权)人: | 郑州云海信息技术有限公司 |
主分类号: | G06F17/15 | 分类号: | G06F17/15;G06F17/16;G06N3/063 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 王宝筠 |
地址: | 450018 河南省郑州市*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 矩阵 卷积 计算 装置 计算方法 | ||
本申请公开了一种矩阵卷积计算模块及矩阵卷积计算方法,所述矩阵卷积计算模块设置了(m‑1)个存储器,这(m‑1)个存储器之间构成了先入先出存储结构,在读取外部存储设备中存储的输入数据时,无需同时从外部存储设备中读取m行输入数据,逐行按序读取输入数据即可。因此,利用本申请实施例提供的矩阵卷积计算模块,可以降低对外部存储设备接口带宽和FPGA芯片接口数量要求,适用性强。
技术领域
本申请涉及电子技术领域,特别是涉及一种基于FPGA实现的矩阵卷积计算装置及矩阵卷积计算方法。
背景技术
随着科学技术的发展,卷积神经网络(Convolutional Neural Network,CNN)的应用越来越广泛。CNN是一种多层神经网络,卷积层是CNN的重要组成部分,其核心运算是完成输入数据与卷积器的卷积运算。其中,输入数据可以体现为输入矩阵,卷积器可以体现为卷积器矩阵,卷积输出体现为输出矩阵。
若输入矩阵为,卷积器矩阵为一般。则卷积输出为:,其中,。通过以上公式可知,完成输出矩阵中一个输出点的运算需要将卷积器和输入数据对应位置上的各点进行乘累加。改变卷积器与输入数据的位置关系可以完成不同输出点的运算。为了完成整个卷积运算,卷积器需要从左到右移动,每移动一格完成一个输出点的运算;完成一行输出的运算后,将卷积器下移一行,再从左到右移动并完成运算,直到最后一行的最后一个输出点运算完成。
使用FPGA实现矩阵卷积运算具有一定的优势,矩阵卷积运算中涉及大量的乘法和累加运算可以充分利用FPGA的资源,并且FPGA的并行特性也会给运算速度带来很大的提升。
参见图1,该图为现有技术中利用FPGA实现矩阵卷积运算的示意图。图1中以输入矩阵为5*5矩阵、卷积器矩阵为3*3矩阵为例进行介绍计算得到输出矩阵中第一个元素的计算方式。从图1可以看出,根据输入矩阵和卷积器计算输出矩阵时,涉及9个寄存器110、9个乘法器120,和一个加法树。计算的流程如下:同时读取输入数据的第1行、第2行、第3行,每行数据顺序输入3个输入端口,即第一行数据进入输入端口101、第二行数据进入输入端口102、第三行数据进入输入端口103, 3个时钟周期后,各个寄存器中的数据如图1所示,开始启动乘法运算;此时各个乘法器的输出分别为(按图示乘法器从上向下的顺序列出):、、、、、、、、。各个乘法器的输出进入加法树进行加法运算,从而得到的值。
可以理解的是,随着数据的继续输入,下一个时钟周期各个寄存器中的值如图2所示,此时各个乘法器的输出分别为(按图示乘法器从上向下的顺序列出):、、、、、、、、。各个乘法器的输出进入加法树进行加法运算,从而得到的值。当第1行、第2行、第3行数据全部输入完成,即可得到输出矩阵第一行的各个元素的值。
与计算输出矩阵第1行的各个元素的值类似,在计算输出矩阵第2行的各个元素的值时,要同时读取输入数据的第2行、第3行以及第4行的数据,每行数据顺序输入输入端口101、输入端口102、输入端口103这三个输入端口。计算输出矩阵第2行的各个元素的值的方法与计算输出矩阵第1行的各个元素的值的方法类似,此处不再赘述。可以理解的是,直至读取最后三行输入数据完成,整个输出矩阵的计算过程结束。
可以理解的是,在实际应用中,FPGA的输入输出(input output,IO)接口资源有限,而上述利用FPGA实现矩阵卷积的方案要求同时从外部存储设备中读取3行输入数据,则对外部存储设备接口带宽和FPGA芯片接口数量要求较高。实际上,从外部存储设备同时读取数据的行数与卷积器矩阵的维度相关,若卷积器矩阵为m*n的矩阵,则需要同时从外部存储设备中读取m行输入数据。可以理解的是,m越大,对外部存储设备接口带宽和FPGA芯片接口数量要求越高,因此,上述方案在实际应用中的适用性不强。
鉴于此,需要提出一种方案,可以解决上述问题。
发明内容
本申请所要解决的技术问题是现有技术中基于FPGA实现的矩阵卷积运算的适用性不强,提供一种矩阵卷积计算装置及矩阵卷积计算方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于郑州云海信息技术有限公司,未经郑州云海信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811101509.X/2.html,转载请声明来源钻瓜专利网。