【0-1】卷积神经网络初探

发布于:2022-12-02 ⋅ 阅读:(486) ⋅ 点赞:(0)

卷积神经网络初探

一、 什么是卷积神经网络?

说到神经网络,大家可能会想到这个:
神经网络模型

神经网络由输入层、隐藏层、输出层组成,每个箭头代表着过程中数据的流向,图中的关键不是代表神经元的“圆圈”,而是代表神经元间链接的连接线。每个连接线都对应一个权值,这些权值是需要经过训练得到的。

卷积神经网络依旧是神经网络,只是层的功能和形式有了变化,可以理解为对传统神经网络的层级作出改进。如下图,多了许多传统神经网络没有的层次:
卷积神经网络举例1
卷积神经网络(CNN),是一种深度学习模型,或者说,是一种类似于人工神经网络的多层感知器,常用于计算机视觉中的图像分析 ,我们这次主要讲其在自然语言处理中的应用。

在这里插入图片描述

第一个问题:什么是卷积(convolution)?
由内卷产生的原始积累,称为初代卷积(哈哈,开个玩笑)

在这里插入图片描述
图没看太明白?没关系,下面还有更详细的:
在这里插入图片描述
input、kernel、bias,这三个缺一不可,当然,光有这仨还不够,缺一个步长(stride)

  1. input 无需多说,就是输入矩阵
  2. kernel 又叫做卷积核,具体作用待会儿说
  3. bias 我理解为偏差值,对最后结果进行修正
  4. stride 可以理解为kernel对应的子矩阵每次滑动经过的像素

在这里插入图片描述
计算流程大致明白了?
对于输入矩阵,每次扫描与kernel对应大小的子矩阵,子矩阵的每个元素乘以kernel中对应位置的权值的结果之和,再加上偏差值(bias),即为最终结果,放入输出矩阵的相应位置。这只是输出矩阵中的一个元素,还早呢。

在这里插入图片描述

这里就差不多完成了。这是单通道单核卷积。
还有单通道多核卷积:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
单通道多核卷积,无非就是多出几个输出矩阵,计算输出矩阵的流程和上面的单通道单核卷积一样。

那么,想必还有多通道单核卷积、多通道多核卷积喽?
bingo!

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
关于卷积,讲到这里就差不多了。
最后来个不那么严肃的说明:
在这里插入图片描述
在这里插入图片描述

图来!
在这里插入图片描述
现在能看懂了吗?

看不懂就对了

第二个问题:什么是pooling(池化)?
简单地讲,池化又称为降采样,本质就是采样。对数据进行降维压缩,在尽可能保留重要特征的基础上加快计算速度。
这回皮不动了哈
不太明白?来看图!

池化的方法有很多,先来一个max pooling(最大池化)压压惊:
在这里插入图片描述
filter是啥?stride又是啥?
( ̄ ii  ̄) 吸溜~( ̄" ̄;)

filter,刚才忘说了,是卷积核的另一种英文表示~~(还记得什么是卷积核吧?就是刚才的kernel)~~
stride,即是步长。

最大池化,相信聪明的同学们已经看出来了,就是取filter选取的子矩阵的最大元素作为输出元素。
还有一种方法叫平均池化,是不是也懂了?(相视一笑.jpg)

在这里插入图片描述

总结

在这里插入图片描述
到这里,突然有几个问题:
卷积神经网络注重相邻位置之间的关系呢,还是注重图形边缘在图中的精确位置?
面对放大、缩小、旋转、平移后的图像,卷积神经网络还能有一样好的效果吗?