【技术实现步骤摘要】
一种卷积im2col展开计算方法
[0001]本专利技术属于卷积神经网络计算方法
,具体涉及一种卷积im2col展开计算方法。
技术介绍
[0002]随着计算机人工智能技术的飞速发展,深度学习
中的卷积神经网络CNN计算方法自从在ImageNet竞赛中引入以来,该技术便在图像分类、模式识别和多媒体压缩等各种领域被广泛采用。该技术的计算时间瓶颈主要是在卷积计算,而卷积计算的时间瓶颈主要在卷积矩阵im2col展开处。采用一个更快的卷积矩阵im2col展开计算方法,可以提升卷积神经网络的训练速度,减小卷积神经网络的反应时间,这在自动驾驶等AI决策领域里有重要意义。卷积计算方法即为令中间的卷积核窗口依次滑过左方的卷积矩阵,每次滑动一个或多个方格。每滑动到一个位置,令卷积核的每个数字与卷积核的对应位置的数字相乘,所有乘积再求和,记录于右侧矩阵对应位置中。当滑动到下一个位置时再做上述运算,直到卷积矩阵被卷积核窗口滑动完为止,右侧的矩阵即为该卷积计算的结果。如图1所示(上图只展示了卷积核在第一个位置和最后一个位置得出的卷积结果 ...
【技术保护点】
【技术特征摘要】
1.一种卷积im2col展开计算方法,其特征在于,包括:步骤1、设需要进行卷积运算的数据为卷积矩阵a,大小设为ma
×
na;卷积核c的大小设为mc
×
nc;卷积计算得到的目标矩阵z,其大小设为(ma
‑
mc+1)
×
(na
‑
nc+1);步骤2、将卷积矩阵a的中每一行排列展开成小块矩阵,具体为:针对第一个小块矩阵:第一行从卷积矩阵a第一行取第一个元素开始的nc个元素;第二行从卷积矩阵a第一行取第二个元素开始的nc个元素;第三行从卷积矩阵a第一行取第三个元素开始的nc个元素;以此类推,最后一行从卷积矩阵a第一行取第(na
‑
nc+1)个元素至第na个元素,则得到第一个小块矩阵;针对第二小矩阵:第一行从卷积矩阵a第二行取第一个元素开始的nc个元素;第二行从卷积矩阵a第二行取第二个元素开始的数nc个元素;第三行从卷积矩阵a第二行取第三个元素开始的nc个元素;以此类推,最后一行从第二行取第(na
‑
nc+1)个元素至第na个元素,则得到第二个小块矩阵;以此类推,直到得到第ma个小块矩阵;步骤3、将小块矩阵再排列成一个大的展开矩阵,具体为:从第一个小块矩阵开始,向后取mc个小块矩阵拼接成第一行小块矩阵;从第二个小块矩阵开始,向后取mc个小块矩阵拼接成第二行小块矩阵;从第三个小块矩阵开始,向后取mc个小块矩阵拼接成第三行小块矩阵;以此类推,直到第ma
‑
mc+1个小块矩阵,则第ma
‑
mc+1至第ma个小块矩阵作为最后一行小块矩阵,得到展开矩阵;步骤4、将展开矩阵与卷积核c点乘,得到目标矩阵,完成卷积运算。2.如权利要求1所述的一种卷积im2c...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。