6 Task06开始啦!
Task06:参照开源文档,观看视频 P21:卷积神经网络(3天);开源文档:https://datawhalechina.github.io/leeml-notes ;视频地址:https://www.bilibili.com/video/BV1Ht411g7Ef

Task 06 卷积神经网络

为什么用CNN

  • Small region
  • Same Patterns
  • Subsampling

CNN架构

整个CNN的架构是这样的,首先input一张image以后,这张image会通过convolution layer,接下里做max pooling这件事,然后在做convolution,再做max pooling这件事。这个process可以反复无数次,反复的次数你觉得够多之后,(但是反复多少次你是要事先决定的,它就是network的架构(就像你的neural有几层一样),你要做几层的convolution,做几层的Max Pooling,你再定neural架构的时候,你要事先决定好)。你做完决定要做的convolution和Max Pooling以后,你要做另外一件事,这件事情叫做flatten,再把flatten的output丢到一般fully connected feedforward network,然后得到影像辨识的结果。

chapter21-8.png

我们刚才讲基于三个对影像处理的观察,所以设计了CNN这样的架构。

第一个观察是,要生成一个pattern,不要看整张的image,你只需要看image的一小部分。第二是,通用的pattern会出现在一张图片的不同的区域。第三个是,我们可以做subsampling

前面的两个property可以用convolution来处理掉,最后的property可以用Max Pooling这件事来处理。等一下我们要介绍每一个layer再做的事情,我们就先从convolution开始看起。

Convolution

Propetry1

chapter21-9.png

Propetry2

chapter21-10.png
chapter21-11.png
chapter21-12.png
chapter21-13.png

convolution和fully connected之间的关系

chapter21-14.png

convolution就是fully connected layer把一些weight拿掉了。经过convolution的output其实就是一个hidden layer的neural的output。如果把这两个link在一起的话,convolution就是fully connected拿掉一些weight的结果。

Max pooling

Flatten

CNN in Keras

CNN学到了什么?

分析全连接层

chapter21-29.png

让图更像数字

chapter21-30.png

Deep Dream

Deep style