VGG16系列III: 网络模型结构

本文详细介绍了VGG16网络模型,包括CNN基础构件如卷积、Padding、池化、Flatten、全连接层、Dropout和激活函数。VGG16由13个卷积层和3个全连接层组成,采用ReLU激活函数。讨论了VGG的网络架构,并提及训练过程中的前馈、后馈和训练技巧。
摘要由CSDN通过智能技术生成

目录

Part I: CNN的基础构件

一张图片如何作为输入?

什么是卷积

什么是Padding

什么是池化(pooling)

什么是Flatten

什么是全连接层

什么是Dropout

什么是激活函数

VGG16的整体架构图

Part II: VGG 网络架构

典型VGG网络结构

VGG 网络参数数量计算:

Part III: 如何训练VGG

前馈

后馈

训练技巧


VGG 基于Tensorflow版本代码可参考前两篇博客:

1. VGG16系列I: 基于Tensorflow代码

2. VGG16系列II: 代码解析

神经网络各层次的特征提取与传播类似于下图

Part I: CNN的基础构件

一张图片如何作为输入?

如下图,彩色图像有RGB三个色值通道,分别表示红、绿、蓝,每个通道内的像素可以用一个像下图右边的二维数组表示,数值代表0-255之间的像素值。假设一张900*600的彩色的图片,计算机里面可以用 (900*600*3)的数组表示。

对于其中一个色值通道的数据输入, 如下图

什么是卷积

卷积过程是基于一个小矩阵,也就是卷积核,在上面所说的每层像素矩阵上不断按步长扫过去的,扫到数与卷积核对应位置的数相乘,然后求总和,每扫一次,得到一个值,全部扫完则生成一个新的矩阵。如下图

卷积核如何设置可以参考卷积神经网络的卷积核大小、个数,卷积层数如何确定呢?一般取(3,3)的小矩阵,卷积核里面每个值就是我们需要寻找(训练)的神经元参数(权重),开始会随机有个初始值,当训练网络时,网络会通过后向传播不断更新这些参数值,直到寻找到最佳的参数值。如何知道是“最佳”?是通过损失函数去评估。

卷积核的步长是指卷积核每次移动几个格子,有横行和纵向两个方向。

卷积操作相当于特征提取,卷积核相当于一个过滤器,提取我们需要的特征。

如下图,左边小红色框是卷积核,从左上角扫到右下角,最终得到右边的特征图谱。

卷积:如何成为一个很厉害的神经网络

 

什么是Padding

卷积操作之后维度变少,得到的矩阵比原来矩阵小,这样不好计算,而我们只是希望作卷积,所以我们需要Padding,在每次卷积操作之前,在原矩阵外边补包一层0,可以只在横向补,或只在纵向补,或者四周都补0,从而使得卷积后输出的图像跟输入图像在尺寸上一致。

比如:我们需要做一个300*300的原始矩阵的卷积,用一个3*3卷积核来扫,扫出来结果的矩阵应该是:298*298的矩阵,变小了。

卷积前加 Padding 操作补一圈0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值