26- AlexNet和VGG模型分析 (TensorFlow系列) (深度学习)

news2025/1/23 5:59:46

知识要点

  • AlexNet 2012年ISLVRC 2012竞赛的冠军网络。

  • VGG 2014年由牛津大学著名研究组 VGG 提出


AlexNet

1.1 Alexnet简介

AlexNet 2012ISLVRC 2012ImageNet Large Scale Visual Recognition  Challenge)竞赛的冠军网络,分类准确率由传统的 70%+提升到 80%+。 它是由Hinton和他的学生Alex Krizhevsky设计的。也是在那年之后,深度学习开始迅速发展。

  • ISLVRC 2012竞赛

    • 训练集:1,281,167张已标注图片

    • 验证集50,000张已标注图

    • 测试集100,000张未标注图

该网络的亮点在于

  1. 首次利用 GPU 进行网络加速训练
  2. 使用了 ReLU 激活函数,而不是传统 Sigmoid 激活函数以 Tanh 激活函数
  3. 使用 LRN 局部响应归一化
  4. 在全连接层的前两层中使用了 Dropout 随机失活神经元操作,以减少过拟合

过拟合:根本原因是特征维度过多,模型假设过于复杂,参数 过多,训练数据过少,噪声过多,导致拟合的函数完美的预测 训练集,但对新数据的测试集预测结果差。 过度的拟合了训练 数据,而没有考虑到泛化能力。

使用 Dropout 的方式在网络正向传播过程中随机失活一部分神经元。

经卷积后的矩阵尺寸大小计算公式为:N = (W F + 2P ) / S + 1

  1. 输入图片大小 W×W

  2. Filter大小 F×F

  3. 步长 S

  4. padding的像素数 P

1.2 模型网络内部

1.2.1 conv1层

Conv1:  kernels:48*2=96  kernel_size:11  padding:[1, 2]  stride:4

  • input_size:  [224, 224, 3]

  • output_size: [55, 55, 96]

N = (W − F + 2P ) / S + 1   = [224-11+(1+2)]/4+1 = 55

1.2.2 Maxpool1

Conv1:  kernels:48*2=96  kernel_size:11  padding: [1, 2]  stride:4  output_size:  [55, 55, 96]

Maxpool1:  kernel_size:3  pading: 0  stride:2

  • input_size:  [55, 55, 96]

  • output_size: [27, 27, 96]

  • N = (W − F + 2P ) / S + 1    =(55-3)/2+1 = 27

1.2.3 Conv2

Conv1:  kernels:48*2=96  kernel_size:11  padding: [1, 2]  stride:4  output_size:  [55, 55, 96]

Maxpool1:  kernel_size:3  pading: 0  stride:2    output_size:  [27, 27, 96]

Conv2:  kernels:128*2=256  kernel_size:5  padding: [2, 2]  stride:1

  • input_size:  [27, 27, 96]

  • output_size: [27, 27, 256]

N = (W − F + 2P ) / S + 1  =(27-5+4)/1+1 = 27

1.2.4 Maxpool2层

Conv2: kernels:128*2=256  kernel_size:5  padding: [2, 2]  stride:1  output_size: [27, 27, 256]

Maxpool2:  kernel_size:3  pading: 0  stride:2

  • input_size:  [27, 27, 256]

  • output_size: [13, 13, 256]

N = (W − F + 2P ) / S + 1 = (27-3)/2+1 = 13

1.2.5 Conv3层

Maxpool2:  kernel_size:3  pading: 0  stride:2    output_size: [13, 13, 256]

Conv3:  kernels:192*2=384  kernel_size:3  padding: [1, 1]  stride:1

  • input_size:  [13, 13, 256]

  • output_size: [13, 13, 384]

N = (W − F + 2P ) / S + 1 =(13-3+2)/1+1  = 13

1.2.6 Conv4层

Conv3:  kernels:192*2=384  kernel_size:3  padding: [1, 1]  stride:1  output_size:  [13, 13, 384]

Conv4:  kernels:192*2=384  kernel_size:3  padding: [1, 1]  stride:1

  • input_size:   [13, 13, 384]

  • output_size: [13, 13, 384]

N = (W − F + 2P ) / S + 1 = (13-3+2)/1+1

1.2.7 Conv5层

Conv4:  kernels:192*2=384  kernel_size:3  padding: [1, 1]  stride:1  output_size:  [13, 13, 256]

Conv5:  kernels:128*2=256  kernel_size:3  padding: [1, 1]  stride:1

  • input_size:   [13, 13, 384]

  • output_size: [13, 13, 256]

N = (W − F + 2P ) / S + 1 = (13-3+2)/1+1

1.2.8 Maxpool3层

Conv5:  kernels:128*2=256  kernel_size:3  padding: [1, 1]  stride:1   output_size:  [13, 13, 256]

Maxpool3:   kernel_size:3  padding:0  stride:2

  • input_size:   [13, 13, 256]

  • output_size: [6, 6, 256]

N = (W − F + 2P ) / S + 1 = (13-3)/2+1 = 6

1.3 图像内部尺寸变换

layer_name

kernel_size

kernel_num

padding

stride

Conv1

11

96

[1, 2]

4

Maxpool1

3

None

0

2

Conv2

5

256

[2, 2]

1

Maxpool2

3

None

0

2

Conv3

3

384

[1, 1]

1

Conv4

3

384

[1, 1]

1

Conv5

3

256

[1, 1]

1

Maxpool3

3

None

0

2

FC1

2048

None

None

None

FC2

2048

None

None

None

FC3

1000

None

None

None

VGG

2.1 简介

VGG在2014年由牛津大学著名研究组VGG (Visual Geometry  Group) 提出,斩获该年ImageNet竞  中 Localization Task (定位 任务) 第一名 Classification Task (分类任务) 第二名。

网络中的亮点通过堆叠多个 3x3的卷积核 来替代大尺度卷积(减少所需参数)

论文中提到,可以通过堆叠两个3x3积核替代5x5的卷积核堆叠三个3x3的卷积核替代7x7的卷积核

2.2 基本概念拓展CNN感受

在卷积神经网络中,决定某一层输出结果中一个元素所对应的输入层的区域大小,被称作感受野(receptive field)。通俗的解释是,输出feature map上的一个单元对应输入层上的区域大小

论文中提到,可以通过堆叠两个3x3的卷积核替代5x5的卷积核

堆叠三个3x3的卷积核替代7x7的卷积核

使用7x7卷积核所需参数,与堆叠三个3x3卷积核所需参数(假设输入输出channelC)

7 * 7* C * C = 49C^2

3*3* C *C +3* 3*C *C+ 3* 3* C *C =27C^ 2

  • conv的stride为1,padding为1
  • maxpool的size为2,stride为2

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/386606.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

paddle推理部署(cpu)

我没按照官方文档去做,吐槽一下,官方文档有点混乱。。一、概述总结起来,就是用c示例代码,用一个模型做推理。二、示例代码下载https://www.paddlepaddle.org.cn/paddle/paddleinferencehttps://github.com/PaddlePaddle/Paddle-In…

Clion连接Docker,使用HElib库

文章目录需求Clion连接服务器内的DockerDockerCLionDocker内配置HElib库参考需求 HElib库是用C编写的同态加密开源库,一般在Linux下使用为了不混淆生产环境,使用Docker搭建HElib运行环境本地在Windows下开发,使用的IDE为Clion,本…

动态规划:leetcode 121. 买卖股票的最佳时机、122. 买卖股票的最佳时机II

leetcode 121. 买卖股票的最佳时机leetcode 122.买卖股票的最佳时机IIleetcode 121. 买卖股票的最佳时机给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日…

node版本管理工具nvm

1.标题卸载nvm和node.js 系统变量中删除nvm添加变量:NVM_HOME和NVM_SYMLINK环境变量中 path:删除nvm自动添加的变量 Path %NVM_HOME%;%NVM_SYMLINK%删除自身安装node环境,参考图一图二 图一 图二 2.安装nvm nvm-window下载------https:/…

ES window 系统环境下连接问题

环境问题:(我采用的版本是 elasticsearch-7.9.3)注意 开始修正之前的配置:前提:elasticsearch.yml增加或者修正一下配置:xpack.security.enabled: truexpack.license.self_generated.type: basicxpack.secu…

对象实例化【JVM】

JVM对象实例化简介/背景一、创建对象的方式1. new2. Class对象的newInstance方法3. Construstor对象的newInstance(xx)方法4. 使用clone方法二、创建对象的步骤1. 判断对象是否已经加载、链接、初始化2. 为对象分配内存3. 处理并发安全问题4. 初始化分配到的空间5. 设置对象的对…

Tech Lead如何引导团队成员解决问题?

作为一个开发团队的Tech Lead,当团队成员向你寻求帮助时,你有没有说过下面这些话? 你别管了,我来解决这个问题你只要。。。就行了你先做其他的吧,我研究一下,然后告诉你怎么做 当我们说这些话时&#xff…

腾讯免费企业邮箱迁移记录

本文记录在重新申请腾讯企业邮箱的过程。 背景 很多年前,将域名latelee.org 迁移到了阿里云,当时因政策原因无法实名,但能使用。去年3月,阿里云提示无法续费,紧急将其转到外面某服务,继续使用,…

IP地址的工作原理

如果您想了解特定设备为何未按预期方式进行连接,或者想要排查网络无法正常工作的可能原因,它可以帮助您了解 IP 地址的工作原理。互联网协议的工作原理与任何其他语言相同,即使用设定的准则进行通信以传递信息。所有设备都使用此协议与其他连…

jq获取同级或者下级的dom节点的操作

1.使用find找到对应的class或者其他 var class_dom1 obj.find(.class名称);或者 find(span .class名称)2.使用添加背景颜色来确定当前的查找位置 class_dom1.css(background,red);3.通过parent来找到它的上级的dom节点 var parent_li_dom1 class_dom1.parent(li.parent_li…

进阶指针——(2)

本次讲解重点: 6. 函数指针数组 7. 指向函数指针数组的指针 8. 回调函数 在前面我们已经讲解了进阶指针的一部分,我们回顾一下在进阶指针(1)我们学过的难点知识点: int my_strlen(const char* str) {return 0; }int main() {//指针数…

创宇盾重保经验分享,看政府、央企如何防护?

三月重保已经迫近,留给我们的准备时间越来越少,综合近两年三月重保经验及数据总结,知道创宇用实际案例的防护效果说话,深入解析为何创宇盾可以在历次重保中保持“零事故”成绩,受到众多部委、政府、央企/国企客户的青睐…

HACKTHEBOX——Irked

nmapnmap -sV -sC -Pn -T4 -oA nmap 10.10.10.117可能是因为网络原因,与目标链接并不稳定,因此添加了参数-Pn,也只扫描了常见的端口扫描可以看到只开启了3个端口,22,80和111。但是在访问web时,页面提示运行着irc因此再…

WebRTC新增FFmpeg视频编解码模块

1、整体描述目前webrtc内置的视频编解码器包括:VP8、VP9、AV1和H264。一般情况下载pc端基本可以满足大部分的需求,但是有时候为了进行编解码器的扩展包括支持H265或者是支持硬件编解码以提升效率时需要新增编解码模块。2、新增外部编码器编码器实现的要点…

亿万级海量数据去重软方法

文章目录原理案例一需求:方法案例二需求:方法:参考原理 在大数据分布式计算框架生态下,提升计算效率的方法是尽可能的把计算分布式话、并行化,避免单节点计算过载,把计算分摊到各个节点。这样解释小白能够…

最新|移动机器人导航定位技术概述

前言目前工业界广泛落地使用的移动机器人,除了应用场景在餐厅、酒店、超市等小范围室内送餐机器人和消毒机器人外,另外一个“大赛道”应用场景就是在工厂、制造装配车间、电站或车站的物流搬运机器人和巡检机器人了。而在最开始,一切都得从AG…

spring cloud gateway (五)

Gateway简介 Spring Cloud Gateway是Spring公司基于Spring 5.0,Spring Boot 2.0 和 Project Reactor 等技术开发的网关,它旨在为微服务架构提供一种简单有效的统一的 API 路由管理方式。它的目标是替代Netflix Zuul,其不仅提供统一的路由方式…

java 字典

java 字典 数据结构总览 Map Map 描述的是一种映射关系,一个 key 对应一个 value,可以添加,删除,修改和获取 key/value,util 提供了多种 Map HashMap: hash 表实现的 map,插入删除查找性能都是 O(1)&…

MySQL跨服务器数据映射

MySQL跨服务器数据映射环境准备1. 首先是要查看数据库的federated引擎 开启/关闭 状态2. 打开任务管理器,并重启mysql服务3. 再次查看FEDERATED引擎状态,引擎已启动映射实现问题总结在日常的开发中经常进行跨数据库进行查询数据。 同服务器下跨数据库进…

【SpringCloud】SpringCloud详解之Feign实战

目录前言SpringCloud Feign远程服务调用一.需求二.两个服务的yml配置和访问路径三.使用RestTemplate远程调用(order服务内编写)四.使用Feign远程调用(order服务内配置)五.自定义Feign配置(order服务内配置)六.Feign配置日志(oder服务内配置)七.Feign调优(order服务内配置)八.抽…