深度学习篇---网络分析(1)
文章目录
- 前言
- 1. ImprovedResBlock(改进的残差块)
- 结构组成
- 卷积层1
- 卷积层2
- 跳跃连接(Downsample)
- 前向传播流程
- 主路径
- 跳跃路径
- 残差连接
- 2. EnhancedCNN(主模型)
- 2.1 初始特征提取层
- 功能
- 参数变化
- 2.2 残差块堆叠
- 2.3 分类器
- 3. 数据流示例
- Initial Layer
- ResBlock 1
- ResBlock 2
- ResBlock 3
- AdaptiveAvgPool1d
- Classifier
- 4. 设计优点
- 残差连接
- 逐步下采样
- 自适应池话
- 正则化
- 5. 适用场景
- 时间序列分类
- 音频处理
- 文本分类
前言
这个网络结构是一个改进的卷积神经网络(CNN),专为一维数据(如时间序列、音频信号或文本序列)设计,结合了残差学习(ResNet的思想)和深度卷积特征提取。
1. ImprovedResBlock(改进的残差块)
这是网络的核心组件,通过跳跃连接(Shortcut Connection)缓解梯度消失问题,增强深层网络的训练稳定性。
结构组成
卷积层1
nn.Conv1d(in_channels, out_channels, 5, stride, 2)
5个核大小,步长可调(默认为1),填充2,确保输出长度与输入一致(当stride=1时)。
后接批归一化(BatchNorm1d)和ReLU激活。
卷积层2
nn.Conv1d(out_channels, out_channels, 3, 1, 1)
3个核大小,固定步长1,填充1,保持输出长度不变。
后接批归一化,但无激活函数。
跳跃连接(Downsample)
当输入/输出通道数不同或stride≠1时,通过1x1卷积调整通道数和长度,匹配残差路径的输出形状。
包含Conv1d(步长与主路径一致)和BatchNorm1d。
前向传播流程
主路径
主路径:Conv1 → BN1 → ReLU → Conv2 → BN2。
跳跃路径
跳跃路径:通过downsample调整输入identity的形状。
残差连接
残差连接:主路径输出与跳跃路径相加,再经过ReLU激活。
2. EnhancedCNN(主模型)
整体结构分为特征提取器(卷积层+残差块)和分类器(全连接层)。
2.1 初始特征提取层
nn.Sequential(nn.Conv1d(input_channels, 64, 7, stride=2, padding=3),nn.BatchNorm1d(64),nn.ReLU(),nn.MaxPool1d(3, 2, 1)
)
功能
功能:快速降低序列长度,提取低级特征。
参数变化
输入通道数由input_channels升维到64。
卷积核7,步长2,填充3:输出长度为原长度的一半(L//2)。
最大池化(核3,步长2,填充1):长度进一步减半(约L//4)。
2.2 残差块堆叠
nn.Sequential(ImprovedResBlock(64, 128, stride=2),ImprovedResBlock(128, 256, stride=2),ImprovedResBlock(256, 512, stride=2),nn.AdaptiveAvgPool1d(1)
)
通道数变化:64 → 128 → 256 → 512,逐层翻倍以增强特征表达能力。
每个残差块步长2,长度逐层减半(例如输入长度L//4 → 经过3个块后为L//(4×2³) = L//32)。
最终通过AdaptiveAvgPool1d(1)将每个通道的序列压缩为1个值,输出形状为(batch, 512, 1)。
2.3 分类器
nn.Sequential(nn.Linear(512, 256),nn.Dropout(0.5),nn.ReLU(),nn.Linear(256, num_classes)
)
将512维特征映射到256维,经Dropout(防过拟合)和ReLU后,输出最终的类别预测。
3. 数据流示例
Initial Layer
假设输入形状为 (batch, input_channels, seq_len):
输出形状:(batch, 64, seq_len//4)(卷积步长2 + 池化步长2)。
ResBlock 1
输入:(64, seq_len//4) → 输出:(128, seq_len//8)(步长2)。
ResBlock 2
输入:(128, seq_len//8) → 输出:(256, seq_len//16)。
ResBlock 3
输入:(256, seq_len//16) → 输出:(512, seq_len//32)。
AdaptiveAvgPool1d
输出形状:(batch, 512, 1) → 展平为 (batch, 512)。
Classifier
最终输出:(batch, num_classes)。
4. 设计优点
残差连接
残差连接:缓解梯度消失,允许构建更深的网络。
逐步下采样
逐步下采样:通过步长2的卷积和池化逐步压缩序列,平衡计算效率和特征保留。
自适应池话
自适应池化:无论输入长度如何,最终输出固定维度,适应变长输入。
正则化
正则化:BatchNorm和Dropout提升泛化能力。
5. 适用场景
时间序列分类
时间序列分类(如传感器数据、ECG信号)。
音频处理
音频处理(如语音识别、声纹识别)。
文本分类
文本分类(需配合嵌入层将文本转为序列)。
通过调整input_channels和num_classes,可灵活适配不同任务。
相关文章:
深度学习篇---网络分析(1)
文章目录 前言1. ImprovedResBlock(改进的残差块)结构组成卷积层1卷积层2跳跃连接(Downsample) 前向传播流程主路径跳跃路径残差连接 2. EnhancedCNN(主模型)2.1 初始特征提取层功能参数变化 2.2 残差块堆叠…...
【Mac 从 0 到 1 保姆级配置教程 11】- Mac 基础配置 Finder、触控板、常用快捷键等
文章目录 前言配置 Finder1. 把我们的家目录请出来2. 显示文件扩展名3. 展示隐藏文件4. 显示路径栏和状态栏5. 固定文件夹到工具栏 基础快捷键1. Finder 导航快捷键2. 文件操作快捷键3. 视图和显示快捷键4. 搜索和选择快捷键5. 实用技巧6. 关于文件创建 配置触控板1. 右键设置2…...
C++Primer - 动态内存管理
欢迎阅读我的 【CPrimer】专栏 专栏简介:本专栏主要面向C初学者,解释C的一些基本概念和基础语言特性,涉及C标准库的用法,面向对象特性,泛型特性高级用法。通过使用标准库中定义的抽象设施,使你更加适应高级…...
DeepSeek本地部署(Ollama)
1. Ollama 安装 Ollama 官网地址: https://ollama.com/安装包网盘地址: https://pan.baidu.com 2. Deepseek 部署 根据自己电脑配置和应用需求选择不同模型,配置不足会导致运行时候卡顿。 版本安装指令模型大小硬盘(存储)显卡…...
Amodal3R ,南洋理工推出的 3D 生成模型
Amodal3R 是一款先进的条件式 3D 生成模型,能够从部分可见的 2D 物体图像中推断并重建完整的 3D 结构与外观。该模型建立在基础的 3D 生成模型 TRELLIS 之上,通过引入掩码加权多头交叉注意力机制与遮挡感知注意力层,利用遮挡先验知识优化重建…...
第二期:深入理解 Spring Web MVC [特殊字符](核心注解 + 进阶开发)
前言: 欢迎来到 Spring Web MVC 深入学习 的第二期!在第一期中,我们介绍了 Spring Web MVC 的基础知识,学习了如何 搭建开发环境、配置 Spring MVC、编写第一个应用,并初步了解了 控制器、视图解析、请求处理流程 等核…...
论伺服电机在轨道式巡检机器人中的优势及应用实践
一、引言 1.1 研究背景与意义 在现代工业生产、电力系统、轨道交通等诸多领域,保障设施设备的安全稳定运行至关重要。轨道式巡检机器人作为一种高效、智能的巡检工具,正逐渐在这些领域崭露头角。它能够沿着预设轨道,对目标区域进行全方位…...
开源软件与自由软件:一场理念与实践的交锋
在科技的世界里,“开源软件”和“自由软件”这两个词几乎无人不知。很多人或许都听说过,它们的代码是公开的,可以供所有人查看、修改和使用。然而,若要细究它们之间的区别,恐怕不少朋友会觉得云里雾里。今天࿰…...
(51单片机)独立按键控制流水灯LED流向(独立按键教程)(LED使用教程)
源代码 如上图将7个文放在Keli5 中即可,然后烧录在单片机中就行了 烧录软件用的是STC-ISP,不知道怎么安装的可以去看江科大的视频: 【51单片机入门教程-2020版 程序全程纯手打 从零开始入门】https://www.bilibili.com/video/BV1Mb411e7re?…...
开发指南111-关闭所有打开的子窗口
门户系统是通过window.open通过单点登录的模式打开子系统的,这就要求门户系统退出时,关闭所有打开的子系统。 平台处理这一问题的核心原理如下: 主窗口定义: allChildWindows:[], //所有子窗口 pushChildWindow(childWindow){ …...
react-router children路由报错
项目场景: 写个路由页面,引发的问题 问题描述 报错: An absolute child route path must start with the combined path of all its parent routes. 代码: import { createBrowserRouter } from "react-router-dom";…...
双向链表示例
#include <stdio.h> #include <stdlib.h>// 定义双向链表节点结构体 typedef struct list {int data; // 数据部分struct list *next; // 指向下一个节点的指针struct list *prev; // 指向前一个节点的指针 } list_t;// 初始化链表,将链表的…...
Socket编程TCP
Socket编程TCP 1、V1——EchoServer单进程版2、V2——EchoServer多进程版3、V3——EchoServer多线程版4、V4——EchoServer线程池版5、V5——多线程远程命令执行6、验证TCP——Windows作为client访问Linux7、connect的断线重连 1、V1——EchoServer单进程版 在TcpServer.hpp中实…...
当网页受到DDOS网络攻击有哪些应对方法?
分布式拒绝服务攻击也是人们较为熟悉的DDOS攻击,这类攻击会通过大量受控制的僵尸网络向目标服务器发送请求,以此来消耗服务器中的资源,致使用户无法正常访问,当网页受到分布式拒绝服务攻击时都有哪些应对方法呢? 建立全…...
文件映射mmap与管道文件
在用户态申请内存,内存内容和磁盘内容建立一一映射 读写内存等价于读写磁盘 支持随机访问 简单来说,把磁盘里的数据与内存的用户态建立一一映射关系,让读写内存等价于读写磁盘,支持随机访问。 管道文件:进程间通信机…...
4.4刷题记录(哈希表)
1.242. 有效的字母异位词 - 力扣(LeetCode) class Solution { public:bool isAnagram(string s, string t) {unordered_map<char,int>cnt_s,cnt_t;for(int i0;i<s.size();i){cnt_s[s[i]];}for(int i0;i<t.size();i){cnt_t[t[i]];}if(cnt_sc…...
代码随想录回溯算法03
93.复原IP地址 本期本来是很有难度的,不过 大家做完 分割回文串 之后,本题就容易很多了 题目链接/文章讲解:代码随想录 视频讲解:回溯算法如何分割字符串并判断是合法IP?| LeetCode:93.复原IP地址_哔哩哔…...
批量改CAD图层颜色——CAD c#二次开发
一个文件夹下大量图纸(几百甚至几千个文件)需要改图层颜色时,可采用插件实现,效果如下: 转换前: 转换后: 使用方式如下:netload加载此dll插件,输入xx运行。 附部分代码如…...
【内网安全】DHCP 饿死攻击和防护
正常情况:PC2可以正常获取到DHCP SERVER分别的IP地址查看DHCP SERCER 的ip pool地址池可以看到分配了一个地址、Total 253个 Used 1个 使用kali工具进行模拟攻击 进行DHCP DISCOVER攻击 此时查看DHCP SERVER d大量的抓包:大量的DHCP Discover包 此时模…...
【愚公系列】《高效使用DeepSeek》055-可靠性评估与提升
🌟【技术大咖愚公搬代码:全栈专家的成长之路,你关注的宝藏博主在这里!】🌟 📣开发者圈持续输出高质量干货的"愚公精神"践行者——全网百万开发者都在追更的顶级技术博主! 👉 江湖人称"愚公搬代码",用七年如一日的精神深耕技术领域,以"…...
AI时代编程教育启示录:为什么基础原理依然不可或缺?
李升伟 编译 在生成式AI重塑编程教育的今天,我作为拥有十年开发者关系团队管理经验、编程训练营教学经历的专业软件工程师,想与大家探讨这个新时代的编程教育之道。 平衡之道:基础原理与AI工具的博弈 当GitHub Copilot、Amazon Q Deve…...
10种电阻综合对比——《器件手册--电阻》
二、电阻 前言 10种电阻对比数据表 电阻类型 原理 特点 应用 贴片电阻 贴片电阻是表面贴装元件,通过将电阻体直接贴在电路板上实现电路连接 体积小、重量轻,适合高密度电路板;精度高、稳定性好,便于自动化生产 广泛应用于…...
剑指Offer(数据结构与算法面试题精讲)C++版——day6
剑指Offer(数据结构与算法面试题精讲)C版——day6 题目一:不含重复字符的最长子字符串题目二:包含所有字符的最短字符串题目三:有效的回文 题目一:不含重复字符的最长子字符串 这里还是可以使用前面&#x…...
freertos韦东山---事件组以及实验
事件组的原理是什么,有哪些优点,为啥要创造出这个概念 在实时操作系统(如 FreeRTOS)中,事件组是一种用于任务间同步和通信的机制,它的原理、优点及存在意义如下: 事件组原理 数据结构…...
架构师面试(二十六):系统拆分
问题 今天我们聊电商系统实际业务场景的问题,考查对业务系统问题的分析能力、解决问题的能力和对系统长期发展的整体规划能力。 一电商平台在早期阶段业务发展迅速,DAU在 10W;整个电商系统按水平分层架构进行设计,包括【入口网关…...
Spring 中的事务
🧾 一、什么是事务? 🧠 通俗理解: 事务 一组操作,要么全部成功,要么全部失败,不能只做一半。 比如你转账: A 账户扣钱B 账户加钱 如果 A 扣了钱但 B 没收到,那就出问…...
Java中的同步和异步
一、前言 在Java中,同步(Synchronous)和异步(Asynchronous)是两种不同的任务处理模式。核心区别在任务执行的顺序控制和线程阻塞行为。 二、同步(Synchronous) 定义:任务按顺序执行…...
vue2 vue3 响应式差异
vue2 响应式原理看这 链接: link 总结: object.defineproperty()是对属性的劫持,对属性劫持有两大缺陷 1. 需要遍历对象的所有属性,深层属性需递归,存在效率问题 2. 后添加的属性,无法获得响应式,因为劫持…...
唯一ID生成器设计方案
《亿级流量系统架构设计与实战》总结 1. 唯一ID的核心需求 • 全局唯一性:分布式系统中所有节点生成的ID不可重复。 • 趋势递增性(可选):ID按时间或序列递增,优化数据库写入性能。 • 高可用性:服务需72…...
OpenCV 图形API(16)将极坐标(magnitude 和 angle)转换为笛卡尔坐标(x 和 y)函数polarToCart()
操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 描述 计算二维向量的 x 和 y 坐标。 polarToCart 函数根据 magnitude 和 angle 的对应元素表示的每个二维向量,计算其笛卡尔坐标:…...
