xml文件 卷积神经网络_卷积神经网络入门(一)

看过卷积神经网络的介绍,发现很多人的介绍都是先讲一堆原理,难以引起读者的兴趣。本篇文章将介绍卷积神经网络的流程。

假设有一张图片,该图片可以用一个6*6的矩阵表示,如下所示

71a4f192cea8b4442287bc78ca6b5064.gif
图1 步长为1的卷积流程图

如上图所示,输入的照片对应的矩阵如左边矩阵所示,假设给定一个卷积核如中间的3*3矩阵所示,假设步长为1,对应的卷积则如右侧4*4的矩阵所示。

计算流程:

给定一个卷积核,如上图所示,则首先在输入的矩阵中,从上到下从左到右找到第一个与卷积核维数相同的子式,如左上角3*3的矩阵

7ffc5035bcb1687e226f528918cdde5c.png
图2

因此,计算的右侧4*4的卷积矩阵G的左上角的值为G(1,1)=10*1+10*2+10*1+10*0+10*0+10*0+10*(-1)+10*(-2)+10*(-1)=0,

即卷积矩阵G每个位置的卷积值为与之对应的的输入矩阵的子式和卷积核矩阵的内积。

矩阵内积定义为:假设两同维数的m*n阶矩阵A、B,则A和B的内积为:

44a1d4a174f6b639025a688ed8ec5576.png

如上所示,在给定卷积核和步长后,可以得到卷积矩阵,如图1所示,第一个子式和第二个子式之间的步长为1,如下所示:

922c7326d295d4d773449ace552a80fc.png
图3 步长为1

如上图所示,在一行子式中,第一个子式和第二个子式之间相差一列元素,即步长为1;列方向同理,步长为1时一列子式中,第一个子式和第二个子式之间差一行元素。

当给定步长为2时,有如下形式:

2083d473d411b3faa897044232307b2a.png
图4 步长为2

在一行子式中,每相邻子式之间相差为两列元素,即步长为2,列方向同理。

步长为n时,即一行中相邻子式之间差n列元素,列方向同理。

问题: 当步长不为1时,会出现最后一个子式维数与卷积核维数不一致的情况,如图4中,第三个子式只有两列,而卷积核有三列,如何计算卷积矩阵?

做法:对最后一个子式进行扩充,可以再扩充一列,形成与卷积核相同的维数

因此,可以得出卷积矩阵的维数,假设输入矩阵为n*n维矩阵,卷积矩阵为m*m维矩阵,步长为d(n>m+d),则一行子式的个数为(n-3)/d+1,即卷积矩阵为(n-3)/d+1阶方阵,通过计算每个子式与卷积核的内积即可得到卷积矩阵。

对于不同的卷积核和不同的步长可以得到不同的卷积矩阵。

卷积核可以被认为编码语言,对于同一个文件内容(输入矩阵),通过不同的编码方式(卷积核+步长)可以得到不同的密码文(卷积矩阵)。

以上就是我对卷积神经网络中有关于卷积方面的理解,如有不对之处请各位大神多多指教。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值