99POS
全部 75 场景方案 7 方案白皮书 3 防损 1 计价实践 1 品类方案 1 品牌与机型 3 收银选型 16 收银指南 3 算力平台 20 外设与扫码 2 运维与验收 18
首页/ 运维与验收/ 十家店十个样,模型要不要每家店都训一遍

十家店十个样,模型要不要每家店都训一遍

2026-10-26 运维与验收 约 823 字

新店开业前那一周

连锁开到第十家店的时候,问题开始重复出现。

老店的模型在新店掉点。工程过去看:层高矮三十公分,摄像头装得低,俯角变了;灯光从暖白换成正白,生鲜区还加了射灯;货架间距窄,商品在画面里挤着。

模型没见过这种画面。它没坏,只是被放到了一个和训练数据不一样的场景里。

有两条常规解法。一条是把新店的图收回总部,和老数据一起重训——但摄像头拍到的是顾客,集中图像要过合规。另一条是让新店自己标几百张图微调——新店刚开,店长忙着盘点招人,没有手做这件事。

域适应讲的是这件事

学术上把这类问题叫域适应:源域(已有的门店)有标注数据,目标域(新店)有数据但没有标签,要把在源域训好的模型调到目标域上可用。

常规做法是把目标域数据搬到源域一起训。零售场景里这一搬,就搬出上面那两个麻烦。

联邦的思路改一下:数据留在店里,只把模型和模型的输出传出去。各门店各自在自己的数据上算,总部只收参数或者预测结果。原始画面不出门。

为什么以前不好用

常规的联邦域适应有个工程问题:它要多轮通信。

一轮的流程是:各站点用本地数据训一会儿,上传参数,服务器聚合,再下发。精度是这么一点点磨出来的。但门店的网络不是机房网络,白天收银占着带宽,只有夜里几小时窗口,几十轮通信排不进开业前那一周。

arXiv 上 2026 年 10 月的一篇工作(编号 2610.30646,方法名 SKD-ETR)把轮数压到了一次,思路值得说清楚,因为它对应的正是"开业前跑一次"这种现实约束。

第一步,源模型集成给答案,但答案要软化。 老店训出来的几个模型分别在新店数据上预测,合起来当监督信号。关键是用概率分布而不是硬标签,并做平滑。源模型在新场景上错得很自信——暖光下训出来的模型,看冷白光下的苹果,可能以 0.95 的置信度指向梨。硬标签把这个错误当真理教给学生;软化的分布至少保留了"不确定"。

第二步,一次蒸馏就结束。 学生模型随机初始化,在目标域数据上跟着上面那批软标签训一遍。不做多轮聚合,也不需要服务器端设计复杂的加权规则。

第三步,教师反过来学学生。 学生训完之后,把每个源模型的参数朝学生做指数滑动平均插值,让教师也吸收一点新场景的知识,下一批数据来的时候起点更好。这一步不产生额外通信。

论文在 OfficeHome、Office-Caltech、DomainNet 三个公开数据集上验证,精度有竞争力,通信和计算开销更低,标签有噪声时更稳。

对一家连锁来说,这意味着什么

开业前的夜里能跑完。 单轮通信,一个夜间窗口够用。

产出的是每家店一个模型副本。 适配完之后,门店跑的不再是同一个模型,而是一族。哪家店跑哪个版本、什么时候更新的,版本管理要跟上,否则半年后没人说得清差异。

"数据不出店"是个起点,不是结论。 交换的是参数和软标签,不是原始图像,风险小很多,但不等于零——参数和分布也可能泄露信息,要看有没有裁剪或加噪。合规判断按实际交换的东西定。

什么时候不值得这么做

店太少。 三五家店,本地标两百张图微调,一周能搞定。这套方法的收益随站点数量增加才显现。

漂移是一次性的。 换灯管、调摄像头角度,这类变化改硬件和曝光参数比训模型快,也不引入版本管理成本。

源模型在新场景下已经错得离谱。 教师集成不对,蒸馏只会把错误放大固化。该做的是补数据重训,不是适配。

新店卖的品类结构不一样。 这是长尾覆盖问题:新店有一批老店没有的 SKU,不是"同一个东西拍得不一样",是模型压根没见过。域适应解决不了没见过的。

验收怎么做

适配完不等于能上线,做三件事:

  • 用本地图片测,不看整体看品类。 新店取 200 到 500 张,覆盖生鲜、散装、反光包装、叠放。看的是每类的准确率,不是那个总数。
  • 设对照组。 同一批图,适配前后各跑一遍。没有对照组的提升没有意义。
  • 挑最难的那个时段测。 生鲜区下午阳光斜射,反光最严重,上午的数字好看不代表下午能用。

适配后最差的那一类还是不行,说明缺的是样本,不是适配。