1. 卷积神经网络基础:从边缘检测到特征提取
第一次接触卷积神经网络(CNN)时,我被它的工作原理深深吸引。想象一下,当你看到一张猫的图片时,最先注意到的是什么?可能是尖尖的耳朵轮廓、胡须的线条或是毛发的纹理。CNN的工作方式与人类视觉系统惊人地相似——它也是从最基础的边缘特征开始识别的。
在吴恩达教授的课程中,边缘检测被作为CNN的起点进行讲解。这里有个非常直观的例子:用简单的3x3滤波器(比如Sobel算子)对图像进行卷积操作时,实际上是在检测垂直或水平的边缘。我在第一次实现这个效果时,用Python写了不到10行代码:
python复制import cv2
import numpy as np
img = cv2.imread('cat.jpg', 0) # 读取灰度图像
sobel_x = np.array([[-1,0,1], [-2,0,2], [-1,0,1]]) # 水平边缘检测
edges = cv2.filter2D(img, -1, sobel_x)
运行后能看到,原来模糊的猫耳朵轮廓突然变得清晰可见。这就是CNN最底层卷积核的神奇之处——通过简单的数学运算提取图像的基础特征。
但CNN的强大之处不止于此。随着网络层数的加深,它会组合这些基础边缘,形成更高级的特征。比如:
- 第一层可能识别边缘和色块
- 第二层组合出纹理和简单形状
- 更深层的网络则能识别出耳朵、眼睛等器官部件
- 最终层可以识别完整的物体
这种层次化的特征提取方式,使得CNN在图像识别任务中表现出色。我在一个花卉分类项目中实测发现,仅用3层卷积网络就能达到85%的准确率,而传统方法需要复杂的特征工程才能达到70%。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 经典CNN架构解析:从LeNet到ResNet
当掌握了CNN的基础原理后,研究经典网络架构是提升理解的关键一步。吴恩达课程中重点分析的几个网络,每个都代表着CNN发展史上的里程碑。
LeNet-5 作为CNN的"开山鼻祖",虽然只有7层,但已经包含了现代CNN的核心要素。我复现这个网络时发现,即使放在今天,它对MNIST手写数字的识别准确率仍能达到98%以上。它的成功证明了局部连接和权值共享的有效性。
而AlexNet的出现则带来了三大创新:
- 使用ReLU激活函数解决梯度消失问题
2
