深度学习之卷积神经网络 AlexNet
AlexNet 是 2012年ILSVRC 比赛冠军,远超第二名的CNN,比LeNet更深,用多层小卷积叠加来替换单个的大卷积,结构如下图所示。
结构
预处理
原始图片:256∗256∗3256*256*3256∗256∗3
图像处理:
- 1.随机的剪切,将 256∗256256*256256∗256 的图片剪切成为 224∗224224*224224∗224 的图片
- 2.对 224∗224224*224224∗224 的图像做了一些旋转和位置变换
- 3.对 224∗224224*224224∗224 的图像做了一个图像大小的扩大,变成 227∗227227*227227∗227 的图片
备注:实际输入AlexNet网络的图片是一个 227∗227∗3227*227*3227∗227∗3 的图片信息
激励函数:论文中是:sigmoid,但是实际比赛的时候,使用的是ReLU
总参数量:60956032
L0:输入层
- input:227∗227∗3227*227*3227∗227∗3
- output:227∗227∗3227*227*3227∗227∗3
L1 卷积+激励
- input:227∗227∗3227*227*3227∗227∗3
- filter:3∗11∗113*11*113∗11∗11
- stripe:444
- padding:000
- filter size/depth:48∗248*248∗2
- output:55∗55∗48∗255*55*48*255∗55∗48∗2
- 神经元数目:55∗55∗48∗255*55*48*255∗55∗48∗2
- 参数个数:(3∗11∗11+1)∗48∗2=34944(3*11*11+1)*48*2=34944(3∗11∗11+1)∗48∗2=34944
- 连接方式:
- 使用双GPU来进行卷积操作,这个卷积操作和普通卷积一样
- 两个GPU并行的进行卷积操作,每个GPU只负责其中48个卷积核的计算
- 效果:可以并行的计算模型,模型执行效率可以得到提升,并且将GPU之间的通信放到网络结构偏后的位置,可以降低信号传输的损耗"
L2 最大池化
- input:55∗55∗48∗255*55*48*255∗55∗48∗2
- filter:3∗33*33∗3
- stripe:222
- padding:000
- output:27∗27∗48∗227*27*48*227∗27∗48∗2
- 参数个数:000
L3 卷积+激励
- input:27∗27∗48∗227*27*48*227∗27∗48∗2
- filter:5∗5∗485*5*485∗5∗48
- stripe:111
- padding:222 上下左右各加2个像素
- filter size/depth:128∗2128*2128∗2
- output:27∗27∗128∗227*27*128*227∗27∗128∗2
- 神经元数目:27∗27∗128∗227*27*128*227∗27∗128∗2
- 参数个数:(5∗5∗48+1)∗128∗2=307456(5*5*48+1)*128*2=307456(5∗5∗48+1)∗128∗2=307456
- 连接方式:各个GPU中对应各自的48个feature map进行卷积过程,和普通卷积一样
L4 最大池化
- input:27∗27∗128∗227*27*128*227∗27∗128∗2
- filter:3∗33*33∗3
- stripe:222
- padding:000
- output:13∗13∗128∗213*13*128*213∗13∗128∗2
- 参数个数:000
L5 卷积+激励
- input:13∗13∗128∗213*13*128*213∗13∗128∗2
- filter:3∗3∗2563*3*2563∗3∗256
- stripe:111
- padding:222
- filter size/depth:192∗2192*2192∗2
- output:13∗13∗192∗213*13*192*213∗13∗192∗2
- 神经元数目:13∗13∗192∗213*13*192*213∗13∗192∗2
- 参数个数:(3∗3∗256+1)∗192∗2=885120(3*3*256+1)*192*2=885120(3∗3∗256+1)∗192∗2=885120
- 连接方式:将两个GPU中的256个feature map一起做卷积过程
L6 卷积+激励
- input:13∗13∗192∗213*13*192*213∗13∗192∗2
- filter:3∗3∗1923*3*1923∗3∗192
- stripe:111
- padding:222
- filter size/depth:192∗2192*2192∗2
- output:13∗13∗192∗213*13*192*213∗13∗192∗2
- 神经元数目:13∗13∗192∗213*13*192*213∗13∗192∗2
- 参数个数:(3∗3∗192+1)∗192∗2=663936(3*3*192+1)*192*2=663936(3∗3∗192+1)∗192∗2=663936
- 连接方式:各个GPU中对应各自的48个feature map进行卷积过程,和普通卷积一样
L7 卷积+激励
- input:13∗13∗192∗213*13*192*213∗13∗192∗2
- filter:3∗3∗1923*3*1923∗3∗192
- stripe:111
- padding:222
- filter size/depth:128∗2128*2128∗2
- output:13∗13∗128∗213*13*128*213∗13∗128∗2
- 神经元数目:13∗13∗128∗213*13*128*213∗13∗128∗2
- 参数个数:(3∗3∗192+1)∗128∗2=442624(3*3*192+1)*128*2=442624(3∗3∗192+1)∗128∗2=442624
- 连接方式:各个GPU中对应各自的48个feature map进行卷积过程,和普通卷积一样
L8 最大池化
- input:13∗13∗128∗213*13*128*213∗13∗128∗2
- filter:3∗33*33∗3
- stripe:222
- padding:000
- output:6∗6∗128∗26*6*128*26∗6∗128∗2
- 参数个数:000
L9 全连接+激励
- input:921692169216
- output:2048∗22048*22048∗2
- 参数个数:9216∗2048∗2=377487369216*2048*2=377487369216∗2048∗2=37748736
L10 全连接+激励
- input:409640964096
- output:2048∗22048*22048∗2
- 参数个数:4096∗4096=167772164096*4096=167772164096∗4096=16777216
L11 全连接+激励
- input:409640964096
- output:100010001000
- 参数个数:4096∗1000=40960004096*1000=40960004096∗1000=4096000
AlexNet结构优化
非线性激活函数:ReLU
使用Max Pooling,并且提出池化核和步长,使池化核之间存在重叠,提升了特征的丰富性。
防止过拟合的方法:Dropout,Data augmentation(数据增强)
大数据训练:百万级ImageNet图像数据
GPU实现:在每个GPU中放置一半核(或神经元),还有一个额外的技巧:GPU间的通讯只在某些层进行。
LRN归一化:对局部神经元的活动创建了竞争机制,使得其中响应比较大的值变得相对更大,并抑制其它反馈较小的神经元,增强了模型的泛化能力。本质上,LRN是仿造生物学上活跃的神经元对于相邻神经元的抑制现象(侧抑制)
在AlexNet引入了一种特殊的网络层次,即:Local Response Normalization(LRN, 局部响应归一化),主要是对ReLU激活函数的输出进行局部归一化操作,公式如下:
其中a表示第i个卷积核在(x,y)坐标位置经过激活函数的输出值,这个式子的含义就是输出一个值和它前后的n个值做标准化。k、n、α、β是超参数,在AlexNet网络中分别为:2、5、10^-4、0.75,N为卷积核总数。
深度学习之卷积神经网络 AlexNet相关推荐
- 机器学习——深度学习之卷积神经网络(CNN)——AlexNet卷积神经网络结构
目录 一.AlexNet卷积神经网络结构模型 1.数据库ImageNet 2.AlexNet第一层卷积层 二.AlexNet卷积神经网络的改进 1.非线性变化函数的改变--ReLU 2.最大池化(Ma ...
- 深度学习~卷积神经网络(CNN)概述
目录 1. 卷积神经网络的形成和演变 1.1 卷积神经网络结构 1.2 卷积神经网络的应用和影响 1.3 卷积神经网络的缺陷和视图 1.3.1 缺陷:可能错分 1.3.2 解决方法:视图 ...
- 深度学习之卷积神经网络(12)深度残差网络
深度学习之卷积神经网络(12)深度残差网络 ResNet原理 ResBlock实现 AlexNet.VGG.GoogleLeNet等网络模型的出现将神经网络的法阵带入了几十层的阶段,研究人员发现网络的 ...
- 解析深度学习:卷积神经网络原理与视觉实践
解析深度学习:卷积神经网络原理与视觉实践 魏秀参 著 ISBN:9787121345289 包装:平装 开本:16开 正文语种:中文 出版社: 电子工业出版社 出版时间:2018-11-01
- 【深度学习】卷积神经网络实现图像多分类的探索
[深度学习]卷积神经网络实现图像多分类的探索 文章目录 1 数字图像解释 2 cifar10数据集踩坑 3 Keras代码实现流程 3.1 导入数据 3.2 浅层CNN 3.3 深层CNN 3.4 进 ...
- 【深度学习】卷积神经网络速成
[深度学习]卷积神经网络速成 文章目录 [深度学习]卷积神经网络速成 1 概述 2 组成 2.1 卷积层 2.2 池化层 2.3 全连接层 3 一个案例 4 详细分析 1 概述 前馈神经网络(feed ...
- 深度学习之卷积神经网络(13)DenseNet
深度学习之卷积神经网络(13)DenseNet Skip Connection的思想在ResNet上面获得了巨大的成功,研究人员开始尝试不同的Skip Connection方案,其中比较流行的就是D ...
- 深度学习之卷积神经网络(11)卷积层变种
深度学习之卷积神经网络(11)卷积层变种 1. 空洞卷积 2. 转置卷积 矩阵角度 转置卷积实现 3. 分离卷积 卷积神经网络的研究产生了各种各样优秀的网络模型,还提出了各种卷积层的变种,本节将重点介 ...
- 深度学习之卷积神经网络(10)CIFAR10与VGG13实战
深度学习之卷积神经网络(10)CIFAR10与VGG13实战 MNIST是机器学习最常用的数据集之一,但由于手写数字图片非常简单,并且MNIST数据集只保存了图片灰度信息,并不适合输入设计为RGB三通 ...
最新文章
- wordpress主题
- python组件的react实现_React-Router动态路由设计最佳实践
- Android Studio自定义视图无法预览
- Linux CentOS7 rsync通过服务同步、linux系统日志、screen工具
- 2021年宝鸡中学高考成绩查询,宝鸡各高中2020年高考喜报成绩一览
- C++STL的stack容器
- MOSS站点的FORM认证修改小结
- 内存heap_哪个内存更快?Heap或ByteBuffer或Direct?
- 前端学习(1977)vue之电商管理系统电商系统之按钮与文本框的切换
- 用pythone画棵圣诞树,祝大家圣诞快乐
- 腾讯视频云支持超300万场次直播带货 助力企业一天搭建直播间
- 【vlan-给予mac地址认证】
- Airflow 中文文档:管理连接
- linux c++ 实现http请求
- python获取同音字
- python3.7.2安装步骤-python安装升级详细步骤 Python2 升级 Python3
- Mysql自动设置时间(自动获取时间,填充时间)
- Azure CLI 简单入门
- Python雷电小游戏、战机小游戏源代码源程序
- 三年建模师告诉你3DMAX有没有前途
热门文章
- springboot 系列技术教程目录
- 为什么 那么多 前端开发者都想学 Vue.js
- 一行代码 实现集合去重
- 解决:If the number of processors is expected to increase from one, then you should configure the numbe
- 解决报错: No candidates found for method call XXXX (方法没有调用者)
- js 弹窗并定时关闭
- 网络性能测试工具iperf详细使用图文教程【转载】
- mysql 备份脚本
- 把base64转为blob
- Sublime Text3使用Package Control 报错There Are No Packages Available For Installation