VGG16学习

VGG16分为16层,我们主要讲前面的前几层(越详细越好吧,后面是一样的)

——首先教会大家一个看其他神经网络也是用的办法:官方数据表格:


看懂一些式子表达:

Conv3-512   →    第三层卷积后维度变成512;

Conv3_2 s=2     →     第三层卷积层里面的第二子层,滑动步长等于2(每次移动两个格子)

好了,我们有了以上的知识可以考试剖析VGG16卷积神经网络了


三、利用之前的基本概念来解释深层的VGG16卷及网络;

【1、从INPUT到Conv1:】


首先两个黄色的是卷积层,是VGG16网络结构十六层当中的第一层(Conv1_1)和第二层(Conv1_2),他们合称为Conv1。

我们主要讲述第一个,也就是第一层(Conv1_1),它怎么把一个300*300*3的矩阵变成一个300*300*64的矩阵?


我们假设蓝色框是一个RGB图像,橙色是一个3*3*3的卷积核,我们对一个三维的27个数求和,然后扫过去,按照第一部分算的得出来的是一维的298*298的矩阵(因为卷积核也是三维所以结果是一维);

然后回想一下什么是Padding、前面也讲过它的概念了;所以不了一圈的圆,回到了300*300*1;

然后,VGG16这一层安置有64个卷积核,那么,原来的300*300*1变成300*300*64

于是我们的到了想要的东西;最后的绿色框;

【1、从Conv1到Conv2之间的过度:】


这一步用的Pooling是:2*2*64 s=2;

也就是说,步长是二,滑动的矩阵本身没有重叠;刚好减半,第三维度64不变;

【3、顺利来到Conv2并且结构完全一样进入Conv3:】

我们知道原来INPUT是300*300*3过了第一层出来时150*150*64

那么第二层仍然有池化有128个卷积核,联想推理:

出来的应该是75*75*128;这一步没有问题,我们继续往下分析:

【4、进入Conv3的推演:】


可以知道第三层有256个卷积核,包含三层小的卷基层:

【5、从Conv3到Conv4之间的过度:】


池化没有问题,但是这里75不是一个偶数怎么弄,还记得我们第一部分前面的括号吗?

就是这样,我们在75这里相加了一个一,使之成为76,变成一个偶数,还有一种方法是通过步长的设置这里先不展开来讲了;

【6、后续的步骤】

  后面的方法很简单,根据我给的那个VGG16的表格查找每一层里面有什么卷积核?多少个?池化的大小?步长多少?是否需要Padding?解决这些问题,你的VGG16就已经完全可以从头到尾说清楚了!!!

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值