图像分类基础:从定义到ViT,面试官到底想考你什么?
图像分类,说白了就是让计算机看懂图片里是什么东西。你给它一张猫的照片,它得输出「猫」这个标签。听起来简单,但这里面的门道,面试官能问出花来。
我面过不少候选人,上来就背ResNet结构,但一问「为什么图像分类要用交叉熵损失?」就卡住了。嗯,咱们今天就把这块地基打牢。
图像分类任务定义
图像分类的核心是:给定一张输入图像,模型输出一个类别标签。数学上,它学习一个映射函数 f: X → Y,其中 X 是图像空间,Y 是类别集合。
面试高频考点:图像分类与图像识别、目标检测的区别。分类只回答「是什么」,检测还要回答「在哪里」。
我在项目中遇到过最坑的事:把分类任务当检测做,白白浪费了三个月标注数据。后来才明白,业务需求是「判断图片里有没有缺陷」,这其实是二分类,不是检测。
发展历程:AlexNet到ViT
这个发展史,面试官特别喜欢让你「画时间线」。我建议你记住几个关键节点,每个节点说清楚「解决了什么问题」和「带来了什么新问题」。
| 模型 | 年份 | 核心贡献 | 我的个人体会 |
|---|---|---|---|
| AlexNet | 2012 | ReLU激活、Dropout、GPU并行 | 第一次让深度学习在ImageNet上碾压传统方法 |
| VGG | 2014 | 小卷积核堆叠、网络加深 | 结构简单但参数量爆炸,我当年跑VGG-16显存直接爆了 |
| GoogLeNet | 2014 | Inception模块、1×1卷积降维 | 用更少的参数达到更好的效果,思路很巧妙 |
| ResNet | 2015 | 残差连接、Batch Normalization | 解决了梯度消失,152层不再是梦 |
| EfficientNet | 2019 | 复合缩放(深度、宽度、分辨率) | 自动化调参的典范,小模型也能打 |
| ViT | 2020 | Transformer直接应用于图像块 | 彻底抛弃CNN,用注意力机制看全局 |
面试技巧:当被问到「为什么ViT能成功?」时,别只说「因为Transformer强」。要提到:大规模预训练(JFT-300M)、图像块化(Patch Embedding)、位置编码的设计。我面试时听到这种回答,基本会给高分。
为什么会从CNN转向Transformer?我个人理解是:CNN的局部感受野限制了它看全局的能力。你想想看,一张图里猫的耳朵和尾巴可能离得很远,CNN需要堆很多层才能关联起来,而ViT一开始就把整张图切成块,用自注意力一步到位。
评价指标:面试官最爱的「灵魂拷问」
评价指标这块,面试官不会只让你背公式。他更想知道:你什么时候用哪个指标?为什么?
Top-1 / Top-5 准确率
这两个指标在ImageNet时代被广泛使用。Top-1就是模型预测概率最高的那个类别是否正确。Top-5是模型预测的前5个类别中是否包含正确类别。
关键区别:Top-1更严格,Top-5更宽容。在类别数很多(比如1000类)且类别间相似度高时,Top-5更有意义。
我曾经在一个细粒度分类项目里,类别是100种鸟。Top-1只有72%,但Top-5到了94%。客户一开始只看Top-1,觉得模型太差。我给他解释了「相似物种混淆」的概念,他才接受。嗯,这里要注意:业务场景决定指标选择。
混淆矩阵
混淆矩阵是分类问题的「照妖镜」。它不只告诉你对错,还告诉你错在哪里。
| 预测为正 | 预测为负 | |
|---|---|---|
| 实际为正 | TP(真正例) | FN(假负例) |
| 实际为负 | FP(假正例) | TN(真负例) |
从混淆矩阵可以衍生出:
- 准确率 = (TP + TN) / (TP + TN + FP + FN)
- 精确率 = TP / (TP + FP) —— 查准率,关注「预测为正的里面有多少是对的」
- 召回率 = TP / (TP + FN) —— 查全率,关注「实际为正的里面找回了多少」
- F1分数 = 2 × (精确率 × 召回率) / (精确率 + 召回率)
避坑指南:我曾经在一个医疗影像项目里,正样本只占1%。模型全部预测为负,准确率高达99%,但召回率是0%。如果只看准确率,你会觉得模型完美——实际上它什么都没学到。所以,类别不平衡时,别只看准确率。
知识体系总览
下面这张图,是我自己整理图像分类知识体系时画的。面试前看一眼,能帮你快速建立全局观。
面试实战:一个经典问题
我经常在面试里问这个问题:「给你一个100类的图像分类任务,数据严重不平衡,你会怎么评估模型?」
好的回答应该是:
- 先看混淆矩阵,找出哪些类容易混淆
- 计算每个类别的召回率和精确率,而不是只看整体准确率
- 用加权F1或宏平均F1作为主要指标
- 如果业务对某些类特别关注,可以单独看这些类的指标
加分项:提到「我会画每个类别的ROC曲线和AUC值,这样能更全面地评估模型在不同阈值下的表现」。面试官听到这个,会觉得你有实战经验。
好了,图像分类的基础就聊到这儿。记住:面试官要的不是你背得多,而是你理解得深。下次面试前,把这张知识体系图在脑子里过一遍,你就能从容应对了。