NIN网络中的网络

是什么

intro

  • LeNet→AlexNet→VGG→NiN→GoogLeNet→ResNet
  • LeNet→AlexNet→VGG
    • 卷积层模块充分抽取空间特征
    • 全连接层输出分类结果
    • AlexNet & VGG 改进在于把两个模块加宽 、加深(加宽指增加通道数,那加深呢?(层数增加叭
  • NiN:串联(多个卷积层和"全连接层"构成的小网络)来构建一个深层网络

网络架构截自原文

input:224 \times 224 \times 3

(说实话,我真的很好奇,它的网络结构,输入,操作,到输出,但既然很多资料都没写,那也许就是不重要叭,大概了解就好了。

如图,是一个NIN的结构,包括3个mplconv层 + 1个全局平均池化层,一个mplconv中是一个3层的感知机(1卷积层+2个全连接层) 作者表示,mpl中感知机层数是可以调整的,同样mlpconv层作为一个微型网络结构,也可以被用在卷积层之间,个数随需调整。

上图的网络架构:

  • NiN = 3 \times mplconv层 + 1 \times GAP全局池化层
  • 1个mplconv层 = 1个微型神经网络 ∴ NiN(网络中的网络)
  • 1个mplconv层 内部由多层感知机实现 = (1个conv + 2个fc层)
  • mpl感知机的层数是可以调整的
  • mlpconv代替了传统的卷积层
  • GAP代替了传统CNN模型中末尾的全连接层

经典网络结构(三):NiN (network in network)

  • NiN 块 是 NiN 中的基础块
    • NIN块=1个卷积层+2个1×1的卷积层
      • 串联而成
      • 每一次卷积之后都会进行非线性激活
    • 第一个卷积层的超参数可以自行设置
    • 第二个和第三个卷积层的超参数是固定的
  • NIN
    • 卷积窗口(有AlexNet的影子)
      • 卷积窗口形状为11×11、5×5、3×3的卷积层、输出通道数与AlexNet一致
      • 每个NIN块后接一个stride=2 pool_size=3×3的最大池化层
    • 去掉了AlexNet最后的3个全连接层
      • 使用了输出通道数=标签类别数的NIN块
      • GAP对每个通道中的元素求平均并直接用于分类 (GAP 全局平均池化 Global Average Pooling)

为什么

公式吧推导,代码吧,可能

怎么实现

是谁

2014年新加坡国立大学(颜水成)
Pytorch之经典神经网络CNN(六)------NiN(Fashion-MNIST)(全局平均池化GAP)(1*1卷积)(mlpconv)(k-fold validation)

在哪儿

2014年ICLR的一篇paper

啥时候

2014年

评价(优点、缺点)

【深度学习】NIN (Network in Network) 网络

改进1

  • 提供了网络层间映射的一种新可能
  • 增加了网络卷积层的非线性能力

改进2

假设分类任务有C个类别。

先前CNN中最后一层为特征图层数(共计N)的全连接层,要映射到C个类别上;

改成全局池化层,最后一层特征图层数(共计C)的全局池化层,恰好对应分类任务的C个类别。

GAP优点

  • 传统CNN结构,卷积以后全连接层,经过softmax输出分类,最后的全连接层有过拟合的风险
  • GAP
    • 最后的特征图层数 = 输出类别数
    • 没有全连接层,需要学习的参数大大减少,避免了FC层过拟合的发生

Summary 两个要点

  • mlpconv = MLP(11的conv) + 2Conv 增加非线性变换,更好的学习局部特征
  • GAP 全局平均池化 防止过拟合
相关推荐
LN花开富贵1 小时前
stm32g431rbt6芯片中VREF+是什么?在电路中怎么设计?
笔记·stm32·单片机·嵌入式硬件·学习
qq21084629531 小时前
【stm32笔记】使用rtt-studio与stm32CubeMx联合创建项目
笔记·stm32·嵌入式硬件
liangbm32 小时前
MATLAB系列07:输入/输入函数
开发语言·数据库·笔记·matlab·函数·自定义函数·matlab函数
酒饮微醉-3 小时前
论文阅读--Planning-oriented Autonomous Driving(一)
论文阅读·笔记·学习·自动驾驶
GoppViper3 小时前
golang学习笔记28——golang中实现多态与面向对象
笔记·后端·学习·golang·多态·面向对象
#include<菜鸡>4 小时前
动手学深度学习(pytorch土堆)-05-1神经网络
pytorch·深度学习·神经网络
Red Red4 小时前
GEO数据库提取疾病样本和正常样本|GEO数据库区分疾病和正常样本|直接用|生物信息|生信
开发语言·数据库·笔记·学习·r语言·c#·生物信息
视觉小鸟4 小时前
【java面试每日五题之基础篇一】(仅个人理解)
java·笔记·面试
985小水博一枚呀8 小时前
【梯度消失|梯度爆炸】Vanishing Gradient|Exploding Gradient——为什么我的卷积神经网络会不好呢?
人工智能·python·深度学习·神经网络·计算机视觉·cnn·numpy
handsome2139 小时前
WSL中使用GPU加速AMBER MD--测试
笔记·学习