好好说话:深度学习扫盲

news2025/2/12 14:41:32

大创项目是和目标检测算法YOLO相关的,浅浅了解了一些有关深度学习的知识。在这里根据本人的理解做一些梳理。

深度学习是什么?

之前经常听到AI,机器学习,深度学习这三个概念,但是对于三者的区别一直很模糊。

AI(人工智能)是一个广泛的概念,指的是模拟或模仿人类智能的计算机系统。AI的目标是让机器能够进行感知、推理、学习、决策等操作,像人类一样执行任务。AI不仅限于机器学习和深度学习,它还包括规则系统、专家系统、自然语言处理等技术。比如chatGPT等大语言模型,就是自然语言处理为核心的基于深度学习的AI。

机器学习是人工智能的一个子集,它通过让机器从数据中学习并进行预测或决策,而不需要显式编程机器学习的核心是利用算法从数据中提取规律,进而使机器能够做出判断或预测。机器学习的方法主要分为监督学习、无监督学习、强化学习等,其中包括了很多传统的算法,如决策树、支持向量机(SVM)、随机森林等。

深度学习是机器学习中的一个子集,它借鉴了人脑的结构,使用深层神经网络(即含有多层神经元的网络)来自动学习数据中的特征和模式深度学习特别擅长处理图像、语音、文本等大规模数据,并在许多领域取得了突破性的成果。深度学习是目前机器学习中最先进的方法之一,尤其在计算机视觉、语音识别、自然语言处理等领域表现突出。 

省流: 三者是一个包含关系

  • AI 是一个大框架,包含了所有试图模拟智能的技术。
  • 机器学习 是AI中的一种方法,它专注于通过数据和算法进行学习。
  • 深度学习 是机器学习中的一种方法,利用神经网络来解决更复杂的任务,尤其适合处理大规模、复杂的数据。

神经网络是什么?

神经网络是一种模拟人脑神经元结构和工作方式的计算模型,广泛应用于机器学习和人工智能领域,尤其是深度学习中。神经网络通过大量的“神经元”节点和它们之间的连接来处理数据、学习规律,并进行预测或分类等任务。

神经网络的基本结构:

神经网络由多个层(layers)组成,每一层都包含多个神经元(neurons)。这些神经元通过连接(称为“权重”)相互连接,形成一个网络。典型的神经网络结构包括以下几层:

  1. 输入层(Input Layer)

    接收外部输入数据,如图片、文本、音频等。在输入层,每个神经元代表一个输入特征(例如,图像中的像素值)。
  2. 隐藏层(Hidden Layers)

    输入层的数据会经过一个或多个隐藏层进行处理和转换。隐藏层包含神经元,它们通过加权和激活函数来进行处理。通过多层处理,网络能够学习到更复杂的特征和规律。
    在深度神经网络(DNN)中,隐藏层的数量可能很大,甚至有数十层。
  3. 输出层(Output Layer)

    输出层给出神经网络的最终预测结果,例如分类任务中的类别标签,回归任务中的数值预测。

神经网络的工作原理:

  1. 前向传播(Forward Propagation)

    数据从输入层开始,逐层传递到输出层。每个神经元通过接收输入并与权重相乘,然后通过激活函数生成输出,传递到下一层。
  2. 权重和偏置

    神经元之间的连接有权重(表示连接强度),每个神经元还有一个偏置(bias),这两个参数会影响神经网络的输出。权重和偏置在训练过程中通过反向传播调整,以使得神经网络的预测更准确。
  3. 激活函数

    激活函数的作用是给神经元添加非线性因素,帮助网络学习复杂的模式。常见的激活函数有Sigmoid、ReLU(Rectified Linear Unit)等。
  4. 反向传播(Backpropagation)

    反向传播是神经网络训练中的一个关键步骤,用来通过计算输出与真实标签之间的误差,逐层调整网络中的权重和偏置,最小化误差。它使用梯度下降算法来优化模型。

神经网络的分类:

  1. 前馈神经网络(Feedforward Neural Network, FNN)

    最基本的神经网络模型,信息只在网络中前向传播,没有反馈循环。
  2. 卷积神经网络(CNN)

    主要用于图像处理、计算机视觉任务,具有卷积层、池化层等,用于提取图像中的空间特征。
  3. 循环神经网络(RNN)

    主要用于处理序列数据(如时间序列、文本),神经元之间有反馈连接,可以捕捉数据的时间依赖性。
  4. 生成对抗网络(GAN)

    包含两个神经网络:生成器和判别器,用于生成新的数据(如图像、音频等),通常用于生成任务。

所谓的“模型”是什么?

在人工智能(AI)和机器学习(ML)领域,“模型”通常指的是一个经过训练,可以对输入数据进行处理并产生预测、分类或其他输出的数学或计算结构。简单来说,模型是一个用来从数据中学习并作出决策或推理的工具。

听起来和机器学习的概念是不是很像?其实机器学习可以理解为是一种技术,而模型是使用了机器学习这种技术的最终产品

如果参与过数学建模类型的比赛的话,对此部分的理解会更加深入。

模型的组成:

  1. 输入数据

    模型的输入可以是任何类型的数据,如图片、文本、数字、音频等。输入数据将通过模型进行处理,得出相应的输出。
  2. 参数

    模型通常包含一些参数(例如权重和偏置),这些参数是通过训练过程学习到的。模型的目的是通过调整这些参数,使得模型能够更好地适应数据并做出准确的预测。
  3. 结构或算法

    模型背后有一个特定的结构或算法,决定了它如何处理输入数据。比如在神经网络中,这个结构是由层(如输入层、隐藏层、输出层)组成的神经元连接而成;而在回归模型中,它可能只是一个线性方程。
  4. 输出

    模型的输出是模型根据输入数据计算得到的结果。输出可以是一个预测值(如回归任务中的数值),也可以是分类标签(如分类任务中的类别)。

模型的训练:

训练是机器学习过程中的一个重要步骤。在训练过程中,模型会通过学习大量的数据,不断调整其内部参数,直到能够最小化预测与实际结果之间的差距。通常使用损失函数来衡量这种差距,通过优化算法(如梯度下降)来调整参数。

模型的类型:

  1. 监督学习模型

    • 在监督学习中,模型会通过包含输入和已知标签的训练数据进行学习。目标是使模型能够对新的未标记数据进行准确的预测或分类。
    • 例子:线性回归、支持向量机(SVM)、决策树、神经网络等。
  2. 无监督学习模型

    • 在无监督学习中,模型只能看到没有标签的输入数据。目标是从数据中发现隐藏的结构或模式。
    • 例子:聚类算法(如K-means)、主成分分析(PCA)等。
  3. 强化学习模型

    • 强化学习模型通过与环境交互获得反馈,从而学习如何最大化奖励。在训练过程中,模型会不断进行试错,调整策略。
    • 例子:Q-learning、Deep Q Networks(DQN)等。
  4. 生成模型

    • 生成模型能够生成新的数据,它不仅能够对现有数据进行建模,还能根据学到的分布生成新的数据点。
    • 例子:生成对抗网络(GAN)、变分自编码器(VAE)等。

模型评估:

训练好的模型通常需要通过一些评估指标来测试它的效果,评估的方式因任务不同而有所不同:

  • 分类任务:准确率、精确率、召回率、F1分数等。
  • 回归任务:均方误差(MSE)、均方根误差(RMSE)等。
  • 生成任务:生成图像的质量、与真实数据的相似度等。

后面的内容就是作者自己看的了

什么是卷积神经网络?

卷积神经网络(Convolutional Neural Network,简称CNN)是一种专门用于处理具有网格结构数据(如图像)的深度学习模型。CNN在计算机视觉领域中非常成功,广泛应用于图像分类、目标检测、图像生成等任务。

1. CNN的基本构成

CNN的架构通常由以下几个主要部分组成:

1. 1卷积层(Convolutional Layer)

卷积层是CNN的核心,负责从输入数据中提取特征。它使用一组称为卷积核(滤波器,Filter)权重,对输入数据进行卷积操作。每个卷积核在图像上滑动,计算卷积核与图像局部区域的点积,生成一个新的特征图(Feature Map)。

  • 卷积操作:假设输入是一个图像,卷积操作就是用一个小的矩阵(卷积核)在图像上滑动,通过矩阵乘法生成新的特征图。这样可以有效地提取图像的局部特征(如边缘、角落、纹理等)。
  • 感受野:卷积核对图像的局部区域进行操作,因此每个卷积层的输出特征图反映了输入图像的局部特征。
1.2 激活层(Activation Layer)

在卷积层的输出之后,通常会使用激活函数(如ReLU)来引入非线性。ReLU(Rectified Linear Unit)是最常用的激活函数,它会对卷积结果进行阈值处理,输出大于零的部分,负值部分输出为零,增强网络的非线性表示能力。

1.3 池化层(Pooling Layer)

池化层用于降低特征图的空间尺寸(宽度和高度),从而减少计算量和参数量,同时防止过拟合。常见的池化方法有:

  • 最大池化(Max Pooling):选取池化窗口中的最大值。
  • 平均池化(Average Pooling):选取池化窗口中的平均值。

池化层有助于减小特征图的维度,并且能保留重要的特征,使网络对小的平移、旋转和缩放变化具有更好的鲁棒性。

1.4 全连接层(Fully Connected Layer)

全连接层位于网络的后端,通常是在经过多次卷积层和池化层的特征图之后,进行特征的汇总。全连接层的每个神经元与前一层的所有神经元相连接,最终输出的是网络的预测结果(如分类标签、回归值等)。

1.5 归一化层(Normalization Layer)

常见的归一化方法有批量归一化(Batch Normalization),用于加速训练并稳定网络的学习过程。它对每一层的输出进行规范化,使得数据分布保持一致,从而避免训练过程中梯度消失或爆炸。

2. CNN的工作流程

  • 输入:输入数据(通常是图像)被输入到CNN中。
  • 卷积操作:卷积层通过卷积核提取图像的特征。
  • 池化操作:池化层降低特征图的空间尺寸,保留关键信息。
  • 激活:激活函数使得网络能够学习非线性的特征。
  • 全连接层:在最终的全连接层中,网络会将所有提取到的特征综合,得出预测结果(如分类标签)。
  • 输出:最终通过输出层生成最终的分类结果或者回归结果。

3. CNN的特点

3.1 局部感受野(Local Receptive Field)

卷积层通过使用局部感受野的方式,只关注输入数据的局部区域(局部感知),而不是整个图像。这样就能有效提取图像中的局部特征(如边缘、角落等)。

3.2 权重共享(Weight Sharing)

在CNN中,卷积核(滤波器)在图像上进行滑动,计算各个局部区域的卷积操作。这意味着同一个卷积核在整个图像上共享权重。这样大大减少了网络需要学习的参数量。

3.3 空间不变性(Spatial Invariance)

卷积操作能够捕捉到图像中局部位置无关的特征,即物体在图像中进行平移时,CNN仍然能够识别出来。池化操作进一步增强了这一能力,使得网络对于输入图像的平移、旋转、缩放等具有较强的鲁棒性。

3.4 层次化特征学习

CNN通过多层的卷积层,可以逐渐从简单的局部特征(如边缘、角落)学习到更复杂的高级特征(如面部、物体等)。这使得CNN特别适合处理视觉任务。

4. CNN的应用

CNN的应用非常广泛,尤其在图像处理领域。以下是一些常见的应用:

  • 图像分类:识别图像中包含的物体类别,如识别猫、狗、汽车等。
  • 目标检测:不仅识别图像中的物体,还标定物体的具体位置(即边界框)。
  • 语义分割:为图像中的每个像素分配一个标签,识别图像中的不同区域。
  • 图像生成:如图像超分辨率、图像修复等。
  • 人脸识别:根据面部图像进行身份识别。
  • 医学图像分析:如CT扫描、X光影像等的自动诊断。

5. CNN的优势

  • 自动特征提取:CNN能够自动从数据中提取有效的特征,而不需要人工设计特征。
  • 高效性:通过卷积和池化操作,CNN在处理大规模数据时表现出色,尤其在图像数据处理上具有明显优势。
  • 较强的泛化能力:由于权重共享和局部感受野,CNN能够在多种不同的图像变换(如平移、缩放、旋转)下依然表现出较好的鲁棒性。

总结:

卷积神经网络(CNN)是一种专门用于处理图像等结构化数据的深度学习模型。通过局部感受野、权重共享和多层次特征学习,CNN能够自动从数据中提取出有效的特征,并在图像分类、目标检测等任务中取得了显著的成功。

YOLO是什么?

YOLO(You Only Look Once)是一种基于深度学习的目标检测算法。它的主要特点是速度快精度高,在处理图像中的目标检测任务时表现非常优秀。YOLO的核心思想是将目标检测问题视为一个回归问题,通过一个神经网络直接从图像中预测目标的位置(边界框)和类别,而不是像传统方法那样使用多个阶段。

YOLO的工作原理:

  1. 整体框架

    • YOLO与传统的目标检测方法不同,它采用单一的神经网络来进行整个图像的目标检测任务。这意味着,YOLO会一次性“看”完整个图像(即通过整个图像的前向传播),然后同时输出多个目标的边界框和类别标签。
    • 传统目标检测算法(如R-CNN系列)通常先生成候选框(region proposals),然后再进行分类和回归,而YOLO则通过一个端到端的网络直接输出最终结果。
  2. 网格划分

    • YOLO将输入图像划分为S×S的网格(如13×13、19×19等)。每个网格负责检测图像中该区域内的目标。
    • 每个网格不仅预测一个边界框的坐标(x, y, w, h)和置信度(表示该框包含目标的概率),还预测目标的类别
  3. 边界框和置信度

    • 每个网格会预测多个边界框,每个边界框都会有一个置信度,表示框内是否存在目标以及该框与真实边界框的重叠程度。
    • 置信度 = P(object) × IOU(预测框与真实框的交并比),即它同时考虑了目标存在的概率和框的准确性。
  4. 多类别预测

    • YOLO不仅仅是做二分类(有目标或无目标),它还能够对每个目标进行多类别的分类。例如,YOLO可以识别图像中的“猫”、“狗”、“车”等不同类型的对象。

YOLO的优点:

  1. 实时性

    YOLO的最大特点之一是速度快,因为它将整个检测过程集成在一个神经网络中,不需要多阶段的处理。通过这种方式,YOLO能够进行实时目标检测,适用于视频流、自动驾驶等场景。
  2. 全局信息

    YOLO通过整个图像的分析来做预测,这意味着它能够捕捉到图像的全局信息,而不像一些局部特征的检测算法(如R-CNN)容易忽视全局背景信息。
  3. 准确性

    尽管YOLO以速度为优势,但它在准确性上也表现不俗,尤其是在大规模物体检测时。

模型的压缩技术?

知乎文章

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【愚公系列】《Python网络爬虫从入门到精通》001-初识网络爬虫

标题详情作者简介愚公搬代码头衔华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,CSDN商业化专家,阿里云专家博主,阿里云签约作者,腾讯云优秀博主&…

Kubernetes控制平面组件:etcd(一)

云原生学习路线导航页(持续更新中) kubernetes学习系列快捷链接 Kubernetes架构原则和对象设计(一)Kubernetes架构原则和对象设计(二)Kubernetes架构原则和对象设计(三)kubectl 和 …

外贸网站源码 助力企业抢占蛇年市场先机!

在竞争激烈的外贸市场中,蛇年无疑是企业寻求突破与增长的关键一年。外贸网站源码为企业提供了快速搭建专业外贸网站的解决方案,助力企业在新的一年抢占市场先机。 快速上线 时间就是商机,尤其是在蛇年这样充满变数和机遇的年份。外贸网站源码…

verilog练习:i2c slave 模块设计

文章目录 前言1.结构2.代码2.1 iic_slave.v2.2 sync.v2.3 wr_fsm.v2.3.1 状态机状态解释 2.4 ram.v 3. 波形展示4. 建议5. 资料总结 前言 首先就不啰嗦iic协议了,网上有不少资料都是叙述此协议的。 下面将是我本次设计的一些局部设计汇总,如果对读者有…

项目6:基于大数据校园一卡通数据分析和可视化

1、项目简介 本项目是基于大数据的清华校园卡数据分析系统,通过Hadoop,spark等技术处理校园卡交易、卡号和商户信息数据。系统实现消费类别、男女消费差异、学院消费排行和年级对比等分析,并通过Web后端和可视化前端展示结果。项目运行便捷&…

Datawhale 组队学习 Ollama教程 task1

一、Ollama 简介 比喻:Ollama 就像是一个“魔法箱子”,里面装满了各种大型语言模型(LLM)。你不需要懂复杂的魔法咒语(配置),只需要轻轻一按(一条命令),就能让…

大模型基本原理(二)——ChatGPT的工作原理

如何得到一个ChatGPT? 1、无监督预训练:通过大量的文本数据集进行无监督训练,得到一个基座模型(只会续写文本) 2、监督微调:通过一些人类撰写的高质量对话数据对基座模型进行监督微调,得到一个…

成为高能量体质:从身体神庙到精神圣殿的修炼之路

清晨五点,当城市还在沉睡,瑜伽垫上的汗水已经折射出第一缕阳光。这不是苦行僧的自虐,而是高能量体质者的日常仪式。在这个能量稀缺的时代,如何把自己修炼成一座小型核电站?答案就藏在身体的每个细胞里。 一、能量管理…

51c自动驾驶~合集50

我自己的原文哦~ https://blog.51cto.com/whaosoft/13280022 #VLA 主流方案全解析 旨在让智能体在物理世界中通过感知、决策和行动来实现目标,而视觉 - 语言 - 动作(VLA)模型作为其中的关键技术,近年来备受关注。VLA 模型能够…

论文阅读:MGMAE : Motion Guided Masking for Video Masked Autoencoding

MGMAE:Motion Guided Masking for Video Masked Autoencoding Abstract 掩蔽自编码(Masked Autoencoding)在自监督视频表示学习中展现了出色的表现。时间冗余导致了VideoMAE中高掩蔽比率和定制的掩蔽策略。本文旨在通过引入运动引导掩蔽策略&#xff0…

【嵌入式Linux应用开发基础】文件I/O基础编程

目录 一、文件I/O简介 二、文件描述符 2.1. 唯一性 2.2. 抽象性 2.3. 有限性 三、文件操作函数 四、标准文件I/O函数 五、文件执行权限 5.1. 权限类型 5.2. 权限分配对象 5.3. 权限表示方法 5.4. 权限设置命令 5.5. 权限设置的重要性 5.6. 实例说明 六、设备文件…

【JS】实现一个hexo插件并发布

hexo插件生成 在你的 hexo blog 目录,找到 node_modules. 新建一个文件夹。然后执行 npm init npm 会引导你生成 package.json 这是你的包的描述文件。需要注意的是,所有的 hexo 插件必须以 hexo - 开头,否则 hexo 不会加载。 如果hexo g中没…

【Java 面试 八股文】MySQL 篇

MySQL 篇 1. MySQL中,如何定位慢查询?2. 那这个SQL语句执行很慢,如何分析呢?3. 了解过索引吗?(什么是索引)4. 索引的底层数据结构了解过吗?5. B树和B树的区别是什么呢?6.…

vue中使用高德地图自定义掩膜背景结合threejs

技术架构 vue3高德地图2.0threejs 代码步骤 这里我们就用合肥市为主要的地区,将其他地区扣除,首先使用高德的webapi的DistrictSearch功能,使用该功能之前记得检查一下初始化的时候是否添加到plugins中,然后搜索合肥市的行政数据…

Python----PyQt开发(PyQt高级:图像显示,定时器,进度条)

一、图像显示 1.1、增加图标 1.直接创建setWindowIcon(QIcon(灯泡.jpg)) import sys from PyQt5.QtWidgets import QApplication, QMainWindow, QPushButton from PyQt5.QtGui import QIconclass MainWindow(QMainWindow):def __init__(self):super(MainWindow, self).__init_…

Tomcat添加到Windows系统服务中,服务名称带空格

要将Tomcat添加到Windows系统服务中,可以通过Tomcat安装目录中“\bin\service.bat”来完成,如果目录中没有service.bat,则需要使用其它方法。 打到CMD命令行窗口,通过cd命令跳转到Tomcat安装目录的“\bin\”目录,然后执…

2025.2.10 每日学习记录3:技术报告只差相关工作+补实验

0.近期主任务线 1.完成小论文准备 目标是3月份完成实验点1的全部实验和论文。 2.准备教资笔试 打算留个十多天左右,一次性备考笔试的三个科目 1.实习申请技术准备:微调、Agent、RAG 据央视财经,数据显示,截至2024年12月…

微生物学术语和定义 | 微生物学词汇表

​ 微生物学作为一门研究微生物及其与环境、宿主和其他生物相互作用的科学,涵盖了广泛的学科领域和专业术语。然而,由于微生物学的快速发展和跨学科融合,许多术语的定义和使用在不同领域中可能存在差异甚至混淆。 随着新冠疫情的全球蔓延&am…

Java集合List详解(带脑图)

允许重复元素,有序。常见的实现类有 ArrayList、LinkedList、Vector。 ArrayList ArrayList 是在 Java 编程中常用的集合类之一,它提供了便捷的数组操作,并在动态性、灵活性和性能方面取得了平衡。如果需要频繁在中间插入和删除元素&#xf…

分层解耦-ioc引入

内聚: 软件中各个功能模块内部的功能联系。 耦合: 衡量软件中各个层/模块之间的依赖、关联的程度。 软件设计原则: 高内聚低耦合。