预告:
>> 1.机器视觉的研究对象
>> 2.卷积操作和边界检测
>> 3.padding ,stride
>> 4.三维卷积操作 和一个卷积层
>> 5. pooling 层
>> 6.一个卷积神经网络的实例
1.Computer vision机器视觉的研究对象
computer vision的相关问题主要有image classification, object detection,style transfer.
Screen Shot 2017-11-28 at 7.46.08 AM.png
卷积操作实际上是对普通神经网络无法一次将图片所有像素作为feature的一种改进。普通神经网络也是对所有feature进行不断加权,(w1x1 + w2x2 ....+b.)
而图片由于像素数量过多,所以分批次加权(扫过的一个窗口,视为一个批次)。其实内在的本质是一样的。
Screen Shot 2017-11-28 at 7.48.50 AM.png
2.卷积操作和 Edge detection 边界检测
卷积操作:
Screen Shot 2017-11-28 at 8.04.12 AM.png
特定的kernel,这里叫filter能检测特定的图案,比如边界:
Screen Shot 2017-11-28 at 8.07.50 AM.png
用不同的filter可以检测各种不同的图案(45度edge,等等),甚至这些filter有自己的名字(现在更能理解为什么叫filter更准确):
Screen Shot 2017-11-28 at 8.12.52 AM.png
在CNN的较浅层,一个filter一次扫过的原图的像素数量占整张图的比例小,所以只能检测到比较微观的特定图案,越到深层,越能检测到宏观图案,像下图这样:
Screen Shot 2017-11-28 at 8.03.22 AM.png
3.padding, stride
valid是没有padding的卷积,same是卷积后的所得不改变高宽
Screen Shot 2017-11-28 at 8.16.17 AM.png
Screen Shot 2017-11-28 at 8.17.09 AM.png
4.三维的卷积操作 & 一个卷积layer:
channel数必须一致
Screen Shot 2017-11-28 at 8.18.49 AM.png
Screen Shot 2017-11-28 at 8.20.25 AM.png
多个filter时
Screen Shot 2017-11-28 at 8.22.12 AM.png
卷积神经网络的一个卷积层:
Screen Shot 2017-11-28 at 8.32.10 AM.png
从a[0]到a[1]的过程。注意一个filter有一个b:
一个filter对应一个激活,相当于普通神经网络中的一个节点,只是所得的激活点不再是并列,而是在depth维度上叠成了一个立方体
Screen Shot 2017-11-28 at 8.32.55 AM.png
Screen Shot 2017-11-28 at 8.33.26 AM.png
该层的filter的chanel数与上一层激活输出的chanel必须一致。这一层的filter数,决定这一层的激活的channel数。A[l]是一个四维tensor(张量)。
Screen Shot 2017-11-28 at 8.34.51 AM.png
激活以后的一切,都属于下一layer: padding[l],f[l]
一个实例:
Screen Shot 2017-11-28 at 8.52.53 AM.png
5.pooling层长什么样:
Screen Shot 2017-11-28 at 8.55.07 AM.png
没有padding,没有需要学习的parameters,只是挑选代表像素,起到压缩数据的作用
Screen Shot 2017-11-28 at 8.56.38 AM.png
6.最后一个完整的卷积神经网络的例子
Screen Shot 2017-11-28 at 9.01.17 AM.png
大量的参数出现在FC层,激活size应该逐步减小
Screen Shot 2017-11-28 at 9.02.32 AM.png