TensorFlow实现AlexNet卷积网络模型

首先,我们先引入一些我们将会用到的库,并定义-些会用到的变量。设置batch size为32,表示每一轮训练的batch中样本的数目为32。不像基于MNIST或Cifar-10数据集的实验采用包含上百样例的 batch,batch size设置为32是因为图片数据比较大(高度和宽度都达到了224,深度达到了3),采用较大的 batch 会导致显存不足的情况。num_batch是batch的数量,由于不涉及真实图片数据的训练,所以这个数据同时也可以作为训练的轮数。
在这里插入图片描述

和 LeNet-5一样,我们定义一个函数inference_op()来实现网络的结构。在函数的一开始,我们定义了存储参数的列表parameters[]。这个列表非常有用,如果我们需要评价模型的反向传播所用的时间,那么需要提供模型参数的值作为梯度下降的依据。AlexNet使用 ReLU作为激活函数,原因就在于 ReLU 激活函数在较深的网络中能够有效地克服sigmoid 存在的梯度消失问题。我们一般会在卷积层之后直接添加一个池化层进行处理,但是AlexNet 在卷积层和池化层之间还加入了一个LRN层。LRN 层是在 AlexNet 中首次被提出并运用。对LRN层的描述最早见于 Alex 那篇用 CNN 参加 ImageNet比赛的论文, Alex 在论文中的解释是:LRN为了模仿生物神经系统的“侧抑制”机制而对局部神经元的活动创建竞争环境,这样做会让其中响应比较大的值变得相对更大,并抑制其他响应较小的神经元,能够进一步增强模型的泛化能力。随后,Alex 在 ImageNet 数据集上分别测试了添加

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值