在之前的文章中(卷积神经网络中为什么会有矩阵乘法?),我们提到的情形是只有一个通道的输入数据,相应的,也就只有一个与之对应的Kernel。如果是多通道输入数据,是否依然存在矩阵乘法呢?我们看下面的例子。
在这个例子中,有3个输入通道(RGB),每个通道有与之对应的Kernel,此时的卷积运算并没有本质的变化,就每个通道而言,仍然是二维滤波器。将每个通道的输出结果对应元素相加即为多通道情形下的卷积结果。这里可以设置偏置(Bias)。图中的偏置值为1。此时,输入为多通道,输出为单通道。
进一步扩展,如果每个通道有多个与之对应的Kernel,会是什么情形呢?如下图所示。图中,每个通道有4个Kernel。从而,最终输出有4个通道。输出每个通道的计算方式与上图保持一致。
基于以上两图,我们不难得出如下结论:
输入通道与Kernel通道保持一致,例如上图中有3个输入通道和3个Kernel通道。
输出通道个数与每个Kernel通道内的滤波器个数一致,例如上图中每个Kernel通道内有4个滤波器,故输出通道个数为4。
每个输出通道所包含的元素个数与滑窗个数一致。这再次证明多通道本质上与单通道的卷积运算是一致的。
现在,我们对输入通道数据进行重组,如下图所示方式。取出每个通道滑窗内的数据,排成一列,最终构成一个矩阵。
紧接着,将每个通道对应的Kernel也进行重组,如下图所示方式。最终形成Kernel矩阵。与输入通道数据重组不同的是这里将Kernel系数按行排列,每个Kernel通道内滤波器的个数决定了行数。
至此,输入数据和Kernel系数都被重组为矩阵,重组的目的就是为了满足矩阵运算的需求,这样就可以按照矩阵乘法计算卷积运算了。
责任编辑:lq
-
滤波器
+关注
关注
161文章
7919浏览量
179506 -
神经网络
+关注
关注
42文章
4789浏览量
101528 -
矩阵
+关注
关注
0文章
425浏览量
34725
原文标题:再谈卷积神经网络中为什么会有矩阵乘法
文章出处:【微信号:Lauren_FPGA,微信公众号:FPGA技术驿站】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
TXB0108输入数据为100Mbps时会存在什么问题?
ADS1118如果双通道同时采样时就是两个通道乱跳 ,数据是对的,但是通道不对应怎么办呢?
求助,LMX2572LP参考时钟路径中的乘法器MULT的输入频率范围问题求解
OPA1622处于关断模式下,此时输入引脚依然存在前一级的音频信号输入,这样会对前一级IC存在什么影响呢?
多通道数据采集系统的设计的意义
DAC8812双通道、串行输入16位乘法数模转换器数据表

AD7616的16路采样通道,如何实现对通道状态的实时自检,监测通道状态是否正常?
stm8的ADC工作在扫描模式下时,如果顺次扫描通道1,通道2,通道3,转换完成后的数据分别存在哪个数据缓存器中呢?
STM32F103C8T6使用CAN发送数据,速率如果是1M的话,两帧数据的最小时间间隔是多少呢?
如果STM32定时器外接了正交编码器,该剩余通道是否能做PWM输出呢?

评论