当前位置: 首页 > news >正文

卷积神经网络(一)

目录

一.卷积神经网络的组成

二.卷积层

目的:

参数:

计算公式

 卷积运算过程

三.padding-零填充

1.Valid and Same卷积

 2.奇数维度的过滤器

四.stride步长

五.多通道卷积

1.多卷积核(多个Filter)

六.卷积总结

七.池化层(Pooling)

八.全连接层

都看到这里了,点个赞把!!!! 


对于普通的神经网络,假如一张图片像素是1000*1000*3的格式,建立一层10个神经元的神经网络,那么计算次数就为1000*1000*3*10,三千万次的计算才能处理一张图片,而且害很难达到理想的效果,更别说建立多层的神经网络了。所以引入了卷积神经网络

一.卷积神经网络的组成

卷积神经网络由一个或多个卷积层,池化层以及全连接层组成。以其他深度学习相比,卷积神经网络在图像等方面有更好的结果。卷积神经网络可以使用反向传播算法进行训练。

卷积神经网络的整体结构为:

 输入层:输入图像等信息

卷积层:用来提取图像的底层特征

池化层:防止过拟合,将数据维度减小

全连接层:汇总卷积层和池化层得到的图像的底层特征和信息

输出层:根据全连接层的信息得到概率最大的结果

二.卷积层

目的:

卷积运算的目的是提取输入的不同特征,某些卷积层可能只能提取一些低级的特征,如边缘,线条和角度层级,更多层的网络能从低级特征中迭代提取更复杂的特征

参数:

size:卷积核/过滤器大小,选择有:1*1 , 3*3 , 5*5

padding:零填充,Valid与Same

stride:步长,通常为1

卷积核:比需要提取特征的图片大小要小或者相等,卷积核通过在输入的图片中按照步长不停的一定,每一次移动都进行一次的乘积求和,作为此位置的值

计算公式

计算后得到一个新的矩阵,这个矩阵也被称为特征图 

 卷积运算过程

对于一张5*5的单通道图片,使用一个3*3大小的卷积核运算得到一个3*3的运算结果

 

卷积结束后,图片变小了,假设N为图片大小,F为卷积核大小,就相当于 

N-F+1=5-3+1=3

如果我们换一个卷积核大小或者加入更多的卷积层之后,图片可能最后就变成1*1大小。而这样是不行的,对于原始图片当中的边源像素来说,只计算了一次,对于中间的像素会有许多次过滤器计算,这样导致了边缘信息丢失。

三.padding-零填充

零填充:在图片的最外层加上若干层0值,一层则记作p=1

为什么要增加0呢,因为0在权重乘积运算中对最终结果不造成影响,也避免了图片增加了额外的干扰信息

这张图片中,还是移动一个像素,并且外面加一层0.

5+2*p-3+1=5

假设为两层

5+2*2-3+1=7,这样得到的图片大小比之前的图片大小害大,所以对于0的填充会有一些选择

1.Valid and Same卷积

为了避免上述情况,一般选择Same这种填充的方法

Valid:不填充,也就是图片最终大小:(N-F+1)*(N-F+1)

Same:添加两层:(N+2p-F+1)*(N+2p-F+1),也就是P=F-1/2

 2.奇数维度的过滤器

通过上面式子,如果F不是奇数,那么最终结果就会出现0.5的情况,这样填充就不均匀,所以卷积一般都是使用奇数维度大小

四.stride步长

对于上面的都是步长为1的结果,那么步长不为11的呢

对于一个步长的公式

N+2P-F+1=6+0-3+1=4

对于步长为2的结果

(N+2p-F)/2+1=1.5+1=2.5,不是整数,乡下取整为2,

所以对于任意步长,大小为N,过滤器大小F,步长为S

 (​​​(N+2P−F​)​/S+1)*(​(​N+2P−F)/S​​+1)

五.多通道卷积

当输入有多个通道(channel)时,例如彩色图片就有3通道。卷积核需要拥有相同的通道数,每个卷积核通道与输入层的对应通道进行卷积,将每个通道的卷积结果通过按位相加得到最终的结果

1.多卷积核(多个Filter)

当有多个卷积核时,可以学习到多种不同的特征,对应产生包含多个channel的Feature Map,如果有两个filter,那么output就有两个通道。这里的多少个卷积核也可以理解位多个神经元。相当于外面把多个功能的卷积核的计算结果放在一起,能检测到图片中不同的特征(边缘检测)

六.卷积总结

假设外面有10个Filter,每个Filter3*3*3,并且只有一层卷积

假设有一张图片1000*1000*3,需要多大的零填充

((N+2P-F+1) /S+1)=N,解得P=1

卷积层相当于特征提取的角色,但是没有减少图片的特征数量,在最后的全连接依旧面对大量的计算,所以需要池化层进行特征的减少

七.池化层(Pooling)

从上面的卷积层可以看到,有几个卷积核就有多少个特征图,而当特征图特别多的时候,就意味着外面得到的特征也非常多,那么外面就可以用到池化层了。

池化层主要对卷积层学习到的特征图进行亚采样处理,主要有:

最大池化:Max Pooling,取窗口的最大值作为输出

平均池化:Avg Pooling,取窗口内的所有值的均值作为输出

意义在于:

降低了后续网络层的输入维度,缩减模型大小,提高计算速度,提高了Feature Map的鲁棒性,防止过拟合

对于一个输入的图片,外面使用区域大小为2 2,步长为2的参数进行求最大值操作,同样池化也有一组参数,f,s得到2 2的大小。当然如果外面调整这个超参数,比如是3*3,那么结果就不一样了,通常选择默认都是f=2*2,s=2

池化超参数特点,不需要学习,不像卷积通过下降进行更新。

八.全连接层

卷积层+激活层+池化层可以看成是CNN的特征学习/特征提取层,而学习到的特征(Feature Map)最终应用于模型任务(分类、回归):

先对所有 Feature Map 进行扁平化(flatten, 即 reshape 成 1 x N 向量)

再接一个或多个全连接层,进行模型学习

都看到这里了,点个赞把!!!! 

相关文章:

卷积神经网络(一)

目录 一.卷积神经网络的组成 二.卷积层 目的: 参数: 计算公式 卷积运算过程 三.padding-零填充 1.Valid and Same卷积 2.奇数维度的过滤器 四.stride步长 五.多通道卷积 1.多卷积核(多个Filter) 六.卷积总结 七.池化层(Pooling) 八.全连接层…...

加密与安全_ sm-crypto 国密算法sm2、sm3和sm4的Java库

文章目录 Presm-crypto如何使用如何引入依赖 sm2获取密钥对加密解密签名验签获取椭圆曲线点 sm3sm4加密解密 Pre 加密与安全_三种方式实现基于国密非对称加密算法的加解密和签名验签 sm-crypto https://github.com/antherd/sm-crypto 国密算法sm2、sm3和sm4的java版。基于js…...

VR 尺寸美学主观评价-解决方案-现场体验研讨会报名

棣拓科技VR创新解决方案助力尺寸美学所见即所得! 诚邀各位行业专家莅临指导交流 请扫描海报二维码踊跃报名,谢谢 中国上海 2024.10.25 亮点介绍 1、通过精湛渲染技术,最真实展现设计效果,并通过VR设备一比一比例进行展现。 2、设置相关设…...

网络基础入门指南(三)

一、远程管理交换机 1.配置IP地址 远程管理需要通过IP地址访问网络设备交换机的接口,默认无法配置IP地址需要使用虚接口vlan1 2.配置远程登录密码 远程管理需要配置VTY接口VTY是虚拟终端,是一种网络设备远程连接的方式vty 0 4表示可同时打开5个会话 3…...

大众萨克森:SNP助力汽车制造智能化,实现SAP S/4HANA系统成功升级

关于大众萨克森 VW Sachsen 大众汽车(Volkswagen Sachsen GmbH)包括位于德国茨维考的汽车工厂、位于德累斯顿的透明工厂和位于开姆尼茨的发动机工厂。茨维考汽车厂拥有 7,900名员工,每天生产1,350辆高尔夫和帕萨特汽车。在开姆尼茨的发动机工…...

20240912 每日AI必读资讯

OpenAI计划在接下来的两周内发布Strawberry - 独立产品:尽管草莓是ChatGPT的一部分,但它将作为一个独立的产品发布,具体如何提供尚不清楚。它可能会出现在用户选择的AI模型下拉菜单中,与现有服务有所不同。 - 推理功能&#xff…...

Linux之Shell命令

Shell 是一个 C 语言编写的脚本语言,它是用户与 Linux 的桥梁,用户输入命令交给 Shell 处理,Shell 将相应的操作传递给内核(Kernel),内核把处理的结果输出给用户。 程序执行方式:编译、解释 Sh…...

前端Vue框架实现html页面输出pdf(html2canvas,jspdf)

代码demo&#xff1a; <template><el-dialog class"storageExportDialog" :fullscreen"true" title"" :visible.sync"visible" v-if"visible" width"600px"><div id"exportContainer" …...

SAP Fiori UI5-环境搭建-2022-2024界面对比

文章目录 一、Fiori项目初始化实际操作第一步&#xff1a;新建文件夹&#xff08;项目文件&#xff09;第二步&#xff1a;打开我们项目第三步&#xff1a;打开终端 部署环境第四步: XML中新增文本 二、 2023年Vscode中Fiori界面三 、2024年Vscode中Fiori界面 一、Fiori项目初始…...

二百六十三、Java——IDEA项目打成jar包,然后在Linux中运行

一、目的 在用Java对原Kafka的JSON字段解析成一条条数据&#xff0c;然后写入另一个Kafka中&#xff0c;代码写完后打成jar包&#xff0c;放在Linux中&#xff0c;直接用海豚调度运行 二、Java利用fastjson解析复杂嵌套json字符串 这一块主要是参考了这个文档&#xff0c;然…...

【OpenCV2.2】图像的算术与位运算(图像的加法运算、图像的减法运算、图像的融合)、OpenCV的位运算(非操作、与运算、或和异或)

1 图像的算术运算 1.1 图像的加法运算 1.2 图像的减法运算 1.3 图像的融合 2 OpenCV的位运算 2.1 非操作 2.2 与运算 2.3 或和异或 1 图像的算术运算 1.1 图像的加法运算 add opencv使用add来执行图像的加法运算 图片就是矩阵, 图片的加法运算就是矩阵的加法运算, 这就要求加…...

ChatGPT 3.5/4.0使用手册:解锁人工智能的无限潜能

1. 引言 在人工智能的浪潮中&#xff0c;ChatGPT以其卓越的语言理解和生成能力&#xff0c;成为了一个革命性的工具。它不仅仅是一个聊天机器人&#xff0c;更是一个能够协助我们日常工作、学习和创造的智能伙伴。随着ChatGPT 3.5和4.0版本的推出&#xff0c;其功能和应用范围…...

E32.【C语言 】练习:蓝桥杯题 懒羊羊字符串

1.题目 【问题描述】 “懒羊羊”字符串是一种特定类型的字符串&#xff0c;它由三个字符组成&#xff0c;具有以下特点: 1.字符串长度为 3. 2.包含两种不同的字母。 3.第二个字符和第三个字符相同 换句话说&#xff0c;“懒羊羊”字符串的形式应为 ABB&#xff0c;其中A和B是不…...

Linux 网络基础概念

文章目录 一、初始协议1、理解2、协议分层3、软件分层4、OSI七层模型5、TCP/IP五层模型 二、再识协议1、为什么要有TCP/IP协议2、什么是TCP/IP协议3、TCP/IP协议与操作系统的关系&#xff08;宏观上&#xff0c;怎么实现的&#xff09; 三、网络传输基本流程1、mac地址2、TCP/I…...

【题目】MySQL选择题

来源&#xff1a;MySQL专项练习选择题 1.有一个User用户表&#xff0c;要删除整张表&#xff08;指完全删除表数据和结构&#xff09;&#xff0c;下面正确的MySQL语句是&#xff1a; A.DELETE TABLE User; B.DROP TABLE User; C.TRUNCATE TABLE User; D.DELETE FROM User …...

自然语言处理系列六十三》神经网络算法》LSTM长短期记忆神经网络算法

注&#xff1a;此文章内容均节选自充电了么创始人&#xff0c;CEO兼CTO陈敬雷老师的新书《自然语言处理原理与实战》&#xff08;人工智能科学与技术丛书&#xff09;【陈敬雷编著】【清华大学出版社】 文章目录 自然语言处理系列六十三神经网络算法》LSTM长短期记忆神经网络算…...

亚马逊IP关联及其解决方案

在电子商务领域&#xff0c;亚马逊作为全球领先的在线购物平台&#xff0c;吸引了众多商家和个人的参与。然而&#xff0c;随着业务规模的扩大&#xff0c;商家在使用亚马逊服务时可能会遇到IP关联的问题&#xff0c;这不仅影响账户的正常运营&#xff0c;还可能带来一系列不利…...

Definition and Detection of Defects in NFT Smart Contracts论文解读、复现

背景知识\定义 NFT 是数字或物理资产所有权的区块链表示。不仅限于数字图片&#xff0c;视频和画作等艺术品也可以转化为 NFT 进行交易。近年来受到广泛关注&#xff0c;2021 年 NFT 交易额达到约 410 亿美元。 智能合约 是在区块链上运行的图灵完备程序。支持各种去中心化…...

Neo4j图数据库

文章目录 一、Neo4J相关介绍1.为什么需要图数据库方案1&#xff1a;Google方案2&#xff1a;Facebook 2.特定和优势3.什么是Neo4j4.Neo4j数据模型图论基础属性图模型Neo4j的构建元素 5.软件安装 二、CQL语句1.CQL简介2.CREATE 命令3.MATCH 命令4.RETURN 子句5.MATCH和RETURN6.C…...

k8s API资源对象

API资源对象Deployment 最小的资源是pod&#xff0c;deployment是多个pod的集合&#xff08;多个副本实现高可用、负载均衡等&#xff09;。 使用yaml文件来配置、部署资源对象。 Deployment YAML示例&#xff1a; vi ng-deploy.yaml apiVersion: apps/v1 kind: Deployment…...

eNSP-Cloud(实现本地电脑与eNSP内设备之间通信)

说明&#xff1a; 想象一下&#xff0c;你正在用eNSP搭建一个虚拟的网络世界&#xff0c;里面有虚拟的路由器、交换机、电脑&#xff08;PC&#xff09;等等。这些设备都在你的电脑里面“运行”&#xff0c;它们之间可以互相通信&#xff0c;就像一个封闭的小王国。 但是&#…...

docker详细操作--未完待续

docker介绍 docker官网: Docker&#xff1a;加速容器应用程序开发 harbor官网&#xff1a;Harbor - Harbor 中文 使用docker加速器: Docker镜像极速下载服务 - 毫秒镜像 是什么 Docker 是一种开源的容器化平台&#xff0c;用于将应用程序及其依赖项&#xff08;如库、运行时环…...

模型参数、模型存储精度、参数与显存

模型参数量衡量单位 M&#xff1a;百万&#xff08;Million&#xff09; B&#xff1a;十亿&#xff08;Billion&#xff09; 1 B 1000 M 1B 1000M 1B1000M 参数存储精度 模型参数是固定的&#xff0c;但是一个参数所表示多少字节不一定&#xff0c;需要看这个参数以什么…...

Spring Boot 实现流式响应(兼容 2.7.x)

在实际开发中&#xff0c;我们可能会遇到一些流式数据处理的场景&#xff0c;比如接收来自上游接口的 Server-Sent Events&#xff08;SSE&#xff09; 或 流式 JSON 内容&#xff0c;并将其原样中转给前端页面或客户端。这种情况下&#xff0c;传统的 RestTemplate 缓存机制会…...

AtCoder 第409​场初级竞赛 A~E题解

A Conflict 【题目链接】 原题链接&#xff1a;A - Conflict 【考点】 枚举 【题目大意】 找到是否有两人都想要的物品。 【解析】 遍历两端字符串&#xff0c;只有在同时为 o 时输出 Yes 并结束程序&#xff0c;否则输出 No。 【难度】 GESP三级 【代码参考】 #i…...

【第二十一章 SDIO接口(SDIO)】

第二十一章 SDIO接口 目录 第二十一章 SDIO接口(SDIO) 1 SDIO 主要功能 2 SDIO 总线拓扑 3 SDIO 功能描述 3.1 SDIO 适配器 3.2 SDIOAHB 接口 4 卡功能描述 4.1 卡识别模式 4.2 卡复位 4.3 操作电压范围确认 4.4 卡识别过程 4.5 写数据块 4.6 读数据块 4.7 数据流…...

VTK如何让部分单位不可见

最近遇到一个需求&#xff0c;需要让一个vtkDataSet中的部分单元不可见&#xff0c;查阅了一些资料大概有以下几种方式 1.通过颜色映射表来进行&#xff0c;是最正规的做法 vtkNew<vtkLookupTable> lut; //值为0不显示&#xff0c;主要是最后一个参数&#xff0c;透明度…...

uniapp微信小程序视频实时流+pc端预览方案

方案类型技术实现是否免费优点缺点适用场景延迟范围开发复杂度​WebSocket图片帧​定时拍照Base64传输✅ 完全免费无需服务器 纯前端实现高延迟高流量 帧率极低个人demo测试 超低频监控500ms-2s⭐⭐​RTMP推流​TRTC/即构SDK推流❌ 付费方案 &#xff08;部分有免费额度&#x…...

SAP学习笔记 - 开发26 - 前端Fiori开发 OData V2 和 V4 的差异 (Deepseek整理)

上一章用到了V2 的概念&#xff0c;其实 Fiori当中还有 V4&#xff0c;咱们这一章来总结一下 V2 和 V4。 SAP学习笔记 - 开发25 - 前端Fiori开发 Remote OData Service(使用远端Odata服务)&#xff0c;代理中间件&#xff08;ui5-middleware-simpleproxy&#xff09;-CSDN博客…...

rnn判断string中第一次出现a的下标

# coding:utf8 import torch import torch.nn as nn import numpy as np import random import json""" 基于pytorch的网络编写 实现一个RNN网络完成多分类任务 判断字符 a 第一次出现在字符串中的位置 """class TorchModel(nn.Module):def __in…...