卷积是什么

卷积原理介绍

image-20240705090449404

卷积计算过程

  1. 卷积核:在图中,左边的3x3矩阵是输入图像,4x4的矩阵是卷积核。
  2. 滑动窗口:将卷积核放在输入图像的一个位置上,对应位置的元素相乘后相加,得到输出矩阵的一个元素。
  3. 重复操作:滑动窗口在输入图像上移动,对每一个位置重复上述步骤,最终形成输出矩阵。

比赛卷积参数介绍

image-20240705090905139

常用卷积算法

常用卷积计算方法有四种:

  • 直接卷积计算

    按照卷积的计算特性直接进行计算,卷积核中的权重矩阵在经过处理(补边)后的输入图像中滑动,每次在输入图像中会覆盖一个与权重矩阵大小一致的子矩阵与之进行对应元素的相乘并累加(点积运算)。

    image-20240705091624465

  • Winograd算法

    通过特定的计算公式增加加法计算来减少乘法的计算次数达到优化目的。由于转化过程中会对计算精度产生影响,只适用于一些较小的卷积核,例如本次比赛中rs3x3的卷积核就比较适用。

    image-20240705091712161

  • FFT算法

    将输入图像和卷积核进行 FFT 变换,在频域中进行乘法计算,然后再进行 IFFT(快速傅里叶逆变换)变换,将频域中的乘法计算结果转换为空域的卷积结果。卷积核越小,需要填充的数据也就越多,因此适用于一些特殊情况。

    image-20240705091803097

  • Im2col算法

    通过将输入图像和卷积核分别进行行向量和列向量的转换并组合成两个矩阵,随后通过通用矩阵乘(General Matrix Multiplication,GEMM)来加速计算结果。由于任何尺寸的卷积过程都可以进行转换,所以该算法对卷积的适用性较好。

    image-20240705091839883

通用优化方法

  • 数据分块

    image-20240705092256638

  • 寄存器复用

    image-20240705092326756

  • 隐藏数据访问延迟

    image-20240705092316122

  • LDS完成数据搬移

    image-20240705092343754

  • 双缓冲

  • 指令穿插

    image-20240705092430348

  • Bank冲突

    image-20240705092458922

    image-20240705092514323

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值