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

ImageNet Classification with Deep Convolutional 论文笔记

✅作者简介:人工智能专业本科在读,喜欢计算机与编程,写博客记录自己的学习历程。
🍎个人主页:小嗷犬的个人主页
🍊个人网站:小嗷犬的技术小站
🥭个人信条:为天地立心,为生民立命,为往圣继绝学,为万世开太平。


本文目录

    • 标题和作者
    • 摘要
    • 创新点
      • ReLU
      • 多 GPU
      • Dropout
      • 其他
    • 网络结构
      • 输入层(Input layer)
      • 卷积层(C1)
      • 卷积层(C2)
      • 卷积层(C3)
      • 卷积层(C4)
      • 卷积层(C5)
      • 全连接层(FC6)
      • 全连接层(FC7)
      • 输出层(Output layer)


标题和作者

ImageNet Classification with Deep Convolutional Neural Networks,意为使用深度卷积神经网络在 ImageNet 数据集上进行分类,发表于 2012 年。

作者信息:

  • Alex Krizhevsky,本文第一作者,本文提出的网络结构后被称为 AlexNet
  • Ilya Sutskever,本文第二作者,2015 年加入 OpenAI,成为 OpenAI 的联合创始人兼首席科学家。
  • Geoffrey E. Hinton,本文第三作者,2018 年图灵奖得主,神经网络之父,前两位作者的导师。

摘要

We trained a large, deep convolutional neural network to classify the 1.2 million high-resolution images in the ImageNet LSVRC-2010 contest into the 1000 different classes. On the test data, we achieved top-1 and top-5 error rates of 37.5% and 17.0% which is considerably better than the previous state-of-the-art. The neural network, which has 60 million parameters and 650,000 neurons, consists of five convolutional layers, some of which are followed by max-pooling layers, and three fully-connected layers with a final 1000-way softmax. To make training faster, we used non-saturating neurons and a very efficient GPU implementation of the convolution operation. To reduce overfitting in the fully-connected layers we employed a recently-developed regularization method called “dropout” that proved to be very effective. We also entered a variant of this model in the ILSVRC-2012 competition and achieved a winning top-5 test error rate of 15.3%, compared to 26.2% achieved by the second-best entry.

本文提出了一个大型深度卷积神经网络,该网络在 ImageNet LSVRC-2010 比赛任务(120 万张图片的 1000 分类任务)中,取得了 top-1 准确率 62.5%top-5 准确率 83.0% 的好成绩,超越了以往所有的 SOTA 方法。

该网络有 6000 万个参数和 65 万个神经元,由五个卷积层组成,其中一些后面跟着最大池化层,以及三个全连接层和一个最终的 1000 分类的 softmax 层。

为了使训练更快,作者使用 ReLU 作为激活函数(non-saturating neurons),并使用 GPU 加速卷积运算。

为了减少全连接层的过拟合,作者采用了一种新的正则化方法,即 Dropout,实验证明这一方法非常有效。

作者在 ILSVRC-2012 比赛中使用了这个模型的一个变体,并以 84.7% 的 top-5 准确率的好成绩赢得了比赛,该比赛第二名的 top-5 准确率仅为 73.8%

创新点

笔者认为的几个影响比较大的创新点:

  • 使用了 ReLU 作为激活函数,而非传统的 TanhSigmoid 函数。ReLU 未特别压缩输出值的范围(在文中被称为 non-saturating neurons),且运算简单。
  • 将卷积运算置于多 GPU 上进行,大大加快了训练速度(当时的企业普遍还在使用 CPU 或单 GPU 训练模型)。
  • 使用了 Dropout 正则化方法,降低了模型的过拟合风险。

ReLU

ReLU,即 Rectified Linear Unit,是一种激活函数,即 f ( x ) = m a x ( 0 , x ) f(x)=max(0,x) f(x)=max(0,x)。相比传统的 TanhSigmoid 函数,ReLU 运算速度更快。

ReLU vs Tanh

在一个 4 层的卷积网络中使用 ReLU 函数在 CIFAR-10 数据集上达到 25% 的训练错误率要比在相同网络相同条件下使用 Tanh 函数快 6 倍。

多 GPU

本文的模型使用两个 GTX 580 3GB GPU 进行训练。

Dropout

Dropout 是一种正则化方法,具体做法是在训练过程中,随机将一些神经元的输出置为 0。

笔者对 Dropout 的理解是:类似于 Bagging,每次的训练数据事实上仅经过了所有的非 Dropout 神经元和一部分 Dropout 神经元,相当于隐式地训练了 2 N 2^N 2N N N N 为 Dropout 神经元个数) 个子网络(尽管这些模型不是相互独立的),最终的输出是所有节点输出的综合值(也即最终网络是所有子网络的综合)。

其他

除此之外,本文还有一些其他的创新点,比如:

  • Local Response Normalization,即局部响应归一化,这是一种对局部神经元的活动创建竞争机制,使得其中响应比较大的值变得相对更大,并抑制其他反馈较小的神经元,这样可以使得模型对于输入的微小变化不敏感,从而提高模型的泛化能力。
  • Overlapping Pooling,即重叠池化,池化窗口大于步长,每次池化都有重叠部分,相比传统池化方法有更好效果,能够降低模型的过拟合风险。
  • 一些新的数据增强方法。

网络结构

AlexNet

输入层(Input layer)

输入层的输入是 224x224x3 的图片,即 224x224 的彩色图片,其中 3 通道分别为 RGB 三个通道。

卷积层(C1)

卷积(11x11)–>ReLU–>局部响应归一化(LRN)–>最大池化

卷积(11x11):卷积核大小为 11x11,步长为 4,输出通道数为 96,即输出为 55x55x96 的特征图,分为两组,每组为 55x55x48,分别位于单个 GPU 上。

ReLU:ReLU 激活函数,即 f ( x ) = m a x ( 0 , x ) f(x)=max(0,x) f(x)=max(0,x)

局部响应归一化(LRN)

b x , y i = a x , y i / ( k + α ∑ j = m a x ( 0 , i − n / 2 ) m i n ( N − 1 , i + n / 2 ) ( a x , y j ) 2 ) β b_{x,y}^i=a_{x,y}^i/\left(k+\alpha\sum_{j=max(0,i-n/2)}^{min(N-1,i+n/2)}(a_{x,y}^j)^2\right)^\beta bx,yi=ax,yi/ k+αj=max(0,in/2)min(N1,i+n/2)(ax,yj)2 β

其中 a x , y i a_{x,y}^i ax,yi 表示第 i i i 个通道的第 ( x , y ) (x,y) (x,y) 个像素点的输出, N N N 表示总的通道数, n n n 表示归一化的范围, k k k α \alpha α β \beta β n n n 是超参数,本文中取 k = 2 k=2 k=2 α = 1 0 − 4 \alpha=10^{-4} α=104 β = 0.75 \beta=0.75 β=0.75 n = 5 n=5 n=5

最大池化:池化窗口大小为 3x3,步长为 2,每组输出为 27x27x48。

卷积层(C2)

卷积(5x5)–>ReLU–>局部响应归一化(LRN)–>最大池化

卷积(5x5):卷积核大小为 5x5,步长为 1,padding 为 2,每组输出通道数为 128,即每组输出为 27x27x128 的特征图。

ReLU:ReLU 激活函数,即 f ( x ) = m a x ( 0 , x ) f(x)=max(0,x) f(x)=max(0,x)

局部响应归一化(LRN) k = 2 k=2 k=2 α = 1 0 − 4 \alpha=10^{-4} α=104 β = 0.75 \beta=0.75 β=0.75 n = 5 n=5 n=5

最大池化:池化窗口大小为 3x3,步长为 2,每组输出为 13x13x128。

卷积层(C3)

卷积(3x3)–>ReLU

卷积(3x3):卷积核大小为 3x3,步长为 1,padding 为 1,每组输出通道数为 192,即每组输出为 13x13x192 的特征图。

ReLU:ReLU 激活函数,即 f ( x ) = m a x ( 0 , x ) f(x)=max(0,x) f(x)=max(0,x)

卷积层(C4)

卷积(3x3)–>ReLU

卷积(3x3):卷积核大小为 3x3,步长为 1,padding 为 1,每组输出通道数为 192,即每组输出为 13x13x192 的特征图。

ReLU:ReLU 激活函数,即 f ( x ) = m a x ( 0 , x ) f(x)=max(0,x) f(x)=max(0,x)

卷积层(C5)

卷积(3x3)–>ReLU–>最大池化

卷积(3x3):卷积核大小为 3x3,步长为 1,padding 为 1,每组输出通道数为 128,即每组输出为 13x13x128 的特征图。

ReLU:ReLU 激活函数,即 f ( x ) = m a x ( 0 , x ) f(x)=max(0,x) f(x)=max(0,x)

最大池化:池化窗口大小为 3x3,步长为 2,每组输出为 6x6x128。

全连接层(FC6)

全连接(卷积)–>ReLU–>Dropout

全连接(卷积):输入为 6x6x256,使用 4096 个 6×6×256 的卷积核进行卷积,效果等同于全连接,即输出为 1x1x4096。

ReLU:ReLU 激活函数,即 f ( x ) = m a x ( 0 , x ) f(x)=max(0,x) f(x)=max(0,x)

Dropout:在训练过程中,随机将一些神经元的输出置为 0。

全连接层(FC7)

全连接(卷积)–>ReLU–>Dropout

全连接(卷积):输入为 1x1x4096,输出也为 1x1x4096。

ReLU:ReLU 激活函数,即 f ( x ) = m a x ( 0 , x ) f(x)=max(0,x) f(x)=max(0,x)

Dropout:在训练过程中,随机将一些神经元的输出置为 0。

输出层(Output layer)

全连接(卷积)–>Softmax

全连接(卷积):输入为 1x1x4096,输出为 1x1x1000。

Softmax:将输出转化为概率分布。

相关文章:

ImageNet Classification with Deep Convolutional 论文笔记

✅作者简介:人工智能专业本科在读,喜欢计算机与编程,写博客记录自己的学习历程。 🍎个人主页:小嗷犬的个人主页 🍊个人网站:小嗷犬的技术小站 🥭个人信条:为天地立心&…...

Spring Boot中加@Async和不加@Async有什么区别?设置核心线程数、设置最大线程数、设置队列容量是什么意思?直接在yml中配置线程池

在 Spring 中,Async 注解用于将方法标记为异步执行的方法。当使用 Async 注解时,该方法将在单独的线程中执行,而不会阻塞当前线程。这使得方法可以在后台执行,而不会影响主线程的执行。 在您提供的代码示例中,a1() 和…...

自动化理论基础(2)—开发语言之Python

一、知识汇总 掌握 Python 编程语言需要具备一定的基础知识和技能,特别是对于从事自动化测试等领域的工程师。以下是掌握 Python 的一些关键方面: 基本语法: 理解 Python 的基本语法,包括变量、数据类型、运算符、条件语句、循环…...

Spark算子(RDD)超细致讲解

SPARK算子(RDD)超细致讲解 map,flatmap,sortBykey, reduceBykey,groupBykey,Mapvalues,filter,distinct,sortBy,groupBy共10个转换算子 (一)转换算子 1、map from pyspark import SparkContext# 创建SparkContext对象 sc Spark…...

转盘寿司(100%用例)C卷 (JavaPythonC++Node.jsC语言)

寿司店周年庆,正在举办优惠活动回馈新老客户。 寿司转盘上总共有n盘寿司,prices[i]是第i盘寿司的价格,如果客户选择了第i盘寿司,寿司店免费赠送客户距离,第i盘寿司最近的下一盘寿司i,前提是prices[j]< prices[i],如果没有满足条件的j,则不赠送寿司。 每个价格的寿司都…...

【python】搭配Miniconda使用VSCode

现在的spyder总是运行出错&#xff0c;启动不了&#xff0c;尝试使用VSCode。 一、在VSCode中使用Miniconda管理的Python环境&#xff0c;可以按照以下步骤进行&#xff1a; a. 确保Miniconda环境已经安装并且正确配置。 b. 打开VSCode&#xff0c;安装Python扩展。 打开VS…...

从购买服务器到部署前端VUE项目

购买 选择阿里云服务器&#xff0c;地址&#xff1a;https://ecs.console.aliyun.com/home。学生会送一个300的满减券&#xff0c;我买了一个400多一年的&#xff0c;用券之后100多点。 使用SSH连接服务器 我选择的是vscode 中SSH工具。 安装一个插件 找到配置文件配置一下…...

python中print函数的用法

在 Python 中,print() 函数是用于输出信息到控制台的内置函数。它可以将文本、变量、表达式等内容打印出来,方便程序员进行调试和查看结果。print() 函数的基本语法如下: ``` print(*objects, sep= , end=\n, file=sys.stdout, flush=False) ``` 其中,objects 是要打印…...

SpringBoot整合MyBatis项目进行CRUD操作项目示例

文章目录 SpringBoot整合MyBatis项目进行CRUD操作项目示例1.1.需求分析1.2.创建工程1.3.pom.xml1.4.application.properties1.5.启动类 2.添加用户2.1.数据表设计2.2.pojo2.3.mapper2.4.service2.5.junit2.6.controller2.7.thymeleaf2.8.测试 3.查询用户3.1.mapper3.2.service3…...

Android Studio下载gradle反复失败

我的版本&#xff1a;gradle-5.1.1 首先检查设置路径是否正确&#xff0c;参考我的修改&#xff01; 解决方案 1.手动下载Gradle.bin Gradle Distributions 下载地址 注意根据编译器提示下载&#xff0c;我这要求下载的是bin 而不是all 2.把下载好的整个压缩包放在C:\Users\…...

【HTML5】 canvas 绘制图形

文章目录 一、基本用法二、用法详见2.0、方法属性2.1、绘制线条2.2、绘制矩形2.3、绘制圆形2.4、绘制文本2.5、填充图像 一、基本用法 canvas 标签&#xff1a;可用于在网页上绘制图形&#xff08;使用 JavaScript 在网页上绘制图像&#xff09;画布是一个矩形区域&#xff0c…...

【数据结构】二叉树-堆(top-k问题,堆排序,时间复杂度)

&#x1f308;个人主页&#xff1a;秦jh__https://blog.csdn.net/qinjh_?spm1010.2135.3001.5343&#x1f525; 系列专栏&#xff1a;《数据结构》https://blog.csdn.net/qinjh_/category_12536791.html?spm1001.2014.3001.5482 ​​ 目录 堆排序 第一种 ​编辑 第二种 …...

通过浏览器判断是否安装APP

场景 求在分享出来的h5页面中&#xff0c;有一个立即打开的按钮&#xff0c;如果本地安装了我们的app&#xff0c;那么点击就直接唤本地app&#xff0c;如果没有安装&#xff0c;则跳转到下载。 移动端 判断本地是否安装了app 首先我们可以确认的是&#xff0c;在浏览器中无…...

vivado Revision Control

2020.2 只需要git 管理 prj.xpr 和 prj.srcs/ https://china.xilinx.com/video/hardware/ip-revision-control.html Using Vivado Design Suite with Revision Control https://www.xilinx.com/video/hardware/vivado-design-suite-revision-control.html http://www.xi…...

【AI视野·今日Robot 机器人论文速览 第七十三期】Tue, 9 Jan 2024

AI视野今日CS.Robotics 机器人学论文速览 Tue, 9 Jan 2024 Totally 40 papers &#x1f449;上期速览✈更多精彩请移步主页 Daily Robotics Papers Digital Twin for Autonomous Surface Vessels for Safe Maritime Navigation Authors Daniel Menges, Andreas Von Brandis, A…...

java解析json复杂数据的第四种思路

文章目录 一、概述二、数据预览1. 接口json数据 三、代码实现1. 核心代码2. 字符串替换结果3. 运行结果 一、概述 接前两篇 java解析json复杂数据的两种思路 java解析json复杂数据的第三种思路 我们已经有了解析json数据的几种思路&#xff0c;下面介绍的方法是最少依赖情况下…...

【不用找素材】ECS 游戏Demo制作教程(1) 1.15

一、项目设置 版本&#xff1a;2022.2.0f1 &#xff08;版本太低的话会安装不了ECS插件&#xff09; 模板选择3D URP 进来后移除URP&#xff08;因为并不是真的需要&#xff0c;但也不是完全不需要&#xff09; Name: com.unity.entities.graphics Version: 1.0.0-exp.8 点击…...

Mysql的in与exits

Mysql的in与exits IN和EXISTS是MySQL中用于子查询的两种不同的条件操作符。它们在使用和实现上有一些区别。 IN 操作符&#xff1a; IN操作符用于判断一个值是否在一个集合内。它可以用于子查询中&#xff0c;检查主查询的某一列是否在子查询返回的结果集中。 SELECT colum…...

浅谈对Maven的理解

一、什么是Maven Maven——是Java社区事实标准的项目管理工具&#xff0c;能帮你从琐碎的手工劳动中解脱出来&#xff0c;帮你规范整个组织的构建系统。不仅如此&#xff0c;它还有依赖管理、自动生成项目站点等特性&#xff0c;已经有无数的开源项目使用它来构建项目并促进团队…...

【算法实验】实验2

实验2-1 二分搜索 【问题描述】给定一个包含 n 个元素有序的&#xff08;升序&#xff09;整型数组 nums 和一个目标值 target&#xff0c;要求实现搜索 nums 中的 target&#xff0c;如果目标值存在返回下标&#xff0c;否则返回 -1。题目保证nums中的所有元素都不重复。 【…...

XCTF-web-easyupload

试了试php&#xff0c;php7&#xff0c;pht&#xff0c;phtml等&#xff0c;都没有用 尝试.user.ini 抓包修改将.user.ini修改为jpg图片 在上传一个123.jpg 用蚁剑连接&#xff0c;得到flag...

SkyWalking 10.2.0 SWCK 配置过程

SkyWalking 10.2.0 & SWCK 配置过程 skywalking oap-server & ui 使用Docker安装在K8S集群以外&#xff0c;K8S集群中的微服务使用initContainer按命名空间将skywalking-java-agent注入到业务容器中。 SWCK有整套的解决方案&#xff0c;全安装在K8S群集中。 具体可参…...

测试markdown--肇兴

day1&#xff1a; 1、去程&#xff1a;7:04 --11:32高铁 高铁右转上售票大厅2楼&#xff0c;穿过候车厅下一楼&#xff0c;上大巴车 &#xffe5;10/人 **2、到达&#xff1a;**12点多到达寨子&#xff0c;买门票&#xff0c;美团/抖音&#xff1a;&#xffe5;78人 3、中饭&a…...

ESP32 I2S音频总线学习笔记(四): INMP441采集音频并实时播放

简介 前面两期文章我们介绍了I2S的读取和写入&#xff0c;一个是通过INMP441麦克风模块采集音频&#xff0c;一个是通过PCM5102A模块播放音频&#xff0c;那如果我们将两者结合起来&#xff0c;将麦克风采集到的音频通过PCM5102A播放&#xff0c;是不是就可以做一个扩音器了呢…...

Python爬虫(一):爬虫伪装

一、网站防爬机制概述 在当今互联网环境中&#xff0c;具有一定规模或盈利性质的网站几乎都实施了各种防爬措施。这些措施主要分为两大类&#xff1a; 身份验证机制&#xff1a;直接将未经授权的爬虫阻挡在外反爬技术体系&#xff1a;通过各种技术手段增加爬虫获取数据的难度…...

select、poll、epoll 与 Reactor 模式

在高并发网络编程领域&#xff0c;高效处理大量连接和 I/O 事件是系统性能的关键。select、poll、epoll 作为 I/O 多路复用技术的代表&#xff0c;以及基于它们实现的 Reactor 模式&#xff0c;为开发者提供了强大的工具。本文将深入探讨这些技术的底层原理、优缺点。​ 一、I…...

ip子接口配置及删除

配置永久生效的子接口&#xff0c;2个IP 都可以登录你这一台服务器。重启不失效。 永久的 [应用] vi /etc/sysconfig/network-scripts/ifcfg-eth0修改文件内内容 TYPE"Ethernet" BOOTPROTO"none" NAME"eth0" DEVICE"eth0" ONBOOT&q…...

九天毕昇深度学习平台 | 如何安装库?

pip install 库名 -i https://pypi.tuna.tsinghua.edu.cn/simple --user 举个例子&#xff1a; 报错 ModuleNotFoundError: No module named torch 那么我需要安装 torch pip install torch -i https://pypi.tuna.tsinghua.edu.cn/simple --user pip install 库名&#x…...

破解路内监管盲区:免布线低位视频桩重塑停车管理新标准

城市路内停车管理常因行道树遮挡、高位设备盲区等问题&#xff0c;导致车牌识别率低、逃费率高&#xff0c;传统模式在复杂路段束手无策。免布线低位视频桩凭借超低视角部署与智能算法&#xff0c;正成为破局关键。该设备安装于车位侧方0.5-0.7米高度&#xff0c;直接规避树枝遮…...

elementUI点击浏览table所选行数据查看文档

项目场景&#xff1a; table按照要求特定的数据变成按钮可以点击 解决方案&#xff1a; <el-table-columnprop"mlname"label"名称"align"center"width"180"><template slot-scope"scope"><el-buttonv-if&qu…...