浏览器本地计算
UNDERSTAND THE INTELLIGENCE
看见计算,理解智能。
跟随数据的旅程,把抽象的神经网络变成看得见的每一步。
卷积神经网络Convolutional Neural Network
一张图像,如何一步步变成有用的特征?
数据的旅程
前向传播点击节点查看步骤 · 点击特征图移动卷积核
5 × 5
3 × 3 卷积核
3 × 3
负数归零
300300300
3 × 3
2 × 2 取最大
2 × 2
正值负值数字是实际结果;色深表示绝对值大小
02 / 15
动手改一改
改变参数,结果即刻更新也可以点击输入图像中的格子,绘制自己的图案。
-101-101-101
共享权重 · 步幅 1 · 无填充
−30+3
给每个卷积结果加上同一个数。
OPEN THE BLACK BOX
逐步讲解这个 3,究竟怎么算出来?
先看一个数的来历,再理解整层的变化。
① 选中图像区域 5 × 5
0010000100001000010000100
橙框里的 3 × 3 区域参与本次计算。
② 对应的权重 3 × 3
这里是逐项相乘,不是矩阵乘法。
③ 九个乘积 点击可追踪
同样的位置,用同样的边框标出来。
④ 填入输出 3 × 3
这里显示完整结果,选中格是本次要解释的数。
准备:框出输入区域
准备计算
先取出橙框里的九个像素,然后从左到右、从上到下逐项相乘。
已计算乘积的累计和00 / 9 项已计入
+ b (0)= 3
为什么结果会是 3?
Σ 表示“把这些项相加”。X 是输入,K 是权重,u、v 从 0 到 2 遍历九个位置;b 最后只加一次。界面行列从 1 开始标记。
(0) + (0) + (1) + (0) + (0) + (1) + (0) + (0) + (1) + (0) = 3。偏置是 0,所以这里就是九个乘积相加。
为什么输出尺寸也是 3?
这是另一个问题:5 格的输入,用 3 格宽的核,每次移动 1 格,可从第 1、2、3 列开始。
N = 输入边长,P = 填充,K = 核大小,S = 步幅。这里无填充。负响应也可能表示方向相反的边缘;权重是手动设置的教学值,真实 CNN 通常通过训练学习权重。
小小的卷积核,为什么能发现边缘?
当左右两侧的像素差异很大,垂直边缘卷积核就会产生较大的响应。换一个图案或卷积核,看看哪里最“亮”。
ABOUT THIS EXPERIMENT
简化计算,不简化理解。
本实验展示单通道 CNN 的特征提取,采用固定卷积核;没有训练、分类器或识别准确率。 页面内所有运算均在本地完成。
想一想 · 检查理解