卷积神经网络基础

我是跟着吴恩达老师的课程来学习这部分内容的,刚开始看卷积神经网络,真的深深地被吴恩达老师的授课能力震撼到了,吴老师将这样一个对我陌生的东西讲的如此通俗易懂,以至于我总是为这些知识感到由衷的神奇,不可思议。说实话,真的有当初自学《线性代数及其应用》的感觉了。就是感觉到这些知识原来是这么得来的,这种感觉非常非常舒服。

卷积神经网络在一件什么事情?

按照我的理解,卷积神经网络通过设定不同的过滤器(卷积核),来探测图片中不同的特征,得到若干个结果图片,然后将结果图片组合,达到识别这张图片的目的。

 以这张灰白照片为例,可以设置两个过滤器,分别检测图片中的竖直边缘和水平边缘,然后组合,达到图片识别的目的。

灰白照片和彩色照片的存储:

通常,灰白照片可以用一个二维数组来存储,也就是一个矩阵,每个位置就是一个像素。假如有这样的一个6*6的矩阵:

 那么每个位置对应图片的一个像素,所以这是一个6*6像素的灰白图片。每个位置的元素值对应着一个具体的亮度,数值越正,越亮,数值越小,越暗。

我们来讨论彩色照片,任何颜色都可以由红绿蓝三原色来组合搭配得到。所以一张彩色照片可以由三个二维矩阵堆叠起来形成一个立方体表示。每一个二维矩阵就可以反应一种颜色的明亮情况。三种颜色的明亮情况来得到各种各样的颜色。

因此, 我们将彩色照片称为三通道,因为它有RGB三种颜色,将灰白照片称为单通道。

卷积操作:

前面我们提到,我们通过过滤器进行识别图片特征,具体怎么操作? 回到我们刚才的灰白矩阵。

左边是一个6*6的灰白图片,右边是一个3*3的过滤器。为了方便,我们顺从惯例,将过滤器称为卷积核。如上所见,卷积核是一个矩阵,而且通常是一个奇数维度的矩阵,我们在之后再说明为什么卷积核的维度通常是奇数。

我们看到,卷积核左列全为1,右列全为-1,中间列全为0。

用3*3的卷积核对6*6的矩阵进行卷积,结果将会得到4*4的矩阵。为什么会这样?我们来看看卷积操作到底在干什么。

卷积操作,是将卷积核矩阵覆盖到左边的矩阵中,如下:

 然后进行卷积运算:每个元素进行元素乘法,然后将元素乘法的结果累加起来。如:

3*1 + 0*0 + (-1)*1 + 1*1 + 5*0 + 8*(-1) + 2*1 + 7*0 + 2*(-1) = -5

然后放到结果矩阵:4*4矩阵的第一行第一列。然后将卷积核平行移动1个单位,比如向右移动一个单位,覆盖情况如下:

 然后再进行一次卷积运算,得到-4, 以此类推,一直到右边界,然后进入到下一行。

    

 将所有结果放到4*4的输出矩阵内,得到最终结果,完成一次卷积操作。

 为什么可以探测竖直边界?

为了更加直观地说明效果,我们以一个很特别的矩阵为例,他是一个灰白图片,左边是白色,右边相对较暗,为灰色。卷积核还是我们上面的矩阵,左列较亮,为白色,中间较暗,为灰色,右边为黑色,输出矩阵的左右边都是灰色,中间是白色。

 很直观了吧,灰白照片白色和灰色的交界处,通过卷积核,反映在输出矩阵中间是白色一条带,于是,竖直边界就被识别出来了。

还不是很直观?还不是很理解为什么卷积核可以这样做到?我们从另一个角度来说明。

卷积核左列表示的是亮色像素,右列表示的是深色像素,中间列为0通常不考虑有什么效果。卷积核与左边矩阵进行覆盖操作,实际上在做一个相关性检测操作。下面是卷积核从左上角开始,右平移到右上角过程中,被覆盖的四个矩阵:

          

 第一个矩阵左列和右列都是正数,为白色,和卷积核相关性程度低,表现在卷积运算值为0。第二个矩阵左列是正数,为白色,中间列不被考虑,右列是0,为灰色,颜色较暗,左右之间有一定的颜色差,和卷积核的相关性程度比较高,表现在卷积运算值为30。同理,第三个矩阵和第二个矩阵一样,第四个矩阵左右都是0,并不是相反数,颜色差别小,相关性程度低,反应到结果为0。

当然,如果第二个矩阵右列不是0而是-10,甚至是更小的数,那么结果肯定不止30,甚至是50,90等等。

所以,卷积操作实际上在核对图片矩阵与卷积核的相关程度。

当图片像素很大的情况下,卷积核识别的特征更明显:

 看这个新的卷积操作,我们不难知道,这是一个检测水平边界的卷积操作。

 如果我们的输入矩阵维度很大,或者说图片的像素很多,是1000*1000像素的图片,也就是1000*1000维度的矩阵,这时候左上角和右下角有500*500个10,右上角和左下角也是500*500个0,我们会有什么发现?

(1000*1000) 

不难想象,输出矩阵上面会有更多的0,下面也会有更多的零,然后中间一条带,大部分都是30和-30,对称分布在条带左右两侧,中间只有几个10和-10。

这说明,在像素很大,维度很大的情况下,过渡值10和-10可以被忽略不计,那么这时候的输出矩阵就是上下一堆0,中间全是30和-30的情况,这样,边界也就很清晰地被直观地看出来。

 

(Word真强大)

 这还不直观?这还能不直观?这还有什么不能直观的?

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值