千家信息网

alexnet网络结构指的是什么

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,小编给大家分享一下alexnet网络结构指的是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!第一层卷积层1,卷积核的数
千家信息网最后更新 2026年11月03日alexnet网络结构指的是什么

小编给大家分享一下alexnet网络结构指的是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

第一层卷积层1,卷积核的数量为96;第二层卷积层2,卷积的个数为256个;第三层卷积3, 输入为第二层的输出,卷积核个数为384;第四层卷积4,输入为第三层的输出,卷积核个数为384;第五层卷积5, 输入为第四层的输出,卷积核个数为256。

本教程操作环境:windows7系统、Dell G3电脑。

AlexNet网络,是2012年ImageNet竞赛冠军获得者Hinton和他的学生Alex Krizhevsky设计的。在那年之后,更多的更深的神经网路被提出,比如优秀的vgg,GoogleLeNet。其官方提供的数据模型,准确率达到57.1%,top 1-5 达到80.2%. 这项对于传统的机器学习分类算法而言,已经相当的出色.

网络结构解析

上图所示是caffe中alexnet的网络结构,采用是两台GPU服务器,所有会看到两个流程图。AlexNet的网络模型解读如下表:

解读如下:

第一层:卷积层1,输入为 224×224×3 224 \times 224 \times 3224×224×3的图像,卷积核的数量为96,论文中两片GPU分别计算48个核; 卷积核的大小为 11×11×3 11 \times 11 \times 311×11×3; stride = 4, stride表示的是步长, pad = 0, 表示不扩充边缘;卷积后的图形大小是怎样的呢?wide = (224 + 2 * padding - kernel_size) / stride + 1 = 54height = (224 + 2 * padding - kernel_size) / stride + 1 = 54dimention = 96然后进行 (Local Response Normalized), 后面跟着池化pool_size = (3, 3), stride = 2, pad = 0 最终获得第一层卷积的feature map最终第一层卷积的输出为第二层:卷积层2, 输入为上一层卷积的feature map, 卷积的个数为256个,论文中的两个GPU分别有128个卷积核。卷积核的大小为:5×5×48 5 \times 5 \times 485×5×48; pad = 2, stride = 1; 然后做 LRN, 最后 max_pooling, pool_size = (3, 3), stride = 2;第三层:卷积3, 输入为第二层的输出,卷积核个数为384, kernel_size = (3×3×256 3 \times 3 \times 2563×3×256), padding = 1, 第三层没有做LRN和Pool第四层:卷积4, 输入为第三层的输出,卷积核个数为384, kernel_size = (3×3 3 \times 33×3), padding = 1, 和第三层一样,没有LRN和Pool第五层:卷积5, 输入为第四层的输出,卷积核个数为256, kernel_size = (3×3 3 \times 33×3), padding = 1。然后直接进行max_pooling, pool_size = (3, 3), stride = 2;第6,7,8层是全连接层,每一层的神经元的个数为4096,最终输出softmax为1000,因为上面介绍过,ImageNet这个比赛的分类个数为1000。全连接层中使用了RELU和Dropout。

用caffe 自带的绘图工具(caffe/python/draw_net.py) 和caffe/models/bvlc_alexnet/目录下面的train_val.prototxt绘制的网络结构图如下图:

python3 draw_net.py --rankdir TB ../models/bvlc_alexnet/train_val.prototxt AlexNet_structure.jpg

算法创新点

(1)成功使用ReLU作为CNN的激活函数,并验证其效果在较深的网络超过了Sigmoid,成功解决了Sigmoid在网络较深时的梯度弥散问题。虽然ReLU激活函数在很久之前就被提出了,但是直到AlexNet的出现才将其发扬光大。

(2)训练时使用Dropout随机忽略一部分神经元,以避免模型过拟合。Dropout虽有单独的论文论述,但是AlexNet将其实用化,通过实践证实了它的效果。在AlexNet中主要是最后几个全连接层使用了Dropout。

(3)在CNN中使用重叠的最大池化。此前CNN中普遍使用平均池化,AlexNet全部使用最大池化,避免平均池化的模糊化效果。并且AlexNet中提出让步长比池化核的尺寸小,这样池化层的输出之间会有重叠和覆盖,提升了特征的丰富性。

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

(5)多GPU训练,可以增大网络训练规模.

(6)百万级ImageNet数据图像输入.在AlexNet用到的Data Augmentation方式有三种:

平移变换(crop);

反射变换(flip);

光照和彩色变换(color jittering):先对图片进行随机平移,然后水平翻转.测试时,先对左上,右上,左下,右下和中间做5次平移变换,然后翻转之后对结果求平均.

归纳总结为:

  1. 使用ReLU激活函数;

  2. 提出Dropout防止过拟合;

  3. 使用数据扩充增强数据集(Data augmentation);

水平翻转图像、随机裁剪、平移变换、颜色变换、光照变换等

  1. 使用多GPU进行训练;

将上层的结果按照通道维度拆分为2份,分别送入2个GPU,如上一层输出的27×27×96的像素层(被分成两组27×27×48的像素层放在两个不同GPU中进行运算);

  1. LRN局部归一化的使用;

  2. 使用重叠池化(3*3的池化核)。

Caffe框架下训练

准备数据集,修改Alexnet网络的train.prototxt,配置solver,deploy.prototxt文件,新建train.sh脚本,即可开始训练。

以上是"alexnet网络结构指的是什么"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

卷积 网络 个数 输出 输入 变换 训练 结构 数据 神经 网络结构 二层 模型 神经元 平移 两个 全连 函数 图像 大小 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 广东万易互联网科技有限公司惠州分公司 互联网金融监管科技数据 互联网科技有限公司经营范围 美国互联网科技巨头监管 腾讯阿里互联网科技 美国互联网科技 为想互联网科技 郑州华宇互联网科技 互联网科技宣传片 佰商互联网科技有限公司 互联网科技素材视频竖屏 北京华百购互联网科技有限公司 青岛科技大学互联网大赛研究生 江阴互联网智能科技产品进口 华夏恒生互联网科技013171 佛山市翊博互联网络科技有限公司 特约风豹互联网科技为什么扣费 上海钢联属于互联网科技股吗 珠海东科互联网科技有限公司 保山互联网科技靠谱吗 湖北九亚互联网络科技有限公司 博彦科技互联网金融 北京互联网科技有限公司 腾讯科技 互联网女皇 兼蜜互联网科技 互联网金融 科技创新 深圳国际航运科技和互联网 杭州壁岐互联网科技有限公司 互联网科技与大数据专业 苏州铭阳互联网科技有限公司
0