我把 Bad Apple 压缩进了一个 3MB 的神经网络 [P]
摘要
作者将 Bad Apple 动画压缩进了一个使用正弦激活(SIREN)的小型 MLP,仅用 79 万参数(约 3MB)表示 27 亿像素,并通过时间拉伸和运动聚焦采样等改进,使验证 MSE 降低了约 9 倍。
我训练了一个小型 MLP 来记住经典的 Bad Apple 动画:约 27 亿像素的视频被压缩进 79 万参数(3.2MB float32,1.6MB float16)中。网络接收一个三维坐标 (t, y, x)——帧索引和像素位置——并输出 0 到 1 之间的灰度值。要“播放”视频,你可以对该函数在整个网格上进行求值。“视频”隐式存储在 5 层正弦激活线性层(Sitzmann 等人的 SIREN)中,隐藏单元数为 512,ω₀ = 30,输出层为 sigmoid。源文件 bad_apple.mp4 有 6524 帧,分辨率 854×480;我将其降采样为 1620 帧 × 384×384,约为原始像素的 1/10(空间 2.8 倍 + 时间 4 倍的缩减)。起初,我使用带低频傅里叶特征的 ReLU MLP,它在 MSE 0.12 附近达到平台期。SIREN 的正弦激活无需额外成本就能引入更高频率,因此网络能够输出精细细节。不幸的是,这个模型有一个问题:它只能缓慢地移动信息,所以快速运动看起来模糊。为了解决这个问题,我做了两处修改:时间拉伸:在第一层之前,我将时间坐标相对于空间坐标放大了 4 倍,从而赋予其 4 倍的时间容量。运动聚焦采样:Bad Apple 约 90% 是静态黑色,因此均匀像素采样导致运动边缘缺乏梯度。现在每个训练批次的一半来自相邻帧之间发生变化的像素。对于训练流程,我在整个数据体上使用单个共享网络(没有逐帧潜变量;最初我使用逐帧微调,但那会导致灾难性遗忘),配合余弦调度的 Adam + 权重 EMA,然后对整个视频做一遍低学习率的“精修”训练。新模型有以下改进:验证 MSE 从 0.0795 下降到 0.0090(约 9 倍提升)。与旧模型相比,高运动帧与 ground truth 的接近程度提高了 3.6 倍,静态帧则提高了近 15 倍。400 个采样帧中有 398 个得到改进。备注:384×384 是正方形(原始是 16:9,所以播放时会垂直拉伸。以 8fps 播放时,1620 帧接近原视频的 3:37 时长;以 12fps 播放时约为 1.6 倍快进。12.6MB 的 checkpoint 包含权重、Adam 动量和 EMA 副本;网络本身为 3.2MB。)完整分辨率视频、checkpoint 和代码可在此 Github 链接中找到。
相似文章
将900KB Transformer过拟合,把100MB CSV压缩到7MB
一位开发者使用一个小型900KB的Transformer模型进行过拟合,将100MB的CSV文件压缩到7MB,展示了一种使用过拟合神经网络进行数据压缩的新颖方法。
通过激活聚合的提示压缩
本文提出通过中间层激活的学习加权和将指令提示压缩为单个激活向量,准确率下降低于2%,并揭示了对LLM激活空间结构的洞察。
压缩重要部分:神经元重要性与数据感知低秩逼近相结合的语言模型压缩
本文提出了一种通过结合神经元重要性和数据感知低秩逼近来压缩大型语言模型的方法,同时采用高效的动态压缩率分配算法,性能与之前的最先进水平相当或更优。
我的玩具脉冲网络在NARMA-10测试中完全失败,但一个简单的神经科学技巧带来了15倍的计算性价比。 [D]
作者描述了一个自建的脉冲神经网络引擎,最初未能通过NARMA-10基准测试,但通过应用神经科学中的异构导线延迟,它获得了可用的记忆深度,并在一个识别任务上相比连续网络实现了15倍的计算效率优势。
@xenovacom: Bonsai 27B 彻底改变了本地 LLM 的游戏规则。1位量化将其从 54GB 缩小到仅 3.8GB(减少 93%),同时……
Bonsai 27B 通过 1 位量化实现了 93% 的体积缩减,同时保留了 90% 的智能,借助自定义 WebGPU 内核实现本地浏览器推理。