3.1 从全连接到序列模型


3.1 从全连接到序列模型

本节摘要:神经网络的基本运算是加权求和加非线性。把时间窗口拍扁送进多层感知机,等于假设每个时间步是独立特征、顺序可以打乱。序列模型用时间步共享的权重,把“昨天和今天的关系”写成同一套参数。对照的是归纳偏置:MLP 灵活但无视顺序,RNN/CNN/注意力把顺序写进结构。

上手前先明确

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

  1. 画出窗口拍扁进 MLP 的数据路径,并指出打乱时间步会怎样
  2. 用权重共享解释为什么序列模型参数不随长度线性爆炸
  3. 说明隐藏状态、一维卷积核、注意力权重三种“记顺序”的方式差别
  4. 判断自己的问题是“短窗口 MLP 就够”还是必须换序列归纳偏置

一、全连接把时间当成列名

SOURCE 在核心模型里单列了多层感知机:它不假设输入独立吗?其实 MLP 假设的是特征位置有固定语义。表格里第 3 列永远是温度,打乱列就毁了。时间窗口被拍扁之后,第 3 列变成“三步之前的负荷”,语义靠位置锁死。窗口长度一变,输入维数就变,已经训好的网络不能直接吃更长历史。这是 MLP 做序列的第一道墙。

第二道墙是置换。若你把窗口里的 96 个点随机重排再送进已训练的 MLP,输出会变,因为权重绑在位置上;但模型从来没有被要求“顺序本身是物理”。它只是记住了位置 17 附近常有晚高峰。换一个采样率,晚高峰挪到位置 34,MLP 不会自动平移,除非你重新训。一维卷积核在时间上滑动,晚高峰挪了位置,核仍能扫到同样的局部形状。这就是归纳偏置的差别。

冷库温度用过去 12 个点预报下一个点,MLP 完全能打。模式短、位置稳定、采样率不变。变电站 96 点日曲线若还用拍扁 MLP,参数量是 96 乘隐藏维,位置一多,过拟合来得很快。SOURCE 后文把 MLP 和其他模型放在同一章,不是说 MLP 过时,是说它是对照基线:短窗口、强特征(你已经手搓了滞后和日历)时,MLP 经常出人意料地好。N-BEATS 一类后起结构甚至把全连接做成深度分解,那是第 4 章的事。

拍扁 MLP: [x[t-L+1], ..., x[t]] → 向量 R^L → Dense → y 打乱坐标轴 = 打乱语义 共享权重: 每个时间步用同一套 W 长度变了,还是那套 W

二、三种记顺序的方式

序列模型不是一种,是三类入口。

循环:每一步吃当前输入和上一隐藏状态,产出新隐藏状态。顺序被写进计算图的深度里,第 96 步要等前 95 步。记忆在状态向量里,容量有限。这是 RNN 族。

卷积:核在时间上滑,局部加权。顺序体现在核的左右方向,通常用因果卷积保证只看过去。记忆不在一个状态里,在感受野里:核越大、层越深、扩张越大,看得越远。这是 CNN/TCN 族。

注意力:每个时间步对其他时间步算相似度,加权求和。顺序本身并不天然存在,所以要加位置编码。记忆不压缩进固定状态,每一步都能直接看任意过去步。这是 Transformer 族。

SOURCE 写 RNN“在每个时间步共享权重,并维护内部状态”。共享权重是为了参数不随长度涨、能吃可变长度;内部状态是为了把过去压进一个向量。两个设计目标后面都会变成硬伤:状态太小会忘,逐步算无法并行。卷积和注意力是对这两条硬伤的不同补丁,不是“更新的 RNN”。

入口 顺序怎么进模型 长度变化 并行 短窗口时
拍扁 MLP 绑在坐标上 要改输入维 经常够用
RNN 状态逐步传 自然支持 可能杀鸡
因果卷积 核滑动 需定窗口或填充 很合适
注意力 位置编码+全连接看 二次复杂度 可能过重

港口吞吐量若只用“上周七日”加日历,MLP 加滞后特征是正当基线。不要因为教程书名叫深度学习,就跳过这条基线。对照实验的第一行就应该是它。

三、反向传播在时间里变成多了什么

基本原理仍是:损失对权重求导,梯度下降更新。序列里多出来的是:同一套 W 在每个时间步都用了,梯度要从后往前在时间上累加。这叫沿时间反向传播。累加路径一长,梯度不是爆就是消失——下节展开。MLP 没有这条时间轴上的深路径,训练相对老实,这也是短问题上它稳的原因。

激活、层归一、残差这些元件,序列模型和图像模型是共用的。SOURCE 在 Transformer 结构里写了残差连接和层归一化,在 CNN 流程里写了 ReLU 和池化。池化在预测任务里要小心:时间上的最大池化会打乱对齐,多步预测常更愿意用步长卷积来降长度,而不是池化后对不齐 horizon。

⚠️ 常见坑:把窗口拍扁后做 Dropout 当“正则就够了”,却在验证时改变窗口长度。输入维一变,模型直接不能用,不是正则能救的。
💡 关键直觉:选 MLP 还是序列模型,问的是顺序和长度会不会变。两者都不变,先上 MLP 基线。

公交到站的输入常常是变长的:有的时段一小时内三班,有的一班。拍扁 MLP 必须先填充到固定长度,填充本身是假观测。RNN 和注意力可以吃变长,卷积需要填充或打包。变长是把全连接请出主位的强理由,比“深度更先进”更硬。

概念代码只展示接口差异,不是可运行工程:

# 拍扁 h = dense(concat(x_window)) # 维数锁死为 L # 循环 h = zeros() for xt in x_window: h = tanh(W_x @ xt + W_h @ h) # 因果卷积 h = conv1d_causal(x_window, kernel) # 并行,感受野有限

四、把三种入口接到同一条负荷窗口上

取过去 96 个 15 分钟点预报下一个点,三种入口的张量形状不同。拍扁 MLP 吃长度为 96 的向量,位置 17 永远对应“大约四小时前”,晚高峰若因夏令作息挪了半小时,位置语义就偏。RNN 吃 96 步逐步,隐藏状态在第 96 步才输出,训练一步要展开 96 层共享权重。因果卷积吃形状为 时间×通道 的张量,一层核长 3 只能看很近,要盖住 96 必须靠层数或扩张。注意力吃 96 个位置编码后的向量,一步能看全窗,但 96×96 的矩阵在这个尺度还不贵。

同一划分下先跑拍扁 MLP。若它已经打过季节朴素,说明位置绑定够用,序列族的增益要明显才值得。若 MLP 打不过季节朴素,问题多半在特征或划分,不是因为没上 LSTM。变长到站序列无法公平地和这 96 点负荷比入口,因为 MLP 要填充,填充是假观测。入口对照必须在同一长度定义下进行。

共享权重的好处是参数不随长度涨,坏处是所有时间步被迫用同一套变换。高峰和低谷若需要完全不同的动态,共享可能不够,这会把人推向更深、或推向分段模型、或推向协变量门控。不要一上来就怪共享,先看日历通道能不能把高峰低谷分开。入口选错和特征没给,症状都是“网络学不会形状”,诊断要分开。

把三种伪代码留在实验笔记里,作为“我们到底把顺序写进了哪”的提醒。换框架实现时,这比抄层配置更不容易走回拍扁。

五、入口对照必须同一长度定义

96 点负荷上比较拍扁、逐步、滑核、注意力,长度定义相同才公平。变长到站序列要对 MLP 填充,填充是假观测,不能拿来宣布循环全面胜利。先跑拍扁 MLP:已打过季节朴素,则序列族增益必须明显才留;打不过,先查特征与划分。共享权重让参数不随长度涨,也强迫高峰低谷用同一套变换。先看日历能否把高峰低谷分开,再怪共享不够。三种伪代码留在笔记里,换框架时提醒顺序写在哪,避免走回拍扁却仍自称序列模型。

六、归纳偏置对照,不是层数竞赛

MLP 灵活但位置即语义,长度锁死,采样率变就废。RNN 把顺序写成逐步状态,变长自然,墙钟差。卷积把顺序写成核方向,并行好,要因果。注意力把顺序交给位置编码,窗口内一步对齐,平方复杂度。短窗定长加手搓特征,MLP 是正当深度基线,N-BEATS 一类甚至把全连接做成分解。不要因为书名叫深度学习就跳过它。

变长是请出全连接的硬理由。到站间隔一小时三班或一班,填充是假观测。入口对照必须同一长度定义,否则循环会靠填充不公平地赢。共享权重的代价是高峰低谷同一套变换,先用日历分开再怪共享。沿时间反传让同一套 W 的梯度在时间上累加,路径一长进入硬伤。把三种伪代码当接口差异,不当工程仓库。

问题:短窗口是否还值得上序列模型?

先看长度会不会变、顺序会不会被采样率挪动。两者都不变,12 点冷库窗口上 MLP 经常够。上 LSTM 若只降训练误差、测试不变,容量在背控制抖动。96 点日曲线位置一多,拍扁参数随 96 乘隐藏维涨,过拟合来得快,这时共享权重开始值回票价。打乱时间步再送进已训练 MLP,输出必变,因为它绑位置;卷积核仍可能扫到挪了位置的峰形。这就是偏置差别。入口选错的症状是“学不会形状”,特征没给的症状相同,要用纯序列对照加日历对照把两者分开,再决定换入口还是加通道。

用同一条 96 点负荷窗口把入口差异说成可检查的实验,而不是概念课。拍扁全连接吃向量,位置十七永远对应大约四小时前,夏令作息一挪,语义就偏。循环吃九十六步,训练要展开九十六层共享权重,墙钟差。因果卷积并行扫峰形,必须禁止右侧填充。注意力一步看全窗,九十六乘九十六还不贵,但位置编码要用距右端的相对距离。实验顺序是先拍扁打季节朴素,赢了则序列族必须拿出明显增益才留;输了先查日历和划分。变长到站序列不能拿来和定长负荷比入口,因为填充是假观测。共享权重强迫高峰低谷同一套变换,先让日历把两类时段分开,再抱怨共享不够。三种伪代码留在笔记里,换框架时用来检查顺序到底写进了坐标、状态、核,还是位置编码。

温故知新

  • MLP 把时间步绑在固定坐标上,长度变、采样率变都会失效
  • 序列模型的核心是时间步共享权重,不是层数更多
  • 三种记顺序:状态传递、核滑动、注意力加权
  • 短窗口加手搓特征时,MLP 是正当对照基线
  • 变长输入是请出全连接的硬理由
  • 沿时间反传让同一套 W 的梯度在时间上累加,路径一长就进入下节硬伤

下一节把四条硬伤摊开:梯度、并行、感受野、瓶颈,对应后文门控、TCN、Transformer 的上场理由。


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