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


    卷积神经网络

    计算机视觉

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

    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?

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

  • 相关阅读:
    PDFPlumber解析PDF文本报错:AssertionError: (‘Unhandled’, 6)
    Git 简介及使用
    【Python合集系列】也许每个人的童年里都有过这样一个梦:“书桌会被推开钻出来一个哆啦A梦”。(源码合集)
    PyTorch源码学习系列 - 1.初识
    限时分享!字节算法大佬亲撰1200页数据算法笔记:GitHub标星79K
    【MySQL】表的基本操作
    JVM篇---第十一篇
    Mysql报错:1130-host ... is not allowed to connect to this MySql server如何处理
    python requests爬取税务总局税案通报、税务新闻和政策解读
    连接器信号完整性仿真教程 八
  • 原文地址:https://blog.csdn.net/weixin_40422192/article/details/125443345