[发明专利]用于实现卷积神经网络的方法和硬件、制造方法和系统有效
申请号: | 201710304906.6 | 申请日: | 2017-05-03 |
公开(公告)号: | CN107403221B | 公开(公告)日: | 2023-10-13 |
发明(设计)人: | C·吉布森;J·伊姆伯 | 申请(专利权)人: | 想象技术有限公司 |
主分类号: | G06N3/063 | 分类号: | G06N3/063;G06N3/0464;G06N3/048 |
代理公司: | 北京三友知识产权代理有限公司 11127 | 代理人: | 党晓林;王青芝 |
地址: | 英国赫*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 实现 卷积 神经网络 方法 硬件 制造 系统 | ||
背景技术
卷积神经网络(CNN)是可以被用于机器学习应用的一种类型的人工神经网络。特别地,CNN可以被使用在信号处理应用(包括图像处理和计算机视觉应用)中。
在其中电力资源不是重要因素的应用中已经实现CNN。尽管如此,CNN已经应用在其中被用于实现CNN的硬件的资源是功率消耗、处理能力或硅面积有限的若干不同的技术领域中。
因此,需要实现被配置为以有效的方式(即,以在操作时要求较少的硅面积或较少的处理能力的方式)实现CNN的硬件。而且,对于特定应用的CNN的定义可以随时间变化。例如,附加的训练可以导致CNN变更的定义。因此,还需要用于实现CNN的硬件以适应CNN的改变的要求。
发明内容
提供该概述以引入以在详细描述中下文进一步描述的简化形式的概念的选择。该概述不旨在标识所主张的主题的关键特征或必要特征,其也不旨在被用于限制所主张的主题的范围。
提供了一种卷积神经网络(CNN)的硬件实现中的方法,方法包括:接收包括针对CNN层的权重数据的至少一部分和输入数据的至少一部分的数据的第一子集,并且使用至少一个卷积引擎执行数据的第一子集的卷积以生成第一部分结果;接收包括针对CNN层的权重数据的至少一部分和输入数据的至少一部分的数据的第二子集,并且使用至少一个卷积引擎执行数据的第二子集的卷积以生成第二部分结果;并且将第一部分结果和第二部分结果组合以生成针对CNN的层的卷积数据的至少一部分。
数据的第一子集可以包括输入数据的第一部分和权重数据;并且数据的第二子集可以包括输入数据的第二部分和权重数据。输入数据的第二部分可以包括输入数据的第一部分的子集,并且输入数据的第一部分的子集的大小可以基于卷积核的大小。数据的第一子集和数据的第二子集可以各自包括针对特定层的所有权重数据。
数据的第一子集可以包括权重数据的第一部分和输入数据;并且数据的第二子集可以包括权重数据的第二部分和输入数据。数据的第一子集和数据的第二子集可以各自包括针对特定层的所有输入重数据。权重数据的第一部分可以包括针对层的、不同于权重数据的第二部分的权重数据的不同部分。将第一部分结果和第二部分结果组合可以包括将第一部分结果和第二部分结果写到存储器。
数据的第一子集可以包括权重的第一部分和输入数据;并且数据的第二子集可以包括权重的第二部分和输入数据。将第一部分结果和第二部分结果组合以生成针对CNN的层的卷积数据的至少一部分可以包括:使用至少一个卷积引擎执行权重的第一部分与输入数据的卷积以生成第一部分结果;使用至少一个卷积引擎执行权重的第二部分与输入数据的卷积以生成第二部分结果;将第一部分结果放置在累加器缓冲器中;在累加器中将第一部分结果与第二部分结果组合。权重的第一部分和权重的第二部分可以是相同权重的非重叠部分。
数据的第一子集的输入数据和数据的第二子集的输入数据可以包括针对层的所有输入数据。
提供了一种卷积神经网络(CNN)的硬件实现,硬件实现包括:接口,被配置为接收包括针对CNN层的权重数据的至少一部分和输入数据的至少一部分的数据的第一子集,并且被配置为接收包括针对CNN层的权重数据的至少一部分和输入数据的至少一部分的数据的第二子集;至少一个卷积引擎被配置为执行数据的第一子集的卷积以生成第一部分结果,并且被配置为执行数据的第二子集的卷积以生成第二部分结果;并且其中硬件实现被配置为将第一部分结果和第二部分结果组合,以生成针对CNN的层的卷积数据的至少一部分。
提供了一种用于被配置为实现一个或多个用户定义的激活函数的CNN的可配置的激活模块,激活模块被配置为:接收指定待应用到输入数据的激活函数的一个或多个特性的配置数据;基于接收到的配置数据,将表示激活函数的数据存储在查找表的条目中;接收表示激活函数的输入的输入数据,并且基于接收到的输入的至少一部分,从查找表读取一个或多个条目;并且基于从查找表读取的一个或多个条目,计算表示激活函数的输出的输出值。
CNN或用于CNN的激活模块的硬件实现可以被实现在集成电路上的硬件中。可以提供一种在集成电路制造系统中制造CNN或用于CNN的激活模块的硬件实现的方法。可以提供一种集成电路定义数据集,其在集成电路制造系统中被处理时将系统配置为制造CNN或用于CNN的激活模块的硬件实现。可以提供一种已经在其上存储集成电路的计算机可读描述的非瞬态计算机可读存储介质,其被处理时使得布局处理系统生成使用在集成电路制造系统中的电路布局描述,以制造CNN或用于CNN的激活模块的硬件实现。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于想象技术有限公司,未经想象技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710304906.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:光学量测装置及其运作方法
- 下一篇:一种共享设备故障报修方法及装置