反卷积实现方法及相关产品技术

技术编号:21781273 阅读:28 留言:0更新日期:2019-08-04 00:32
本发明专利技术提供一种反卷积实现方法及相关产品,所述方法包括如下步骤:获取输入数据i*i、反卷积核k*k,滑动步长s,填补零数目p;将输入数据i*i每个元素值单独与反卷积核k*k进行乘法的操作;每个元素值与反卷积核k*k进行乘法的操作得到i*i组数据,i*i组数据按滑动步长s移动组成初始输出数据;如初始输出数据的元素位置具有乘法的操作值的多个积,将所述元素位置的多个积执行求和操作得到所述元素位置的最终值。本申请提供的技术方案具有节省计算量,减低功耗的优点。

Deconvolution Implementation Method and Related Products

【技术实现步骤摘要】
【国外来华专利技术】反卷积实现方法及相关产品
本申请涉及计算机以及人工智能
,具体涉及一种反卷积实现方法及相关产品。
技术介绍
随着生成神经网络在机器学习领域的不断发展与成熟,反卷积层被越来越多的应用到深度卷积网络的算法开发与应用中。卷积操作的作用类似神经网络中的编码器,用于对高维数据进行低维特征提取。反卷积通常用于将低维特征映射成高维输入,相当于一个解码器,实现了低维向量到高维向量的重构。反卷积操作主要应用于对抗生成神经网络,在图像分割、图像生成、边缘检测等领域都有很重要的作用。现有的反卷积操作基于对输入数据的添零进行计算,所以其计算量大,能耗大。申请内容本申请实施例提供了一种反卷积实现方法及相关产品,不通过添零操作实现反卷积的运算,从来减少其计算量,降低功耗。第一方面,本申请实施例提供一种反卷积实现方法,所述方法包括如下步骤:获取输入数据i*i、反卷积核k*k,滑动步长s,填补零数目p;将输入数据i*i每个元素值单独与反卷积核k*k进行乘法的操作;每个元素值与反卷积核k*k进行乘法的操作得到i*i组数据,i*i组数据按滑动步长s移动组成初始输出数据;如初始输出数据的元素位置具有乘法的操作值的多个积,将所述元素位置的多个积执行求和操作得到所述元素位置的最终值;i、k、s均为大于等于1的整数,p为大于等于0的整数。第二方面,提供一种执行第一方面所述方法的反卷积的硬件架构,所述硬件架构包括:输入数据缓存、反卷积核缓存、反卷积运算核、部分结果缓存,选择器、累加器和初始输出结果缓存;其中,所述反卷积运算核包括:k个加法器A、K个乘法器M以及(k)*(k-s)个缓存;其中,K个乘法器M互连接,k个加法器A互连接,k个加法器A分别与K个乘法器M连接,(k)*(k-s)个缓存包括:k组缓存,每组缓存包括k-s个缓存,k组缓存分别与K个乘法器M连接;输入数据缓存以及反卷积核缓存与K个乘法器M连接并输入输入数据和反卷积核数据;k个加法器A分别与部分结果缓存的输入端以及选择器的输入端连接,部分结果缓存输出端回连k个加法器A,部分结果缓存输出端还与选择器的输入端连接,选择器的输出端连接累加器的输入端,累加器的输出端连接初始输出数据缓存。第三方面,提供一种计算机可读存储介质,其存储用于电子数据交换的计算机程序,其中,所述计算机程序使得计算机执行如第一方面提供的方法。第四方面,提供一种计算机程序产品,所述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,所述计算机程序可操作来使计算机执行第一方面提供的方法。实施本申请实施例,具有如下有益效果:可以看出,本申请提供的技术方案不通过添零操作,直接进行计算得到反卷积运算的结果,所以其具有减少计算量,降低功耗的优点。附图说明为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是一种软件上实现反卷积运算的示意图。图2是本申请提供的一种卷积实现方法的流程示意图。图3是本申请提供的一种2*2输入数据与3*3反卷积核的反卷积运算实现示例图。图4是本申请提供的一种反卷积的硬件架构的结构图。具体实施方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。本申请的说明书和权利要求书及所述附图中的术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。本申请中的电子装置可以包括:服务器、智能摄像设备、智能手机(如Android手机、iOS手机、WindowsPhone手机等)、平板电脑、掌上电脑、笔记本电脑、移动互联网设备(MID,MobileInternetDevices)或穿戴式设备等,上述电子装置仅是举例,而非穷举,包含但不限于上述电子装置,为了描述的方便,下面实施例中将上述电子装置称为用户设备(Userequipment,UE)、终端或电子设备。当然在实际应用中,上述用户设备也不限于上述变现形式,例如还可以包括:智能车载终端、计算机设备等等。参阅图1,图1为一种反卷积操作的数据示意图,这里的输入数据(input)以3*3数据为例,反卷积的卷积核尺寸为3*3,其计算的方法可以为,输入图特征图像大小i*i,反卷积核k*k,滑动步长s,填补零数目p。对应输出特征图像的大小o*o,满足:o=s*(i-1)+k-2*p。参阅图1,滑动步长S=2,填补零数目P=1,k=3,对于3*3的输入数据对输入相邻数据填充s-1个0,边界补充k-p-1个0以后得到7*7的数据块,与反卷积核进行步长为1的卷积运算,得到7*7的输出图像;最后对7*7的图像裁剪掉边界上的数据(p行,p列),得到6*6的输出结果。参阅图1,图1的技术方案除了卷积中的乘累加运算之外,要求的填0操作不适合硬件实现,在FPGA上的执行效率比较低,此外也增加了对输入图像储存的内存需求;在大量填补的0导致大部分乘累加运算为无效操作,计算效率大大下降,导致对硬件计算资源利用率下降;通用性低:当把反卷积操作转化为卷积运算时,由于输入图像的不规律,会导致对含有不同参数的反卷积层操作时,数据读取模式变化(比如不同的反卷积核,滑动步长等),导致硬件上需要不同的计算模块来实现不同层的操作,硬件设计复杂度加大。参阅图2,图2提供一种反卷积实现方法,该方法由终端执行,该方法如图2所示,包括如下步骤:步骤S201、获取输入数据i*i、反卷积核k*k,滑动步长s,填补零数目p;步骤S202、输入数据i*i每个元素值单独与反卷积核k*k进行乘法的操作;每个元素值与反卷积核k*k进行乘法的操作得到i*i组数据,i*i组数据按滑动步长s移动组成初始输出数据;步骤S203、如初始输出数据的元素位置具有乘法的操作值的多个积,将该元素位置的多个积执行求和操作得到该元素位置的最终值;步骤S204(可选的)、将初始输出数据执行裁剪得到符合输出大小需求的最终输出结果。上述i、k、s均为大于等于1的整数,p为大于等于0的整数。可选的,上述步骤S204的实现方法具体可以为:将初始输出数据的边界数据按P进行裁剪得到最终输出结果。当然,上述步骤S204的实现方法具体还可以包括:将根据最终输出数据的大小将初始输出数据的边界数据进行裁剪得到最终输出结果。本申请提供的技术方案在执行反卷积操作时,无需执行填零操作,那么在实际应本文档来自技高网...

【技术保护点】
1.一种反卷积实现方法,其特征在于,所述方法包括如下步骤:获取输入数据i*i、反卷积核k*k,滑动步长s,填补零数目p;将输入数据i*i每个元素值单独与反卷积核k*k进行乘法的操作;每个元素值与反卷积核k*k进行乘法的操作得到i*i组数据,i*i组数据按滑动步长s移动组成初始输出数据;如初始输出数据的元素位置具有乘法的操作值的多个积,将所述元素位置的多个积执行求和操作得到所述元素位置的最终值;i、k、s均为大于等于1的整数,p为大于等于0的整数。

【技术特征摘要】
【国外来华专利技术】1.一种反卷积实现方法,其特征在于,所述方法包括如下步骤:获取输入数据i*i、反卷积核k*k,滑动步长s,填补零数目p;将输入数据i*i每个元素值单独与反卷积核k*k进行乘法的操作;每个元素值与反卷积核k*k进行乘法的操作得到i*i组数据,i*i组数据按滑动步长s移动组成初始输出数据;如初始输出数据的元素位置具有乘法的操作值的多个积,将所述元素位置的多个积执行求和操作得到所述元素位置的最终值;i、k、s均为大于等于1的整数,p为大于等于0的整数。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:将所述初始输出数据执行裁剪得到符合输出大小需求的最终输出结果。3.根据权利要求2所述的方法,其特征在于,所述将所述初始输出数据执行裁剪得到符合输出大小需求的最终输出结果具体包括:将所述初始输出数据的边界数据按p进行裁剪得到最终输出结果。4.根据权利要求2所述的方法,其特征在于,所述将所述初始输出数据执行裁剪得到符合输出大小需求的最终输出结果具体包括:将根据最终输出数据的大小将初始输出数据的边界数据进行裁剪得到最终输出结果。5.一种执行如权利要求1-4任意一项所述方法的反卷积的硬件架构,所述硬件架构包括:输入数据缓存、反卷积核缓存、反卷积运算核、部分结果缓存,选择器、累加器和初始输出结果缓存;其中,所述反卷积运算核包括:k个加法器A、K个乘法器M以及k*(k-s)个缓存;其中,K个乘法器M互...

【专利技术属性】
技术研发人员:刘双龙
申请(专利权)人:深圳鲲云信息科技有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1