神经网络与深度学习(二)

本文介绍了深度学习中的关键概念,如张量和计算图在PyTorch中的应用,全连接网络、卷积神经网络(包括LeNet-5、AlexNet、VGG-16和残差网络)的结构与原理,以及经典的BP算法。重点讨论了这些网络在计算机视觉领域的应用与发展。
摘要由CSDN通过智能技术生成

一、深度学习平台

在这里插入图片描述
在这里插入图片描述

张量(Tensor)

是一个物理量,对高维(维数 ≥ 2) 的物理量进行“量纲分析” 的一种工具。简单的可以理解为:一维数组称为矢量,二维数组为二阶张量,三维数组为三阶张量

计算图

  • 用“结点”(nodes)和“线”(edges)的有向图来描述数学计算的图像。“节点” 一般用来表示施加的数学操作,但也可以表示数据输入的起点/输出的终点,或者是读取/写入持久变量的终点。“线”表示“节点”之间的输入/输出关系。这些数据“线”可以输“size可动态调整”的多维数据数组,即“张量”(tensor)

PyTorch基本使用

  • 使用 tensor 表示数据
  • 使用 Dataset、DataLoader 读取样本数据和标签
  • 使用变量 (Variable) 存储神经网络权值等参数
  • 使用计算图 (computational graph) 来表示计算任务
  • 在代码运行过程中同时执行计算图

二、全连接网络

定义

  • 全连接网络由多个神经元组成,神经元之间的连接是全连接的,每个神经元都与上一层的所有神经元相连。全连接网络是一种前馈神经网络,输入只能从输入层进入,输出只能从输出层输出。其主要作用是进行分类和回归,基本结构由多个层组成,每一层都由多个神经元组成。最常见的结构是输入层、隐藏层和输出层。

常见结构输

  • 入层、隐藏层和输出层。其中输入层和输出层的神经元数量由问题本身决定,隐藏层的神经元数量通常由试验确定。每个神经元都有一个激活函数,用于对输入的信号进行处理,产生输出信号

弊端

  • 链接权过多,算的慢,难收敛,同时可能进入局部极小值,也容易产生过拟合问题。

解决方法

  • 减少权值连接,每一个节点只连到上一层的少数神经元,即局部连接网络。消除过拟合,采用信息分层处理,每一层在上层提取特征的基础上获取进行再处理,得到更高级别的特征。

三、卷积神经网络

  • 卷积神经网络的研究始于20世纪80至90年代,时间延迟网络和LeNet-5是最早出现的卷积神经网络。在21世纪后,随着深度学习理论的提出和数值计算设备的改进,卷积神经网络得到了快速发展,并被应用于计算机视觉、自然语言处理等领域。

基本概念

特征提取

  • 提取局部特征。
    填充
  • 在矩阵的边界上填充一些值,以增加矩阵的大小,通常用0或者复制边界像素来进行填充。
    步长
  • 步长决定了卷积核在输入数据上的滑动间隔,从而影响输出特征图的大小。
    多通道卷积
    池化
  • 使用局部统计特征,如均值或最大值。解决特征过多问题。

卷积神经网络结构

  • 由多个卷积层和下采样层构成,后面可连接全连接网络
  • 卷积层:𝑘个滤波器
  • 下采样层:采用mean或max
  • 后面:连着全连接网络
    在这里插入图片描述

学习算法

前向传播
在这里插入图片描述
第𝑙层是卷积+池化层
在这里插入图片描述

四、经典BP算法

结构

  • 输出层:
    在这里插入图片描述
  • 隐含层:
    在这里插入图片描述
  • 更新:
    在这里插入图片描述
    在这里插入图片描述

卷积NN的BP算法

卷积层+卷积层
在这里插入图片描述
卷积层+全连接层
在这里插入图片描述

五、LeNet-5网络

网络结构

在这里插入图片描述

C1层(第一个卷积层)

  • 主要功能:提取输入图像中的局部特征。它使用6个不同的5x5卷积核对输入图像进行卷积操作,每个卷积核在输入图像上滑动,通过卷积运算提取出不同的局部特征。
  • 输出:6个特征图(Feature Maps),每个特征图对应一个卷积核的输出结果。

S2层(池化层、下采样层)

  • 作用:降低特征图的维度,减少计算量,同时保留重要的特征信息。该层在C1卷积层之后,进一步对图像特征进行处理。
  • 具体处理:S2层会对C1层中每个22区域内的像素进行求和(或者其他池化操作,如最大池化),然后加上一个偏置,再将这个结果通过激活函数(如sigmoid函数)进行映射。这个过程实现了对特征的降维,减少了模型的复杂度,同时保留了重要的特征信息。S2层中的每个像素都与C1层中对应的2*2个像素以及一个偏置相连接,因此存在大量的连接。

C3层(第二个卷积层)

  • 作用:在S2池化层之后,进一步对图像特征进行抽象和提取。
  • 具体处理:C3层使用16个5x5的卷积核对S2层的输出特征图进行卷积操作,生成16个新的特征图。每个卷积核在S2层的特征图上滑动,通过卷积运算提取出更高级别的局部特征。
  • 输出:16个特征图,每个特征图都包含了输入图像在不同视角下的特征信息。

S4层(池化层)

  • 作用:降低特征图的维度,以减少模型的参数数量和计算复杂度,同时尽可能地保留关键的特征信息。
  • 具体处理:在S4层中,特征图的每个神经元与C3层的一个大小为2x2的领域相连接,通过池化操作(如最大池化或平均池化)来整合这个区域内的特征信息。这样,S4层的每个特征图的大小都会减半,但通道数(即特征图的数量)保持不变,仍为16个。
  • 输出:S4层的输出将作为后续网络层的输入,继续参与模型的训练和推理过程。

C5层(第三个卷积层)

  • 作用:在S4池化层之后,继续对图像特征进行提取和抽象。
  • 具体处理:C5层使用120个5x5的卷积核对S4层的输出特征图进行卷积操作。由于卷积核的数量增加,C5层将产生120个特征图,每个特征图都包含了输入图像在不同视角下的高级特征信息。
  • 输出:卷积操作完成后,C5层的输出将作为后续全连接层的输入。

F6层(全连接层)

  • 作用:用于将前面层提取的局部特征整合为全局特征,以便进行分类任务。
  • 具体处理:F6层有84个节点,对应于一个7x12的比特图。这些节点与前一层的所有节点相连,通过权重和偏置进行线性变换,并使用激活函数(如Sigmoid函数)进行非线性处理。
  • 输出:

输出层

  • 作用:负责最终的分类任务。
  • 具体处理:(假设有10个类别)输出层通常有10个节点,每个节点对应一个类别的概率输出。softmax函数会将这10个节点的输出值映射到(0,1)区间内,并且所有节点的输出值之和为1,满足概率分布的性质。具体来说,对于输入图像,经过前面各层的处理后,会得到一个特征向量作为输出层的输入。然后,输出层会对这个特征向量进行线性变换,得到10个原始的输出值。接着,softmax函数会对这10个原始输出值进行指数运算,并进行归一化处理,最终得到10个概率值,分别表示输入图像属于各个类别的概率。
  • 输出:结果

基本卷积神经网络

AlexNet

网络结构
在这里插入图片描述

VGG-16

网络结构
在这里插入图片描述

残差网络

Inception网络

  • 12
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值