卷积神经网络理论(CNN)·基于tensorflow实现

传统神经网络的输入是一维的数据(比如28*28的图片,需要转化为一维向量)。

而卷积神经网络的输入是一个三维的(比如RGB)。

结构

卷积神经网络有以下结构:

  • 输入层
  • 卷积层
  • 池化层
  • 全连接层

输入层

顾名思义,输入层就是输入数据(可以是图片等数据)。

卷积层

卷积是什么?

在数学和信号处理中,卷积是一种将两个函数(或信号)结合以生成新函数的操作。卷积的操作可以用于信号的平滑、特征提取等多种用途。对于离散信号,卷积操作可以描述为:

给定两个离散信号 f[n]f[n] 和 g[n]g[n],它们的卷积 (f∗g)[n](f∗g)[n] 定义为:

(f * g)[n] = \sum_{k=-\infty}^{\infty} f[k] \cdot g[n - k]

  • f[n]:第一个信号或函数(通常是输入信号)。
  • g[n]:第二个信号或函数(通常是卷积核或滤波器)。
  • n:卷积结果的位置索引。
  • k:求和的索引变量,遍历所有可能的重叠位置。

在计算卷积时,我们将卷积核 gg 在信号 ff 上滑动,并对每个位置计算重叠部分的加权和。

对于有限长信号 f=[f0,f1,…,fM−1]f=[f0​,f1​,…,fM−1​] 和卷积核 g=[g0,g1,…,gN−1]g=[g0​,g1​,…,gN−1​],卷积的具体计算公式可以写成:

(f * g)[n] = \sum_{k=0}^{N-1} f[k] \cdot g[n - k]

案例引入一

如果有一只猫咪的图片,我需要进行训练分类。

我们知道猫咪的特征是耳朵、眼睛、鼻子。我在第二张图片上画的红色圈圈就是重要的特征。相反,绿色圈圈的就是不重要的特征。

我们要做的就是将这些重要的特征提取出来,将不重要的特征删除。

首先先看一下卷积的过程:

我们来仔细讲解以下这个过程:

假如我有一张5*5*3的图片作为输入。

我们首将5*5*1的这一层拿出来,作为案例。

我们接下来会设置一个权重矩阵,为3*3的矩阵,然后将所选区域与权重矩阵对应相乘得到一个特征点。然后得到一个特征图。

第一次:1*3+2*2+1*1+2*2=12。

第二次:1*2+2*1+2*1+1*2+2*2=12.0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

背水

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值