AI 术语表 · 基础 · 计算机视觉
CNN
CNN(卷积神经网络)是一种人工神经网络,它在图像这类按网格排列的数据上,一点点移动小窗口(滤波器)来找出图案。它曾作为识别照片中物体的技术基础而被广泛使用。
通俗解释 这就像拿着放大镜一格一格地扫视一幅大画,标记出“这里有条线”“这里有个圆”。不过,真正的 CNN 要找什么并不是由人指定的,而是通过观察数据自己学会的。
工作原理
CNN 的核心是卷积层。小滤波器在图像上一格一格地滑动,为每个位置是否存在特定图案(横线、边角等)打分。接着,池化步骤会粗略地汇总这些结果、缩小尺寸,并帮助模型在物体位置稍有变化时仍能作出相似的识别。把这样的层叠加多次后,前面的层识别线条和边角,后面的层则识别眼睛、车轮等更复杂的形状。最后,分类层根据汇集的特征给出“猫”“汽车”之类的结果。
为什么重要
如果把图像的所有像素一次性全部连接起来,需要计算的参数会过多。CNN 在整幅图像上重复使用同一个滤波器,因此能用少得多的参数高效学习。得益于此,照片分类、人脸识别、医学影像判读、自动驾驶摄像头识别等领域取得了长足发展。深度学习为大众所知,很大程度上也源于 CNN 在图像识别上的成功。
注意事项
如今图像领域也大量使用基于 Transformer 的模型,但 CNN 因轻量、快速的优势,仍常用于智能手机等端侧 AI。混合两种方式的模型也很多。CNN 善于捕捉相邻像素之间的关系,而相距较远部分之间的关系,则需要叠加很多层才能把握。此外,对于与训练数据差异很大的图像,它可能作出离谱的反应。
示例
智能手机相册把照片自动分为“美食”“宠物”“风景”等类别,或相机应用寻找人脸并对焦的功能,通常都使用 CNN 系列模型。工厂拍摄产品照片来找出划痕的缺陷检测系统,也是典型的应用实例。