【技术实现步骤摘要】
一种可配置池化算子的方法及电路
本专利技术属于人工智能
,涉及深度学习技术中的池化计算,特别涉及一种可配置池化算子的方法及电路。
技术介绍
近年来CNN网络(convolutionneuralnetwork,卷积神经网络)在计算机视觉领域中发挥着越来越重要的作用。但是随着深度学习技术的发展和应用场景日益多元化,CNN网络参数量变得越来越庞大,增加了将其移植到硬件上的难度。因此CNN网络加速计算已成为一项重要的研究内容。主流的CNN网络包含卷积层、批标准化层、激活层、池化层以及全连接层等,其中以乘加计算为主的卷积层和全连接层占据了网络大部分的计算量,因此目前加速计算的重点都在于设计专门的硬件结构来完成乘加计算,从而缩短卷积和全连接这两层的计算时间。CNN加速器主要采用将输入数据分块并存入片上缓存以及循环计算的方法,将数据复用和并行计算这两项技术结合起来共同提高CNN网络的计算效率。在这种设计思路的基础上,可以对加速器的性能进行进一步的优化。在图像研究领域,池化计算主要是通过在图像特征映射上划分尺寸为N*N ...
【技术保护点】
1.一种可配置池化算子的方法,其特征在于,设置池化缓存将数据从卷积计算的排列顺序转换为方便进行池化计算的顺序,设计并复用基本的池化计算模块以支持任意区块尺寸下的池化计算。/n
【技术特征摘要】
1.一种可配置池化算子的方法,其特征在于,设置池化缓存将数据从卷积计算的排列顺序转换为方便进行池化计算的顺序,设计并复用基本的池化计算模块以支持任意区块尺寸下的池化计算。
2.根据权利要求1所述可配置池化算子的方法,其特征在于,对于最大池化计算,根据实际的计算并行度部署相应数量的四输入的最大池化计算模块,每个最大池化计算模块包括三个两输入的比较器,其中最大池化计算模块的四个输入作为两个比较器的四个输入,两个比较器的两个输出作为第三个比较器的输入,完成四个输入中取最大值的操作,根据所述取出数据的顺序将数据送入各最大池化计算模块,完成多个区块的并行池化计算;
对于平均池化计算,根据实际的计算并行度部署相应数量的四输入的平均池化计算模块,每个平均池化计算模块包括三个两输入的加法器,其中平均池化计算模块的四个输入作为两个加法器的四个输入,两个加法器的两个输出作为第三个加法器的输入,完成四个输入的相加操作,第三个加法器的输出送入一个移位器,用右移两位来实现取平均数的操作。
3.根据权利要求2所述可配置池化算子的方法,其特征在于,所述最大池化计算中,比较器内部对两个有符号数进行比较的具体逻辑为先判断两个数符号位是否一致,若一致则直接比较后面的数字位的大小;若符号位不一致则取符号位为0的数作为输出结果;
所述平均池化计算中,通过复用所述平均池化计算模块若干次,并在第三个加法器的输出与移位器的输入之间设置累加器,从而实现全局平均池化,通过改变复用平均池化计算模块的次数,实现任意尺寸下的全局平均池化计算。
4.根据权利要求1或2所述可配置池化算子的方法,其特征在于,将若干块池化后的数据拼接成一块与池化前尺寸相同的数据再存入输出缓存,以保证网络每一层的输入分块数据尺寸均相同。
5.根据权利要求1所述可配置池化算子的方法,其特征在于,支持数据同时进行池化和非池化计算,从池化前一计算模块输出的数据既存入输出缓存,又进入池化缓存进行池化计算。
6.根据权利要求1所述可配置池化算子的方...
【专利技术属性】
技术研发人员:何虎,张坤宁,赵烁,邓宁,
申请(专利权)人:清华大学,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。