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

【机器学习合集】模型设计之残差网络 ->(个人学习记录笔记)

文章目录

  • 模型设计之残差网络
    • 1. 什么是残差结构
      • 1.1 网络加深遇到的优化问题
      • 1.2 short connect技术
    • 2. 残差网络及有效性理解
      • 2.1 残差网络
    • 3. 残差网络的发展
      • 3.1 密集残差网络
      • 3.2 更宽的残差网络(wide resnet)
      • 3.3 分组残差网络
      • 3.4 Dual Path Network
      • 3.5 加权残差网络
      • 3.6 预激活残差

模型设计之残差网络

  • 残差网络(Residual Network,通常缩写为ResNet)是一种深度神经网络架构,最早由微软研究员提出。ResNet的核心思想是通过引入残差块(Residual Blocks)来解决深度神经网络训练中的梯度消失和梯度爆炸问题,从而使得更深的网络能够更容易地训练和优化。
    以下是ResNet的主要特点和设计原则:
  1. 残差块(Residual Blocks)
    • 残差块是ResNet的基本构建单元,它包含了跳跃连接(skip connection)和残差映射(residual mapping)。
    • 跳跃连接允许信息在不同层之间直接传递,而不是通过多个非线性激活函数。这有助于避免梯度消失问题,使网络更容易训练。
    • 残差映射通过跳跃连接将输入特征与经过一些卷积层变换的特征相加,从而使网络学习残差(即差异),而不是完整的映射。这有助于网络捕捉更丰富的特征。
  2. 深度增加
    • ResNet允许非常深的网络,通常包含数十到数百个层。通过使用残差块,可以轻松增加网络的深度而不会导致性能下降。
    • 更深的网络有助于学习更复杂的特征,提高了模型的表现,特别适用于大规模图像分类等任务。
  3. 瓶颈结构
    • 为了减少参数量和计算复杂度,ResNet引入了瓶颈结构,其中每个残差块包含了一个较小的1x1卷积层、一个3x3卷积层和另一个1x1卷积层。这可以有效减少通道数和计算开销。
  4. 预训练和微调
    • ResNet模型通常通过在大规模图像数据集上进行预训练,然后微调到特定任务。这种迁移学习方法能够在数据有限的情况下取得很好的结果。
  5. 引入注意力机制
    • 可以将注意力机制引入ResNet以增强其性能,特别是在处理复杂的计算机视觉任务中。通过引入注意力机制,模型可以更好地关注重要的特征。
  • 总之,ResNet是一种强大的深度学习模型架构,已被广泛应用于计算机视觉任务,如图像分类、目标检测和图像分割。其核心思想是通过残差块来构建深层神经网络,从而克服深度神经网络中的梯度问题,实现更好的性能。

1. 什么是残差结构

1.1 网络加深遇到的优化问题

  • 网络达到一定深度后,梯度消散与爆炸带来的性能下降问题
  • 此前的解决方案:更好的优化方法,更好的初始化策略,BN层,ReLU激活函数等
    在这里插入图片描述

1.2 short connect技术

  • 在信号处理系统中,对输入数据进行中心化转换,即将数据减去均值,被广泛验证有利于加快系统的学习速度。
    在这里插入图片描述

早期验证

  • 2012年Tapani Raiko验证了shortcut connections和非线性变换提高了随机梯度下降算法的学习能力,并且提高了模型的泛化能力。
    在这里插入图片描述

  • 2015年Rupesh Kumar Srivastava提出highway network(残差的结构),借鉴了来自于LSTM的控制门的思想
    在这里插入图片描述

2. 残差网络及有效性理解

2.1 残差网络

  • 2015年何凯明等人提出deep residual network
    在这里插入图片描述

  • 缓解梯度消失问题,训练上1000层的模型
    在这里插入图片描述

  • F的梯度变化远远大于G,引入残差后的映射对输出的变化更敏感,这样有利于网络参数进行学习

  • 神经网络的退化(只有少量的隐藏单元对不同的输入改变它们的激活值)是难以训练深层网络根本原因所在,残差打破了网络的对称性,消除了网络中的奇点
    在这里插入图片描述

  • 残差网络可以看作是多个不同深度模型的集成,提高了泛化能力,”Residual networks behave like ensembles of relatively shallow networks“
    在这里插入图片描述

3. 残差网络的发展

3.1 密集残差网络

  • 提高多层通道的利用率,密集连接网络(DenseNet),增强各层的信息流动
    在这里插入图片描述

3.2 更宽的残差网络(wide resnet)

  • 通道数更大
    在这里插入图片描述

3.3 分组残差网络

  • 分组成若干个相同的子分支
    在这里插入图片描述

3.4 Dual Path Network

  • ResNext与DenseNet的结合
    在这里插入图片描述

3.5 加权残差网络

  • 残差网络中两个通道之间相加时一条已经激活,另一条没有,提出将激活函数提前到残差通道,然后进行加权融合的思路
    在这里插入图片描述

3.6 预激活残差

  • 改变卷积+归一化+激活函数(conv+bn+relu)的顺序
    在这里插入图片描述

注意:部分内容来自阿里云天池

相关文章:

【机器学习合集】模型设计之残差网络 ->(个人学习记录笔记)

文章目录 模型设计之残差网络1. 什么是残差结构1.1 网络加深遇到的优化问题1.2 short connect技术 2. 残差网络及有效性理解2.1 残差网络 3. 残差网络的发展3.1 密集残差网络3.2 更宽的残差网络(wide resnet)3.3 分组残差网络3.4 Dual Path Network3.5 加权残差网络3.6 预激活残…...

GoLong的学习之路(十六)基础工具之Gin框架

Gin框架介绍及使用,这张不用看内容就知道非常重要,重要到什么地步呢?重要到开发java不会Spring全家桶这种概念。 上几篇文章写的是如何构建骨架,经脉。这一章是将血肉注入。 文章目录 Gin框架RESTful API Gin渲染HTML渲染静态文件…...

VMware打开centos黑屏解决方法汇总

VMware打开centos黑屏解决方法汇总 前言:一. VMware打开centos黑屏解决方法汇总一 .情况情况一:情况二情况三 二. 解决方法最简单的方法:一. 以管理员权限在命令行执行1. 管理员身份运行cmd2. 输入“netsh winsock reset”,回车3. 重启电脑即…...

5G物联网关相较有线网关有哪些独特优势

5G为产业物联网应用带来了质的飞跃,5G技术实现更高速率、更低延迟和更大带宽,使得物联网能够接入更多数量的设备,实现更稳定、高效的连接和数据传输,在提高生产效率的同时,也进一步促进了物联网的应用发展和升级。 针对…...

【数据结构】顺序表的学习

前言:在之前我们学习了C语言的各种各样的语法,因此我们今天开始学习数据结构这一个模块,因此我们就从第一个部分来开始学习"顺序表"。 💖 博主CSDN主页:卫卫卫的个人主页 💞 👉 专栏分类:C程序设计谭浩强版本…...

在NISQ小型计算机上执行大型并行量子计算的可能性

简介 Steve White提出了密度矩阵重整化群(DMRG)的基本思想,即纠缠是一种有价值的资源,可以用来精确或近似地描述大量子系统。后来,这一思想被理解为优化矩阵积状态(MPS)的算法,支持…...

考虑时空相关性的风电功率预测误差MATLAB代码

微❤关注“电气仔推送”获得资料(专享优惠) 风电功率预测置信区间误差分析拟合 1.风电功率预测误差--时空相关性 展示第一一个时间段的风电功率预测与实际风电功率值的比较。填充区域表示预测的不确定性,显示了95%置信区间内预测可能的范围…...

ASP.NET WebApi 极简依赖注入

文章目录 环境服务类启动项注入使用依赖注入的优点 环境 .NET Core 7.0ASP.NET CoreVisual Studio 2022 服务类 public class T_TempService {public T_TempService(){}public void Test(){}}启动项注入 #region 依赖注入 builder.Services.AddTransient<T_TempService&g…...

解决proteus仿真stm32,IIC通讯,IIC DEBUG无法显示从机应答信号的问题(问题情况为在8位数据后应答位显示?)

1、错误现象 错误现象如下&#xff0c;在IIC数据传输8位数据后&#xff0c;IIC DEBUG的应答位无法显示应答位 2、错误原因 我们打开信号传输的示波器&#xff0c;直接去查看IIC从机校验位的数据波形&#xff0c;可以看到从机示波器显示的的波形为半高ACK&#xff0c;那错误原…...

PHP判断闰年

闰年的规则 1.能被4整除且不能被100整除 &#xff08;普通闰年&#xff09; 2.能被400整除&#xff0c;公历年份是整百数的&#xff0c;必须是400的倍数才是闰年&#xff08;世纪闰年&#xff09; 代码 function isLeapYear($year) {if($year%40 && $year%100!0){r…...

证照之星XE专业版下载专业证件照制作工具

值得肯定的是智能背景替换功能&#xff0c;轻松解决背景处理这一世界难题。不得不提及的是新增打印字体设置&#xff0c;包含字体选择、字号大小、字体颜色等。不同领域的应用证明了万能制作&#xff0c;系统支持自定义证照规格&#xff0c;并预设了17种常用的证件照规格。人所…...

VR全景图片如何制作?揭秘VR全景图片制作全流程

引言&#xff1a; VR全景图片是一种以全景视角为基础的图片制作技术&#xff0c;能够呈现出更为真实、立体的视觉体验。通过VR全景图片&#xff0c;观众可以360环顾四周&#xff0c;仿佛身临其境&#xff0c;提供了一种全新的感官体验&#xff0c;那么如何制作出令人满意的全景…...

vue element el-table-column 循环示例代码

如果你想循环生成多个el-table-column&#xff0c;可以使用v-for指令。以下是一个示例&#xff1a; <template><el-table :data"tableData"><el-table-column v-for"column in columns" :key"column.prop" :label"column.l…...

R语言生物群落(生态)数据统计分析与绘图实践技术应用

R 语言作的开源、自由、免费等特点使其广泛应用于生物群落数据统计分析。生物群落数据多样而复杂&#xff0c;涉及众多统计分析方法。以生物群落数据分析中的最常用的统计方法回归和混合效应模型、多元统计分析技术及结构方程等数量分析方法为主线&#xff0c;通过多个来自经典…...

有了 GPT,还需要付费咨询吗?

之前写过一篇文章《在创业公司&#xff0c;我靠它续命 …》&#xff0c;提到现在写代码基本靠 GPT。现在这种状况不仅没有改变&#xff0c;反而依赖更深。公司立项开发产品的 Linux 版本&#xff0c;全靠我一个人。我之前虽然一直使用 Linux 开发环境&#xff0c;对 Linux 系统…...

如何搭建一台服务器?

一.准备工作 1. 确定服务器类型&#xff1a;根据需求选择适合的服务器类型&#xff0c;如网站服务器、数据库服务器、文件服务器等。 2. 选择操作系统&#xff1a;根据服务器类型选择合适的操作系统&#xff0c;如Linux&#xff08;如Ubuntu、CentOS&#xff09;、Windows Se…...

[转载]C++序列化框架介绍和对比

Google Protocol Buffers Protocol buffers 是一种语言中立&#xff0c;平台无关&#xff0c;可扩展的序列化数据的格式&#xff0c;可用于通信协议&#xff0c;数据存储等。 Protocol buffers 在序列化数据方面&#xff0c;它是灵活的&#xff0c;高效的。相比于 XML 来说&…...

分类预测 | Matlab实现KOA-CNN-BiLSTM-selfAttention多特征分类预测(自注意力机制)

分类预测 | Matlab实现KOA-CNN-BiLSTM-selfAttention多特征分类预测&#xff08;自注意力机制&#xff09; 目录 分类预测 | Matlab实现KOA-CNN-BiLSTM-selfAttention多特征分类预测&#xff08;自注意力机制&#xff09;分类效果基本描述程序设计参考资料 分类效果 基本描述 1…...

浮点数和定点数(上):怎么用有限的Bit表示尽可能多的信息?

目录 背景 浮点数的不精确性 定点数的表示 浮点数的表示 小结 背景 在我们日常的程序开发中&#xff0c;不只会用到整数。更多情况下&#xff0c;我们用到的都是实数。比如&#xff0c;我们开发一个电商 App&#xff0c;商品的价格常常会是 9 块 9&#xff1b;再比如&…...

一文详解汽车电子LIN总线

0.摘要 汽车电子LIN总线不同于CAN总线。 LIN总线基本上是CAN总线的廉价补充&#xff0c;相比于CAN总线&#xff0c;它提供较低的可靠性和性能。同时LIN总线也是一个应用非常广泛的网络协议&#xff0c;并且越来越受欢迎。 再一次&#xff0c;我们准备了一个关于LIN总线的简要…...

QMC5883L的驱动

简介 本篇文章的代码已经上传到了github上面&#xff0c;开源代码 作为一个电子罗盘模块&#xff0c;我们可以通过I2C从中获取偏航角yaw&#xff0c;相对于六轴陀螺仪的yaw&#xff0c;qmc5883l几乎不会零飘并且成本较低。 参考资料 QMC5883L磁场传感器驱动 QMC5883L磁力计…...

Spring AI 入门:Java 开发者的生成式 AI 实践之路

一、Spring AI 简介 在人工智能技术快速迭代的今天&#xff0c;Spring AI 作为 Spring 生态系统的新生力量&#xff0c;正在成为 Java 开发者拥抱生成式 AI 的最佳选择。该框架通过模块化设计实现了与主流 AI 服务&#xff08;如 OpenAI、Anthropic&#xff09;的无缝对接&…...

多模态大语言模型arxiv论文略读(108)

CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文标题&#xff1a;CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文作者&#xff1a;Sayna Ebrahimi, Sercan O. Arik, Tejas Nama, Tomas Pfister ➡️ 研究机构: Google Cloud AI Re…...

A2A JS SDK 完整教程:快速入门指南

目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库&#xff…...

【JVM面试篇】高频八股汇总——类加载和类加载器

目录 1. 讲一下类加载过程&#xff1f; 2. Java创建对象的过程&#xff1f; 3. 对象的生命周期&#xff1f; 4. 类加载器有哪些&#xff1f; 5. 双亲委派模型的作用&#xff08;好处&#xff09;&#xff1f; 6. 讲一下类的加载和双亲委派原则&#xff1f; 7. 双亲委派模…...

STM32---外部32.768K晶振(LSE)无法起振问题

晶振是否起振主要就检查两个1、晶振与MCU是否兼容&#xff1b;2、晶振的负载电容是否匹配 目录 一、判断晶振与MCU是否兼容 二、判断负载电容是否匹配 1. 晶振负载电容&#xff08;CL&#xff09;与匹配电容&#xff08;CL1、CL2&#xff09;的关系 2. 如何选择 CL1 和 CL…...

python爬虫——气象数据爬取

一、导入库与全局配置 python 运行 import json import datetime import time import requests from sqlalchemy import create_engine import csv import pandas as pd作用&#xff1a; 引入数据解析、网络请求、时间处理、数据库操作等所需库。requests&#xff1a;发送 …...

Spring AI Chat Memory 实战指南:Local 与 JDBC 存储集成

一个面向 Java 开发者的 Sring-Ai 示例工程项目&#xff0c;该项目是一个 Spring AI 快速入门的样例工程项目&#xff0c;旨在通过一些小的案例展示 Spring AI 框架的核心功能和使用方法。 项目采用模块化设计&#xff0c;每个模块都专注于特定的功能领域&#xff0c;便于学习和…...

elementUI点击浏览table所选行数据查看文档

项目场景&#xff1a; table按照要求特定的数据变成按钮可以点击 解决方案&#xff1a; <el-table-columnprop"mlname"label"名称"align"center"width"180"><template slot-scope"scope"><el-buttonv-if&qu…...

CSS3相关知识点

CSS3相关知识点 CSS3私有前缀私有前缀私有前缀存在的意义常见浏览器的私有前缀 CSS3基本语法CSS3 新增长度单位CSS3 新增颜色设置方式CSS3 新增选择器CSS3 新增盒模型相关属性box-sizing 怪异盒模型resize调整盒子大小box-shadow 盒子阴影opacity 不透明度 CSS3 新增背景属性ba…...