【吴恩达笔记】卷积神经网络

本文深入探讨了卷积神经网络(CNN)在计算机视觉中的应用,如图像识别、物体检测。介绍了CNN的基本结构,包括输入层、输出层、参数计算,以及边界检测的概念。还讲解了填充(Padding)、卷积步长(Stride)和两种卷积方式。此外,讨论了池化层(Pooling)如MaxPooling,并展示了CNN网络层数量的计算方法。最后,阐述了为何使用卷积而非全连接层的原因,主要是减少参数数量。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

卷积神经网络

计算机视觉

计算机视觉问题例如图像识别,图像融合,物体检测等

cat的图片 64 * 64 * 3

  • 前面64代表像素点高度和宽度,3代表RGB3层

这样的图片比较小,如果对于1000 * 1000 * 3,使用神经网络

  • 第一层的输入,展开X_1,X_2…X_N,一共有1000 * 1000 * 3个x
  • 第一层的输出,1000个节点
  • 第一层的参数
    • w (1000,3m)
    • b (1000,1)

边界检测

这里数字越大代表亮度越大,数字越小越暗

  • 输入为 6 * 6的矩阵
  • 过滤器 3 * 3 或者 kernel
  • 输出 4 * 4

更多的边界检测

对于过滤器有不同的值,不同进行边界检测

Padding

边界扩充,输入的矩阵经过过滤器过滤之后,输出的矩阵维度降低,为了使矩阵维度保持不变,我们可以对原来的矩阵边界进行填充数值。

  • 输入矩阵: n * n eg: 6 * 6
  • 填充边界: pading P=1
  • 过滤器: f * f eg: 3 *3
  • 输出矩阵: ( n+2P-f+1 ) * ( n+2P-f+1 )
  • 输出矩阵: 6+2-3+1 =6

两种卷积方式

  • valid: 无填充
  • Same:Pad so that output size is the same as the input size.

卷积步长

Strided Convolutions

图片维度 : n × n

过滤器维度: f × f

填充 Padding : p

步长stride : s

三维卷积

(Convolutions over volumes)

把三维过滤器看成小方块

然后在三维矩阵上移动 与对应的平面进行相乘相加

这里27个相乘 最后加在一起

单层卷积网络

One layer of a convolutional network

  • 输入a_{0}为 6 × 6 × 3
  • 过滤器相当于参数矩阵w_{1}
  • z_{1}=w_{1}a_{0}+b_{1}
  • a_{1}=g(z_{1}) 使用非线性函数Relu
  • g代表非线性变换
  • 两个过滤器 所以最后 4 × 4 × 2

If you have 10 filters that are 3 x 3 x 3 in one layer of a neural network, how many parameters does that layer have?

如果你在一个神经网络的一层中有10个3x3x3的过滤器,那么这个层有多少参数?

3 × 3 × 3 ×10+bias( 10 )=280 parameters

简单卷积网络案例

A simple convolution network example

第一层输出结果在这里插入图片描述

第二层在这里插入图片描述输出结果在这里插入图片描述
第三层在这里插入图片描述输出结果

7 × 7 × 40=1960个特征

经过逻辑回归,输出最后的y值

卷积网络中一层的类型:

  • Convolution CONV 卷积
  • Pooling POOL 池化
  • Fully connected FC 全连接

池化层

Pooling layer:Max pooling

这里 f=2 s=2

移动选取框中的最大值

Hyperparameters:

  • f : filter size
  • s : stride
  • Max or average pooling

卷积神经网络的示例

Convolutional neural network example

注意:这里 CONV + POOL算一层,因为池化不需要求得参数

手写数字图片→ layer_1(Conv1 PooL1) →layer_2(CONV2 POOL2) → Fc3 →FC4→softmax →10 outputs

各层所需要的参数

可能不对: layer_1(Conv1 PooL1):5 × 5 × 3 × 6 +bias (6)

全连接层FC3: input 400 output 120

  • 每个input都参与各个output的生成
  • 参数:1 * 120 * 400+bias( 1 )

Why convolutions?

直接全连接需要的求的参数太多

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值