keras padding_从零开始搭建VGG网络来学习Keras

12d86567f9feebbed39efdcbea01c1b7.png

Keras使得创建深度学习模型变得快速而简单,虽然如此很多时候我们只要复制许多官网的范例就可做出很多令人觉得惊奇的结果。但是当要解决的问题需要进行一些模型的调整与优化或是需要构建出一个新论文的网络结构的时候,我们就可能会觉得非常困难。
在本教程中,你将通过阅读VGG的原始论文从零开始使用keras来构建在ILSVRC-2014(ImageNet competition)竞赛中获得第一名的VGG(visual Geometry Group,University of Oxford)网络结构。

那么,重新构建别人已经构建的东西有什么意义呢?重点是学习。通过完成这次练习,你将:

  • 了解更多关于VGG的架构
  • 了解有关卷积神经网络的更多信息
  • 了解如何在keras中实现某种网络结构
  • 通过阅读论文并实现其中的某些部分可以了解更多底层的原理与原始构想

d0d6b4b36e5f291dc3d2eb3255c2c22f.png

为什么从VGG开始

  • 它很容易实现
  • 它在ILSVRC-2014(ImageNet竞赛)上取得了优异的成绩
  • 它今天被广泛地使用
  • 它的论文简单易懂
  • keras已经有了实现VGG的版本,所以你可以用来参考比较

让我们从论文中挖宝(建议先通读论文)

论文连接: https://arxiv.org/pdf/1409.1556v6.pdf
在VGG论文的2.3章节中提到了几种VGG的网络结构,具体网络的结构可阅读论文。根据论文的测试结果D(VGG16)和E(VGG19)是效果最好的,由于这两种网络构建的方法与技巧几乎相同,因此我们选择了构建D(VGG16)这个网络结构模型。在论文的2.1章节中论述了详细的卷积层的相关信息。
下面简单归纳一下论文网络构建信息:

  • 输入图像尺寸(input size):224x224
  • 感受野(receptive field)的大小为3x3
  • 卷积步长(stride)是1像素
  • 填充(padding)是1(对于3x3的感受过滤器)
  • 池化层的大小是2x2且步长(stride)为2像素
  • 有两个完全连接层,每层4096个神经元
  • 最后一层是具有1000个神经元的softmax分类层(代表1000个ImageNet类别)
  • 激励函数是ReLU
# 实验环境

创建模型

import 

d9c0337800fe5966496e7f29980b5e2a.png

确认模型训练的参数总数

根据论文2.3章节的信息与我们模型的网络结构参数比对,我们构建的模型138,357,544个参数的确符合论文提及的138百万的训练参数。

创建模型(Functional API)

使用Keras的functional API来定义网络结构。详细说明参考:如何使用Keras函数式API进行深度学习

import 

686b2053357bb93ad5715f9d8d023c39.png

模型训练

要用ImageNet的资料来训练VGG16的模型不是一件容易的事。
VGG论文指出:

On a system equipped with four NVIDIA Tian Black GPUs,training a single net took 2~3 weeks depending on the architecture.

也就是说就算你有四张NVIDIA的Tian网卡用ImageNet的影像来训练VGG16模型,可能也得花2—3星期。即使买得起这样的硬件,你也得花大量的时间来训练这个模型。
幸运的是keras不仅已经在它的模块中包括了VGG16与VGG19的模型定义,同时也帮大家预训练好了VGG16与VGG19的模型权重。

总结(Conclusion)

在这篇文章当中有一些重点:

  • 在keras中要构建一个网络不难,但了解这个网络架构的原理则需要多一点耐心。
  • VGG16构建简单效能高。
  • VGG16在卷积层的设计是越后面feature map的size越小,而感受野(receptive field/fiter/kernel)则越多。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值