6.2 卷积神经网络CNN


6.2 卷积神经网络 CNN

本节摘要:卷积神经网络(CNN)虽出身图像处理,但卷积核在时间轴上的滑动天然适配时序局部模式提取。本节讲清 CNN 的三层结构(卷积、池化、全连接)与时序适配逻辑,展开三种检测路线:序列转图像再分类(格拉姆角场/马尔可夫转换场)、CNN 编码器-解码器重构、CNN 特征提取+传统检测器。客观评估 CNN 的优势(局部特征、并行、鲁棒)与局限(信息损失、长依赖短板),并给出架构设计与训练要点。

阅读收获

阅读完本节,你应当能够:

  1. 说清 CNN 卷积核、池化层、全连接层各自在时序检测里的作用。
  2. 解释格拉姆角场、马尔可夫转换场把序列转成图像的逻辑。
  3. 区分 CNN 检测的三条路线(分类、重构、特征提取)。
  4. 客观说出 CNN 在时序检测上的优势与短板。
  5. 为时序检测设计一个基本的 CNN 架构。

一、问题与直觉

心电图监护仪上,一段波形是不是"心肌缺血",医生靠的是辨认局部的形态特征——ST 段抬高、T 波倒置,这些都是一两个心跳宽度内(约 1 秒)的局部形状。如果让模型来判断,它最需要的不是"整段序列的长期趋势",而是**"某个短窗口里的局部形态是不是正常"**。

这正是 CNN 的天然强项。CNN 的核心操作是卷积:一个小窗口(卷积核)在数据上滑动,逐段提取局部特征。 它的祖先在图像里提取"边缘、纹理、局部形状",搬到一维时序上,提取的就是"尖峰、凹陷、局部震荡模式"——心电图里的 ST 段抬高,本质上就是一个"局部形态异常"。

CNN 的另一个工程优势是并行计算:卷积核可以同时在不同位置滑动,不像 RNN 必须一步步串行。这让 CNN 在训练和推理速度上远胜 RNN。

但 CNN 也有它的短板:卷积核看的是局部,天然不擅长捕捉跨很远的依赖。一维 CNN 的感受野要靠堆叠层数或大卷积核来扩大,代价是层数深、参数多。所以工程上的常见姿态是:CNN 抓局部形态,和擅长长依赖的 RNN/Transformer 配合使用,而不是让它单打独斗。

二、核心原理

2.1 CNN 的三层结构与时序适配

卷积层:一维卷积核(比如长度 7)在序列上滑动,每个位置算一次"窗口与核的点积",输出一张特征图。每个核学到一种局部模式——有的核认尖峰,有的核认平滑段,有的核认规律震荡。堆多个核,就得到多种"形态视角"。

池化层:对特征图做下采样(最大值池化取窗口内最大、平均池化取平均)。作用有二:降低计算量、压缩特征;让模型对小幅位移不那么敏感——峰稍微偏两个点,池化后特征基本不变。

全连接层:把池化后的特征展平,映射到最终输出(分类概率或重构结果)。

2.2 路线一:序列转图像再分类

把一维序列转成二维图像,再用图像 CNN 分类。两个经典转换:

  • 格拉姆角场(Gramian Angular Field, GAF):把序列的值映射成角度(归一化后取 arccos),再对任意两时刻角度做三角运算,生成一个"点与点角度关系"的矩阵图。正常和异常序列的 GAF 图形态差异明显。
  • 马尔可夫转换场(Markov Transition Field, MTF):统计相邻状态转移概率,生成转移矩阵图。

转图像的好处是能复用成熟的图像 CNN 架构;代价是转换过程有信息损失(量化、舍去幅度信息),且"转图"本身是个需要调的超参数步骤。

2.3 路线二:CNN 编码器-解码器重构

和自编码器(第 6.3 节)同构,只是编码器/解码器用卷积实现:卷积编码器把序列压缩成低维表示,转置卷积/上采样解码器还原。只用正常数据训练,异常的重构误差大

这条路线的好处:不需要标签、能端到端自动学特征。缺点:重构误差可能被噪声干扰,且对"幅值异常"敏感而对"形态异常"钝感。

2.4 路线三:CNN 特征提取 + 传统检测器

把 CNN 当作"特征提取器":用训练好的 CNN(或预训练模型)把序列段编码成特征向量,再用传统检测器(One-Class SVM、Isolation Forest,见第 5 章)对这些特征做检测。

这条路线最务实——CNN 负责"看懂形态"(把原始序列变成有判别力的特征),传统检测器负责"定义正常边界"。两者各干所长,工程上可解释性也更好:至少能说"模型先提取了形态特征,再判断是否正常"。

2.5 三条路线对比

路线 核心逻辑 标签需求 优势 代价
转图像+分类 形态转图像,CNN 分类 需标签 复用成熟架构 转换有信息损失
CNN 重构 重构误差判异常 只需正常 端到端无监督 对幅值敏感、形态钝感
特征+传统检测 CNN 提特征、传统判边界 只需正常 可解释、务实 两段流程较繁

三、工程实践要点

3.1 架构设计要点

  • 卷积核大小:匹配"你要抓的局部模式的宽度"。心电的 ST 段约一个心跳(对应几十个采样点),核就取那个量级。
  • 层数:从 1–2 层卷积起步,感受野不够再加深。别一上来就堆 50 层——时序数据往往没有图像那么多层级结构。
  • 池化:1D 最大值池化最常用,窗口 2–4。
  • 正则:Dropout + 早停,防过拟合(异常检测训练数据常有限)。

3.2 一维卷积是默认选择

时序数据默认用一维卷积(沿时间轴滑动),不是图像用的二维。一维卷积核覆盖的是"时间跨度",语义是"这 K 个时间步的联合形态"。 把维度搞混(拿二维核去扫一维序列)是新手常犯的错。

3.3 CNN 在时序检测里的角色定位

CNN 很少是时序检测的"最终答案",更多是**"特征工程自动化器"**:它把"人怎么从波形里看出异常"这件难事,变成"让卷积核自己学局部形态"。在混合架构里,CNN 常与 RNN/Transformer 串联——CNN 先抓局部形态,RNN/Transformer 再管长程依赖,各司其职。

⚠️ 常见坑:指望纯 CNN 抓跨很远的依赖。 卷积感受野有限,一条几小时长的序列,除非堆很深,否则开头的信息到结尾早就"看不见"了。长依赖明显的任务,CNN 要配 RNN/Transformer,或者用扩张卷积、注意力机制扩大感受野。

💡 关键直觉:CNN 检测的本质是"形态识别的自动化"。 人眼能看出"这个波形 ST 段不对",CNN 就是把这种"局部形态判别"学成参数。所以 CNN 最擅长的异常,是有稳定局部形态特征的那类——尖峰、脉冲、局部形变;而不是"整段行为模式变了"那类。

3.4 训练注意事项

数据量要求:CNN 的参数比传统模型多,训练数据太少容易过拟合——数据量不足时,优先走"CNN 特征+传统检测"或干脆用传统方法。输入标准化必做;训练集务必只含干净的正常样本。

3.5 CNN 在时序检测的完整落地示例

以心电图异常检测为例,走一遍 CNN 的完整落地流程(概念层面):

  1. 数据准备:把心电图切成长度为 250 个采样点(约 2.5 秒,约 3 个心跳)的片段。正常片段海量,异常片段(早搏、ST 段抬高)相对少。
  2. 形态表示:两条路线任选——①直接把 250 点序列喂一维 CNN;②先转成格拉姆角场二维图再喂图像 CNN。一维 CNN 更省事,图像 CNN 能复用成熟的图像模型。
  3. 训练:正常片段训练一维 CNN 重构模型(编码器-解码器),目标是还原输入;异常片段重构误差大。
  4. 检测:新片段过模型,重构误差超阈值即异常。
  5. 人工复核:异常片段交医生确认,确认结果回流改进。

这个流程的亮点:只用正常数据训练(心电异常样本极少)、自动学"正常心跳长什么样"、重构误差天然可解释(画出来对比原始和重构,医生能直观看到"哪里对不上")。

3.6 CNN 检测的常见坑

坑一:核大小与模式宽度不匹配。 核太小抓不到完整形态,核太大模糊了局部——核要匹配你关心的局部模式的持续时间坑二:忽视感受野。 感受野不够时模型"看不到"足够长的上下文,长依赖任务要加深层或扩大核。坑三:把一维数据当二维处理。 时序默认一维卷积,拿二维核去扫一维序列是新手常错。坑四:数据增强过度。 对时序做时间扭曲、幅度缩放增强时要小心别把异常形态"增强"成正常——增强的边界要守住。

实战问答

问:一维 CNN 和二维 CNN 在时序上的区别?

一维 CNN 的卷积核沿时间轴滑动,直接处理原始序列,语义是"这 K 个时间步的联合形态";二维 CNN 需要先把序列转成图像(格拉姆角场等),才能用图像模型。一维更直接、信息损失少,是时序默认选择。

问:格拉姆角场转换会丢信息吗?

会。转换过程涉及归一化、角度量化,原始幅度信息会损失。但形态信息(波形形状)保留得不错——对"形态异常"(ST 段抬高、波形变形)够用;对"幅度异常"(信号突然变弱)则可能不敏感。

问:CNN 在时序检测里是"主角"还是"配角"?

多数时候是配角。CNN 适合做"局部形态特征提取器",长依赖交给 RNN/Transformer,最终判定交给传统检测器。混合架构(CNN+RNN、CNN+注意力)才是它发挥最大价值的方式。

问:CNN 检测需要多少数据?

全卷积网络训练一般要数万片段起。数据不足时走"CNN 特征+传统检测"——用预训练或小规模训练的 CNN 提特征,再喂 One-Class SVM/Isolation Forest,对数据量的要求低得多。另一个务实替代是先在相近任务上预训练 CNN(如把正常片段分类任务作为前置),再做特征迁移——迁移学习能让小数据的 CNN 路线也站得住脚。如果连预训练条件都不具备,就干脆回到树模型或统计方法,别在数据不足时硬上深度网络。核心纪律一句话:数据量决定模型复杂度,模型复杂度永远要低于数据能支撑的上限。

核心回顾

  • CNN 三层:卷积层提局部模式、池化层降维抗位移、全连接层输出——一维卷积沿时间轴滑动。
  • 三条路线:转图像+分类(复用图像架构)、CNN 重构(无监督)、CNN 特征+传统检测(最务实)。
  • 两种转图像技巧:格拉姆角场(角度关系矩阵)、马尔可夫转换场(转移概率矩阵),有信息损失。
  • 优势:局部模式提取强、并行快、抗噪声;短板:感受野有限、长依赖要配合 RNN/Transformer。
  • 角色定位:CNN 是"特征工程自动化器",常与其他模型串联。
  • 数据少时优先走特征+传统检测路线,别硬上深 CNN。

下一节进入重构误差检测的"完全体"——自编码器。编码-解码的压缩与还原,让模型学会"正常数据长什么样",重构失败的地方就是异常。


作者与出处
原作者: 灏天文库
来源:灏天文库
整理: 灏天文库整理
由灏天文库平台收录,内容或由平台用户上传,仅供学习交流
发布者: 作者: 灏天文库 转发
评论区 (0)
U