莫烦python|Tensorflow笔记--CNN卷积神经网络

卷积神经网络是计算机视觉的一个飞跃的提升。

莫烦python|Tensorflow笔记--CNN卷积神经网络_第1张图片

第一个是图片,如果是彩色的话,它会分RGB三种显示的颜色叫做红色绿色蓝色,用这种三原色就可以产生各种各样的颜色。所以RGB就是高度,所以每一个像素点都有RGB的参数,相当于像素点的厚度,它要做的事情就是把长和宽还有RGB的宽度压缩。具体怎么压缩呢,就是我把我的长和宽压小一点,把厚度增高一点,到最后就变成了classifier。CNN具体来说就是不断压缩长和宽,增高厚度,到最后就变成了一个厚度很厚的,利用这个厚度里的信息去把它变成一个分类器。如果想要分成十类的话,那么就会有0到9这十个位置,这个数据属于哪一类就在哪个位置上是1,而在其它位置上为零。

莫烦python|Tensorflow笔记--CNN卷积神经网络_第2张图片

我们从图中可以看到有红绿蓝三元素的厚度,然后图中还有一个patch,也就是从图片当中抽离的小部分,叫patch或者kernel,它有它自己小部分的长和宽。我们会把它抽离出来进行分析。它每一部分都会变成一个长度和一个宽度还有一个厚度的数列。

它抽离的时候有一个参数stride,也就是每次跨多少步去抽离这样的一部分图像中的像素点。如果stride是1的话,也就是每跨一步去抽离像素点,再跨一个像素点再抽离一次。如果stride是2,那每一次的跨步就是两个单位的像素点,第一次在边上取个像素点进行分析,第二次跨两个像素点再进行分析,这就是stride的意思。

padding,抽取的方式有两种,一种是抽取后的长和宽缩减,另一种是抽取后的长和宽和原来的一样。

pooling,就是当跨步比较大的时候,它会漏掉一些重要的信息,为了解决这样的问题,就加上一层叫pooling,事先把这些必要的信息存储起来,然后再变成压缩后的层:

莫烦python|Tensorflow笔记--CNN卷积神经网络_第3张图片

莫烦python|Tensorflow笔记--CNN卷积神经网络_第4张图片

CNN的结构,分析一张图片时,先放一个CNN的图层,再把这个图层进行一个pooling。这样可以比较好的保持信息,之后再加第二层的CNN和pooling。

导入一个图片之后,先是有它的RGB三个图层,然后把像素块缩小变厚。本来有三个厚度,然后把它变成八个厚度,它的长宽在不断的减小,最后把它们连接在一起:

你可能感兴趣的:(TensorFlow)