VGG: Very deep convolutional networks for large-scale image recognition

2024-02-19 00:40

本文主要是介绍VGG: Very deep convolutional networks for large-scale image recognition,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1 前言

经过前面两篇文章的介绍,我们已经了解了LeNet5和AlexNet网络模型。但是总体上来说两者的网络结构几乎并没有太大的差别,仅仅,同时网络的深度以及参数的规模也没有太大的变化。在接下来的这篇文章中,我们将会看到卷积网络中的第三个经典模型VGG。在这篇文章中,作者对卷积网络卷积深度的设计进行了一个探索,并且通过尝试逐步加深网络的深度来提高模型的整体性能。这使得VGG在当年的ILSVRC任务中取得了TOP1的成绩。

2 VGG网络

VGG网络产生于2014年的Visual Geometry Group 实验室,而这三个单词的首字母也代表了VGG的含义。VGG网络总体上一共有五种网络架构,但是从本质上来说这五种网络架构都是一样的,仅仅只是在卷积的深度上有所差别。下面,就让我们一步步的来探索VGG的网络结构。公众号后台回复“论文”即可获取论文下载链接!

2.1 网络结构

如图1所示,一共有六列,其中第二列是在第一例的基础上加入了LRN标准化操作[2]。同时,需要注意的是,例如图中A结构列出的"11 weight layers"的含义是其包含有11个参数层,即8个卷积层和3个全连接层,而没有包含池化层和非线性变换层。通常,这也是一种默认的叫法,说网络有多少层的时候只计算有多少层含有可训练的参数。

在整个网络的训练过中,VGG固定输入网络图片的大小为 224 × 224 224\times224 224×224的RGB图像,并且在输入网络之前仅仅只是做了去均值化的处理,即在训练集中每个像素值都会减去整体像素的一个平均值。接着,预处理完成的图片将会被喂入到一些列仅仅只由窗口大小为 3 × 3 3\times3 3×3的卷积核堆叠而成的卷积网络中。但是从图1中的模型C可以看出,其还使用了窗口大小为 1 1 1的卷积。这是因为作者认为, 1 × 1 1\times1 1×1的卷积既可以增加模型的非线性拟合能力,同时还不会改变卷积层的可视野。

图 1. VGG网络架构图

在五种网络架构中,所有卷积时的步长都被设置成了固定的 1 1 1;并且为了使得卷积后特征图的大小同输入时保持一直,网络在每次卷积之前均做了对应的填充处理。在池化方面,五种网络模型均使用了五次最大池化操作,其窗口大小均为 2 × 2 2\times2 2×2,移动步长均为 2 2 2

在完成一系列的卷积处理后,VGG会将卷积得到的特征图再喂入到全连接网络中:其中前两个全连接层均包含有 4096 4096 4096个神经元;而最后一个全连接层神经元的个数则是对应的分类数 1000 1000 1000,紧接着再是一个Softmax的分类层。对于所有的五种网络结构来说,这部分都采用了相同的配置。最后,在VGG中,所有的隐藏层(所有卷积层和前两个全连接层)都进行了ReLU非线性变换。

从图1所示的网络结构可以看出,在整个过程中作者都仅仅只使用了 3 × 3 3\times3 3×3大小的卷积核,而摒弃了诸如 5 × 5 5\times5 5×5或者是 7 × 7 7\times7 7×7这类更大卷积核。因为作者研究发现,连续两次(中间没有pooling)使用窗口为 3 3 3的卷积核卷积后的可视野(receptive field)等同于一次窗口大小为 5 5 5的卷积过程;而连续三次(中间没有pooling)使用 3 × 3 3\times3 3×3卷积,其效果等价于一次窗口大小为 7 7 7的卷积过程。尽管两种方式都能获得同样的可视野,但作者依旧采用了前者。

图 2. 不同窗口大小卷积对比图

如图2所示,左右两边均是大小为 5 × 5 5\times5 5×5的输入,左边通过连续两次 3 × 3 3\times3 3×3大小的卷积核进行卷积后能够实现 5 × 5 5\times5 5×5的可视野;而右边仅用一次 5 × 5 5\times5 5×5大小的卷积核进行卷积后同样也能够实现 5 × 5 5\times5 5×5的可视野。那这样做的好处是什么呢?以窗口大小为 7 7 7和连续三个窗口大小为

这篇关于VGG: Very deep convolutional networks for large-scale image recognition的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/722971

相关文章

论文翻译:arxiv-2024 Benchmark Data Contamination of Large Language Models: A Survey

Benchmark Data Contamination of Large Language Models: A Survey https://arxiv.org/abs/2406.04244 大规模语言模型的基准数据污染:一项综述 文章目录 大规模语言模型的基准数据污染:一项综述摘要1 引言 摘要 大规模语言模型(LLMs),如GPT-4、Claude-3和Gemini的快

lvgl8.3.6 控件垂直布局 label控件在image控件的下方显示

在使用 LVGL 8.3.6 创建一个垂直布局,其中 label 控件位于 image 控件下方,你可以使用 lv_obj_set_flex_flow 来设置布局为垂直,并确保 label 控件在 image 控件后添加。这里是如何步骤性地实现它的一个基本示例: 创建父容器:首先创建一个容器对象,该对象将作为布局的基础。设置容器为垂直布局:使用 lv_obj_set_flex_flow 设置容器

[论文笔记]LLM.int8(): 8-bit Matrix Multiplication for Transformers at Scale

引言 今天带来第一篇量化论文LLM.int8(): 8-bit Matrix Multiplication for Transformers at Scale笔记。 为了简单,下文中以翻译的口吻记录,比如替换"作者"为"我们"。 大语言模型已被广泛采用,但推理时需要大量的GPU内存。我们开发了一种Int8矩阵乘法的过程,用于Transformer中的前馈和注意力投影层,这可以将推理所需

高精度打表-Factoring Large Numbers

求斐波那契数,不打表的话会超时,打表的话普通的高精度开不出来那么大的数组,不如一个int存8位,特殊处理一下,具体看代码 #include<stdio.h>#include<string.h>#define MAX_SIZE 5005#define LEN 150#define to 100000000/*一个int存8位*/int num[MAX_SIZE][LEN];void

A Comprehensive Survey on Graph Neural Networks笔记

一、摘要-Abstract 1、传统的深度学习模型主要处理欧几里得数据(如图像、文本),而图神经网络的出现和发展是为了有效处理和学习非欧几里得域(即图结构数据)的信息。 2、将GNN划分为四类:recurrent GNNs(RecGNN), convolutional GNNs,(GCN), graph autoencoders(GAE), and spatial–temporal GNNs(S

Deep Ocr

1.圈出内容,文本那里要有内容.然后你保存,并'导出数据集'. 2.找出deep_ocr_recognition_training_workflow.hdev 文件.修改“DatasetFilename := 'Test.hdict'” 310行 write_deep_ocr (DeepOcrHandle, BestModelDeepOCRFilename) 3.推理test.hdev

Neighborhood Homophily-based Graph Convolutional Network

#paper/ccfB 推荐指数: #paper/⭐ #pp/图结构学习 流程 重定义同配性指标: N H i k = ∣ N ( i , k , c m a x ) ∣ ∣ N ( i , k ) ∣ with c m a x = arg ⁡ max ⁡ c ∈ [ 1 , C ] ∣ N ( i , k , c ) ∣ NH_i^k=\frac{|\mathcal{N}(i,k,c_{

android xml之动画篇 alpha、scale、translate、rotate、set的属性及用法 和

1.简介 Android的补间动画TweenAnimation由四种类型组成:alpha、scale、translate、rotate,对应android官方文档地址:《Animation Resources》 逐帧动画 FrameAnimation(也称 Drawable Animation  ):animation-list alpha 渐变透明度动画效果 scale 渐变

[论文笔记]Making Large Language Models A Better Foundation For Dense Retrieval

引言 今天带来北京智源研究院(BAAI)团队带来的一篇关于如何微调LLM变成密集检索器的论文笔记——Making Large Language Models A Better Foundation For Dense Retrieval。 为了简单,下文中以翻译的口吻记录,比如替换"作者"为"我们"。 密集检索需要学习具有区分性的文本嵌入,以表示查询和文档之间的语义关系。考虑到大语言模

Android AnimationDrawable资源 set[translate,alpha,scale,rotate]

本文内容摘自《疯狂Android讲义 第三版-李刚著作》 xml <?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android"android:duration="1000"android:fillAfter="true"android:f