系列文章目录

初识CNN01——认识CNN
初识CNN02——认识CNN2
初识CNN03——预训练与迁移学习
初识CNN04——经典网络认识



一、GoogleNet——Inception

GoogLeNet(Inception v1)是谷歌团队在2014年ImageNet大规模视觉识别挑战赛(ILSVRC 2014)中夺得分类任务冠军的深度学习模型。它的主要创新在于保持深度的同时大幅减少了参数量(约600万参数,仅为AlexNet的1/10到1/12),并引入了Inception模块、辅助分类器等结构来提升性能并缓解梯度消失问题。

1.1 1x1卷积

在这里插入图片描述
当卷积核大小为1时,我们可以将其用于通道融合。以一个三通道RGB图像为例:

import torch
import cv2
import torch.nn as nn
from matplotlib import pyplot as plt@torch.no_grad()
def gray():# input:RGB图片img = cv2.imread("./images/a.jpg")img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)print(img.shape)# 1 x 1卷积con1_1 = nn.Conv2d(in_channels=3,out_channels=1,kernel_size=1,stride=1,padding=0,bias=False,)print(con1_1.weight.data.shape)# 常规转换公式:0.2989R + 0.5870G + 0.1140B# 修改权重参数con1_1.weight.data = torch.Tensor([[[[0.2989]], [[0.5870]], [[0.1140]]]])print(con1_1.weight.data.shape)# 使用卷积核处理图像out = con1_1(torch.Tensor(img).permute(2, 0, 1).unsqueeze(0))print(out.shape)# 显示图片plt.imshow(out.squeeze(0).permute(1, 2, 0).numpy(), cmap="gray")plt.show()if __name__ == "__main__":gray()

在这里插入图片描述

1.2 维度升降

  • 瓶颈结构
    借助1x1卷积我们可以设计这种两头宽,中间窄的网络结构。如果一个输入特征大小为N1×H×W, 使用N1×N2个1×1卷积,就可以将其 映射为N2×H×W大小的特征。当N1>N2,就实现了通道降维。

可以通过以上结构完成参数压缩:

假设输入通道数为192,输出通道数为128,则普通3×3卷积,参数量为128×192×3×3=221184,而先使用1×1卷积进行降维到96个通道,然后再用3×3升维到128
,则参数量为:96×192×1×1+128×96×3×3=129024

  • 纺锤结构
    与瓶颈结构类似,不过是两头窄,中间宽的网络结构。

1.3 网络结构

网络结构如下图所示,可以看到为多尺度,更宽,分组的网络设计:
在这里插入图片描述

1.4 Inception Module

从以上的结构图中可以看到一个反复出现的单词Inception,该结构由谷歌的研究人员在2014年提出,它的名字来源于电影《盗梦空间》,因为它设计时使用了多个并行的卷积神经网络模块,这些模块之间形成了一个嵌套的结构,就像人在梦中穿梭于不同场景中一样。

Inception结构是对输入图像并行地执行多个卷积运算或池化操作,并将所有输出结果拼接为一个非常深的特征图,且不同大小卷积核的卷积运算可以得到图像中的不同信息,处理获取到的图像中的不同信息可以得到更好的图像特征,一个Inception结构如下图所示。
在这里插入图片描述
​ 其中1x1卷积的位置如果放置在前,通道降维;如果放置在后,更好地维持性能

Inception结构的思想和之前的卷积思想不同,LeNet-5模型是将不同的卷积层通过串联连接起来的,但是Inception结构是通过串联+并联的方式将卷积层连接起来的。

Inception结构通常用于图像分类和识别任务,因为它能够有效地捕捉图像中的细节信息。它的主要优势在于能够以高效的方式处理大量的数据,并且模型的参数量相对较少,这使得它能够在不同的设备上运行。

1.5 辅助分类器

在以上网络结构中,有些分支在中间层就进行了softmax操作得到结果,这个结构叫做辅助分类器。在GoogLeNet中有两个辅助分类器,分别在Inception4a和Inception4d,它们的结构如下图所示:
在这里插入图片描述
辅助分类器通常与主要的分类器结合使用,以帮助模型更好地理解图像中的细节和复杂模式。这种技术可以提高模型的泛化能力,使其更准确地预测未知的图像。训练时,额外的两个分类器的损失权重为0.3,推理时去除。

二、ResNet——越深越好

ResNet(Residual Network,残差网络)是由何恺明等人于2015年提出的深度卷积神经网络架构。它通过引入残差学习和跳跃连接(Skip Connection),有效解决了极深神经网络中的梯度消失和网络退化问题,使得训练数百甚至上千层的网络成为可能,并在ImageNet等竞赛中取得了突破性成果。

2.1 梯度消失

深层网络有个梯度消失问题:模型变深时,其错误率反而会提升,该问题非过拟合引起,主要是因为梯度消失而导致参数难以学习和更新。
在这里插入图片描述
想要理解这个问题我们需要回忆反向传播与链式法则,即神经网络通过梯度下降来更新权重。梯度通过反向传播计算,从输出层一路通过链式法则 乘到输入层。对于一个 L 层的网络,第 l 层的梯度是它之后所有层梯度的乘积。

现在想象一下,在反向传播时,梯度需要连续乘以这些很小的导数(比如0.1, 0.25)。经过多层之后,这个连乘的结果会指数级地趋近于零。这意味着,对于靠近输入层的网络层(浅层),计算出的梯度值几乎为零。

2.2 Residual结构

Residual结构即残差结构,有两种不同的残差结构,在ResNet-18和ResNet-34中,用的如下图中左侧图的结构,在ResNet-50、ResNet-101和ResNet-152中,用的是下图中右侧图的结构。
在这里插入图片描述

上图左图可看到输入特征的channels是64,经过一个3x3的卷积核卷积之后,进行Relu激活,再经过一个3x3的卷积核进行卷积,但并没有直接激活。并且可以看到,在主分支上有一个圆弧的线从输入特征矩阵直接到加号,这个圆弧线是shortcut(捷径分支),它直接将输入特征矩阵加到经过第二次3x3的卷积核卷积之后的输出特征矩阵,再经过Relu激活函数进行激活。

在传统网络中我们是直接学习的期望映射y=H(x)y=H(x)y=H(x),这种映射能处理大多数关系,但对于恒等关系,即输入与输出相等的映射,拟合效果很差。但如果使用映射关系y=F(x)+xy=F(x)+xy=F(x)+x,那么若某层的最优映射接近恒等映射,那么学习残差 F(x)F(x)F(x) 逼近 0 比学习一个完整的恒等映射要容易得多。
在这里插入图片描述
通过使用残差连接,使得更深的网络具有更低的错误率。
在这里插入图片描述

总结

本文主要介绍了经典网络中的GoogleNet以及ResNet,主要是对于1x1卷积核的使用以及残差结构的理解,而非具体网络细节。

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

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

学习笔记分享——基于STM32的平衡车项目

学习笔记分享——基于STM32的平衡车项目前言笔记正文结语前言 本文是我在学习铁头山羊的平衡车教程的过程中,记录的笔记,里面不但有Up主的讲解,也有我个人的学习心得,还有查阅的资料,由于内容太多,不方便逐…

学习strandsagents的http_request tool

今天我们通过来拆strandsagents官网的一个例子来学习strandsagents的http_request tool https://strandsagents.com/latest/documentation/docs/examples/python/agents_workflows/ 看上去能做实事核查,实际上没那么高大上。 Show me the code https://github.com/strands-…

大模型对齐算法(四): DAPO,VAPO,GMPO,GSPO, CISPO,GFPO

DAPO DAPO 在 GRPO 的基础上做了 4 处关键升级,既保持 GRPO 的“无价值函数 组内归一化”思想,又通过 剪枝、采样、Token 级梯度、长度惩罚 解决长 Chain-of-Thought RL 的四大痛点。 1 剪枝范围解耦:Clip-Higher GRPO:单一对称…

OpenHarmony之「星链Data」—— 分布式数据管理子系统核心架构与实战解密

目录 系统概述 架构设计 核心模块详解 数据库实现与设计原理 关键函数调用流程链 实际案例分析 常见需求与Bug分析 性能监控与调优

基于SpringBoot+Vue的写真馆预约管理系统(邮箱通知、WebSocket及时通讯、协同过滤算法)

🎈系统亮点:邮箱通知、WebSocket及时通讯、协同过滤算法;一.系统开发工具与环境搭建1.系统设计开发工具前后端分离项目架构:B/S架构 运行环境:win10/win11、jdk17前端: 技术:框架Vue.js&#xf…

linux下timerfd和posix timer为什么存在较大的抖动?

在linux中开发引用,timerfd和posix timer是最常用的定时器。timerfd是linux特有的定时器,通过fd来实现定时器,体现了linux"一切皆文件"的思想;posix timer,只要符合posix标准的操作系统,均应支持…

网络聚合链路与软件网桥配置指南

网络聚合链路与软件网桥配置指南一、聚合链路(Team) 网络组队(聚合链路)是一种将多个网络接口控制器(NIC,Network Interface Controller)以逻辑方式组合在一起的技术,通过这种方式可…

IDE/去读懂STM32CubeMX 时钟配置图(有源/无源晶振、旁路/晶振模式、倍频/分频)

文章目录概述配置图元素说明RCCHSI/LSI/HSE/LSEAHB 和 APBSYSCLK 和 HCLKMux 多路复用器Prescaler 预分频器PLL 锁相环PLL 配置寄存器时钟物理源内部时钟和驱动无源晶振和驱动有源晶振和驱动MCO 时钟信号音频时钟配置晶体振荡器?外部时钟源类型RCC 如何选择旁路模式…

8 文本分析

全文检索与常规关系型数据库SQL查询的显著区别,就是全文检索具备对大段文本进行分析的能力,它可以通过文本分析把大段的文本切分为细粒度的分词。 elasticsearch在两种情况下会用到文本分析: 原始数据写入索引时,如果索引的某个字…

告别 Count Distinct 慢查询:StarRocks 高效去重全攻略

在大数据分析中,去重计算(如 Count Distinct)是一个常见但计算开销极高的操作,尤其在高基数和高并发场景下,常常成为查询性能的瓶颈。以用户访问行为为例,同一用户一天内多次访问页面时,PV 会累…

MVC、MVP、MVCC 和 MVI 架构的介绍及区别对比

✅作者简介:大家好,我是 Meteors., 向往着更加简洁高效的代码写法与编程方式,持续分享Java技术内容。 🍎个人主页:Meteors.的博客 💞当前专栏: ✨特色专栏: 知识分享 🥭本…

【运维进阶】Ansible 角色管理

Ansible 角色管理 实验环境 [lthcontroller ~ 21:47:45]$ mkdir web && cd web[lthcontroller web 21:47:50]$ cat > ansible.cfg <<EOF [defaults] remote_user lth inventory ./inventory[privilege_escalation] become True become_user root become_m…

个人笔记SpringMVC

SpringMVC 1. 1.新建一个Maven-webapp项目 2.导入依赖pom.xml <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/POM/4.0.0 http://maven.…

arcgis-提取范围中最大占比面积的信息或唯一值

此方法本来应用于计算图斑占最大面积的房屋质量等别/高程/坡度级别&#xff08;房屋质量等别/高程/耕地坡度计算在无特定条件下&#xff0c;遵循按面积占比最大值信息赋值&#xff09;。1、测试数据中&#xff0c;增加唯一值字段&#xff1a;WYZ&#xff0c;并刷上图斑唯一值信…

Webapi发布后IIS超时(.net8.0)

文章目录前言一、报错信息二、日志分析三、分析四、最终解决办法&#xff1a;前言 最近实现服务器数据导出&#xff1a; .net8.0的webapi 获取到post请求&#xff0c;查询数据后dbReader导出到workbook. 并保存Excel到远程的文件服务器。 问题&#xff1a;本地调试无问题&…

linux中的hostpath卷、nfs卷以及静态持久卷的区别

在 Linux 容器环境中&#xff0c;HostPath 卷、NFS 卷和静态持久卷&#xff08;Static PersistentVolume&#xff09;是数据持久化的重要方案。三者的核心差异体现在管理方式、适用场景、跨节点能力等方面。核心定义与工作原理1. HostPath 卷定义&#xff1a;直接将容器所在宿主…

Unity 中控开发 多路串口服务器(一)

一 Unity 中控开发 多路串口服务器 多路串口服务器基础型号配置被控投影设备LG-UART8 算法配置软件结果测试多路串口服务器 你好&#xff01; 这是关于一篇使用TCP调用多路串口服务器的系列文章。在后续文章中,会结合使用Unity做一个中控系统 基础 型号 ULEGS 多路串口服务…

服务器数据恢复—硬盘坏道离线导致raid崩溃的StorNext文件系统数据恢复案例

服务器存储数据恢复环境&故障&#xff1a; 一台昆腾存储设备中有一组raid5磁盘阵列。阵列上有两块硬盘先后离线&#xff0c;raid5磁盘阵列不可用。服务器存储数据恢复过程&#xff1a; 1、将故障服务器存储内的所有磁盘编号后取出&#xff0c;将所有没有离线的硬盘以只读方…

C++小游戏NO.1游戏机

#include<conio.h> #include<windows.h> #include<bits/stdc.h> #include<cstdlib> #include<ctime> #include<vector> #include<string> using namespace std; int Your6,Other6; string daojuname[]{"放大镜","sho…

OpenHarmony WebView引擎:从Chromium魔改到分布式渲染的终极解析

🏗️ 架构解析 arkweb是OpenHarmony webview组件的Native引擎,基于Chromium和CEF构建。 OpenHarmony WebView是基于Chromium CEF构建的高性能Web渲染引擎,为OpenHarmony系统提供完整的Web内容展示能力。该引擎采用分层架构设计,实现了与ArkUI的深度集成。 🏗️ 架构设…