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

一、深度学习平台

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

张量(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网络

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/513529.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Transformer模型-用jupyter演示逐步计算attention

学习transformer模型-用jupyter演示如何计算attention,不含multi-head attention,但包括权重矩阵W。 input embedding:文本嵌入 每个字符用长度为5的向量表示: 注意力公式: 1,准备Q K V: 先 生…

官宣!一文掌握2024百度CreateAI开发者大会最新议程

4月16日上午9:00,以“创造未来”为主题的2024百度Create AI开发者大会将在深圳国际会展中心(宝安)开幕。此次大会将是近十年来,粤港澳大湾区规格最高的AI大会,将聚焦炙手可热的AI话题,在大会主论坛、分论坛…

【JVM】如何定位、解决内存泄漏和溢出

目录 1.概述 2.堆溢出、内存泄定位及解决办法 2.1.示例代码 2.2.抓堆快照 2.3.分析堆快照 1.概述 常见的几种JVM内存溢出的场景如下: Java堆溢出: 错误信息: java.lang.OutOfMemoryError: Java heap space 原因:Java对象实例在运行时持…

Python快速入门系列-10(Python进阶与扩展)

第十章:Python进阶与扩展 10.1 Python与其他语言的整合10.1.1 使用Python的C API示例:使用C API创建一个简单的Python扩展10.1.2 使用Cython加速Python代码示例:使用Cython编写一个快速的矩阵乘法函数10.1.3 使用SWIG创建接口示例:使用SWIG为C++类生成Python接口10.2 Pytho…

【项目实战经验】DataKit迁移MySQL到openGauss(上)

前言 本文将分享DataKit迁移MySQL到openGauss的项目实战,供广大openGauss爱好者参考。 1. 下载操作系统 https://www.openeuler.org/zh/download https://support.huawei.com/enterprise/zh/doc/EDOC1100332931/1a643956 https://support.huawei.com/enterprise…

深入浅出 PyTorch

深入浅出Pytorch 目录: 为什么要学习pyTorch学哪类知识如何学习和掌握PyTorchPyTorch学习路径注意事项 PyTorch 优点 上手快:掌握Numpy和基本深度学习概念即可上手代码简洁灵活:用nn.module封装使网络搭建更方便;基于动态图机…

芒果YOLOv8旋转检测改进《旋转检测必看》提升篇149:从零开始训练 YOLOv8旋转检测教程说明,芒果改进推荐教程

芒果YOLOv8旋转检测改进《旋转检测必看》提升篇149:从零开始训练 YOLOv8旋转检测教程说明,芒果改进推荐教程 本文适用Windows/Linux/Mac:从零开始使用Windows/Linux/Mac训练 YOLOv8 算法项目 - 《旋转检测任务》 专栏完整目录链接&#xf…

编译 amd gpu 核心态驱动 rocm kmd linux kernel

AMD 开源了专门的 ROCm 的kmd Linux Kernel, 1,下载源代码 git clone --recursive https://github.com/ROCm/ROCK-Kernel-Driver.gitcd ROCK-Kernel-Driver/git checkout rocm-6.0.22,配置kernel cp -v /boot/config-$(uname -r) .config make menuconfig Graph…

Smart-Config SpringBoot动态变更配置 单机版apollo

Smart-Config(单机Apollo) 智能配置:单体应用下的动态配置。主要用来解决在单体应用没有配置中心时,想要实现动态变更配置,程序自动处理配置变更,给字段赋值的痛点。可以理解为单机版的Apollo。Apollo是携…

GROBID库文献解析

1. 起因 由于某些原因需要在大量的文献中查找相关内容,手动实在是太慢了,所以选择了GROBID库进行文献批量解析 2. GROBID介绍 GROBID是一个机器学习库,用于将PDF等原始文档提取、解析和re-structuring为结构化的XML/TEI编码文档&#xff0…

Linux笔记之制作基于ubuntu20.4的最小OpenGL C++开发docker镜像

Linux笔记之制作基于ubuntu20.4的最小OpenGL C开发docker镜像 —— 2024-04-03 夜 code review! 文章目录 Linux笔记之制作基于ubuntu20.4的最小OpenGL C开发docker镜像1.这里把这本书的例程代码放在了Dockerfile所在的文件夹内以使镜像预装例程代码2.创建Dockerfile3.构建Do…

【Java】Thread详解

🍒前言 本文将从以下几方面来展开对Thread的介绍。 1.线程创建 2.线程中断 3.线程等待 4.线程休眠 在前面的文章中,已经总结了关于Thread的一些理解。 在阅读本文之前,最好对其有一些基础的了解。 文章链接: 【JavaSE】进程是什么&#xff1f…

【Java】线程的状态

在之前的文章中,已经介绍了关于线程的基础知识。 我的主页: 🍆🍆🍆爱吃南瓜的北瓜 文章目录 ✍绪论🍐1.NEW🍐2.TERMINATED🍐3.RUNNABLE--------------------🍐4.WAITING&#x1f350…

基于STC12C5A60S2系列1T 8051单片机的带字库液晶显示器LCD12864数据传输并行模式显示常规字符应用

基于STC12C5A60S2系列1T 8051单片机的带字库液晶显示器LCD12864数据传输并行模式显示常规字符应用 STC12C5A60S2系列1T 8051单片机管脚图STC12C5A60S2系列1T 8051单片机I/O口各种不同工作模式及配置STC12C5A60S2系列1T 8051单片机I/O口各种不同工作模式介绍液晶显示器LCD12864简…

MySQL版本特性和存储引擎选择

MySQL版本特性和存储引擎选择 1.说一下MySQL 5.5 5.6 5.7 8.0 各个版本的特性 MySQL 5.5 优点: 稳定性:5.5版本是长期支持(LTS)版本,因此它非常稳定,被广泛部署在生产环境中。兼容性:与旧版本的MySQL和…

安达发|建材行业选择APS自动排程软件要遵循哪几点?

在建材行业中,选择合适的APS(高级计划排程)自动排程软件对于提高生产效率、减少浪费、优化资源配置和提升客户满意度至关重要。以下是选择APS自动排程软件时应遵循的几个关键点: 1. 行业特定需求:不同的建材企业可能有…

百卓Smart管理平台 importexport.php SQL注入漏洞复现(CVE-2024-27718)

0x01 产品简介 百卓Smart管理平台是北京百卓网络技术有限公司(以下简称百卓网络)的一款安全网关产品,是一家致力于构建下一代安全互联网的高科技企业。 0x02 漏洞概述 百卓Smart管理平台 importexport.php 接口处存在SQL注入漏洞,攻击者除了可以利用 SQL 注入漏洞获取数据…

顶象全系列产品升级,对抗AI带来的新威胁

4月2日,在顶象CSDN直播间,最新一期“业务安全大讲堂”上,顶象数据科学家翼龙与资深解决方案专家鳯羽,围绕当前备受关注的AI威胁、人脸风险进行深入分享,并详细介绍针对AI威胁的最新反欺诈技术与安全产品。 AI威胁带来的…

软件设计师27--规范化理论

软件设计师27--规范化理论 考点1:规范化理论基本概念函数依赖规范化理论--Amstrong公理体系候选键主属性与非主属性例题: 考点2:范式判断规范化理论规范化理论 - 范式例题: 考点3:范式分解保持函数依赖分解无损分解模式…

Linux中的shell脚本之流程控制循环遍历

3 条件判断 4 流程控制语句 1)if 语句 案例,用户输入用户名和密码,判断用户名是否是admin,密码是否是123,如果正确,则显示登录成功 首先我创建了shell文件,touch getpawer 其中getpawer 是我自己命的名 #!/bin/bas…