论文链接:https://papers.nips.cc/paper/2012/file/c399862d3b9d6b76c8436e924a68c45b-Paper.pdf

Q1:解决了什么?

  1. 目前主要利用机器学习来解决目标识别任务;

    机器学习可以通过“扩充数据集”、“强化训练模型”、“充实预防过拟合的手段”等多种技巧去提高训练性能。

  2. 之前机器学习所使用的数据集太小,只能完成简单的识别任务,但是实际场景中识别任务要复杂得多,因此需要更加大型的数据集去训练;

  3. 直到最近出现了符合条件的大型数据集(如LabelMe、ImageNet),但是之前的方法都是针对小型数据集的,因此需要更加强大的方法模型来训练大型数据集;

    于是,CNN模型闪亮登场!

  4. 本文提出的AlexNet模型,正是对传统CNN进行改善来训练大型数据集ImageNet,实现将 ImageNet LSVRC-2010 竞赛中的120万张高分辨率图像分为1000个不同的类别,使得深度学习开始在各个领域大显身手,为后续优秀的网络的提出奠定基础(后面的ImageNet冠军都是用CNN来做的)。

Q2:怎么解决的?

1、网络结构

  1. 5层卷积层+3层全连接层:

    • 第2、4、5层卷积层中的内核仅连接到前一层中位于同于同一GPU上的特征图;
    • 第3层卷积层中的内核与前一层中所有的特征图相连接。
  2. 各卷积层的完整操作:
    • 第1层、第2层卷积层的完整操作:Conv→LRN→MaxPooling→ReLU;
    • 第3层、第4层卷积层的完整操作:Conv→ReLU;
    • 第5层卷积层的完整操作:Conv→MaxPooling→ReLU。

2、创新点

1)非饱和激活函数

使用了非饱和激活函数ReLU,有效防止了梯度消失。

关于非饱和激活函数的解释:https://blog.csdn.net/qq_40824311/article/details/103017760

2)多个GPU并行训练

采用了2块GPU进行训练,每个GPU负责一半的神经元,2个GPU只在第3层卷积层进行通信。有效降低了top-1 error和top-5 error。

3)LRN(局部响应标准化)

采用了LRN(局部相应标准化),使AlexNet的top-1和top-5错误率分别降低了1.4%和1.2%;


局部响应标准化:有助于提升AlexNet的泛化能力,这种方法受真实神经侧抑制(later inhibition)的启发。

侧抑制:一个细胞分化为不同细胞时,它会对周围的细胞产生抑制信号,组织它们向相同方向分化,最终表现为细胞分化命运的不同。

LRN对局部神经元的活动创建竞争机制,使得响应较大的值变得相对更大,并抑制其他反馈较小的神经元,增强了模型的泛化能力。

LRN公式:$b_{x,y}{i}={a_{x,y}{i}}/{(k+\alpha\sum_{j=max(0,i-n/2)}{min(N-1,i+n/2)}(a_{x,y}{j}){2}){\beta}} $

注:\(a_{x,y}^{i}\)表示第i个通道第x行,第y列对应像素的具体值

4)带重叠的池化

采用了“带重叠的池化(overlapping pooling)”(即令池化步长<池化窗口边长),不易产生过拟合。

5)数据集增强

利用“图片平移&水平翻转”和“改变RGB色差”,实现数据集增强。

6)引入“Dropout失活”

利用dropout(失活率=0.5),有效预防了过拟合。

Dropout介绍:https://www.jianshu.com/p/21d4c64fb8b5

AlexNet论文总结的更多相关文章

  1. < AlexNet - 论文研读个人笔记 >

    Alexnet - 论文研读个人笔记 一.论文架构 摘要: 简要说明了获得成绩.网络架构.技巧特点 1.introduction 领域方向概述 前人模型成绩 本文具体贡献 2.The Dataset ...

  2. 【分类】AlexNet论文总结

    目录 0. 论文链接 1. 概述 2. 对数据集的处理 3. 网络模型 3.1 ReLU Nonlinearity 3.2 Training on multiple GPUs 3.3 Local Re ...

  3. AlexNet—论文分析及复现

    AlexNet卷积神经网络是由Alex Krizhevsky等人在2012年的ImagNet图像识别大赛获得冠军的一个卷积神经网络,该网络放到现在相对简单,但也是深度学习不错的卷积神经网络.论文:&l ...

  4. AlexNet论文翻译-ImageNet Classification with Deep Convolutional Neural Networks

    ImageNet Classification with Deep Convolutional Neural Networks 深度卷积神经网络的ImageNet分类 Alex Krizhevsky ...

  5. 【深度学习 论文篇 01-1 】AlexNet论文翻译

    前言:本文是我对照原论文逐字逐句翻译而来,英文水平有限,不影响阅读即可.翻译论文的确能很大程度加深我们对文章的理解,但太过耗时,不建议采用.我翻译的另一个目的就是想重拾英文,所以就硬着头皮啃了.本文只 ...

  6. tensorflow学习笔记——AlexNet

    1,AlexNet网络的创新点 AlexNet将LeNet的思想发扬光大,把CNN的基本原理应用到了很深很宽的网络中.AlexNet主要使用到的新技术点如下: (1)成功使用ReLU作为CNN的激活函 ...

  7. 从AlexNet(2012)开始

    目录 写在前面 网络结构 创新点 其他有意思的点 参考 博客:blog.shinelee.me | 博客园 | CSDN 写在前面 本文重点在于回顾深度神经网络在CV领域的First Blood--A ...

  8. 四大网络之Alexnet

       本文主要介绍AlextNet的一些知识,这些知识经常被忽略 一.AlextNet的创新点 (1)成功使用ReLU作为CNN的激活函数,并验证其效果在较深的网络超过了Sigmoid,成功解决了Si ...

  9. 深入理解AlexNet网络

    原文地址:https://blog.csdn.net/luoluonuoyasuolong/article/details/81750190 AlexNet论文:<ImageNet Classi ...

随机推荐

  1. 使用 Java 和 Maven (JBake) 生成静态网站

    使用 JBake("mvn generate-resources")构建您的静态网站或博客.使用布局.宏和数据文件. 我们迁移了整个www.optaplanner.org网站(13 ...

  2. "Shortest" pair of paths[题解]

    "Shortest" pair of paths 题目大意 给出 \(n\) 个点,\(m\) 条边,除第一个点和最后一个点外,其他所有的点都只能被经过一次,要求找到两条从第一个点 ...

  3. C语言:随机数

    在实际编程中,我们经常需要生成随机数,例如,贪吃蛇游戏中在随机的位置出现食物,扑克牌游戏中随机发牌.在C语言中,我们一般使用 <stdlib.h> 头文件中的 rand() 函数来生成随机 ...

  4. IDEA 生成类注释和方法注释

    目录 一.生成类注释-01 1.1.生成类注解模板 1.2.把模板设置到IDEA中 1.3.效果图 二.生成类注释-02 2.1.生成类注释模板 2.2.把模板设置到IDEA中 2.3.效果图 2.4 ...

  5. 【LeetCode】28. 实现 strStr()

    28. 实现 strStr() 知识点:字符串:KMP算法 题目描述 实现 strStr() 函数. 给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 ne ...

  6. sync/fsync/fdatasync的简单比较

    此文主要转载自 http://blog.csdn.net/zbszhangbosen/article/details/7956558 官网上有关于MySQL的flush method的设置参数说明,但 ...

  7. P7473 [NOI Online 2021 入门组] 重力球

    P7473 [NOI Online 2021 入门组] 重力球 题意 给你一个正方形平面,某些位置有障碍,对于平面上两个球,每次你可以改变重力方向使两个球下落到最底端,求使两个球位置重合的最小改变重力 ...

  8. 自动化测试(1)selenium+python+chrome 连接测试

    环境准备: python版本:3.8.4 开发工具:pycharm 使用chrome和对应的webdriver http://npm.taobao.org/mirrors/chromedriver/ ...

  9. 用Pygal画一个英雄能力的图

    效果图: 这是在google浏览器下打开的html. play.py #!/usr/bin/env python # _*_ coding: UTF-8 _*_ """= ...

  10. 第九篇 -- cpu的学习

    CPU的核数关系: 总核数 = 物理CPU个数 X 每颗物理CPU的核数 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数 Linux中查看CPU数: # 查看物理CPU个数 ...