03--002卷积层详解&003卷积计算流程

神经网络过程:

Loop:

1.Sample a batch of data.

2.Forward prop it through the graph,get loss.

3.Backprop to calculate the gradients.

4.Update the parameters using the gradient.

卷积神经网络都能干些什么事呢?

1.Classification图像分类任务

2.Retrieval 推荐任务

3.Detection 目标检测任务

4.Segmentation 图像分割任务

卷积神经网络可以进行特征提取操作。

卷积神经网络具体项目有哪些?

1.姿态识别

2.车牌识别

3.手写字体识别

4.异常细胞检测

5.Image

Captioning 

左边是经典的神经网络结构

右边是卷积神经网络。

卷积神经网络中有一个深度的概念。

卷积神经网络组成:

。输入层

。卷积层

。激活函数

。池化层

。全连接层

假设输入图像为32*32*3的图像,我们把图像分成一个小块一个小块的,有一个助手filter,帮助我们进行特征提取,比如说用3来代表这样的一个区域的特征。

对图像的所有区域都进行特征提取。

最终我们得到了一副特征图。特征图都是原始图像的一个概括性的代表。

示例如下:

上图我们指定了六个filter,所以我们得到了六幅特征图,

卷积操作不只可以在输入图像上进行操作,还可以在特征图上继续进行卷积操作

对于输入的图像,可以进行特征提取,提取出来的是低级特征,对于提取出来的低级特征,可以继续进行特征提取,提取出来中级特征,对于提取出来的中级特征可以继续进行提取,提取出高级特征

以上的过程就相当于把原始的过程进行一步又一步的浓缩,之后得到的特征是更准确的,之后我们用最后提取出来的特征,进行做我们想要做的任务。

Filter W0和Filter W1是两个“助手” ,我们先从W0进行举例说明。

W0的三个深度分别与图像对应位置的三个深度进行内积,内积完了之后进行相加,wx+b,就得到了特征图像。

我们刚刚往右跳了两格,那么跳几格是谁指定的呢?

我们把滑动的步长叫做一个stride,

stride的选择对我们最终得到的结果有什么影响呢?

stride选的越大,最后得到的特征图越小,效率就越高。

stride选的越小,最后得到的特征图越大,效率就越低。

从上图可以看出,有些像素点被利用了多次,有些像素点只被利用了一次。比如说2号像素点就比1号像素点多贡献了一次。

那么我们可不可以想办法让1号像素点也贡献多一点呢?

我们观察可以得出,四周的像素点,利用的就少一些,

pad项就是为了解决这个问题的。

+pad  1 就代表周围一圈多加一圈0.

+pad  2 就代表周围两圈多加两圈0.

加了pad项,可以让我们更加充分的利用边缘信息。

思考:

假设有这么一种情况,

输入=7*7

Filter = 3*3

Pad = 1

strid = 1

Output = ?

答:

h0 = hi-Filter+2p/s+1。

wo = wi-Filter+2p/s +1。

h0 = w0 = 7。

这样通过参数,我们就可以得到特征图像的大小。

猜你喜欢

转载自blog.csdn.net/qq_41858768/article/details/81135266