Layer|卷积神经网络-深度学习

卷积神经网络(CNN)是一类深度神经网络 。 这是受人类大脑视觉皮层的启发 。 每当我们看到某些东西时 , 一系列的神经元皮层就会被激活 , 每层都会检测到一些特征 , 如线条 , 边缘(如垂直边缘 , 水平边缘) 。
Layer|卷积神经网络-深度学习文章插图
CNN广泛用于 图像识别,图像分类 , 对象检测 , 人脸识别等 。
【Layer|卷积神经网络-深度学习】过度简化图:
CNN的基本层: - C onvolution - Pooling - Flattening - Fully Connected Layer(Neural network)
Layer|卷积神经网络-深度学习文章插图
卷积神经网络
Layer|卷积神经网络-深度学习文章插图
示例
了解这一点的一些先决条件:
计算机将输入图像视为像素数组 , 这取决于图像的分辨率 。 根据图像分辨率 , 可以看到 h * w * d(h =高度 , w =宽度 , d =维度) 。
彩色图像有 3个通道即 RGB , 而黑/白图像只有 一个通道 。 例如 , 24*24* 3阵列的 RGB矩阵图像(3指RGB值)和一幅图像为4 * 4 * 1阵列的灰度矩阵(b / w)图像 。
Layer|卷积神经网络-深度学习文章插图
现在让我们了解过滤器(卷积/特征图):
Layer|卷积神经网络-深度学习文章插图
要应用某些过滤器 , 我们需要将图像与过滤器矩阵相乘 。 以下是标准过滤器及其矩阵表示的一些示例 。
过滤器的重要性:
在自动驾驶汽车的情况下 , 边缘检测过滤器非常重要 。
现在我们已经准备好了解CNN层及其工作原理 。
卷积层(Convolution Layer)
卷积是从输入图像中提取特征的第一层 。 这里我们将输入图像与不同的卷积(过滤器)相乘以获得具有提取特征的新图像 。
例如:考虑一个6 * 6 * 3的图像 , 这里我们应用两个尺寸为3 * 3 * 3的不同过滤器 , 输出为4 * 4
Layer|卷积神经网络-深度学习文章插图
输出的公式:

  • 输入(Input): n * n * nc
  • 过滤器(Filter): f * f * nc
  • 填充(Padding): p (本文后面部分介绍)
  • 步幅(Stride): s
Stride是输入矩阵上的像素移位数 。 当步幅为1时 , 我们一次将过滤器移动到1个像素 。 当步幅为2时 , 我们一次将过滤器移动到2个像素 , 依此类推
  • 输出: [(n+2p-f)/s+1] *[(n+2p-f)/s+1] *nc'
例如:n = 6 , p = 0 , f = 3 , s = 1 ,
[(6+(0*2)–3)/1+1]*[(6+(0*2)–3)/1+1]*3 = 4*4*3
nc是输入和过滤器中的通道数 , 而nc'是过滤器的数量 。
工作说明:
Layer|卷积神经网络-深度学习文章插图
池化层(Pooling Layer)
当图像太大时 , 池化层会减少参数的数量 。 它减少了每个映射的维度 , 但保留了重要信息 。 空间池化(Spatial pooling )可以是不同类型的:
  • 最大池化
  • 均支池化
  • 求和池化
最大池化从调整过的特征映射中获取最大元素 。 采用最大元素也可以采用均值池化 。 将特征映射调用中的所有元素的和称为求和池化 。
Layer|卷积神经网络-深度学习文章插图
最大池化
填充(padding):