《ImageNet Classification with Deep Convolutional Neural Networks》——AlexNet论文整理

2023-11-01

题目

《ImageNet Classification with Deep Convolutional Neural Networks》

简介

AlexNet属于一个更大更深的LeNet

改进有以下三点:

  1. 增加了dropout层(丢弃层)
  2. 激活函数从Sigmoid变为ReLu,作用是减缓梯度消失
  3. 增加了MaxPooling(最大池化层),作用是取最大值,梯度相对较大,比较好训练

这个AlexNet论文具体段落分析在PDF中,md文件仅做总结

Abstract

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.

总结下就是介绍了AlexNet这个模型使用了一个又大又深的卷积神经网络分类了120万张高分辨率的图片,
并且参加了ImageNet里的一些比赛并取得了比较好的成绩。介绍了这个神经网络的参数、神经元、结构等,并
使用了高性能的GPU进行训练,接着又介绍了解决过拟合使用了丢弃法。

1 Introduction

Introduction这个章节中,第一段说识别物体主要使用在机器学习方法中,收集比较大的数据集和更强
的模型,用更好的技术去防止过拟合。然后第一段后部分说我们使用了ImageNet这个数据集,吹了一波这个
数据集的图片多,分辨率好还有种类多。第二段说CNN是个很好的模型,我们需要用它来做深度学习(注意: 这里并没有与其它的方法做比较,只提CNN,在自己写论文时这里应该加上作比较)。第三段提到CNN不好
训练什么的,需要很大的资源开销,但是在这里有GPU进行计算,并方便训练CNN。第四段提到论文的贡献、新技术、
方法等等,总结就是四部分,一是用GPU做2D卷积;二是网络新功能;三是有效方法介绍过拟合;四是深层的网络
很重要。第五段讲GPU。

2 The Dataset

The Dataset这个章节中,第一段讲了ImageNet这个数据集图片多,分辨率好还有种类多。第二段
讲ILSVRC这个比赛数据集。第三段讲图片分辨率不同,然后这个模型把这些图片按照一定的方式划分256x256的格
式,并以原始图片输入。

3 The Architecture

3.1 ReLU Nonlinearity

ReLU和tanh比较

ReLU Nonlinearity这个章节里,主要就是说ReLu函数比传统的那些tanh、sigmoid函数要好,在CNN中有更快的表现。图中的实线代表ReLU,虚线代表tanh

3.2 Training on Multiple GPUs

Training on Multiple GPUs这个章节里,讲了用多个GPU进行训练。

3.3 Local Response Normalization

Local Response Normalization这个章节里,讲了输入归一化,那个公式基没人用目前。

3.4 Overlapping Pooling

Overlapping Pooling这个章节里,CNN中的池化层总结了同一核图中相邻神经元组的输出,然后作者发现在训练中观察到使用重叠池化层的模型不易过拟合。

3.5 Overall Architecture

总体结构

Overall Architecture这个章节里,第一段讲了AlexNet这个模型的结构是有八个含有权重的层,由五层卷积层和三层全连接层构成。第二段讲了卷积核、卷积层、池化层和全连接层的关系。第三段讲了每一层的输入、输出等。具体的实现在pytorch learning
中。

net = nn.Sequential(
    # 卷积层C1
    # 使用11*11的卷积核并使用步幅为4来捕捉对象,以减小输出的行高和列宽
    # AlexNet初始输入224*224*3,这里如果按224输入则下面会变为54*54,所以按227输入
    # 卷积:(227+2-11+4)/4 = 55.5  ->  55*55  ->  55*55*96
    nn.Conv2d(3, 96, kernel_size=11, stride=4, padding=1), nn.ReLU(),
    # 池化:(55-3+2)/2 = 27  ->  27*27*96
    nn.MaxPool2d(kernel_size=3, stride=2),
    # 当前输出:27*27*96

    # 卷积层C2
    # 减小卷积窗口,使用填充为2来使输入和输出的行高和列宽一致,增大输出通道
    # 卷积:(27+4-5+1)/1 = 27  ->  27*27  ->  27*27*256
    nn.Conv2d(96, 256, kernel_size=5, padding=2), nn.ReLU(),
    # 池化:(27-3+2)/2 = 13  ->  13*13
    nn.MaxPool2d(kernel_size=3, stride=2),
    # 当前输出:13*13*256

    # 使用三个连续的卷积层和较小的卷积窗口
    # 卷积层C3
    # 卷积:(13+2-3+1)/1 = 13  ->  13*13*384
    nn.Conv2d(256, 384, kernel_size=3, padding=1), nn.ReLU(),
    # 当前输出:13*13*384

    # 卷积层C4
    # 卷积:(13+2-3+1)/1 = 13  ->  13*13*384
    nn.Conv2d(384, 384, kernel_size=3, padding=1), nn.ReLU(),
    # 当前输出:13*13*384

    # 卷积层C5
    # 卷积:(13+2-3+1)/1 = 13  ->  13*13*256
    nn.Conv2d(384, 256, kernel_size=3, padding=1), nn.ReLU(),
    # 当前输出:13*13*256
    # 卷积:(13-3+2)/2 = 6  -> 6*6*256
    nn.MaxPool2d(kernel_size=3, stride=2),
    # 当前输出:6*6*256

    # 全连接层FC6
    nn.Flatten(),
    # 使用dropout减少过拟合
    nn.Linear(6400, 4096), nn.ReLU(),
    nn.Dropout(p=0.5),
    nn.Linear(4096, 4096), nn.ReLU(),
    nn.Dropout(p=0.5),
    nn.Linear(4096, 1000)
)

4 Reducing Overfitting

4.1 Data Augmentation

Data Augmentation这个章节里,第一段讲了在处理过拟合的时候,最简单和最通用的方式就是进行数据增强,然后采用了两种方式进行增强。第二段讲了AlexNet第一种增强方式,这个模型将256256的图片中随机取224224块来输入中固定大小的图片,并做水平翻转,扩大数据集。第三段讲了AlexNet第二种增强方式,改变训练图片的RGB通道值,对图片的RGB像素进行PCA(主成分分析)。这个方案大约捕捉自然图像的一个重要性质 ,即对象身份不变的照明的强度和颜色的变化。

4.2 Dropout

Dropout这个章节里,讲了AlexNet采用dropout方法,通过设定丢弃率为0.5将矩阵中的单元随机置为0。没又实用dropout,神经网络会很容易过拟合。

5 Details of learning

Details of learning这个章节里,第一段AlexNet使用了SGD算法,他们发现使用权重衰退是一个很重要的模型学习方法,权重衰退减少了模型训练的错误。第二段模型初始化了权重均值为0,标准差为0.01的高斯分布,模型的偏移在第2、4、5的卷积层和全连接层置为1,其它都置为0(后期发现偏移为0也有不错的效果)第三段讲了使用相同学习速度,在整个训练过程中我们手动调整(手动炼丹

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

《ImageNet Classification with Deep Convolutional Neural Networks》——AlexNet论文整理 的相关文章

  • 【卡尔曼滤波】粗略模型和过滤技术在模型不确定情况下的应用研究(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码及文献
  • 用通俗易懂的方式讲解:图解 Transformer 架构

    文章目录 用通俗易懂方式讲解系列 1 导语 2 正文开始 现在我们开始 编码 从宏观视角看自注意力机制 从微观视角看自注意力机制 通过矩阵运算实现自注意力机制
  • 蒙特卡洛在发电系统中的应用(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码实现
  • 基于java的ssh医院在线挂号系统设计与实现

    基于java的ssh医院在线挂号系统设计与实现 I 引言 A 研究背景和动机 基于Java的SSH医院在线挂号系统设计与实现的研究背景和动机 随着信息技术的迅速发展和应用 医院在线挂号系统已成为医院管理的重要组成部分 传统的挂号方式存在许多
  • 让CHAT介绍下V2ray

    CHAT回复 V2Ray是一个网络工具 主要用于科学上网和保护用户的网络安全 它的名字源自Vmess Ray 光线 通过使用新的网络协议 为用户提供稳定且灵活的代理服务 下面是一些V2Ray的主要特性 1 多协议支持 V2Ray 提供了大量
  • 面对AI革新时,Soul App等社交应用的“出圈”解法是什么?

    2023年初 ChatGPT掀开海内外互联网 AI革新 的序幕 公众在惊讶于ChatGPT对于海量信息富有逻辑的整合归纳 帮助大家提升工作及学习效率之余 更为期待的莫过于有一天人工智能的 意识觉醒 十余年前由斯派克 琼斯 Spike Jon
  • 链上繁荣,合作不断,外媒热议波场 TRON 2023 年度成绩

    近日 权威外媒Theblock 美联社和Decrypt等就波场 TRON 2023大事件进行了年度盘点 报道指出 波场TRON网络在2023年取得了一系列的发展和合作 提升了其在Web3领域的地位 其中 波场TRON网络账户数量增加了 54
  • 利用CHAT上传文件的操作

    问CHAT autox js ui 上传框 CHAT回复 上传文件的操作如果是在应用界面中的话 由于Android对于文件权限的限制 你可能不能直接模拟点击选择文件 一般来说有两种常见的解决方案 一种是使用intent来模拟发送一个文件路径
  • 明日 15:00 | NeurIPS 2023 Spotlight 论文

    点击蓝字 关注我们 AI TIME欢迎每一位AI爱好者的加入 哔哩哔哩直播通道 扫码关注AITIME哔哩哔哩官方账号预约直播 1月17日 15 00 16 00 讲者介绍 黄若孜 腾讯AI LAB游戏AI研究员 2020年复旦大学硕士毕业后
  • 如何快速申请GPT账号?

    详情点击链接 如何快速申请GPT账号 一OpenAI 1 最新大模型GPT 4 Turbo 2 最新发布的高级数据分析 AI画图 图像识别 文档API 3 GPT Store 4 从0到1创建自己的GPT应用 5 模型Gemini以及大模型
  • 手把手教你用 Stable Diffusion 写好提示词

    Stable Diffusion 技术把 AI 图像生成提高到了一个全新高度 文生图 Text to image 生成质量很大程度上取决于你的提示词 Prompt 好不好 前面文章写了一篇文章 一份保姆级的 Stable Diffusion
  • 用通俗易懂的方式讲解:使用 LlamaIndex 和 Eleasticsearch 进行大模型 RAG 检索增强生成

    检索增强生成 Retrieval Augmented Generation RAG 是一种结合了检索 Retrieval 和生成 Generation 的技术 它有效地解决了大语言模型 LLM 的一些问题 比如幻觉 知识限制等 随着 RAG
  • 人工智能 AI 如何让我们的生活更加便利

    每个人都可以从新技术中获益 一想到工作或生活更为便利 简捷且拥有更多空余时间 谁会不为之高兴呢 借助人工智能 每天能够多一些空余时间 或丰富自己的业余生活 为培养日常兴趣爱好增添一点便利 从电子阅读器到智能家居 再到植物识别应用和智能室内花
  • AI在保护环境、应对气候变化中的作用

    对于AI生命周期数据领域的全球领导者而言 暂时搁置我们惯常的AI见解和AI生命周期数据内容产出 来认识诸如世界地球日这样的自然环境类活动日 似乎是个奇怪的事情 我们想要知道 数据是否真的会影响我们的地球环境 简而言之 是 确实如此 但作为一
  • 蒙特卡洛在发电系统中的应用(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码实现
  • 史上最全自动驾驶岗位介绍

    作者 自动驾驶转型者 编辑 汽车人 原文链接 https zhuanlan zhihu com p 353480028 点击下方 卡片 关注 自动驾驶之心 公众号 ADAS巨卷干货 即可获取 点击进入 自动驾驶之心 求职交流 技术交流群 本
  • 开始弃用NeRF?为什么Gaussian Splatting在自动驾驶场景如此受欢迎?(浙江大学最新)...

    点击下方 卡片 关注 自动驾驶之心 公众号 ADAS巨卷干货 即可获取 今天自动驾驶之心为大家分享浙大刚刚出炉的3D Gaussian Splatting综述 文章首先回顾了3D Gaussian的原理和应用 借着全面比较了3D GS在静态
  • 15天学会Python深度学习,我是如何办到的?

    陆陆续续有同学向我们咨询 Python编程如何上手 深度学习怎么学习 如果有人能手把手 一对一帮帮我就好了 我们非常理解初学者的茫然和困惑 大量视频 书籍 广告干扰了大家的判断 学习Python和人工智能 成为内行人不难 为此 我们推出了
  • 考虑光伏出力利用率的电动汽车充电站能量调度策略研究(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码 数据
  • 两个月进口猛增10倍,买近百台光刻机,难怪ASML不舍中国市场

    据统计数据显示 2023年11月和12月 中国从荷兰进口的光刻机设备同比猛增10倍 进口金额超过19亿美元 让ASML赚得盆满钵满 ASML早前表示中国客户在2023年订购的光刻机全数交付 2023年11月中国进口的光刻机达到42台 进口金

随机推荐

  • 如何排查工程中的死代码(devops为例)

    前言 死代码 Dead Code 指的是在程序中没有被执行过或者已经不会被执行到的代码 它们可能会导致程序体积变大 影响程序的性能和可维护性 为了减少死代码的存在 我们需要在工程中进行死代码的排查和清理 本文将介绍一些排查工程中死代码的方法
  • Linux中glob()、globfree()、getcwd()函数

    Linux中glob 与globfree 函数 文章目录 一 glob 函数 二 globfree 函数 三 getcwd 函数 四 代码演示 总结 一 glob 函数 glob 函数作用 glob 函数用于文件系统中路径名称的模式匹配 函
  • 一些个人经验

    如果是运行时动态随机生成 dataset splitting training val test 而不是事先生成静态 splitting 就保存一下 splitting indices 后面可能 case study 的时候会用到 数据集足
  • 静态代码块、动态代码块、构造方法

    类与对象 类 描述事物属性和行为 属性 私有化 行为 公开化 对象 就是类的一个具体实例 代码块 静态代码块 发生在创建对象之前 时机 随着类的加载而加载 构造代码块 发生在创建对象之前 类加载之后 构造方法 创建对象 发生在构造代码块之前
  • 6.21.4upload第4关

    trim去空 deldot去点 strrchr strtolower str ireplace 上传htaccess文件再上传webshell jpg文件 更换phpstudy5 2 17版本
  • Docker 容器重命名

    命令 docker rename oldName newName 例子
  • 云计算基础——云存储技术简介

    云存储的种类及其合适的应用 可以把云存储分成块存储与文件存储两类 块存储 快速更改的单一文件系统 针对单一文件大量写的高性能计算 HPC 文件存储 文件及内容搜寻 Tier 2 NAS 多文件大量写入的应用 数据大量读写的应用 多个使用端都
  • GA遗传优化算法(附MATLAB源码)

    优化算法之遗传算法GA 遗传算法 Genetic Algorithm GA 最早是由美国的 John holland提出 主要模拟生物进化论的自然选择和遗传学机理生成计算模型 是一种通过模拟自然进化过程搜索最优解的方法 将问题的求解过程转换
  • 帆软图表下钻后,设置为数据分析模式

    在图表的特效 gt 网络报表中 添加一个op参数 值设置为 公式 view 因为参数会在URL后添加 op view
  • Javaweb开发基本项目结构

    学校里老师都没讲这个 所以浅讲一下 web项目尽量要照这种格式 方便扩展和阅读 比方说这个项目 api层 controller servlet logic层 接口层 此层可以说是最外层 也是与前端直接接触的层 它会直接使用其他层的代码处理数
  • 【Java】算术工具类,精确数学计算

    由于代码较长 可以通过 ctrl F 搜索需要的方法 package com ectit utils import java math BigDecimal author daishixing titile ArithmeticUtils
  • 项目/商务、客户与需求[ZHUAN]

    你得完全了解你所在公司的软硬件实力 明白有那些弱点和特 长 在谈判的时候你得敏锐的分析出客户的想法有那些可能会很难搞又没有多大意义 你得引导客户往本公司擅长的技术上去思考 你得引导客户 而不是只听客户 怎么说你就怎么做
  • How to Relate an SLA Directly to a Case in CRM 2016

    SLAs Service Level Agreements were introduced in Microsoft Dynamics 2013 SP1 6 1 This robust feature lets you manage res
  • Nginx学习研究-Nginx配置详解

    一 Nginx简介 Nginx 是一款轻量级的 Web 服务器 反向代理服务器 及电子邮件 IMAP POP3 代理服务器 它主要有三个作用 分别是Web服务器 反向代理 配置SSL证书 http转发到https 和负载均衡 二 Nginx
  • Qt6 添加 QOpenGLWidget 报错

    添加 QOpenGLWidget 控件后编译报错 undefined reference to imp ZN13QOpenGLWidgetC1EP7QWidget6QFlagsIN2Qt10WindowTypeEE collect2 exe
  • Qt绘图控件QCustomPlot: (一)安装及使用

    一 目录 一 介绍 二 下载及配置环境 三 建立工程 四 基础画图 一 介绍 QCustomPlot是一个Qt c 小控件 用于绘图和数据可视化 它没有其它的依赖关系 并且有很好的帮助文档 这个绘图库专注于制作好看的 高质量的2D绘图 图形
  • vue(五)组件、自定义属性props

    一 组件化开发 组件化开发指的是 根据封装的思想 把页面上可重用的 UI 结构封装为组件 从而方便项目 的开发和维护 vue 是一个支持组件化开发的前端框架 vue 中规定 组件的后缀名是 vue App vue 文件 本质上就是一个 vu
  • 竞速榜实时离线对数方案演进介绍

    一 背景 竞速榜是大促期间各采销群提供的基于京东实时销售数据的排行榜 同样应对大促流量洪峰场景 通过榜单撬动品牌在京东增加资源投入 竞速榜基于用户配置规则进行实时数据计算 榜单排名在大促期间实时变化 相关排名数据在微博 朋友圈广泛传播 相关
  • android 日历开发附源码(附源码)

    这里主要记录一下在编写日历apk过程中一些主要的点 先看下效果图 一 主要功能 1 支持农历 节气 常用节假日 2 使用数据库 设置计划 二 基本结构 我们要实现的日历控件采用GestureDetector构造器 使用OnGestureLi
  • 《ImageNet Classification with Deep Convolutional Neural Networks》——AlexNet论文整理

    题目 ImageNet Classification with Deep Convolutional Neural Networks 简介 AlexNet属于一个更大更深的LeNet 改进有以下三点 增加了dropout层 丢弃层 激活函数