AlexNet网络结构

     

  网络包含8个带权重的层;前5层是卷积层,剩下的3层是全连接层。最后一层全连接层的输出是1000维softmax的输入,softmax会产生1000类标签的分布网络包含8个带权重的层;前5层是卷积层,剩下的3层是全连接层。最后一层全连接层的输出是1000维softmax的输入,softmax会产生1000类标签的分布。

  ●输入层

    输入为224x224x3的三通道RGB图像,为方便后续计算,实际操作中通过padding做预处理,把图像变成227x227x3。

  ●卷积层C1
    该层的处理流程是: 卷积-->ReLU-->池化-->归一化。

    • 卷积,输入是227×227×3,使用96个11×11×3的卷积核在stride=4的情况下,得到的FeatureMap为55×55×96,其中55=(227-11)/4+ 1。
    • ReLU,将卷积层输出的FeatureMap输入到ReLU函数中。
    • 池化,使用3×3步长为2的池化单元(重叠池化,步长小于池化单元的宽度),输出为27×27×96,其中27=(55−3)/2+1。
    • 局部响应归一化,局部响应归一化 ,使用 k=2, n=5, $\alpha=10^{-4}, \beta=0.75$ 进行局部归一化,输出的仍然为 27×27×96, 输出分为两组, 每组的大小为 27×27×48。

  ●卷积层C2
    该层的处理流程是:卷积-->ReLU-->池化-->归一化

    • 卷积,输入是2组27×27×48。使用2组,每组128个尺寸为5×5×48的卷积核,并作了边缘填充padding=2,卷积的步长为1. 则输出的FeatureMap为2组,每组的大小为27×27×128,其中27=(27+2∗2−5)/1+1。
    • ReLU,将卷积层输出的FeatureMap输入到ReLU函数中.
    • 池化运算的尺寸为3×3,步长为2,池化后图像的尺寸为(27−3)/2+1=13(27−3)/2+1=13,输出为13×13×256。
    • 局部响应归一化,局部响应归一化 ,使用 k=2, n=5, $\alpha=10^{-4}, \beta=0.75$ 进行局部归一化,输出的仍然为 13×13×256, 输出分为两组, 每组的大小为 13×13×128。

  ●卷积层C3
    该层的处理流程是: 卷积-->ReLU

    • 卷积,输入是2组13×13×128,使用2组,每组192个尺寸为3×3×128的卷积核,做了边缘填充padding=1,卷积的步长为1.则输出的FeatureMap为13×13×384, 输出分为两组, 每组的大小为13×13×192。
    • ReLU,将卷积层输出的FeatureMap输入到ReLU函数中。

  ●卷积层C4
    该层的处理流程是: 卷积-->ReLU

    • 卷积,输入是13×13×384,分为两组,每组为13×13×192.使用2组,每组192个尺寸为3×3×192的卷积核,做了边缘填充padding=1,卷积的步长为1.则输出的FeatureMap为13×13×384,分为两组,每组为13×13×192。
    • ReLU,将卷积层输出的FeatureMap输入到ReLU函数中。

  ●卷积层C5
    该层处理流程为:卷积-->ReLU-->池化

    • 卷积,输入为13×13×384,分为两组,每组为13×13×192。使用2组,每组为128尺寸为3×3×192的卷积核,做了边缘填充padding=1,卷积的步长为1.则输出的FeatureMap为13×13×256, 输出分为两组, 每组的大小为13×13×128。
    • ReLU,将卷积层输出的FeatureMap输入到ReLU函数中。
    • 池化,池化运算的尺寸为3×3,步长为2,池化后图像的尺寸为 (13−3)/2+1=6,即池化后的输出为6×6×256。

  ●全连接层FC6
    该层的流程为:(卷积)全连接 -->ReLU -->Dropout

    • 卷积->全连接: 输入为6×6×256,该层有4096个卷积核,每个卷积核的大小为6×6×256。由于卷积核的尺寸刚好与待处理特征图(输入)的尺寸相同,即卷积核中的每个系数只与特征图(输入)尺寸的一个像素值相乘,一一对应,因此,该层被称为全连接层。由于卷积核与特征图的尺寸相同,卷积运算后只有一个值,因此,卷积后的像素层尺寸为4096×1×1,即有4096个神经元。
    • ReLU,这4096个运算结果通过ReLU激活函数生成4096个值。
    • Dropout,抑制过拟合,随机的断开某些神经元的连接或者是不激活某些神经元。

  ●全连接层FC7
    流程为:全连接-->ReLU-->Dropout

    • 全连接,输入为4096的向量。
    • ReLU,这4096个运算结果通过ReLU激活函数生成4096个值。
    • Dropout,抑制过拟合,随机的断开某些神经元的连接或者是不激活某些神经元。

  ●输出层

    • 第七层输出的4096个数据与第八层的1000个神经元进行全连接,经过训练后输出1000个float型的值,这就是预测结果。

AlexNet参数数量

  卷积层的参数 = 卷积核的数量 * 卷积核 + 偏置

  • C1: 96个11×11×311×11×3的卷积核,96×11×11×3+96=34848
  • C2: 2组,每组128个5×5×485×5×48的卷积核,(128×5×5×48+128)×2=307456
  • C3: 384个3×3×2563×3×256的卷积核,3×3×256×384+384=885120
  • C4: 2组,每组192个3×3×1923×3×192的卷积核,(3×3×192×192+192)×2=663936
  • C5: 2组,每组128个3×3×1923×3×192的卷积核,(3×3×192×128+128)×2=442624
  • FC6: 4096个6×6×2566×6×256的卷积核,6×6×256×4096+4096=37752832
  • FC7: 4096∗4096+4096=16781312
  • output: 4096∗1000=4096000

Alex网络结构的更多相关文章

  1. 卷积神经网络之AlexNet

    由于受到计算机性能的影响,虽然LeNet在图像分类中取得了较好的成绩,但是并没有引起很多的关注. 知道2012年,Alex等人提出的AlexNet网络在ImageNet大赛上以远超第二名的成绩夺冠,卷 ...

  2. CNN-2: AlexNet 卷积神经网络模型

    1.AlexNet 模型简介 由于受到计算机性能的影响,虽然LeNet在图像分类中取得了较好的成绩,但是并没有引起很多的关注. 知道2012年,Alex等人提出的AlexNet网络在ImageNet大 ...

  3. 深度神经网络结构以及Pre-Training的理解

    Logistic回归.传统多层神经网络 1.1 线性回归.线性神经网络.Logistic/Softmax回归 线性回归是用于数据拟合的常规手段,其任务是优化目标函数:$h(\theta )=\thet ...

  4. 语音激活检测(VAD)--前向神经网络方法(Alex)

    这是学习时的笔记,包含相关资料链接,有的当时没有细看,记录下来在需要的时候回顾. 有些较混乱的部分,后续会再更新. 欢迎感兴趣的小伙伴一起讨论,跪求大神指点~ VAD(ffnn神经网络)-Alex t ...

  5. [NL系列] RNN & LSTM 网络结构及应用

    http://www.jianshu.com/p/f3bde26febed/ 这篇是 The Unreasonable Effectiveness of Recurrent Neural Networ ...

  6. Sparse Filtering 学习笔记(一)网络结构与特征矩阵

      Sparse Filtering 是一个用于提取特征的无监督学习算法,与通常特征学习算法试图建模训练数据的分布的做法不同,Sparse Filtering 直接对训练数据的特征分布进行分析,在所谓 ...

  7. 受限玻尔兹曼机(RBM)学习笔记(二)网络结构

      去年 6 月份写的博文<Yusuke Sugomori 的 C 语言 Deep Learning 程序解读>是囫囵吞枣地读完一个关于 DBN 算法的开源代码后的笔记,当时对其中涉及的算 ...

  8. Gym 100801A Alex Origami Squares (求正方形边长)

    题目:传送门.(需要下载PDF) 题意:给定一个长方形,在长方形内部画三个相同的正方形,问正方形的边长最大是多大. 题解:根据长宽比例可以算出三种情况,如果长比宽大三倍以上,那么正方形边长就是宽:如果 ...

  9. OpenWrt网络结构

    原文链接:http://www.freezhongzi.info/?p=104 OpenWrt网络结构 OpenWrt的网络配置很丰富,在我看来几乎可以完成任何网络结构.下图为一个支持OpenWrt的 ...

随机推荐

  1. [JAVA]关于excel的jxl包的操作-创建sheet

    前言 最近玩的游戏需要记录数据, 手打excel太麻烦了 于是就学了学java的jxl操作.本来记录在有道云笔记就可以的,由于乐于分享的精神 就在博客园造了个号, 之前自己本来有做个人的网站的,奈何网 ...

  2. hg的常用配置

    hg的配置文件分为全局配置和每个Repo自己的配置,Ubuntu系统下全局配置文件是~/.hgrc,Win7系统下是C:\Users\chad\mercurial.ini,各repo的配置文件是$RE ...

  3. SQL语法 - SELECT 语句

    SELECT 语句用于从数据库中选取数据. SQL SELECT 语句 SELECT 语句用于从数据库中选取数据. 结果被存储在一个结果表中,称为结果集. SQL SELECT 语法 SELECT c ...

  4. Android WorkManager使用入门

    WorkManager使用入门 WorkManager提供了任务调度功能,我们可以对工作进行标记或命名. 我们用一个示例来演示如何使用WorkManager.本文使用Kotlin. 入门示例 grad ...

  5. mongodb中时间跟实际时间相差8小时----时区问题

    遇到的问题 参考:mongo中时间跟实际时间相差8小时 Mongo中一个Collection有一个字段用来存放数据的插入时间,但记录的时间比实际时间晚了8小时. 查询得知存储在mongodb中的时间是 ...

  6. Clusternet - 新一代开源多集群管理与应用治理项目

    作者 徐迪,腾讯云容器技术专家. 汝英哲,腾讯云高级产品经理. 摘要 在过去的数年里,云计算领域经历了多次巨大的变革,当前越来越多的组织将应用部署在本地和云上的多个基础设施平台上,这些平台可能是两个公 ...

  7. new[]/delete[]与new/delete区别

    new[]/delete[]与new/delete完全不同-动态对象数组创建通过new[] 完成-动态对象数组的销毁通过delete[]完成-new[]/delete[]能够被重载,进而改变内存管理方 ...

  8. 输入npm install 报错node-sass@4.13.0 postinstall:`node scripts/build.js` Failed at the node-sass@4.13.0

    这个是因为sass安装时获取源的问题,先修改sass安装的源,再运行npm install就成功了 npm config set sass_binary_site=https://npm.taobao ...

  9. 【C#】 堆和栈

    前言 本文主要是讲解C#语言在内存中堆.栈的使用情况,使读者能更好的理解值类型.引用类型以及线程栈.托管堆. 首先感谢原文作者:Matthew Cochran 为我们带来了一篇非常好的文章,并配以大量 ...

  10. mzy,struts学习(三):action中获得servlet中三域一参的三种方法

    package com.mzy.servlet; import java.util.Arrays; import java.util.Map; import javax.servlet.Servlet ...