多角度理解CNN

时间:2022-07-23
本文章向大家介绍多角度理解CNN,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

本文主题

图像

Filter

Filter 作用图像后结果

如何得到?

等式角度

神经网络角度

矩阵乘法角度

上图的矩阵可以看成是传统神经网络中的权重矩阵,但是有两点不同:

  • 灰色显示的0是不可训练的,这意味着它们在整个优化过程中保持为零;
  • 有些权重是相等的,虽然它们是可训练的(即可改变的),但它们必须保持相等。这些被称为“共享权重”。

Dense 神经网络角度

这一角度可以更好理解传统神经网络和 CNN 之间的联系,其中左图是传统神经网络,右图是 Dense 神经网络视角下的 CNN。灰色连接对应于不可训练的 0。

通过 zero-padding 保持原尺寸

注意到我们以上是从 3x3 矩阵变成了 2x2,

但是通过 zero-padding 我们可以得到 3x3 结果,

具体实现为,

Reference

  1. Fast.ai 课程[1],特别是其中的conv-example[2]以及对应的视频(0:00-14:00)[3]
  2. Michael Nielsen 的神经网络与深度学习[4]书
  3. Realistic views[5]
  4. Visualizing what ConvNets learn[6]

本文参考资料

[1]

Fast.ai 课程: https://course.fast.ai/

[2]

conv-example: https://github.com/fastai/courses/blob/master/deeplearning1/excel/conv-example.xlsx

[3]

对应的视频(0:00-14:00): https://www.youtube.com/watch?v=V2h3IOBDvrA

[4]

Michael Nielsen 的神经网络与深度学习: http://neuralnetworksanddeeplearning.com/

[5]

Realistic views: http://setosa.io/ev/image-kernels/

[6]

Visualizing what ConvNets learn: http://cs231n.github.io/understanding-cnn/

- END -