深度学习——卷积神经网络(convolutional neural network)CNN详解(一)——概述. 步骤清晰0基础可看

news2024/10/7 18:28:06

在CNN的学习过程中我会提供相应的手算例子帮助理解训练过程。

其他关于神经网络的学习链接如下:

一、了解卷积神经网络

卷积神经网络的作用

总的来说,卷积神经网络的第一个主要作用是对图像进行特征提取,所谓特征提取,就是明白图像的那部分重要,哪部分不重要,然后我们就得到了一个能够识别图像的机器。当我们输入其他的图像,这个机器可以对新输入的图像进行判断,也就是进行相应的任务(分类,目标检测)。

比如,假如我用人眼分辨不出猫和狗,需要机器来帮我。当然,我们能分清猫狗,但是当有更复杂的图像处理任务时,就需要机器帮忙分辨。

一般的CNN训练过程会用到两个数据集。第一个是训练集(Train set),一个是测试集(Test set)

1.训练过程

训练集里面猫狗都有,并且有正确的标签,所谓的标签就是这个训练集里面的每一张图片都有正确的分类。比如我们用0代替猫,用1来代替狗,训练集里面的每张图都有对应的0,1值。我们将训练集里面的每张图输入到CNN中去训练,让这个机器知道猫狗的不同特征,让它能够判断什么是猫,什么是狗。

我们的目的是优化CNN模型,让CNN模型具有分类猫狗的能力。所有对于无论什么优化任务,我们需要有目标函数,CNN里常用的损失函数叫做交叉熵损失函数,我们的目的是让分类损失最小。其实归根到底,就是数学中的最优化问题,找到最优解。这些内容我会在稍后的章节中一一说明,本章的学习任务是理解CNN的运作过程。
 

训练过程可以分解为前向传播(Forward Propagation)和反向传播(Backpropagation),以下的解释以分类猫狗为例

(1)前向传播

  • 目的: 前向传播旨在从输入的图像数据中提取特征,并预测图像是属于“猫”还是“狗”。
  • 作用: 通过前向传播,CNN能够识别图像中的纹理、形状和模式等特征,为分类提供依据。

过程:

  1. 输入层: 输入待分类的图像(例如,一个灰度或彩色图像)。
  2. 卷积层: 图像通过一个或多个卷积层,这些层使用不同的卷积核(或滤波器)来提取图像的局部特征,如边缘、纹理等。
  3. 激活函数: 通常在卷积层之后应用ReLU激活函数,引入非线性,帮助网络学习更复杂的特征表示。
  4. 池化层(可选): 使用最大池化或平均池化来降低特征图的空间尺寸,减少参数数量,提取主要特征。
  5. 全连接层: 卷积层和池化层的输出被展平并通过一个或多个全连接层,这些层将学习到的特征映射到最终的分类结果。
  6. 输出层: 最后,通过一个具有两个输出单元的全连接层(对应于两个类别:“猫”和“狗”),通常使用Softmax激活函数来计算每个类别的概率。

(2)反向传播

  • 目的: 反向传播用于调整网络的权重和偏置,以最小化预测输出和实际标签之间的差异。
  • 作用: 通过反向传播,网络能够根据分类误差自我修正,提高分类准确性。

过程:

  1. 损失函数计算: 计算输出层的预测概率和实际标签(“猫”或“狗”)之间的误差,通常使用交叉熵损失。
  2. 梯度计算: 利用链式法则计算损失相对于网络中每个参数的梯度,从输出层逆向传递至输入层。
  3. 权重更新: 根据计算得到的梯度和预设的学习率,更新网络中的权重和偏置,以减少未来的预测误差。
  4. 迭代优化: 通过多次迭代前向传播和反向传播,不断优化网络参数,直到模型在猫狗分类任务上达到较高的准确率。

2.测试过程

训练完之后,我们将测试集里面的图片输进去,CNN就能给出一个预测值了,是猫或者狗,当然,也有可能预测错误。这个过程叫测试,测试能让我们知道我们训练的CNN模型到底好不好。

什么时候训练完,达到什么状态可以停止这个CNN模型的训练,这些内容在之后的章节中都会一一解释。

预测的正确率可以让我们判断不同CNN的性能好坏。比如一个CNN能将输进去的图全部预测正确,那性能就非常强了。顺带一提,输入到CNN模型的测试集里面的所有图片是不带标签的,但是我们为了了解CNN的性能,也就是为了知道它到底预测得对不对,在训练完之后的评估阶段,会用带标签的测试集评估,我们有一系列的指标评估模型性能,这些指标稍后得章节里面会提到。

3.标签问题

但是当我们用CNN实战应用的时候,比如依靠病人的肺部X光判断他有没有得肺炎,我们肯定是不知道正确答案的。所以训练一个性能强大的CNN是非常重要的,这有助于我们之后的实战应用。当人脑不足以做出判断时,机器会加以辅助。就按这个例子来说,一个已经过测试性能优秀的CNN来判断肺炎与否,当医生用自己的专业知识对这个病人的诊断结果不太确定时,机器的预测结果可以辅助医生进行诊断。这就是CNN强大的应用价值。

总结卷积神经网络其主要作用包括:

  • 特征提取:CNN能够自动从输入数据中提取特征,特别适用于图像的边缘、纹理、颜色等特征的提取。
  • 图像分类:CNN在图像分类任务中表现出色,被广泛用于对象识别和图像分类任务中。
  • 目标检测:用于检测图像中的物体并定位它们。
  • 图像生成:CNN还可以用于生成新的图像,例如通过生成对抗网络(GANs)。

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

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

相关文章

亚马逊测评策略全攻略:详析各方案优势与局限,你精通了吗?

亚马逊测评,一个绕不开的话题。不管是对于新手卖家还是资深卖家来说,它都是提升产品销量和排名的有效手段之一。接下来,我将为大家详细解析亚马逊测评的各种方式和注意事项。 一、精准筛选真人测评资源 在寻找真人测评资源时,许多…

【深度学习】扫描全能王的AI驱动创新与智能高清滤镜技术解析

目录 引言1、扫描全能王2、智能高清滤镜黑科技2.1、图像视觉矫正2.2、去干扰技术 3、实际应用案例3.1、打印文稿褶皱检测3.2、试卷擦除手写3.3、老旧文件处理3.4、收银小票3.5、从不同角度扫描文档 4、用户体验结论与未来展望 引言 在数字化时代背景下,文档扫描功能…

记录一次MySQL恢复

一、前言 此文章由一次数据库被黑客删除而引发 由于对于Linux操作、docker使用、MySQL原理这些都相对不是很熟悉,所以记录下来避免以后在工作中遇到类似的问题而惊慌失措。 1.MySQL环境现状 docker管理的,8.0.26版本 启动语句: docker run -d -p 33…

python pdfplumber优化表格提取

样例pdf 直接使用文本提取效果: 使用表格提取 根据提取的文本信息是没办法获取到表格数据的,太乱了。尤其是 3 4列。 解决: 自行画线,根据画线进行提取。 效果: 思路: 1.根据表头进行画竖线 2.根据行坐…

vue3 ~ pinia学习

先看两个图 一个vuex 一个pinia 根据图看出来 pinia更简单了 那么具体怎么操作呢 我们来看下~ 第一步 下载 yarn add pinia # 或者使用 npm npm install pinia 第二步 注册 创建一个 pinia 实例 (根 store) 并将其传递给应用: import { createApp } from v…

vue的$nextTick是什么是干什么用的?

为什么需要使用$nextTick?他的使用场景 1.你在接口返回之后在获取高度 正常等页面加载在mounted这个钩子函数里 这时候就需要找到接口赋值的地方 这样就可以获取到数据操作以后的dom元素了 $nextTick是什么是干什么用的? $nextTick() 是 Vue.js 框…

超详细:安装Linux系统、虚拟现实教程

文章目录 一、如何下载并使用VMware虚拟机1.百度搜索vmware2.进入官网点击Workstation Pro链接3.博通注册对应的账号4.博通填写用户名、密码后直接登录会跳转到博通登录页5.个人使用选择个人版 二、国内镜像网站下载(Centos版本)三、镜像系统的安装1.打开…

【等保2.0的内容有哪些?】

“在“等保2.0”的基础上,分别增加了云计算安全、移动互联安全、物联网安全、工控系统安全、大数据安全5个拓展需求。 《中华人民共和国刑法》第253条,非法将公民个人资料卖给他人,并处罚金。 违反国家相关法律法规,将其在执行公…

计算机系统基础(三)

1.程序转换概述 机器指令和汇编指令 机器指令与汇编指令意义对应,都是机器级指令 汇编指令 如:M[R[bx]R[di]-6]←R[cl] R:寄存器内容 M:存储单元内容 机器指令 高级语言转换为机器代码的过程 根据计算机系统基础&#xff…

KEYSIGHT是德科技 E5063A ENA 系列网络分析仪

E5063A ENA 矢量网络分析仪 18GHz 2端口 降低无源射频元器件的测试成本 Keysight E5063A ENA 是一款经济适用的台式矢量网络分析仪,可用于测试简单的无源元器件,例如频率最高达到 18 GHz 的天线、滤波器、电缆或连接器。 作为业界闻名的 ENA 系列…

MLLM QLoRA微调实战:基于最新的袖珍Mini-InternVL模型

引言 大型语言模型(LLM)的世界正在不断发展,新的进步正在迅速出现。一个令人兴奋的领域是多模态LLM(MLLMs)的发展,这种模型既能够理解文本又能够理解图像,并与之进行交互。因此,这种…

ATG-2032:功率信号源的类型及应用领域简介

功率信号源是一种产生稳定、精确且可调节的电力信号的仪器,其主要作用是为测试和校准各种电子设备提供标准信号,以确保设备的精度和稳定性。 图:ATG-2000系列功率信号源 以下是功率信号源的主要类型和作用: 直流功率信号源 直流功…

Unity游戏帧率查看软件Fraps

Download Fraps 3.5.99 free version 下载、安装、运行这个软件,左上角就会自动显示帧率

SpringBoot的自动配置核心原理及拓展点

Spring Boot 的核心原理几个关键点 约定优于配置: Spring Boot 遵循约定优于配置的理念,通过预定义的约定,大大简化了 Spring 应用程序的配置和部署。例如,它自动配置了许多常见的开发任务(如数据库连接、Web 服务器配…

python提取图片中的文字写入excel文件,并打包为exe可执行文件

python提取图片数据写入excel,并打包为exe可执行文件 1. 以下面的图片为例2. python环境需要的依赖包3. 创建交互式窗口4. 读取文件夹下的所有文件并提取数据5. 提取图片中字段的代码6. 打包代码为exe可执行文件安装打包依赖文件运行打包代码 1. 以下面的图片为例 2…

大数据------JavaWeb------会话跟踪技术(Cookie、Session)(完整知识点汇总)

会话跟踪技术(Cookie&Session) 注意: HTTP协议是无状态 的,即每次浏览器向服务器请求时,服务器都会将该请求视为新的请求,因此我们需要会话跟踪技术来实现会话内的数据共享 会话 当用户打开浏览器&am…

基于STM32的智能仓储温湿度监控系统

目录 引言环境准备智能仓储温湿度监控系统基础代码实现:实现智能仓储温湿度监控系统 4.1 数据采集模块4.2 数据处理与分析4.3 控制系统实现4.4 用户界面与数据可视化应用场景:温湿度监控与管理问题解决方案与优化收尾与总结 1. 引言 智能仓储温湿度监…

【论文解读】Multiagent Multitraversal Multimodal Self-Driving: Open MARS Dataset

Open MARS Dataset 摘要引言Dataset CurationVehicle SetupData CollectionDataset Statistics Benchmark Task and ModelPlace RecognitionNeural Reconstruction Experimental ResultsVisual Place RecognitionNeural Reconstruction Opportunities and Challenges结论 摘要 …

echarts实现3D柱状图(视觉层面)

一、第一种效果 效果图 使用步骤 完整实例&#xff0c;copy就可直接使用 <template><div :class"className" :style"{height:height,width:width}" /> </template><script>import echarts from echartsrequire(echarts/theme/…

RAG技术下的文档智能检索

在数字化浪潮的推动下&#xff0c;信息检索已成为我们日常生活中不可或缺的一部分。然而&#xff0c;随着数据量的爆炸式增长&#xff0c;如何快速精准地从海量文档中检索出有价值的信息&#xff0c;成为了一个巨大的挑战。本文将带您走进 Pinecone 向量数据库的世界&#xff0…