小白也能看懂的卷积神经网络(CNN)

1.卷积

卷积(Convolution)是一个在信号处理和图像处理中广泛应用的数学运算符。卷积算法可以在不同的领域中实现不同的目标,例如在信号处理中,卷积算法可以用于滤波、降噪等操作;在图像处理中,卷积算法可以用于特征提取、图像增强等操作。简单来说,卷积就是两个函数之间的一种数学运算,它通过取两个函数的乘积积分得出新的函数。在机器学习中,卷积神经网络则是通过卷积操作实现了图像识别、语音识别等任务。

那么在数学方面,简单定义:设:f(x),g(x)是R1上的两个可积函数,作积分:

\int_{}^{}f\left ( \beta \right )g\left ( x-\beta \right )d\beta

上限为正无穷,下限为负无穷(其实是我在打公式里面没有找到无穷)

可以证明,关于几乎所有的实数x,上述积分是存在的。这样,随着x的不同取值,这个积分就定义了一个新函数,称为函数与的卷积,记为 h\left ( x \right )=\left ( f*g \right )\left ( x \right )
容易验证\left ( f*g \right )\left ( x \right )=\left ( g*f \right )\left ( x \right )并且前者仍为可积函数。这就是说,把卷积代替乘法,L1(R1)空间是一个代数,甚至是巴拿赫代数。
卷积与傅里叶变换有着密切的关系。利用一点性质,即两函数的傅里叶变换的乘积等于它们卷积后的傅里叶变换,能使傅里叶分析中许多问题的处理得到简化。

可能在这里大家对函数还不是很理解,下面我举一个详细的例子。

注意看,这个人叫小帅,他特别喜欢吃东西,不仅一日三餐在吃饭,也会吃很多零食。那么我们就可以根据时间和进食情况画一个函数f(x)

在小帅吃东西的同时,他的胃也在消化食物,不然小帅就要被食物撑爆了啊。胃的消化也可以画成一个函数g(x),消化的速率也跟着时间变化,纵坐标就是你吃进去的食物在时间t后还剩多少。

问:下午两点的时候,小帅的肚子里还剩多少食物?

如果小帅的胃不会消耗的话,那我们直接把f(x)进行积分即可,但是考虑到胃是在消化,我们要考虑g(x)消化函数,即我们吃的东西×它的消化速率,再将这个函数进行积分。


2.卷积层

在神经网络中,卷积层的作用是通过输入数据中的局部相关性来检测特征。卷积层定义一个由一系列可训练的滤波器或卷积核组成的过滤器组。每个卷积核都是一个权重矩阵,用于检测输入数据中某种特定的局部模式或特征。在卷积计算中,卷积核沿着输入数据进行移动,并在输入数据的每个位置计算加权和。卷积层通过不断地平移卷积核来对输入数据进行卷积操作,并输出一张特征图,特征图中的每个元素都对应于输入数据中某个局部区域的特征响应。

卷积层可用于处理各种类型的数据,包括图像、语音、文本等。在图像处理中,卷积层通常用于图像分类、目标检测、图像分割等任务。在自然语言处理中,卷积层通常用于情感分析、文本分类等任务。卷积层也被广泛地应用于深度学习中的循环神经网络和生成对抗网络等模型中。

卷积核是什么?

卷积核(Convolution kernel)是一种数学工具,通常用于数字信号处理、图像处理和深度学习等领域。在数字信号处理中,卷积核是一种离散卷积运算的矩阵,用于对离散信号进行卷积运算;在图像处理中,卷积核通常用于卷积操作,对图像进行滤波、边缘检测等处理;在深度学习中,卷积核是卷积神经网络(CNN)中的关键组件之一,用于提取输入数据的特征。

在深度学习中,卷积核是指用于卷积神经网络中的卷积层的一组可学习的参数。卷积层由多个卷积核组成,每个卷积核都是一个小型的矩阵,一般是3x3、5x5或7x7大小,在卷积操作中,卷积核沿着输入数据进行移动,并在输入数据的每个位置计算加权和,以提取输入数据中的特征信息。在训练过程中,卷积核的权重会不断地进行调整,以最大化神经网络的性能,从而能够更好地识别输入数据中的模式和特征。

卷积核的大小、数量和形状都会影响到卷积神经网络的性能。一般来说,卷积核越大,能够提取的特征信息就越多,但是网络的计算量也会相应地增加,而卷积核的数量和形状则会影响卷积层的感受野和特征提取能力。因此,设计合适的卷积核是卷积神经网络成功的关键。

图像的卷积操作是什么?

图像的卷积操作是一种图像处理方法,通常用于图像增强、边缘检测、滤波等方面。卷积操作通常是将一个小的窗口(称为卷积核或滤波器)在图像上移动,并在每个位置上将卷积核的权值与图像像素值相乘,然后求和得到该位置的像素值。这个过程可以看做是对原始图像进行了一种线性滤波操作,用于消除噪声、改善图像质量等。

卷积操作通常用于灰度图像,对于彩色图像,可以对每个颜色通道进行单独的卷积操作,然后将结果进行合并。在一些特定的图像处理任务中,也可以通过组合多个卷积核来实现对图像的不同处理。

在图像处理中,卷积核的大小、形状和权值都会影响到卷积操作的效果。例如,使用不同的卷积核可以实现不同的图像处理效果,如边缘检测、模糊、锐化等。一些常用的卷积核包括Sobel算子、Prewitt算子、Laplacian算子等,这些算子常常被用于图像边缘检测和锐化等处理中。

我自己感受就是,它其实就是一个把特征放大的操作,也就是提取图像特征。

3.池化层

卷积层也会有一些比较弱的特征,池化层是卷积神经网络中一种常见的层,用于减少特征图的尺寸和空间信息,同时增加特征的不变性和鲁棒性。池化层通常有最大池化和平均池化两种方法,最大池化选取所有特征图元素中最大的值作为下采样后的值,平均池化则选取所有特征图元素的平均值作为下采样后的值。池化层的输出大小可以通过指定池化核大小、步长和填充方式进行控制。

池化层通常被用于卷积神经网络中,可以跟在卷积层之后或者其他池化层之后。它的主要作用是减少特征图的尺寸,在减小特征图维度的同时保留重要的特征信息。池化层的另一个作用是增加模型的鲁棒性和不变性。例如,最大池化可以使特征在一定范围内具有平移不变性,而平均池化可以使特征具有旋转不变性。

在深度学习中,常见的池化层有最大池化和平均池化两种方法。最大池化选取所有特征图元素中最大的值作为下采样后的值,平均池化则选取所有特征图元素的平均值作为下采样后的值。在实际应用中,最大池化更常用,因为它可以更好地保留重要的特征信息,而平均池化通常用于一些比较简单的模型中。

最后推荐大家去看b站的一个视频,这个视频用动画清晰的展示了卷积操作。

【图解,卷积神经网络(CNN可视化)】https://www.bilibili.com/video/BV1x44y1P7s2?vd_source=ab2495452a61278fca3010a3155e9f48

  • 14
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值