一篇文章搞懂CNN(卷积神经网络)及其所含概念

目录

  • 1. 什么是卷积神经网络:
  • 2. 应用领域:
  • 3. 架构:
  • 4. 卷积层的参数和名词
      • 参数:
      • 名词:
  • 5. 注意:
  • 6. 经典网络:
  • 小结:

在这里插入图片描述
当下,计算机视觉在人工智能领域中扮演着至关重要的角色。而卷积神经网络(Convolutional Neural Network,CNN)则是计算机视觉任务中最为常用且高效的模型之一。本文将介绍CNN的基本原理、架构和一些经典网络模型。并且解释上面这幅图。

1. 什么是卷积神经网络:

卷积神经网络 = 神经网络 + 其他层次

看到了吗,上图中只有绿色的部分是全连接神经网络,其余都是CNN加入的其他层次

2. 应用领域:

主要应用与计算机视觉领域(视频等于一张张图片)(一般用gpu(图像处理单元)比CPU快几百倍)

  1. 检测任务
  2. 分类与检索
  3. 超分辨率重构
  4. 人脸识别

3. 架构:

我们正式开始介绍CNN的架构,包括四个部分:

  1. 输入层

输入图像(h×w×c)

  1. 卷积层(CONV)
    在这里插入图片描述

新概念:

卷积核(filter W)(权重参数矩阵)

过程:

通道的每个像素点(起初是 图像颜色通道:RGB(R channel,G channel,B channel))与每个卷积核维度卷积(与卷积核内积)后得到一个特征值

对每个颜色通道都要做卷积(这三个卷积核可以不一样),算完之后这三个通道结果加起来再加上偏置b,得到一个特征图(可以用多个卷积核卷积得到多个特征图)

总结就是:卷积核把箱子拍扁成一个一维度的更小的纸(等于 内积之和+偏置)

  1. 池化层(POOL)(压缩、下采样)
    在这里插入图片描述

池化方法:

最大池化(MAX POOLING):提取最大值代替

不改特征图个数c,只缩减高h和宽w

  1. 全连接层(FC)

全连接开始前 卷积、激活函数(非线性变换 激活函数 RELU)、池化 循环使用,把最后结果拉成一条特征向量后交给全连接层

全连接层结构在这里就不多赘述了

4. 卷积层的参数和名词

参数:

  1. 边缘填充(pad):在最外层添加一圈数字(一般是0,因为0×任何数字都是0,防止干扰数据)从而防止对边缘的计算过少
  2. 卷积核个数:有多少个则得到多少个特征值
  3. 步长(S):卷积核移动的步长

卷积结果计算公式:
在这里插入图片描述

如果输入数据是32*32*3的图像,用10个5*5*3的filter来进行卷积操作指定步长为1,边界填充为2,最终输入的规模为?
(32-5+22)/1+1=32,所以输出规模为3232*10经过卷积操作后也可以保持特征图长度、宽度不变。

名词:

在这里插入图片描述

感受野:卷积后的一个像素点是由原来多少个像素计算得到的(比如上图的感受野就是3*3)

5. 注意:

带参数计算的(有w和b的、要根据设定更新东西的)层叫做一层,只有卷积层和全连接层被叫做层
堆叠小的卷积核比用一个大的卷积核需要的参数少(可以自己计算)

6. 经典网络:

在计算机视觉领域,有几个经典的CNN模型:

AlexNet:是2012年ImageNet竞赛的冠军,它引入了深度学习在计算机视觉中的重要性,并采用了多层卷积和全连接层的架构。

VGG:由牛津大学的研究团队提出,其特点是网络结构非常深,使用了连续的小卷积核进行卷积操作,参数量较大。

ResNet:引入了残差连接的思想,解决了深层网络训练中的梯度消失和梯度爆炸问题,使得网络可以更深。

小结:

关注我给大家分享更多有趣的知识,以下是个人公众号,提供 ||代码兼职|| ||代码问题求解||
由于本号流量还不足以发表推广,搜我的公众号即可:
在这里插入图片描述

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

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

相关文章

java数组学习

目录 1.数组概念 2.数组的定义 3.数组的静态初始化 4.地址值 5.数组元素访问 6.索引 7.数组的遍历 8.数组的动态初始化 9.数组两种初始化方式的区别 10.数组常见问题 1.数组概念 数组是一种容器,可以同来存储同种数据类型的多个值。但是数组容器在存储数据…

漫漫数学之旅015

文章目录 经典格言数学习题古今评注名人小传 - 亚里士多德 经典格言 首要问题不是我们知道什么,而是我们如何知道的。——亚里士多德(Aristotle) 亚里士多德,这位古希腊的大哲学家,如果今天穿越到现代脱口秀舞台&…

SQL注入:sqli第一关

一、实验设备: 需要下载并安装phpstudy_pro,下载sqli-labs-php7-master解压到/phpstudy_pro/www中。 二、实验步骤: 1、在id1后加入一个闭合符号“ ‘ ”,但是当你输入?id1,是会报错的, http://127.0.…

vue3实现命令式弹窗

效果图 代码区域 首先实现弹窗组件my-modal.vue 这里实现一个极简易弹窗作为示例&#xff0c;其他功能和样式可自行补充和优化&#xff1b; <template><div class"modal-mask"><div class"modal-wrap"><div class"modal"…

Qt之使用Qt内置图标

一效果 二.原理 Qt内置图标封装在QStyle中,共七十多个图标,可以直接拿来用,能应付不少简单程序需求,不用自己去找图标并添加到资源文件了。 下面是内置图标的枚举定义: enum StandardPixmap {SP_TitleBarMenuButton,SP_TitleBarMinButton,SP_TitleBarMaxButton,SP_T…

JVM之Java内存区域

JVM-Java内存区域 Java内存区域是Java虚拟机&#xff08;JVM&#xff09;管理的内存资源的逻辑划分&#xff0c;用于存储程序运行时所需的数据。Java内存区域的合理划分和管理对于程序的性能和稳定性具有重要影响。本文将深入探讨Java内存区域的各个部分&#xff0c;包括方法区…

android inset 管理

目录 简介 Insets管理架构 Insets相关类图 app侧的类 WMS侧的类 inset show的流程 接口 流程 WMS侧确定InsetsSourceControl的流程 两个问题 窗口显示时不改变现有的inset状态 全屏窗口上的dialog 不显示statusbar问题 View 和 DecorView 设置insets信息 输入法显…

图数据库(neo4j)在工业控制中的应用

图模型 事物的模型中&#xff0c;除了它自身的某些特征之外&#xff0c;还包括它与其它事物的关系特征&#xff0c;例如一个学生的属性包括姓名&#xff0c;性别&#xff0c;年龄等属性&#xff0c;同时&#xff0c;他还有许多关系属性&#xff0c;比如他属于哪一个院系&#x…

认识Tomcat (一)

认识Tomcat &#xff08;一&#xff09; 一、服务器 1.1 服务器简介 ​ 硬件服务器的构成与一般的PC比较相似&#xff0c;但是服务器在稳定性、安全性、性能等方面都要求更高&#xff0c;因为CPU、芯片组、内存、磁盘系统、网络等硬件和普通PC有所不同。 ​ 软件服务器&…

数据分析:当当网书籍数据可视化分析

当当网书籍数据可视化分析 作者&#xff1a;i阿极 作者简介&#xff1a;Python领域新星作者、多项比赛获奖者&#xff1a;博主个人首页 &#x1f60a;&#x1f60a;&#x1f60a;如果觉得文章不错或能帮助到你学习&#xff0c;可以点赞&#x1f44d;收藏&#x1f4c1;评论&…

便宜寄快递,就选闪侠惠递,帮您省钱!

随着电子商务的发展&#xff0c;物流也越来越发达&#xff0c;人们的生活中有很多地方都与物流快递打交道。网购或者给远方的亲戚朋友寄礼物等等都需要快递。有时候就止步于昂贵的快递的&#xff0c;其实选对方法&#xff0c;寄快递并不贵... 编辑 现在一般寄快递都是选择去菜鸟…

第三百零七回

文章目录 1. 概念介绍2. 使用方法3. 示例代码4. 内容总结 我们在上一章回中介绍了"如何在输入框中提示错误"相关的内容&#xff0c;本章回中将介绍如何在输入框中处理光标.闲话休提&#xff0c;让我们一起Talk Flutter吧。 1. 概念介绍 我们在使用TextField组件作为…

OpenCV 配置选项参考

介绍 注意 我们假设您已经阅读了 OpenCV 安装概述教程或具有使用 CMake 的经验。 可以通过几种不同的方式设置配置选项&#xff1a; 命令行&#xff1a;cmake -Doptionvalue ...初始缓存文件&#xff1a;cmake -C my_options.txt ...通过 GUI 进行交互 在本参考中&#xff…

InstantID:一张照片,无需训练,秒级个人写真生成

1. 引言 InstantID是一种基于扩散模型的强大解决方案。设计的即插即用模块仅使用单个面部图像就能熟练地处理各种风格的图像个性化&#xff0c;同时确保高保真度。它的核心是设计了一个新颖的 IdentityNet&#xff0c;通过强加语义和弱空间条件&#xff0c;将面部和地标图像与…

jmeter-04创建请求

文章目录 一、发送请求-查看响应流程二、新建请求三、选择请求方式&#xff0c;填写url1.发送get请求当只有请求方式不一样的时候&#xff0c;参数都填写在参数栏里面&#xff0c;GET请求与POST请求的区别&#xff1f; 2.发送post请求2.1 application/x-www-form-urlencoded2.2…

ele-h5项目使用vue3+vite+vant4开发:第四节、业务组件-SearchView组件开发

需求分析 展示切换动画搜索框输入文字&#xff0c;自动发送请求搜索结果展示搜索状态维护历史搜索展示&#xff0c;点击历史搜索后发送请求历史搜索更多切换动画效果 <script setup lang"ts"> import OpSearch from /components/OpSearch.vue import { ref } f…

Jenkins(本地Windows上搭建)上传 Pipeline构建前端项目并将生成dist文件夹上传至指定服务器

下载安装jdk https://www.oracle.com/cn/java/technologies/downloads/#jdk21-windows 下载jenkins window版 双击安装 https://www.jenkins.io/download/thank-you-downloading-windows-installer-stable/ 网页输入 http://localhost:8088/ 输入密码、设置账号、安装推…

Ainx框架实现 一

&#x1f4d5;作者简介&#xff1a; 过去日记&#xff0c;致力于Java、GoLang,Rust等多种编程语言&#xff0c;热爱技术&#xff0c;喜欢游戏的博主。 &#x1f4d7;本文收录于Ainx系列&#xff0c;大家有兴趣的可以看一看 &#x1f4d8;相关专栏Rust初阶教程、go语言基础系列…

Mysql+MybatisPlus+Vue实现基础增删改查CRUD

数据库 设计数据库 设计几个字段&#xff0c;主键id自动增长且不可为空 create table if not exists user (id bigint(20) primary key auto_increment comment 主键id,username varchar(255) not null comment 用户名,sex char(1) not null comment 性…

C++弹球游戏:Jump Ball Game

一、下载压缩包 请查看网站C弹球游戏&#xff1a;Jump Ball Game并且下载&#xff0c;可以看到如下界面&#xff1a; 二、匹配图标 把压缩包解压了&#xff1a; 右键点击Jump Ball Game.lnk&#xff0c;点击“属性”它将会是我们要运行的文件。 点击“更改图标”&#xff0c;选…