卷积后的特征有负数吗?_【技术观点】CNN卷积层与激活函数

e2462f98503be59db347e7cd4b288aec.png

一、卷积层

首先要进行说明的是,我们常说的CNN(卷积神经网络)中的“卷积”其实并不是真正意义上图像处理中常用的二维离散卷积(convolution),它的真实名字叫做“互相关”(cross-correlation)。本文将分别对互相关和二维离散卷积的计算方式进行说明。(本文还是按惯例称CNN中的互相关操作为卷积,在讲解具体计算方式的时候再加以区分)

卷积层的作用是什么呢?

卷积层就是用来提取图像的特征。因此它是识别图像最核心的部分。

那么卷积层如何提取特征呢?

我们先来了解下什么是卷积操作。图像在计算机看来就是像素点组成的矩阵,对图像(不同的数据窗口数据)和滤波矩阵(一组固定的权重:可以看做一个恒定的滤波器filter也叫作卷积核)做内积(逐个元素相乘再求和)的操作就是卷积。卷积层就是利用卷积核(也叫滤波器)来提取图像的特征。不同的卷积核可以得到不同的特征。如下图所示

155b4e5b399241e3deddb6a983708e5c.png

在正式介绍之前,我们先来讲一下有关的基本概念。

1)特征映射(feature map):输入图像和卷积核卷积后生成的矩阵。

2)感受野:在卷积神经网络CNN中,决定某一层输出结果中一个元素所对应的输入层的区域大小,被称作感受野receptive field。我们看这段定义非常简单,用数学的语言就是感受野是CNN中的某一层输出结果的一个元素对应输入层的一个映射。再通俗点的解释是,feature map上的一个点对应输入图上的区域。

如下图所示,左侧的矩阵为输入的图像,左侧矩阵中蓝色框表示此时的感受野,把感受野内的矩阵与中间层也就是卷积核做内积的运算,就得到了右侧的feature map中的一个值。

bd4a0c1c514ae19a4cda86a6ac826a67.png

当给你一张新的图时,CNN并不能准确地知道这些features到底要匹配原图的哪些部分,所以它会在原图中每一个可能的位置进行尝试。根据给定的步长stride࿰

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 激活函数主要目的是用来解决非线性问题,它能够帮助神经网络更好地建模复杂的数据。在卷积神经网络中,激活函数作用是把一层神经网络的输出变成一个非线性的输出,从而提高网络的表示能力。在卷积神经网络中,常用的激活函数有Sigmoid、ReLU和Tanh等。它们各自具有不同的特点,例如Sigmoid函数具有较强的非线性特性,而ReLU函数可以加快神经网络的训练速度。 ### 回答2: 卷积神经网络(CNN)的激活函数是非线性函数,它的作用是引入非线性变换,增加网络的表达能力。在卷积神经网络中,常用的激活函数有ReLU、Sigmoid和Tanh等。 ReLU(Rectified Linear Unit)是一种非常简单且常用的激活函数,其公式为f(x) = max(0, x)。ReLU的优点是计算速度快,具有线性增长的特性,可以有效地解决梯度消失问题,使网络更容易训练。然而,ReLU的缺点是输出恒定非负,无法适应负数输入,导致神经元输出不具备对称性。 Sigmoid激活函数是一个S型曲线函数,其公式为f(x) = 1 / (1 + e^(-x))。Sigmoid函数的优点是输出范围为(0, 1),可以用作二分类问题的输出概率,能够对输入数据进行映射到概率分布。然而,Sigmoid函数有梯度饱和的问题,导致在网络较深时,梯度会变得非常小,从而影响网络的训练。 Tanh激活函数是双曲正切函数,其公式为f(x) = (e^x - e^(-x)) / (e^x + e^(-x))。Tanh函数具有双边S形曲线,输出范围为(-1, 1),能够对输入数据进行归一化。与Sigmoid函数相比,Tanh函数在原点附近对称,并且具有更大的梯度,能够较好地解决梯度消失问题。然而,Tanh函数也具有梯度饱和问题,而且输出非零均值,可能导致下一层神经元输入数据有偏差。 综上所述,ReLU激活函数速度快且能够解决梯度消失问题,Sigmoid激活函数适用于二分类概率输出问题,Tanh激活函数具有双边S形曲线和归一化的特性。在实际应用中,根据具体的问题和网络结构,选择适合的激活函数可以提高网络的性能和训练效果。 ### 回答3: 卷积神经网络(CNN)中的激活函数是在卷积层与池化层之间的非线性函数,用于引入非线性特征,并帮助网络更好地学习和适应数据。常见的激活函数有ReLU、Sigmoid和Tanh,它们的区别如下: 1. ReLU函数(Rectified Linear Unit):ReLU是最常用的激活函数之一。它将所有负值置零,对正值不做任何改变。ReLU计算速度快,并且在处理大规模图像数据时表现出色,因为大多数图像都是稀疏的(大部分像素值为0)。然而,ReLU在面对负数输入时容易产生死亡神经元,即永远输出0的神经元。 2. Sigmoid函数:Sigmoid函数将输入值映射到(0,1)的范围内。它具有平滑的S形曲线,可以将输入值转换为概率或激活的输出。Sigmoid函数具有良好的可导性,但在梯度反向传播时容易出现梯度消失的问题,尤其是在网络层数较多时。 3. Tanh函数(双曲正切函数):Tanh函数是Sigmoid函数的变体,将输入值映射到(-1,1)的范围内。它比Sigmoid函数具有更陡峭的曲线,因此具有更强的非线性特征捕捉能力。然而,类似于Sigmoid函数,Tanh函数也容易导致梯度消失的问题。 总的来说,ReLU函数在大多数情况下都是最佳选择,因为它具有快速计算和稀疏性。但是当需要输出范围在(0,1)之内时,可以选择Sigmoid函数。而Tanh函数则适用于需要输出范围在(-1,1)之内的情况。在实际应用中,选择合适的激活函数要根据具体问题的需求和数据的特点来决定。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值