AlexNet模型
AlexNet模型
《ImageNet Classification with Deep Convolutional Neural Networks》阅读笔记
一直在使用AlexNet,本来早应该读这篇经典论文了。可能是这篇论文涉及到的理论有点多,解释不是很通俗,有了一段时间的实际经验后读完这篇论文深有感悟。
下面按论文的标题分别记录:
The Dataset
ILSVRC:1000类,每类约1000张图片,大约有120w训练图片,5w张验证图片,15w张测试图片。
AlexNet输入为固定尺寸:256*256,从原始图片进行resize and crop得到。唯一一个预处理是所有图像在进入网络时减去整体均值。
ReLU Nonlinearity
ReLU是一种不饱和非线性函数,相对传统的饱和非线性函数具 有更快的收敛速度,可以加速拟合训练集。Jarrettet用ReLU来阻止过拟合。
Training on Multiple GPUs
使用多个两个GPU是为了解决单个GPU内存限制了网络大小,将 原网络拆成两半,比如说第一层卷积应该输出55×55×96,现拆成两个55×55×48。这里GPU只 在某些层进行互相通信。
Local Response Normalization
论文中提出的LRN属于CROSS_CHANNEL的,作用是模拟生物神经 上的侧抑制( lateral inhibition,或者叫邻近抑制),使相邻神经元的激活值之间产生竞争。因为每个神经元的激活值需要除以相邻神经元的激活值的平方和,因此如果相邻神经元含有较大激活值的话,本身LRN后的激活值 就变小了。
Reducing Overfitting
论文介绍了两种防止过拟合的方法:
1.Data Augmentation
Data Augmentation是通过少量的计算从原始图片变换得到新的训练数据。第一种是随机裁剪,原图256×256,裁剪大小为224×224,由于随机,所以每个epoch中对同一张图片进行了不同的裁剪,理论上相当于扩大数据集32×32×2=2048倍!32是256-224;2是由于水平翻转。
在预测(deploy)阶段,不是随机裁剪,而是固定为图片四个边角,外加中心位置。翻转后进行同样操作,共产生10个patch。
2.Dropout
Dropout是借鉴了多个模型结合的想法,对于一个分类问题,如果有多个训练完备的不同的模型,同时对一个输入做出预测,然后少数服从多数,显然会减小错误率。实际的做法是:每个隐层神经元的输出有0.5的概率置为0,置为0的神经元就不 会参加前向传播和反向更新。这样做的好处是有效防止过拟合,但是缺点是网络收敛需要的迭代次数增加一倍。
Details of learning
batch size=128
momentum=0.9
weight decay=0.0005
initial learining rate=0.01 reduce three times(factor :10)
iter epoch=90
- 1
- 2
- 3
- 4
- 5
The update rule for weight w was
<∂L∂W|wi>Di<∂L∂W|wi>Di为参数对应的梯度,ϵϵ为学习速率。
AlexNet模型的更多相关文章
- AlexNet模型的解析及tensorflow实现
AlexNet是ImageNet LSVRC 2012比赛中分类效果第一的深度神经网络模型,点击链接下载论文http://papers.nips.cc/paper/4824-imagenet-clas ...
- 基于Caffe训练AlexNet模型
数据集 1.准备数据集 1)下载训练和验证图片 ImageNet官网地址:http://www.image-net.org/signup.php?next=download-images (需用邮箱注 ...
- 吴裕雄 python 神经网络——TensorFlow实现AlexNet模型处理手写数字识别MNIST数据集
import tensorflow as tf # 输入数据 from tensorflow.examples.tutorials.mnist import input_data mnist = in ...
- Ubuntu下caffe:用自己的图片训练并测试AlexNet模型
参考博客:https://blog.csdn.net/eereere/article/details/79118645#commentBox 目录 1.准备图片 2. 将 图片路径写入txt 参考 这 ...
- 大话CNN经典模型:AlexNet
2012年,Alex Krizhevsky.Ilya Sutskever在多伦多大学Geoff Hinton的实验室设计出了一个深层的卷积神经网络AlexNet,夺得了2012年ImageNet LS ...
- #Deep Learning回顾#之LeNet、AlexNet、GoogLeNet、VGG、ResNet
CNN的发展史 上一篇回顾讲的是2006年Hinton他们的Science Paper,当时提到,2006年虽然Deep Learning的概念被提出来了,但是学术界的大家还是表示不服.当时有流传的段 ...
- 【深度学习系列】用PaddlePaddle和Tensorflow实现AlexNet
上周我们用PaddlePaddle和Tensorflow实现了图像分类,分别用自己手写的一个简单的CNN网络simple_cnn和LeNet-5的CNN网络识别cifar-10数据集.在上周的实验表现 ...
- TensorFlow实战之实现AlexNet经典卷积神经网络
本文根据最近学习TensorFlow书籍网络文章的情况,特将一些学习心得做了总结,详情如下.如有不当之处,请各位大拿多多指点,在此谢过. 一.AlexNet模型及其基本原理阐述 1.关于AlexNet ...
- 【深度学习系列】用PaddlePaddle和Tensorflow实现经典CNN网络AlexNet
上周我们用PaddlePaddle和Tensorflow实现了图像分类,分别用自己手写的一个简单的CNN网络simple_cnn和LeNet-5的CNN网络识别cifar-10数据集.在上周的实验表现 ...
随机推荐
- sql server 的存储过程
存储过程说白了就是一堆 SQL 的合并.中间加了点逻辑控制. 存储过程运行流程 创建不带参数存储过程 --创建存储过程 if (exists (select * from sys.objects wh ...
- 【JZOJ6350】考试(test)
description analysis 对于\(n=0\)的点,直接模拟就好了 状压\(DP\),设\(f[i][j][S]\)表示到第\(i\)题.连续\(GG\)了\(j\)题.喝的饮料集合为\ ...
- scala中ArrayBuffer简单使用
import scala.collection.mutable.ArrayBuffer /** * 与Array区别: * 1.Array是不可变的,不能直接地对其元素进行删除操作,只能通过重赋值或过 ...
- 校园商铺-4店铺注册功能模块-1Dao层之更新店铺
dao层增加更新店铺的方法 package com.csj2018.o2o.dao; import com.csj2018.o2o.entity.Shop; public interface Shop ...
- QQ空间批量删除说说
按下F12,贴下如下代码 var delay = 1000; function del() { if (document.querySelector(".app_canvas_frame&q ...
- 概率dp的迭代方式小结——zoj3329,hdu4089,hdu4035
在推导期望方程时我们常常会遇到dp[i]和其他项有关联,那么这时候我们就难以按某个顺序进行递推 即难以通过已经确定的项来求出新的项 即未知数的相互关系是循环的 但是我们又可以确定和dp[i]相关联的项 ...
- BZOJ 1037 (ZJOI 2008) 生日聚会
题目描述 今天是hidadz小朋友的生日,她邀请了许多朋友来参加她的生日party. hidadz带着朋友们来到花园中,打算坐成一排玩游戏.为了游戏不至于无聊,就座的方案应满足如下条件: 对于任意连续 ...
- Mybatis笔记 – insert语句中主键的返回
在DBMS中可以使用insert语句显示指定自增主键值,但Mybatis中不可,即使指定了也无效,可以使用特殊的方式返回主键. 一.自增主键返回 mysql自增主键执行insert提交 ...
- npm安装vuex及防止页面刷新数据丢失
npm install vuex 在项目scr目录下新建store文件夹,在store文件夹下新建index.js文件. import Vue from 'vue'; import Vuex from ...
- 我擦,DELPHI写个浏览器竟然这么容易,我只加了3个控件,写了3句代码。