一句话定义:FID(Fréchet Inception Distance,弗雷歇初始距离)是评价图像生成模型最常用的指标之一,它衡量“生成图像的分布”与“真实图像的分布”差多远,数值越低,说明生成得越接近真实。
它是怎么算的
做法分三步。第一步,拿一个在 ImageNet 上预训练好的图像分类网络(Inception)当“特征提取器”,把真实图和生成图都送进去,取中间层输出——通常是一个上千维的向量,可以理解为这张图的“画像特征”。第二步,把两组特征向量各自看成一团点云,用高斯分布来概括:均值代表“平均长什么样”,协方差代表“多样性、风格差异有多大”。第三步,算这两个高斯分布之间的 Fréchet 距离(也叫 Wasserstein-2 距离),得到 FID。
所以 FID 同时装了两件事:生成图的中心偏了多少(有没有整体偏色、偏风格),以及生成图的多样性够不够。
打个比方
比较两个班的考试成绩。不是把两个班的学生一对一硬配着比分数,而是先看平均分差多少,再看分数分布的形状像不像——有人考高分有人考低分,这个分散程度也得对得上。只看平均分不够,只看形状也不够,两样都对得上,才能说两个班的结构一致。
和相邻概念的区别
| 指标 | 在比什么 | 方向 |
|---|---|---|
| IS(Inception Score) | 只看生成图:单张是否清晰、整体是否多样 | 越高越好 |
| FID | 生成图分布 vs 真实图分布 | 越低越好 |
| KID(Kernel Inception Distance) | 同样比分布,用核方法,小样本更稳 | 越低越好 |
| LPIPS | 两张具体图片之间的感知相似度 | 越低越像 |
关键差别在于:IS 不跟真实数据对比,只看生成图自己好不好;LPIPS 是“图和图”的对比,不涉及分布;FID 则是“一群图”和“另一群图”的对比,而且拿真实数据当参照。
对从业者的实际意义
调模型、调超参、对比两篇论文的方法时,FID 常被当成默认分数。但要记住它只在“同一套规矩”下可比:特征提取器、参考数据集、图像分辨率、样本量都要一致,换个提取网络或换一批参考图,数值就不能直接对比。样本太少时 FID 会失真,实践中通常要几万张量级。另外它假设特征近似服从高斯分布,面对医学影像、卡通插画这类离 ImageNet 较远的领域,参考价值会打折。
对普通人的意义
看到“FID 从某个数降到某个数”,可以理解成“模型的产出整体上更贴近真实数据了”。但分数低不等于每一张图都好看,更不能说明它没有偏见或没有复制训练集——还是要看具体样例。具体口径以论文或官方代码页面为准。
