[发明专利]一种用于光电混合计算神经网络的FPGA实现方法有效

专利信息
申请号: 202210126292.8 申请日: 2022-02-10
公开(公告)号: CN114462587B 公开(公告)日: 2023-04-07
发明(设计)人: 彭析竹;张曼钰 申请(专利权)人: 电子科技大学
主分类号: G06N3/067 分类号: G06N3/067;G06N3/0464
代理公司: 成都点睛专利代理事务所(普通合伙) 51232 代理人: 孙一峰
地址: 611731 四川省*** 国省代码: 四川;51
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 用于 光电 混合 计算 神经网络 fpga 实现 方法
【权利要求书】:

1.一种用于光电混合计算神经网络的FPGA实现方法,其特征在于,采用FPGA实现手写识别卷积神经网络系统中池化和全连接计算,并进行与光芯片的连接,具体包括:

S1、FPGA接收上位机的输入图片,并通过DAC接口发送给光芯片进行卷积层计算,其中卷积层的输入图片深度为3,大小为28*28像素,每个像素由8bits表示,卷积核大小为2*2,共4个,设置卷积窗口滑动步长为2;

S2、光芯片将完成卷积层计算的数据通过FPGA的ADC接口回传到上位机;

S3、上位机将光芯片输出的数据和池化计算配置参数发送到FPGA,在FPGA上进行池化计算,将池化计算结果回传到上位机,其中池化层的输入即卷积层的输出,为4个14*14的矩阵,池化窗口大小为2*2,其滑动步长为2;所述池化计算依次包括横向池化和纵向池化,实现方式为:横向池化为每次将相邻的数值进行比较,选出较大的数值后进行存储,从而在横向上压缩了一半的数据,对于步长为n的n*n池化窗口,则压缩了n分之一的数据,此时再使用寄存器对其进行移位存储,需要两组寄存器,每组4个,依次将数据顺序存入寄存器,取每组第一个数据出来进行比较,比较完毕后移位,得到下一组需要比较的数据,以此类推,对于存在i*j的纵向池化矩阵,池化窗口n*n,步长为n,则需要n组寄存器,每组j个寄存器;

S4、上位机将池化计算结果和全连接计算配置参数发送到FPGA,在FPGA上通过卷积计算模块进行全连接计算,所述卷积计算模块的实现方式是:外部存储将权重值和数据值灌输给流水线状态机,流水线状态机将流水线划分好的权重和数据传递给内部缓存,内部缓存负责数据和权重的同步,即对于后续数据窗口滑动状态机的请求,权重加载完了才应答数据窗口滑动状态机申请数据请求,权重未加载完成就不应答;对于后续权重窗口滑动状态机申请权重的请求,本次的数据计算完了才应答下次的权重窗口滑动状态机请求,未计算完成完就不应答;采用窗口滑动状态机用于卷积计算窗口的滑动,按照矩阵宽、高、深度的优先级依次滑动窗口进行取值,窗口滑动状态机取到的计算值将送到计算单元,为了满足流水线时序,乘加计算部分将会增加一组权重寄存器,用于预存下一组的权重,即当前权重使用完毕后,数据不变,立即更新下一组权重进行乘加,乘加后的结果送到累加部分进行计算,输出最终结果;

全连接计算包括第一全连接层计算和第二全连接层计算,其中第一全连接层的输入即池化层的输出,为7*7*4=196个一维数据,该层全连接包含30个神经元;第二全连接层的输入即第一全连接层的输出,为30个一维数据,该层全连接包含10个神经元,分别对应手写数字0~9;

S5、FPGA将全连接层的输出作为手写识别卷积神经网络系统的输出回传到上位机。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于电子科技大学,未经电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202210126292.8/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top