Task 06 卷积神经网络
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,然后得到影像辨识的结果。
我们刚才讲基于三个对影像处理的观察,所以设计了CNN这样的架构。
第一个观察是,要生成一个pattern,不要看整张的image,你只需要看image的一小部分。第二是,通用的pattern会出现在一张图片的不同的区域。第三个是,我们可以做subsampling
前面的两个property可以用convolution来处理掉,最后的property可以用Max Pooling这件事来处理。等一下我们要介绍每一个layer再做的事情,我们就先从convolution开始看起。
Convolution
Propetry1
Propetry2
convolution和fully connected之间的关系
convolution就是fully connected layer把一些weight拿掉了。经过convolution的output其实就是一个hidden layer的neural的output。如果把这两个link在一起的话,convolution就是fully connected拿掉一些weight的结果。
Max pooling
Flatten
CNN in Keras
CNN学到了什么?
分析全连接层
让图更像数字
Deep Dream
Deep style
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。
评论已关闭