alexnet

深度学习_经典网络_AlexNet

拈花ヽ惹草 提交于 2020-01-29 08:02:42
一.AlexNet模型介绍 AlexNet是由 A l e x Alex A l e x K r i z h e v s k y Krizhevsky K r i z h e v s k y 提出的首个应用于图像分类的深层卷积神经网络,该网络在2012年ILSVRC(ImageNet Large Scale Visual Recognition Competition)图像分类竞赛中以15.3%的top-5测试错误率赢得第一名。 AlexNet使用GPU代替CPU进行运算,使得在可接受的时间范围内模型结构能够更加复杂, 它的出现证明了深层卷积神经网络在复杂模型下的有效性 ,使CNN在计算机视觉中流行开来,直接或间接地引发了深度学习的热潮。 二.模型结构 如上图所示,除去下采样(池化层)和局部响应规范化操作(Local Responsible Normalization,LRN),AlexNet一共包含8层,前5层由卷积层组成,而剩下的3层为全连接层。网络结构分为上下两层,分别对应两个GPU的操作过程,除了中间某些层(C 3 卷积层和F 6-8 全连接层会有GPU间的交互),其他层两个GPU分别计算结果。最后一层全连接层的输出作为softmax的输入,得到1000个图像分类标签对应的概率值。 除去GPU并行结构的设计 ,AlexNet网络结构和LeNet十分相似。 三

Pytorch常用包

偶尔善良 提交于 2020-01-23 20:14:08
torch:张量的有关运算。如创建、索引、连接、转置、加减乘除、切片等 torch.nn: 包含搭建神经网络层的模块(Modules)和一系列loss函数。如全连接、卷积、BN批处理、dropout、CrossEntryLoss、MSELoss等 torch.nn.functional:常用的激活函数relu、leaky_relu、sigmoid等 torch.autograd:提供Tensor所有操作的自动求导方法 torch.optim:各种参数优化方法,例如SGD、AdaGrad、Adam、RMSProp等 torch.utils.data:用于加载数据 torch.nn.init:可以用它更改nn.Module的默认参数初始化方式 torchvision.datasets:常用数据集。MNIST、COCO、CIFAR10、Imagenet等 torchvision.modules:常用模型。AlexNet、VGG、ResNet、DenseNet等 torchvision.transforms:图片相关处理。裁剪、尺寸缩放、归一化等 -torchvision.utils:将给定的Tensor保存成image文件 来源: CSDN 作者: 立志正常毕业的二狗子 链接: https://blog.csdn.net/qq_43270479/article/details

CNN网络结构的发展:从LeNet到EfficientNet

若如初见. 提交于 2020-01-20 01:18:16
CNN基本部件介绍 1. 局部感受野 在图像中局部像素之间的联系较为紧密,而距离较远的像素联系相对较弱。因此,其实每个神经元没必要对图像全局进行感知,只需要感知局部信息,然后在更高层局部信息综合起来即可得到全局信息。卷积操作即是局部感受野的实现,并且卷积操作因为能够权值共享,所以也减少了参数量。 2. 池化 池化是将输入图像进行缩小,减少像素信息,只保留重要信息,主要是为了减少计算量。主要包括最大池化和均值池化。 3. 激活函数 激活函数的用是用来加入非线性。常见的激活函数有sigmod, tanh, relu,前两者常用在全连接层,relu常见于卷积层 4. 全连接层 全连接层在整个卷积神经网络中起分类器的作用。在全连接层之前需要将之前的输出展平 经典网络结构 1. LeNet5 由两个卷积层,两个池化层,两个全连接层组成。卷积核都是5×5,stride=1,池化层使用maxpooling 2. AlexNet 模型共八层(不算input层),包含五个卷积层、三个全连接层。最后一层使用softmax做分类输出 AlexNet使用了ReLU做激活函数;防止过拟合使用dropout和数据增强;双GPU实现;使用LRN 3. VGG 全部使用3×3卷积核的堆叠,来模拟更大的感受野,并且网络层数更深。VGG有五段卷积,每段卷积后接一层最大池化。卷积核数目逐渐增加。 总结:LRN作用不大

AlexNet 网络详解及Tensorflow实现源码

社会主义新天地 提交于 2020-01-18 02:26:51
版权声明:本文为博主原创文章,未经博主允许不得转载。 1. 图片数据处理 2. 卷积神经网络 2.1. 卷积层 2.2. 池化层 2.3. 全链层 3. AlexNet 4. 用Tensorflow搭建完整的AlexNet 5. 用AlexNet识别猫狗图片 5.1. 定义分类 5.2. 训练网络 5.3. 验证 1. 图片数据处理 一张图片是由一个个像素组成,每个像素的颜色常常用RGB、HSB、CYMK、RGBA等颜色值来表示,每个颜色值的取值范围不一样,但都代表了一个像素点数据信息。对图片的数据处理过程中,RGB使用得最多,RGB表示红绿蓝三通道色,取值范围为0~255,所以一个像素点可以把它看作是一个三维数组,即: array([[[0, 255, 255]]]) ,三个数值分布表示R、G、B(红、绿、蓝)的颜色值。比如下图一张3*3大小的jpg格式的图片: 它的图片经过Tensorflow解码后,数据值输出为 image_path = 'images/image.jpg' filename_queue = tf.train.string_input_producer(tf.train.match_filenames_once(image_path)) image_reader = tf.WholeFileReader() _,image_file = image

A Taxonomy of Deep Convolutional Neural Nets for Computer Vision

霸气de小男生 提交于 2020-01-14 20:01:03
A Taxonomy of Deep Convolutional Neural Nets for Computer Vision 基本信息 摘要 1. Introduction 2. Introduction to Convolutional Neural Networks 2.1. Building Blocks of CNNs 2.1.1. Why Convolutions? 2.1.2. Max-Pooling 2.1.3. Non-Linearity 2.2. Depth 2.3. Learning Algorithm 2.3.1. Gradient-Based Optimization 2.3.2. Dropout 2.4. Tricks to Increase Performance 2.5. Putting It All Together: AlexNet 2.6. Using Pre-Trained CNNs 2.6.1. Fine-Tuning 2.6.2. CNN Activations as Features 2.7. Improving AlexNet 3. CNN Flavors 3.1. Region-Based CNNs 3.2. Fully Convolutional Networks 3.3. Multi-Modal Networks 3.4.

1、VGG16 2、VGG19 3、ResNet50 4、Inception V3 5、Xception介绍——迁移学习

六眼飞鱼酱① 提交于 2020-01-09 18:49:30
ResNet, AlexNet, VGG, Inception: 理解各种各样的CNN架构 本文翻译自 ResNet, AlexNet, VGG, Inception: Understanding various architectures of Convolutional Networks , 原作者保留版权 卷积神经网络在视觉识别任务上的表现令人称奇。好的CNN网络是带有上百万参数和许多隐含层的“庞然怪物”。事实上,一个不好的经验规则是:网络越深,效果越好。AlexNet,VGG,Inception和ResNet是最近一些流行的CNN网络。为什么这些网络表现如此之好?它们是如何设计出来的?为什么它们设计成那样的结构?回答这些问题并不简单,但是这里我们试着去探讨上面的一些问题。网络结构设计是一个复杂的过程,需要花点时间去学习,甚至更长时间去自己动手实验。首先,我们先来讨论一个基本问题: 为什么CNN模型战胜了传统的计算机视觉方法? 图像分类指的是给定一个图片将其分类成预先定义好的几个类别之一。图像分类的传统流程涉及两个模块: 特征提取 和 分类 。 特征提取 指的是从原始像素点中提取更高级的特征,这些特征能捕捉到各个类别间的区别。这种特征提取是使用无监督方式,从像素点中提取信息时没有用到图像的类别标签。常用的传统特征包括GIST, HOG, SIFT, LBP等。特征提取之后

CNN - 卷积神经网络

﹥>﹥吖頭↗ 提交于 2019-12-18 02:47:56
例: 卷积公式: 卷积和卷积没有什么特别的关系,只是计算步骤比较像,成为卷积神经网络名字的由来。 感受野: 单个感觉神经元的感受野是感觉空间的特定区域(如体表或视野),在这个区域内,刺激会改变神经元的放电。 卷积神经网络的感受野 卷积神经网络的基本结构 卷积神经网络的组成部分 卷积层+ReLU(Convolution) 池化层(Pooling) 全连接层(Full-connected) 卷积层 不同过滤器可检测不同特征。 卷积运算(二维): 卷积步长(stride): 滑动滤波器时每次移动的像素点个数 边缘扩充(addpad) : Full: 刚开始相交进行卷积 Same:输入和输出保持不变的卷积 Valid: 在图像内进行卷积 如果我们有一个𝑛×𝑛的图像,使用𝑓×𝑓的卷积核进行卷积操作,在进行卷积操作之前我们在图像周围填充𝑝层数据,步幅为s。输出的维度为: 深度(卷积核个数): 一个卷积层通常包含多个尺寸一致的卷积核 卷积核参数:可以通过训练得出 浅层卷积层:提取的是图像基本特征,如边缘、方向和纹理等特征 深层卷积层:提取的是图像高阶特征,出现了高层语义模式, 如“车轮”、“人脸”等特征 激活函数 Sigmoid激活函数 求导: ReLu激活函数 池化层 池化操作使用某位置相邻输出的总体统计特征作为该位置的输出,常用最大池化(max-pooling)和均值池化(average

论文总结:AlexNet

妖精的绣舞 提交于 2019-12-16 03:37:35
Imagenet-classification-with-deep-convolutional-neural-networks 类别 :对原型系统进行描述。 内容 : 训练了一个当时最大型之一的卷积神经网络,并取得了很好的结果。 编写了高优化的GPU实现2维卷积核其他训练卷积神经网络的固有操作。 网络包含一些新的不常见的特性,提高了性能且减少了训练时间(Section 3)。 使用了一些高效技术防止过拟合(Section4)。 网络架构 : AlexNet采用8层的神经网络,其中包含五个卷积层,其中部分卷积层后面跟着最大池化层,最后跟着三个全连接层(最后一个全连接层的输出是1000维的softmax的输入,softmax会产生1000类标签的分布)。 创新点 : 1、 ReLU Nonlinearity : 相比标准方式使用饱和非线性的激活函数(tanh、sigmoid等),该篇论文使用了非饱和非线性的激活函数ReLU作为CNN的激活函数,在梯度下降训练时间方面,加快了训练速度。 2、 Training on Multiple GPUs: 将网络分布在两个GPU上,利用GPU强大的计算能力,加速神经网络的训练。 3、 Local Response Normalization: 使用局部响应归一化,对局部神经元的活动创建竞争机制,使得其中响应比较大的值变得相对跟大

tensorflow学习笔记——AlexNet

断了今生、忘了曾经 提交于 2019-12-10 16:19:04
  2012年,Alex Krizhevsky、Ilya Sutskever在多伦多大学Geoff Hinton的实验室设计出了一个深层的卷积神经网络AlexNet,夺得了2012年ImageNet LSVRC的冠军,且准确率远超第二名(top5错误率为15.3%,第二名为26.2%),引起了很大的轰动。AlexNet可以说是具有历史意义的一个网络结构,在此之前,深度学习已经沉寂了很长时间,自2012年AlexNet诞生之后,后面的ImageNet冠军都是用卷积神经网络(CNN)来做的,并且层次越来越深,使得CNN成为在图像识别分类的核心算法模型,带来了深度学习的大爆发。   下面首先学习AlexNet网络的创新点,然后在学习AlexNet的网络结构,最后在用代码实现AlexNet。 1,AlexNet网络的创新点   AlexNet将LeNet的思想发扬光大,把CNN的基本原理应用到了很深很宽的网络中。AlexNet主要使用到的新技术点如下:    (1)成功使用ReLU作为CNN的激活函数,并验证其效果在较深的网络超过了Sigmoid,成功解决了Sigmoid在网络较深时的梯度弥散问题。虽然ReLU激活函数在很久之前就被提出了,但直到AlexNet的出现才将其发扬光大。   在最初的感知机模型中,输入和输出的关系如下:   虽然只是单纯的线性关系,这样的网络结构有很大的局限性

tensorflow学习笔记——AlexNet

帅比萌擦擦* 提交于 2019-12-10 10:51:54
1,AlexNet网络的创新点   AlexNet将LeNet的思想发扬光大,把CNN的基本原理应用到了很深很宽的网络中。AlexNet主要使用到的新技术点如下:    (1)成功使用ReLU作为CNN的激活函数,并验证其效果在较深的网络超过了Sigmoid,成功解决了Sigmoid在网络较深时的梯度弥散问题。虽然ReLU激活函数在很久之前就被提出了,但直到AlexNet的出现才将其发扬光大。   在最初的感知机模型中,输入和输出的关系如下:   虽然只是单纯的线性关系,这样的网络结构有很大的局限性:即使用很多这样结构的网络层叠加,其输出和输入仍然是线性关系,无法处理有非线性关系的输入输出。因此,对每个神经元的输出做个非线性的转换也就是,将上面的加权求和的结果输入到一个非线性函数,也就是激活函数中。这样,由于激活函数的引入,多个网络层的叠加就不再是单纯的线性变换,而是具有更强的表现能力。   在网络层较少时,Sigmoid函数的特性能够很好的满足激活函数的作用:它把一个实数压缩至0到1之间,当输入的数字非常大的时候,结果会接近1,;当输入非常大的负数时,则会得到接近0的结果。这种特性,能够很好的模拟神经元在受刺激后,是否被激活向后传递信息(输出为0,几乎不被激活;输出为1,完全被激活)。Sigmoid函数一个很大的问题就是梯度饱和。观察Sigmoid函数的曲线,当输入的数字较大