4、深度学习基础回顾:神经网络原理、卷积神经网络(CNN)、循环神经网络(RNN)、Transformer简介

各位同学好,我是你们这门课的主讲。今天咱们来聊聊深度学习的基础。说实话,很多做雷达目标识别的朋友,一开始都觉得深度学习是个黑盒子,往里扔数据就行。我刚开始也这么想,直到有一次项目里模型怎么调都不收敛,才发现——基础不牢,地动山摇。

所以这一章,咱们把几个核心概念捋一遍。不搞花架子,就讲清楚:神经网络到底怎么工作的?CNN为什么适合处理图像?RNN怎么记住上下文?Transformer又凭什么火遍全球?

4.1 神经网络原理:从感知机到多层网络

神经网络的核心,说白了就是一堆简单的计算单元堆叠起来。每个单元叫「神经元」,它做的事很简单:

  • 接收多个输入
  • 每个输入乘以一个权重
  • 加上一个偏置
  • 扔进一个激活函数
  • 输出一个值

你想想看,这不就是线性回归加了个非线性开关吗?对,但就是这层非线性,让网络能拟合任意复杂的函数。

关键公式(前向传播):

z = w1*x1 + w2*x2 + ... + wn*xn + b
a = σ(z)   # σ 是激活函数,比如 ReLU、Sigmoid

我习惯把神经网络比作一个「函数逼近器」。你给它一堆雷达回波数据和对应的目标类型,它就能学出一个映射关系。训练的过程,就是不断调整权重 w 和偏置 b,让输出越来越接近真实标签。

训练靠的是反向传播和梯度下降。反向传播从输出层往回算,看每个参数对最终误差贡献了多少。梯度下降则沿着误差下降最快的方向更新参数。嗯,这里要注意:学习率不能太大,否则会震荡;也不能太小,否则训练慢得像蜗牛。我曾经吃过这个亏,调了一整天学习率,最后发现是数据没归一化。

避坑指南: 我曾经在雷达一维距离像分类项目中,直接用原始幅度值训练,结果 loss 死活降不下去。后来发现不同距离单元的能量差了两个数量级。归一化之后,模型半小时就收敛了。所以,数据预处理比调网络结构更重要。

4.2 卷积神经网络(CNN):专为网格数据而生

CNN 最擅长处理什么?网格状数据。比如图像是像素网格,雷达的时频图也是网格。CNN 的核心思想就三个:局部连接、权值共享、池化。

局部连接:每个神经元只看输入的一小块区域,而不是全图。这符合直觉——你识别一个目标,不需要看整张图,看局部特征就够了。

权值共享:同一个卷积核在整个输入上滑动,参数是一样的。这大大减少了参数量。我算过,如果全连接处理一张 256x256 的图,第一层就要几百万参数;CNN 只要几千。

池化:说白了就是下采样。最大池化取局部最大值,平均池化取平均值。它能降低特征图尺寸,还能提供一定的平移不变性。

典型 CNN 结构(用于雷达时频图分类):

输入: 128x128 时频图
↓
Conv2D(32, 3x3) + ReLU
↓
MaxPooling(2x2)
↓
Conv2D(64, 3x3) + ReLU
↓
MaxPooling(2x2)
↓
Flatten
↓
Dense(128) + ReLU
↓
Dense(N_classes) + Softmax

我个人习惯在卷积层后面加 Batch Normalization。为什么?因为雷达数据往往有噪声,BN 能稳定训练过程,让模型对噪声不那么敏感。有一次项目里加了 BN,验证集准确率直接涨了 3 个点。

4.3 循环神经网络(RNN):处理序列数据的利器

雷达信号本质上是时间序列。你发射一个脉冲,接收一串回波,这天然就是序列。RNN 就是为序列数据设计的——它能记住之前的信息,并影响当前输出。

RNN 的核心是一个循环结构:每个时间步,隐藏状态不仅接收当前输入,还接收上一个时间步的隐藏状态。公式很简单:

h_t = tanh(W_h * h_{t-1} + W_x * x_t + b)

但 RNN 有个致命问题:长程依赖。当序列很长时,早期的信息会逐渐消失(梯度消失)或爆炸(梯度爆炸)。你想想看,雷达脉冲序列可能有上千个采样点,RNN 根本记不住前面的特征。

所以后来有了 LSTM 和 GRU。LSTM 引入了「门控机制」:遗忘门、输入门、输出门。它可以选择性地记住或遗忘信息。我做过一个实验,用 RNN 和 LSTM 分别处理雷达微多普勒序列,LSTM 对直升机、无人机、鸟类的分类准确率高了 12%。

注意: LSTM 虽然强,但参数量也大。如果你的雷达数据量不大(比如只有几千个样本),用简单 GRU 可能更好,不容易过拟合。我曾经在样本不足时硬上 LSTM,结果训练集准确率 99%,测试集只有 60%。

4.4 Transformer:注意力机制的革命

Transformer 最初是为自然语言处理设计的,但现在它已经「入侵」了几乎所有领域,包括雷达信号处理。它的核心是自注意力机制。

自注意力在做什么?简单说,就是让序列中的每个位置,都能「看到」所有其他位置,并决定哪些位置更重要。对于雷达信号,这意味着模型可以同时关注目标的整体轮廓和局部细节。

Transformer 的结构包括:

  • 多头自注意力:从多个角度计算注意力,捕捉不同尺度的依赖关系
  • 位置编码:因为自注意力本身没有顺序概念,需要额外注入位置信息
  • 前馈网络:每个位置独立经过一个全连接层
  • 层归一化 + 残差连接:稳定训练,防止梯度问题

为什么 Transformer 适合雷达?

雷达回波中,目标的散射中心往往分布在不同的距离单元上。CNN 受限于卷积核大小,只能看到局部;RNN 受限于时序,容易遗忘。Transformer 的全局注意力可以同时建模所有散射中心之间的关系。我见过一个案例,用 Transformer 做 HRRP 目标识别,比 CNN 高了 5 个点。

但 Transformer 也有缺点:计算量大。自注意力的复杂度是 O(n²),n 是序列长度。雷达信号如果采样率很高,序列长度可能上万,直接上 Transformer 会爆显存。我建议先用下采样或分块处理,再送入 Transformer。

我的经验: 对于雷达一维距离像(HRRP),序列长度通常在 256-1024 之间,Transformer 效果很好。但对于高分辨 SAR 图像(二维),直接用 ViT(Vision Transformer)需要大量数据,不如 CNN 稳定。所以,别盲目追新,选对工具更重要。

4.5 小结:怎么选?

数据类型 推荐模型 原因
一维时序(如脉冲序列) LSTM / GRU 天然适合序列,参数量适中
二维时频图 / SAR 图像 CNN / ResNet 局部特征提取能力强,数据效率高
长序列 + 全局依赖 Transformer 自注意力捕捉长程关系
小样本场景 CNN + 迁移学习 预训练模型 + 微调,避免过拟合

好了,这一章就到这里。深度学习基础回顾完了,下一章咱们正式进入雷达目标分类的实战。我会带着大家从数据预处理开始,一步步搭建一个能用的分类系统。到时候你们会发现,今天讲的这些基础,每一个都会用到。

记住:模型是工具,理解原理才能用好工具。别急着调参,先想清楚你的数据长什么样,任务需要什么能力。这是我做了这么多年雷达信号处理,最想告诉你们的一句话。