前言
卷积神经网络的核心操作就是各种矩阵运算,在前向传播和反向传播中的各种形式的矩阵运算构成了CNN的计算体系,本文将在卷积神经网络(Convolutional Neural Network)的背景下对相关的矩阵运算进行梳理,涉及矩阵乘积(matrix product)、元素对应乘积(element-wise product)、卷积操作(convolution)、相关操作和克罗内克积(kronecker product)等,在学习CNN的反向传播之前,我们必须先搞清楚这几种矩阵操作的计算过程,希望本文可以帮助大家理解卷积神经网络(CNN)提供一些帮助!
文章小节安排如下: 1)矩阵乘积(matrix product) 2)元素对应乘积(element-wise product) 3)卷积操作(convolution) 4)相关操作 5)克罗内克积(kronecker product) 6)总结
一、矩阵乘积(matrix product)
1.1 矩阵乘积(matrix product)定义
矩阵的乘法运算不多说了,回顾一下最基本的定义: 设 A 为 m x p 的矩阵,B为 p x n 的矩阵,则称 C = AB 为矩阵A与B的乘积,且C为 m x n的矩阵,其中矩阵C中的第 i 行第 j 列元素可以表示为:
1.2 矩阵乘积的运算规律
分配律:A(B+B) = AB + AC 结合律:A(BC)=(AB)C
二、元素对应乘积(element-wise product)
2.1 元素对应乘积(element-wise product)定义
元素对应乘积也称为Hadamard乘积(Hadamard product),矩阵A,B的Hadamard乘积定义为二者对应位置的乘积,也有人称作相关操作,记作:A⊙B 令C=A⊙B,则矩阵C中的第 i 行第 j 列元素可以表示为:
2.2 Hadamard乘积计算示意图
Hadamard乘积的计算图示如下:
2.3 Hadamard乘积的运算规律
交换律:A⊙B=B⊙A 结合律:A⊙(B⊙C)=(A⊙B)⊙C 分配律:A⊙(B+C)=A⊙B+A⊙C
参考: Hadamard product (matrices)
三、卷积操作(convolution)
3.1 卷积操作(convolution)定义
3.2 卷积操作计算示意图
卷积操作的计算示意图如下:
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/290760.html