卷积神经网络可视化讲解
CNN Explainer · IEEE VAST 2020
在浏览器里真实运行一个小型卷积网络,点开任意一层就能看到卷积核怎么扫过图像。
交互实验(可直接投屏)
原作是一个完整的网页应用,下面直接嵌入;屏幕小或要投影时,点「全屏打开实验」更清楚。
动手三步
- 点上方 10 张示例图中的一张;想用自己的照片,点最右边的「+」再选「上传」(照片只在本机浏览器里算,不会传出去;不要用「粘贴图片网址」,那要连外网)
- 点 conv_1_1 这一列里任意一张小图,展开后再点左边「中间结果」里的一张图,才会弹出「卷积」窗口,看 3×3 卷积核在输入上逐格计算(页面里把特征图叫「激活图」)
- 点 relu 开头那列的小图看 ReLU;点 max_pool 开头那列里颜色深的小图看最大池化;点最右侧一个类别名,再点中间的「softmax」方框,看概率是怎么算出来的
- 向下阅读图文讲解,重点读「卷积层」「理解超参数」「池化层」三节
课堂怎么用
- 全屏投影,老师点一个卷积单元讲一个,学生立刻看懂「特征图」是什么
- 每组上传两张照片:一张属于这 10 类,一张完全不属于,对比结果,讨论「只认识 10 类」的分类器会怎样犯错
- 对比 conv_1_1(62×62,还看得出原物)和 max_pool_2(13×13,看不出物体),说明深层记录的是「有没有某种组合特征」,不是图像本身
思考题
- conv_1_1 和 max_pool_2 的激活图,哪个更像原图?为什么?
- Softmax 输出的概率加起来是多少?上传一张和这 10 类都无关的照片,最高的那个概率可能还不低,这说明了什么?
已知限制
- 讲解视频已隐藏
- 正文插图(动图)里的英文标注无法翻译;交互界面与正文已是中文
- 模型只认识 10 类物体(救生艇、瓢虫、披萨、甜椒、校车、考拉、意式浓缩咖啡、小熊猫、橙子、跑车),上传别的东西也一定会被分进这 10 类之一
- 「看卷积逐格计算」要点两次(先点 conv 列的小图,再点「中间结果」里的图),而 relu、max_pool 列点一次就弹窗,规则不统一
- 「+」里的「粘贴图片网址」要从外部网站取图,国内课堂多半不可用;「上传」全程在本机完成,不会外发照片
- 手机上网络图会重叠,请用电脑;1024×768 投影时顶部层名会挤在一起,讲弹窗里的数字建议放大到 150% 或用「全屏打开实验」
原作 CNN Explainer(Zijie J. Wang, Robert Turko, Omar Shaikh 等(佐治亚理工 Polo Club),IEEE VAST 2020),MIT 许可(原文),界面已中文化。