CNN详细学习

这篇具有很好参考价值的文章主要介绍了CNN详细学习。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前馈神经网络

MLP:multi-layer percetron

  • Feed Forward and Back error propagation
  • 解决异或划分问题

缺点:

  1. 容易过拟合
  2. 容易陷入局部最优化
  3. 梯度消失
  4. 计算资源不充分,训练集小
  • DNN 深一点效果好,宽一点容易理解,发现潜在规律

  • 前向计算公式:
    CNN详细学习CNN详细学习

  • 损失函数:

CNN详细学习
CNN详细学习
CNN详细学习
CNN详细学习

常见激活函数

  • sigmoid函数
    CNN详细学习
    CNN详细学习

CNN详细学习
CNN详细学习
CNN详细学习
CNN详细学习
CNN详细学习

CNN详细学习

CNN详细学习

CNN详细学习

梯度消失与爆炸

CNN详细学习

通用逼近定理

CNN详细学习
根据通用近似定理,对于具有线性输出层和至少一个使用“挤压”性质的激活函数的隐藏层组成的前馈神经网络

  • 只要其隐藏层神经元的数量足够,它可以以任意的精度来近似任何从一个定义在实数空间中的有界闭集函数。

  • 隐含层的数量不是越多越好,层数和特征的个数太多,会造成优化的难度和出现过拟合的现象
  • 只需要输入最基本的特征x1, x2, 只要给予足够多层的神经网络和神经元,神经网络会自己组合出最有用的特征

tensorflow实现

CNN详细学习

CNN详细学习
CNN详细学习
CNN详细学习

CNN详细学习


  • 一张图片-个滤波器,得一个特征图
    CNN详细学习
    CNN详细学习
  • 为什么不用全连接?计算量太大,容易过拟合
  • 为什么特征图越来越小? 下采样,即池化会让特征图尺寸变小
  • 这是神经网络么?是的

CNN的由来:

CNN详细学习

  • 引出,CNN的第一个特点:局部感知
    CNN详细学习
    CNN详细学习
  • 引导出第二个特征:权重共享

CNN详细学习

  • 第三个特征:池化,下采样

全连接网络的BP算法

  • 模型函数表达式
    CNN详细学习
    CNN详细学习
  • L-1层,即输出层的前一层,反向传播的梯度由输出的误差和L-1层与L层之间的权重决定
    CNN详细学习
    CNN详细学习
  • 所以整个损失矩阵 δ i L \delta_i^L δiL,由负的误差*隐层输出的导数(激活函数的导数 * 权重)
    CNN详细学习

CNN详细学习CNN详细学习
CNN详细学习

CNN详细学习

  • L-2层,由L-1层的误差项(误差*激活函数的导数)

CNN的卷积BP算法

CNN详细学习
CNN详细学习
CNN详细学习

  • δ \delta δ是误差矩阵
    CNN详细学习
    CNN详细学习

残差如何传递?

CNN详细学习
CNN详细学习

CNN详细学习

δ \delta δ求解详细过程

CNN详细学习
CNN详细学习

CNN详细学习

  • 关键核心公式
    CNN详细学习
    CNN详细学习
  • 误差项,求完导是1,所以残差项传递与bias项无关
    CNN详细学习
    CNN详细学习

  • 多个特征图可以并行卷积
    CNN详细学习
    CNN详细学习

Advanced CNN

CNN详细学习
CNN详细学习

  • LeNet
    CNN详细学习

AlexNet

  • 修改点:Dropout、Regularization、ReLu激活函数、最大池化法
  • 特点:池化窗口更大,跟改为最大池化;更大的卷积核(三个额外的卷积核),更大的步长,由于图像尺寸增大,输出通道更多
    CNN详细学习
    CNN详细学习
    CNN详细学习

LRN

局部响应归一化层(Local Response Normalization)
为什么要引入LRN层?

  • 首先要引入一个神经生物学的概念:侧抑制(lateral inhibitio),即指被激活的神经元抑制相邻的神经元。
  • 归一化(normaliazation)的目的就是“抑制”,LRN就是借鉴这种侧抑制来实现局部抑制,尤其是我们使用RELU的时候,这种“侧抑制”很有效 ,因而在alexnet里使用有较好的效果。

归一化有什么好处?

  1. 归一化有助于快速收敛
  2. 对局部神经元的活动创建竞争机制,使得其中响应比较大的值变得相对更大,并抑制其他反馈较小的神经元,增强了模型的泛化能力。

VGG

  • 比AlexNet更深入更大,以获得更强的特征
    • 更多稠密层,更多卷积层(更深更窄更好),分组成块(VGG块重复)

NIN

network in network
CNN详细学习

CNN详细学习

  • 在网络层之间加了一个网络,可以控制输出的维度
  • maxout节点可以逼近任何凸函数,而NIN节点理论上可以逼近任何函数
    CNN详细学习
    CNN详细学习
    CNN详细学习
  • 意思是直接由卷积层直接输出,不经过全连接层

NIN主要优点:

  1. 更好的局部抽象能力;
  2. 更小的参数空间;
  3. 更小的全局 over-fitting。

GoogleNet

  • 5个stage,9个Inception块

Inception块

CNN详细学习

  • 与Network in Netwok 类似,GoogLeNet采用子网 络 堆 叠 的 方 式 搭 建 , 每 个 子 网 络 为 一 个Inception 模块

Inception module 包含四个分支:

  1. Shortcut连接:将前一层输入通过1×1卷积
    • 减少网络参数,降低运算量(1x1卷积降维)
  2. 多尺度,多层次滤波:输入通过1×1卷积之后分别连接卷集核大小为3和5的卷积。
    • 多尺度:提高了所学特征的多样性,增强了网络对不同尺度的鲁棒性
    • 多层次:符合Hebbian原理,即通过1×1卷积把具有高度相关性的不同通道的滤波结果
      进行组合,构建出合理的稀疏结构
  3. 池化分支:相继连接3×3 pooling和1×1卷积

ResNet

  • 残差神经网络要解决什么问题呢?
  • 随着网络深度的增加,acc会很快的上升然后下降,但是这个下降并不是因为过拟合,再增加过多的层让网络更深会导致训练误差的增加

CNN详细学习

  • 解决方案:跳跃连接
    CNN详细学习

CNN详细学习
CNN详细学习

CNN详细学习

  • 这么做的核心思想:将目标函数,由非函数嵌套类转换为函数嵌套类
  • 非嵌套函数会远离target(可能是先近后远),嵌套函数不会发生

CNN详细学习

  • 对比之前的,反向传播由连乘,改为连加,更快更有效的传播

引入残差的跳跃连接之后,损失函数更加平滑,why?

CNN详细学习

  • 也就是说,后面每一层都和前面有关系(一般是2~3层,方式是相加)
    CNN详细学习

DenseNet

  • ResNet是每个层与前面的某层(一般是2~3层)短路连接在一起,连接方式是通过元素级相加。
  • DenseNet,每个层都会与前面所有层在channel维度上连接(concat),并作为下一层的输入
    • 就是每个通道的特征图之间做纵向拼接
      CNN详细学习

Light weight CNN

MobileNets

CNN详细学习

  • 常规卷积
    CNN详细学习
  • 深度可分离卷积,先通道分离,再逐点卷积,结合起来
    • Xception的核心思想是使用深度可分离卷积来替代传统的卷积操作。深度可分离卷积将卷积操作分为两个步骤:深度卷积和逐点卷积
    • 首先,使用深度卷积在每个输入通道上进行卷积操作,
    • 然后使用逐点卷积将不同通道之间的信息进行整合。这种方法可以大大减少模型参数数量和计算量,同时提高模型的准确性和泛化能力。
      CNN详细学习
      CNN详细学习

SE-Net

SE-Net的核心思想是使用Squeeze-and-Excitation(S-E)模块来增强卷积神经网络的表示能力。
在传统的卷积神经网络中,每个卷积层都会学习一些特征,但是这些特征并不是同等重要的,有些特征对于分类任务更加重要,有些特征则不那么重要。

  • 因此,SE-Net提出了S-E模块来自适应地学习每个通道的权重,从而增强网络的表示能力。
    CNN详细学习
    S-E模块包括两个步骤:squeeze和excitation。
  • 在squeeze步骤中,通过全局平均池化操作来压缩每个通道的特征图,得到一个全局特征向量。这个全局特征向量包含了每个通道的全局信息,可以用来表示每个通道的重要性。
  • 在excitation步骤中,使用一个全连接层来学习每个通道的权重,然后使用softmax函数将权重归一化,最后使用这些权重来对每个通道的特征图进行加权求和。这样,S-E模块可以自适应地学习每个通道的重要性,从而增强网络的表示能力。

注意力机制:注意力机制则是通过学习一组权重,来对不同位置的特征图进行加权求和

注意力机制可以分为两种:空间注意力和通道注意力。

  • 空间注意力是通过学习一组权重,来对不同位置的特征图进行加权求和,从而使模型更关注重要的区域。
  • 通道注意力则是通过学习一组权重,来对不同通道的特征图进行加权求和,从而增强模型的表示能力。

CondenseNet

Group Convolution 分组卷积

  • 常规卷积
    CNN详细学习
  • 分组卷积
    CNN详细学习
    CNN详细学习
    CNN详细学习

EfficientNet

EfficientNet的核心思想是使用复合缩放系数和网络结构搜索来设计高效且准确的卷积神经网络。
具体来说,EfficientNet将网络深度宽度分辨率三个维度进行复合缩放,从而得到一系列不同规模的网络。然后,使用网络结构搜索算法来搜索每个规模下的最优网络结构,从而得到高效且准确的卷积神经网络。

在EfficientNet中,网络深度、宽度和分辨率三个维度都是重要的因素。

  • 网络深度可以增加模型的表达能力,但会增加模型的计算量和参数数量;
  • 网络宽度可以增加模型的特征提取能力,但会增加模型的计算量和参数数量;
  • 分辨率可以提高模型对细节的感知能力,但会增加模型的计算量和内存占用。
  • 因此,EfficientNet通过复合缩放系数来平衡这三个维度,得到一系列不同规模的网络,从而可以在不同的计算资源限制下,选择适合的网络规模。

EfficientNet还使用网络结构搜索算法来搜索每个规模下的最优网络结构。这个算法可以自动搜索最优的网络结构,从而得到高效且准确的卷积神经网络。这种方法可以大大减少人工设计网络的时间和精力,同时提高模型的准确性和泛化能力。文章来源地址https://www.toymoban.com/news/detail-460260.html

到了这里,关于CNN详细学习的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 卷积神经网络与前馈神经网络

    常见的人工神经网络结构 人工神经网络是一类由人工神经元组成的网络,常见的神经网络结构包括: 前馈神经网络(Feedforward Neural Network,FNN):最简单的神经网络结构,由一个输入层、一个输出层和若干个隐藏层组成,信号只能从输入层流向输出层,不允许在网络中形成回

    2023年04月26日
    浏览(44)
  • 卷积神经网络(CNN)详细介绍及其原理详解

      本文总结了关于卷积神经网络(CNN)的一些基础的概念,并且对于其中的细节进行了详细的原理讲解,通过此文可以十分全面的了解卷积神经网络(CNN),非常适合于作为Deep Learning的入门学习。下面就是本篇博客的全部内容!   卷积神经网络(Convolutional Neural Networks, C

    2024年02月08日
    浏览(40)
  • 卷积神经网络(CNN)的整体框架及细节(详细简单)

    我们传统的神经网络和卷积神经网络有什么区别? 下图所示,左图就是我们传统的神经网络(NN) (想了解NN的小伙伴可以先划到最后的参考文章部分) ,右图就是卷积神经网络(Convolutional Neural Network)(CNN),我们在这张图中可以明显地看出,左图看上去像二维的,右图好像

    2023年04月11日
    浏览(35)
  • 前馈神经网络实验

    手动实现前馈神经网络解决回归、二分类、多分类任务,分析实验结果并绘制训练集和测试集的loss曲线; 利用torch.nn实现前馈神经网络解决上述回归、二分类、多分类任务,分析实验结果并绘制训练集和测试集的loss曲线; 在多分类实验的基础上使用至少三种不同的激活函数

    2024年02月15日
    浏览(38)
  • 前馈神经网络多分类任务

    pytorch深度学习的套路都差不多,多看多想多写多测试,自然就会了。主要的技术还是在于背后的数学思想和数学逻辑。 废话不多说,上代码自己看。

    2024年02月12日
    浏览(46)
  • 前馈神经网络正则化例子

    直接看代码: 运行结果: 疑问和心得: 画图的实现和细节还是有些模糊。 正则化系数一般是一个可以根据算法有一定变动的常数。 前馈神经网络中,二分类最后使用logistic函数返回,多分类一般返回softmax值,若是一般的回归任务,一般是直接relu返回。 前馈神经网络的实现

    2024年02月12日
    浏览(51)
  • 深度学习——CNN卷积神经网络

    卷积神经网络(Convolutional Neural Network,CNN)是一种深度学习中常用于处理具有网格结构数据的神经网络模型。它在计算机视觉领域广泛应用于图像分类、目标检测、图像生成等任务。 CNN 的核心思想是通过利用局部感知和参数共享来捕捉输入数据的空间结构信息。相比于传统

    2024年02月15日
    浏览(48)
  • 深度学习|CNN卷积神经网络

    在CNN没有出现前,图像对人工智能来说非常难处理。 主要原因: 图像要处理的数据量太大了。图像由像素组成,每个像素又由不同颜色组成,一张1000×1000彩色RGB图像需要的参数是1000×1000×3,需要三百万参数左右,普通神经网络会全用全连接方法来学习整幅图像上的特征,处

    2024年02月11日
    浏览(53)
  • 深度学习05-CNN循环神经网络

    循环神经网络(Recurrent Neural Network,RNN)是一种具有循环连接的神经网络结构,被广泛应用于自然语言处理、语音识别、时序数据分析等任务中。相较于传统神经网络,RNN的主要特点在于它可以处理序列数据,能够捕捉到序列中的时序信息。 RNN的基本单元是一个循环单元(

    2024年02月11日
    浏览(41)
  • 深度学习03-卷积神经网络(CNN)

    CNN,即卷积神经网络(Convolutional Neural Network),是一种常用于图像和视频处理的深度学习模型。与传统神经网络相比,CNN 有着更好的处理图像和序列数据的能力,因为它能够自动学习图像中的特征,并提取出最有用的信息。 CNN 的一个核心特点是卷积操作,它可以在图像上进

    2024年02月05日
    浏览(71)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包