zoukankan      html  css  js  c++  java
  • 卷积神经网络 CNN 笔记

    链接:

    在训练卷积神经网络(CNN)的某一个卷积层时,实际上是在训练一系列的滤波器(filter)。简单来说,训练CNN在相当意义上是在训练每一个卷积层的滤波器。让这些滤波器组对特定的模式有高的激活,以达到CNN网络的分类/检测等目的。

    卷积层:

    需要记住的是(过滤器)权值的纵深维度(depth dimension)和输入图像的纵深维度是相同的。权值会延伸到输入图像的整个深度。因此,和一个单一权值矩阵进行卷积会产生一个单一纵深维度的卷积化输出。大多数情况下都不使用单一过滤器(权值矩阵),而是应用维度相同的多个过滤器。

    激活图是卷积层的输出。

    权值矩阵在图像里表现的像一个从原始图像矩阵中提取特定信息的过滤器。一个权值组合可能用来提取边缘(edge)信息,另一个可能是用来提取一个特定颜色,下一个就可能就是对不需要的噪点进行模糊化。

    先对权值进行学习,然后损失函数可以被最小化,类似于多层感知机(MLP)。因此需要通过对参数进行学习来从原始图像中提取信息,从而来帮助网络进行正确的预测。当我们有多个卷积层的时候,初始层往往提取较多的一般特征,随着网络结构变得更深,权值矩阵提取的特征越来越复杂,并且越来越适用于眼前的问题。

    池化层:

     全链接层:

    引入dropout概念,在训练时会随机将部分节点的输出改为0,dropout可以避免过拟合问题,drop一般只在全连接层而不是卷积层或者池化层使用。

    小结:

    错误会进行反向传播,以不断改进过滤器(权重)和偏差值。

    一个训练周期由单次正向和反向传递完成。

  • 相关阅读:
    逻辑实现与物理实现
    逻辑实现与物理实现
    可逆矩阵的逆
    可逆矩阵的逆
    算法 Tricks(三)—— 判断序列是否为等差数列
    算法 Tricks(三)—— 判断序列是否为等差数列
    C++ Tricks(一)—— 判断字符串 string 对象的所有字符都相等
    AndroidMainifest标签使用说明3——<activity-alias>
    支持向量机通俗导论(理解SVM的三层境地)
    iOS中,MRC和ARC混编
  • 原文地址:https://www.cnblogs.com/TMatrix52/p/7826787.html
Copyright © 2011-2022 走看看