1.9.2 用于分类任务的卷积神经网络的最后几层一般是什么层?在最近几年有什么变化

1. 用于分类任务的卷积神经网络的最后几层一般是什么层?

摘要:

前面几层一般是卷积层、池化层。最后基层一般是全连接层。

原因:因为卷积层的特征提取过程是局部的,对于位置不敏感。无法提取同一张图片中不同元素位置之间的关联关系,所以需要一个全局的、位置敏感的特征提取器:全连接层。

全连接层好处:全连接层每个输出分量与所有的输入分量都相连,并且连接权重都是不同的

  • 用于分类任务的卷积神经网络,其前面若干层一般是卷积层、池化层等,但是网络末端一般是几层全连接层。这是因为一方面卷积层具有局部连接、权值共享的特性,其在不同位置采用相同的卷积核进行特征提取的。

  • 问题:也就是说,卷积层的特征提取过程局部的卷积核尺寸一般远小于图片尺寸),且是位置不敏感的。而且,参考文献[22]中的实验表明,即使强迫卷积层学习如何对位置信息进行编码,其效果也不理想。

    因此,如果整个网络全部采用卷积层(包括池化层等),网络也许能知道图片中不同位置有哪些元素(高层语义信息),但无法提取这些元素之间的关联关系(包括空间位置上的相关性、语义信息上的相关性)。而对于分类任务,不仅需要考虑一张图像中的各个元素,还需要考虑它们之间的关联关系(全局信息)。

举例来说,假设要做人脸检测任务,仅仅找出图片上的眼、鼻、口等人脸元素是不够的,它们之间的相对位置关系也非常重要(如果一张图片中人脸的各个器官被随机打乱,我们显然不会认为这还是一张人脸)。

  • 解决:为了提取不同元素之间的关联关系,我们需要一个全局的、位置敏感的特征提取器,而全连接层就是最方便的选择,其每个输出分量与所有的输入分量都相连,并且连接权重都是不同的

    当然,卷积层也不是完全不能对位置信息进行编码,如果使用与输入特征图同样尺寸的卷积核就可以,但这实际上等价于一个全连接层(卷积的输出通道数目对应着全连接层的输出单元个数)。

    从另一方面来理解,多个全连接层组合在一起就是经典的分类模型-多层感知机

    我们可以把卷积神经网络中前面的卷积层看作是为多层感知机提取深层的、非线性特征。从这个角度讲,最后几层也可以接其他的分类模型,如支持向量机等,但这样就脱离了神经网络体系,处理起来不太方便,不利于模型进行端到端的训练和部署。

    相关阅读:支持向量机和感知机有什么关联?

2.在最近几年有什么变化?

最近几年,分类网络在卷积层之后、最后一层之前通常采用全局平均池化

(即卷积层/池化层——全局平均池化——全连接层)

它与全连接层有着相似的效果(可以提取全局信息),并且具有如下优点。

  1. 参数量和计算量大大降低

    假设输入特征图的尺寸为w ×h ,通道数为c全局平均池化输出单元数为k的全连接层
    参数量0cwhk
    计算量cwhcwhk

    对于AlexNet、VGGNet等这种全连接层单元数动辄1024或4096的网络,全局平均池化与普通卷积层的计算量能相差千余倍。

  2. 具有较好的可解释性

    比如,我们可以知道特征图上哪些点对最后的分类贡献最大。

相关阅读:卷积神经网络的基本结构

[22] LIU R, LEHMAN J,MOLINO P, et al. An intriguing failing of convolutional neural networks and the coordconv solution[C]//Advances in Neural Information Processing Systems, 2018: 9605-9616.
[23] LIN M, CHEN Q ,YAN S. Network in network[J]. arXiv preprint arXiv: 1312.4400 , 2013.

参考文献:

《百面深度学习》 诸葛越 江云胜主编

出版社:人民邮电出版社(北京)

ISBN:978-7-115-53097-4

2020年7月第1版(2020年7月北京第二次印刷)

推荐阅读:

//好用小工具↓

分享一个免费的chat工具

分享一个好用的读论文的网站

// 深度学习经典网络↓

LeNet网络(1989年提出,1998年改进)

AlexNet网络(2012年提出)

VGGNet网络(2014年提出)

LeNet、AlexNet、VGGNet总结

GoogLeNet网络(2014年提出)

ResNet网络(2015年提出)

  • 16
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Playmaker是一个非常受欢迎的游戏编程工具,可用于Unity游戏引擎中,其最新版本为Playmaker 1.9.2。该工具采用视觉化编程的方式,使非程序员也能够轻松创建游戏逻辑和行为,从而快速实现游戏开发。 Playmaker 1.9.2的更新主要集中在细节优化和性能提升方面,解决了一些问题,并改进了与Unity最新版本的兼容性。此外,Playmaker 1.9.2还增加了一些新的特性,如新的Action、事件消息、Game Object定位等等,使其更加方便和易用。 新版还优化了流程控制,并带来一个更好的用户界面,新的事件触发方式和Action的多种执行选项,增加了可读性和可维护性。Playmaker 1.9.2还加强了与其他工具的集成功能,比如文本编辑器和代码编辑器,以支持更多的工作流程和技术。 总之,Playmaker 1.9.2是一个高效的、强大的、方便易用的游戏逻辑和行为编辑工具,促进了游戏开发的创造力和生产率。它的用户体验和多样化的特性提升了游戏开发人员的效率,降低了游戏制作的门槛。这是一个值得游戏开发者深入了解的工具。 ### 回答2: Playmaker 1.9.2是一个基于可视化编程的Unity插件,可以帮助开发者大大简化游戏开发过程中的编程工作。与传统的手动编程不同,Playmaker让开发者可以通过在编辑器中拖拽和连接不同的行为来构建游戏逻辑,而不需要写一行代码。这个插件的设计非常的直观和易于学习,不仅适用于经验丰富的开发者,也可以被新手开发者轻松掌握。 Playmaker 1.9.2提供了许多内置组件,例如等待、转换、条件判断等,这些组件可以通过被组合和修改来创建自定义逻辑。这使得开发者可以创建复杂的交互逻辑,包括人物移动、动画切换、AI决策等,从而让游戏更具交互性和可玩性。 除了可视化编程,Playmaker 1.9.2还提供了许多适用于各种游戏类型的功能,例如动画控制器、音效管理器等。此外,Playmaker还可以与其他插件和工具之间无缝地集成,例如新声营造、Cinemachine等,从而使开发者可以在现有工具和流程之间进行无缝切换。 总体来说,Playmaker 1.9.2是一个功能丰富、易于使用的Unity插件,可以让开发者更快地创建丰富、交互性和有趣的游戏。 ### 回答3: playmaker 1.9.2是Unity中的一款非常流行的可视化行为编辑器,专门用于游戏开发。使用Playmaker可以让开发者在Unity编辑器中通过图形化界面轻松地设计和管理游戏中的各种行为和交互,不需要编写任何代码。 Playmaker 1.9.2具有非常强大的功能,支持多种类型的游戏对象和组件,并包含了大量的文档和教程,易于上手。使用Playmaker可以降低游戏开发的难度和学习曲线,从而提高开发效率和质量。 Playmaker本身也有许多扩展和插件,可以进一步增强其功能和可定制性。不仅如此,Playmaker还可以与其他插件和工具集成,例如NGUI,PlayFab和Rewired等,使其更加灵活和适应性。 总之,Playmaker 1.9.2是一款非常强大和易于使用的可视化行为编辑器,可以大大减轻游戏开发者的工作负担,提高开发效率,并使开发者可以更加专注于游戏的创意和设计。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值