抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

AlexNet

论文地址

据说这是大模型的起源与标志

介绍

在图像识别领域,先前的工作使用的数据集都很小,尽管在某些任务中已经达到了人类水平,但是实际情况是非常复杂的,我们需要更大的训练集

为了能从海量的数据中学到东西,模型需要有一个巨大的学习能力。但是由于数据过于庞大,这个任务不能被人力明确定义。对于分类任务,只依靠训练数据是远远不够的,我们还需要有先验知识(prior knowledge)作为补偿。而CNNs(Convolutional neural networks)正好具有这种能力

使用高清图片训练CNNs是非常昂贵的,但更幸运的是,在算力上现在GPU可以加速CNNs的训练,在数据上最近有了大量标签过的训练数据

结构

一共八层

Alex

非线性ReLU

Rectified Linear Units

作者发现使用ReLU会大幅提高训练速度

多GPU训练

单个GPU的显存太小,无法放下训练数据,由于当时显卡具有交火功能,可以直接从另一张卡中读写数据,于是作者将模型平分放在两张卡上

为了减少GPU间通信,模型被设计为好几层,只有在某些层(C3)两张卡才会进行数据通信,其他层的输入只使用当前GPU中上一层的输出,大幅减少了通信次数

LRN

Local Response Normalization

对模型的输出进行归一化,以提高模型泛化的能力

重叠池化

Overlapping Pooling

重叠池化的池化窗口在特征图上滑动时存在重叠部分。通过增加特征冗余性、减少空间信息损失、增强特征不变性、提高尺度不变性和降低特征维度等方式,有助于防止模型在训练过程中发生过拟合现象

第一层

输入224x224 (227x227)RGB图片,输出55x55x96的特征图

第一层是使用一个11x11x3的卷积核,(卷积核中心)每次移动4像素

55 = floor((224-11)/4) + 1

第二层

输入55x55x96,先池化为27 × 27 × 96,再卷积为27x27x256

第二层使用一个3x3的池化窗口,每次移动2像素

27 = floor((55-3)/2) + 1

再使用256种个5x5x48的卷积核卷积,每次移动1像素

第三层

由于两个GPU间有通信,于是输入翻倍了

第四五卷积层

第六七全连接层

全连接层和卷积层的区别

第八输出层

总结

  1. 第一个使用CNNs做高清图像分类任务
  2. 使用多卡GPU加速
  3. 使用ReLU激活函数

评论