当前位置: 首页 > news >正文

评论:AlexNet和CaffeNet有何区别?

一、说明

        在这个故事中,我们回顾了AlexNetCaffeNet。AlexNet 是2012 年ILSVRC(ImageNet 大规模视觉识别竞赛的获胜者,这是一项图像分类竞赛。而CaffeNet是AlexNet的单GPU版,因此,我们平时在普通电脑的AlexNet实际上是CaffeNet、

二、2012年的ImageNet竞赛

        ImageNet 是一个包含超过 1500 万张带标签的高分辨率图像的数据集,其中包含大约 22,000 个类别。ILSVRC 使用 ImageNet 的子集,其中每个类别包含约 1000 个图像。总共大约有 120 万张训练图像、5 万张验证图像和 15 万张测试图像。

        AlexNet,ILSVRC 2012 图像分类冠军,错误率显着降低

答:对于AlexNet,我们将介绍:

  1. 建筑学
  2. ReLU(修正线性单元)
  3. 多个 GPU
  4. 局部响应标准化
  5. 重叠池化
  6. 数据增强
  7. 辍学
  8. 学习参数的其他细节
  9. 结果

        B. 对于CaffeNet来说,它只是AlexNet 的单 GPU 版本。由于通常情况下,人们只有一个 GPU,因此 CaffeNet 是一个用于模拟 AlexNet 的单 GPU 网络。我们也将在本故事的结尾介绍这一点。

        通过遍历每个组件,我们可以知道每个组件的重要性。其中一些现在不太有用。但它们确实激发了其他网络的发明。

三、AlexNet网络描述

1. 架构

亚历克斯网

AlexNet 包含八层

输入:227×227×3输入图像(论文中和图中也提到了224×224×3尺寸,但是后来指出应该是227,或者在计算过程中填充了224×224×3第 1 次卷积。)

第一:卷积层:2组,每组48个核,大小11×11×3
(stride:4,pad:0)

输出55×55×48特征图×2组
然后3×3重叠最大池化(stride:2)
输出27×27×48特征图×2组
然后局部响应归一化
输出27×27×48特征图×2组

第二:卷积层:2组,每组128个核,大小为5×5×48
(步长:1,pad:2)

输出27×27×128特征图×2组
然后3×3重叠最大池化(步长:2)
输出13×13×128特征图×2组
然后局部响应归一化
输出13×13×128特征图×2组

第三:卷积层:2组,每组192个核,大小为3×3×256
(stride:1,pad:1)

输出13×13×192个特征图×2组

第四:卷积层:2组,每组192个核,大小为3×3×192
(stride:1,pad:1)

输出13×13×192个特征图×2组

第五:卷积层:256个大小为3×3×192的核
(步长:1,pad:1)

输出13×13×128特征图×2组
然后3×3重叠最大池化(步长:2)
输出6×6 ×128个特征图×2组


第 6 层: 4096 个神经元的全连接(密集)层


第 7 层: 4096 个神经元的全连接(密集)层

第 8 层:输出的全连接(密集)层
1000 个神经元(因为有 1000 个类)
Softmax用于计算损失。

总共有6000万个参数需要训练!!!

2.ReLU

激活函数

在 Alexnet 之前,使用的是 Tanh。AlexNet 中引入了 ReLU。
ReLU比Tanh 快六倍,达到 25% 的训练错误率。

3.多个GPU

当时使用的是NVIDIA GTX 580 GPU,只有3GB显存。因此,我们可以在架构中看到它们分成两条路径并使用 2 个 GPU 进行卷积。相互通信仅发生在一个特定的卷积层上。

因此,使用 2 个 GPU 是由于内存问题,而不是为了加快训练过程。

整个网络与只有一半内核(只有一条路径)的网络相比, Top-1和top-5错误率分别降低了1.7%和1.2%。

4. 局部响应标准化

正常化

在AlexNet中,使用了局部响应归一化。正如我们在方程中看到的,它与批量归一化不同。标准化有助于加速收敛。如今,使用批量归一化而不是使用本地响应归一化。

通过本地响应标准化,Top-1 和 top-5 错误率分别降低了 1.4% 和 1.2%。

5. 重叠池化

重叠池化是步幅小于内核大小的池化,非重叠池化是步幅等于或大于内核大小的池化。

通过重叠池化,Top-1 和 top-5 错误率分别降低了 0.4% 和 0.3%。

6. 数据增强

数据增强的两种形式。

第一:图像平移和水平反射(镜像)

从一张 256×256 图像加上水平反射中提取随机 224×224。训练集的大小增加了 2048 倍。计算公式如下:

通过图像平移:(256–224)²=32²=1024

通过水平反射:1024 × 2 = 2048

测试时,使用四个角斑块加上中心斑块及其对应的水平反射(总共10个斑块)进行预测,并取所有结果的平均值以获得最终的分类结果。

第二:改变强度

PCA 在训练集上执行。对于每个训练图像,添加数量:

强度改变量

其中 pi 和 λi 分别是 RGB 像素值的 3×3 协方差矩阵的第 i 个特征向量和特征值,αi 是平均值为 0、标准方差为 0.1 的随机变量。

通过数据增强来增加训练集的大小,Top-1 错误率降低了 1% 以上。

7. 辍学

辍学

对于使用 dropout 的层,在训练期间,每个神经元都有概率不参与前馈传递并参与反向传播。因此,每个神经元都可以有更大的机会接受训练,而不是过分依赖某些非常“强”的神经元。

考试期间,不会出现掉线的情况。

在 AlexNet 中,前两个全连接层使用 0.5 的概率。Dropout是一种减少过度拟合的正则化技术。

8.学习参数的其他细节

批量大小:128
动量 v:0.9
权重衰减:0.0005
学习率 ϵ:0.01,当验证错误率停止改善时手动减少 10,减少 3 倍。

动量v和权重w的更新

包含 120 万张图像的训练集。
网络训练了大约 90 个周期。
使用两个 NVIDIA GTX 580 3GB GPU 可以使用五到六天。

9. 结果

ILSVRC 2010 中的错误率

在 ILSVRC 2010 中,AlexNet 的 Top-1 和 top-5 错误率分别为 37.5% 和 17.0%,优于其他方法。

如果没有通过数据增强对 10 个补丁上的 10 个预测进行平均AlexNet 仅获得 Top-1 和 top-5 错误率,分别为 39.0% 和 18.3%。

ILSVRC 2012 中的错误率

通过1个AlexNet(1个CNN),验证错误率为18.2%

通过对5 个 AlexNet(5 个 CNN)的预测进行平均,错误率降低到16.4%。这是LeNet 中已经用于数字分类的一种 boosting 技术。

通过向 AlexNet (1 CNN*) 添加一层卷积层,验证错误率降低至16.6%

通过对2 个修改后的 AlexNet 和 5 个原始 AlexNet(7 个 CNN*)的预测进行平均,验证错误率降低至15.4%

AlexNet 的一些前 5 名结果

四、CaffeNet

        CaffeNet 是 AlexNet 的 1-GPU 版本。该架构是:

注意点:

        我们可以看到 AlexNet 中的 2 条路径合并为一条路径。

        值得注意的是,对于 CaffeNet 的早期版本,池化层和归一化层的顺序是相反的,这是偶然的。但在 Caffe 提供的当前版本的 CaffeNet 中,它已经为 Caffenet 提供了池化层和归一化层的正确顺序。

通过对每个组件的逐一研究,我们可以了解每个组件的有效性。:)

如果有兴趣,还有一个关于使用 Nvidia-Docker 和 Caffe 快速设置 CaffeNet 的教程[3]。

相关文章:

评论:AlexNet和CaffeNet有何区别?

一、说明 在这个故事中,我们回顾了AlexNet和CaffeNet。AlexNet 是2012 年ILSVRC(ImageNet 大规模视觉识别竞赛)的获胜者,这是一项图像分类竞赛。而CaffeNet是AlexNet的单GPU版,因此,我们平时在普通电脑的Al…...

什么是 IT 资产管理(ITAM),以及它如何简化业务

IT 资产管理对任何企业来说都是一项艰巨的任务,但使用适当的工具可以简化这项任务,例如,IT 资产管理软件可以为简化软件和硬件的管理提供巨大的优势。 什么是 IT 资产管理 IT 资产管理(ITAM)是一组业务实践&#xff…...

git快速上传代码

① git init; 初始化git,之后在文件夹里有.git文件,这个需要 勾选才能查看。 ② git remote add test myFisrtTest: 测试专用 这里的test是自定义的,myFisrtTest: 测试专用 是远程仓库 ③ git branch -a 这里是查看分支 ④ …...

stable diffusion comfyui的api使用教程

一、为什么要使用comfyui的api?对比webui的api,它有什么好处? 1、自带队列 2、支持websocket 3、无需关心插件是否有开放api接口,只要插件在浏览器中可以正常使用,接口就一定可以使用 4、开发人员只需关心绘图流程的搭建 5、切换…...

Swift中的strong, weak, unowned

在 Swift 中,strong, weak, 和 unowned 关键词用于管理内存中对象的引用。这些关键词与 Swift 的自动引用计数(ARC)系统紧密相关,用于防止内存泄漏和强引用循环。下面是对这三种引用类型的简要说明: 1. Strong 默认行…...

Linux命令——ssh

Linux命令——ssh 背景 SSH(Secure Shell 的缩写)是一种网络协议,用于加密两台计算机之间的通信,并且支持各种身份验证机制。 历史上,网络主机之间的通信是不加密的,属于明文通信。这使得通信很不安全&a…...

在qml中,text如何左对齐,对齐方式有哪些?如何换行?

在Qt Quick(即QML)中,你可以使用Text组件的horizontalAlignment属性来控制文本的对齐方式。以下是一些常用的对齐方式: Align.Left: 文本左对齐。这是默认的对齐方式。 Align.Center: 文本居中对齐。 Align.Right: 文本右对齐。 …...

【Rust 易学教程】第 1 天:Rust 基础,基本语法

上一节:【Rust 易学教程】学前准备:Cargo, 你好 今天,我们正式进入 Rust 基础的学习。在本文的内容中,我会为大家介绍以下内容: 基本 Rust 语法: 变量、标量和复合类型、枚举、结构、引用、函数和方法。控…...

Linux(命令)——结合实际场景的命令 查找Java安装位置命令

前言 在内卷的时代,作为开发的程序员也需要懂一些Linux相关命令。 本篇博客结合实际应用常见,记录Linux命令相关的使用,持续更新,希望对你有帮助。 目录 前言引出一、查找Java安装位置命令1、使用which命令2、使用find命令3、查…...

C语言基础 -- scanf函数的返回值及其应用

前言、scanf函数有返回值 我们在作PTA上的编程作业时,经常在编译窗口会看到如下的信息: warning: ignoring return value of ‘scanf’, declared with attribute warn_unused_result [-Wunused-result] 当时老师一定会告诉你,这个一个&qu…...

mac 安装 selenium + chrome driver

前言 使用 selenium 模拟浏览器渲染数据,需要依赖各浏览器的驱动才能完成,因此需要单独安装chrome driver 查看本地 chrome 浏览器的版本 可以看到我这里已经是 arm 架构下最新的版本了 下载对应的 chrome driver 访问下面的地址: Chrome…...

【阿里云】函数计算 X 通义千问快速部署

写在前面:博主是一只经过实战开发历练后投身培训事业的“小山猪”,昵称取自动画片《狮子王》中的“彭彭”,总是以乐观、积极的心态对待周边的事物。本人的技术路线从Java全栈工程师一路奔向大数据开发、数据挖掘领域,如今终有小成…...

el-table本地与线上的样式不一致出现错乱

使用el-table的时候有几个表头是循环出来的,出现在本地运行的时候,表头内el-input输入框样式正常,但是发布以后出现样式错乱问题 线上样式错乱:​ 本地正常: 出现这个问题的原因是我有几个表头是循环出来的&#xff0…...

C语言--从键盘输入当月利润I,求应发奖金总数。

题目描述: 企业发放的奖金根据利润提成。利润I低于或等于100000元的,奖金可提成10%; 利润高于100000 元,低于200000元(1000001000000时,超过1000000元的部分按 1%提成。从键盘输入当月利润I,求应发奖金总数。 int main() {int m…...

记忆科技携手中国电信,一站式存储打造坚实数字底座

11月10日,以“数字科技 焕新启航”为主题的2023数字科技生态大会在广州盛大开幕,本次大会由中国电信、广东省人民政府联合举办,是一场数字科技领域的年度盛会。忆联母公司记忆科技作为中国电信的合作伙伴之一受邀参会,深度参与了大…...

基于ssm的学生档案管理系统(有报告)。Javaee项目,ssm项目。

演示视频: 基于ssm的学生档案管理系统(有报告)。Javaee项目,ssm项目。 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。 项目介绍&#xff…...

阿里云服务中断事件:原因、影响与解决方案

💕欢迎大家:这里是CSDN,我总结知识的地方,欢迎来到我的博客,感谢大家的观看🥰 如果文章有什么需要改进的地方还请大佬不吝赐教 先在次感谢啦😊 文章目录 阿里云服务中断事件:原因、影…...

搜维尔科技:「体育类」Movella Xsens极限运动捕捉测试

搜维尔科技:「体育类」Movella Xsens极限运动捕捉测试...

CSS常用示例100+ 【目录】

目前已有文章 11 篇 本专栏记录的是经常使用的CSS示例与技巧,主要包含CSS布局,CSS特效,CSS花边信息三部分内容。其中CSS布局主要是列出一些常用的CSS布局信息点,CSS特效主要是一些动画示例,CSS花边是描述了一些CSS相关…...

Shopee买家通系统之注册虾皮买家号大概需要多少成本

想要注册大量的虾皮买家号,可以使用shopee买家通系统进行注册,这款软件可以全自动化的注册虾皮买家号,不过想要自动化更方便,对于账号资料有一定的要求。 1、现在注册虾皮买家号基本上都是需要用手机号注册了的,而虾皮…...

SciencePlots——绘制论文中的图片

文章目录 安装一、风格二、1 资源 安装 # 安装最新版 pip install githttps://github.com/garrettj403/SciencePlots.git# 安装稳定版 pip install SciencePlots一、风格 简单好用的深度学习论文绘图专用工具包–Science Plot 二、 1 资源 论文绘图神器来了:一行…...

以下是对华为 HarmonyOS NETX 5属性动画(ArkTS)文档的结构化整理,通过层级标题、表格和代码块提升可读性:

一、属性动画概述NETX 作用:实现组件通用属性的渐变过渡效果,提升用户体验。支持属性:width、height、backgroundColor、opacity、scale、rotate、translate等。注意事项: 布局类属性(如宽高)变化时&#…...

Auto-Coder使用GPT-4o完成:在用TabPFN这个模型构建一个预测未来3天涨跌的分类任务

通过akshare库,获取股票数据,并生成TabPFN这个模型 可以识别、处理的格式,写一个完整的预处理示例,并构建一个预测未来 3 天股价涨跌的分类任务 用TabPFN这个模型构建一个预测未来 3 天股价涨跌的分类任务,进行预测并输…...

【学习笔记】深入理解Java虚拟机学习笔记——第4章 虚拟机性能监控,故障处理工具

第2章 虚拟机性能监控,故障处理工具 4.1 概述 略 4.2 基础故障处理工具 4.2.1 jps:虚拟机进程状况工具 命令:jps [options] [hostid] 功能:本地虚拟机进程显示进程ID(与ps相同),可同时显示主类&#x…...

GC1808高性能24位立体声音频ADC芯片解析

1. 芯片概述 GC1808是一款24位立体声音频模数转换器(ADC),支持8kHz~96kHz采样率,集成Δ-Σ调制器、数字抗混叠滤波器和高通滤波器,适用于高保真音频采集场景。 2. 核心特性 高精度:24位分辨率&#xff0c…...

逻辑回归暴力训练预测金融欺诈

简述 「使用逻辑回归暴力预测金融欺诈,并不断增加特征维度持续测试」的做法,体现了一种逐步建模与迭代验证的实验思路,在金融欺诈检测中非常有价值,本文作为一篇回顾性记录了早年间公司给某行做反欺诈预测用到的技术和思路。百度…...

windows系统MySQL安装文档

概览:本文讨论了MySQL的安装、使用过程中涉及的解压、配置、初始化、注册服务、启动、修改密码、登录、退出以及卸载等相关内容,为学习者提供全面的操作指导。关键要点包括: 解压 :下载完成后解压压缩包,得到MySQL 8.…...

提升移动端网页调试效率:WebDebugX 与常见工具组合实践

在日常移动端开发中,网页调试始终是一个高频但又极具挑战的环节。尤其在面对 iOS 与 Android 的混合技术栈、各种设备差异化行为时,开发者迫切需要一套高效、可靠且跨平台的调试方案。过去,我们或多或少使用过 Chrome DevTools、Remote Debug…...

VisualXML全新升级 | 新增数据库编辑功能

VisualXML是一个功能强大的网络总线设计工具,专注于简化汽车电子系统中复杂的网络数据设计操作。它支持多种主流总线网络格式的数据编辑(如DBC、LDF、ARXML、HEX等),并能够基于Excel表格的方式生成和转换多种数据库文件。由此&…...

【无标题】湖北理元理律师事务所:债务优化中的生活保障与法律平衡之道

文/法律实务观察组 在债务重组领域,专业机构的核心价值不仅在于减轻债务数字,更在于帮助债务人在履行义务的同时维持基本生活尊严。湖北理元理律师事务所的服务实践表明,合法债务优化需同步实现三重平衡: 法律刚性(债…...