前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >14种模型设计帮你改进你的卷积神经网络(CNN)

14种模型设计帮你改进你的卷积神经网络(CNN)

作者头像
两只橙
发布于 2018-04-27 09:21:45
发布于 2018-04-27 09:21:45
1.7K0
举报
文章被收录于专栏:深度学习深度学习

自2011年以来,深度卷积神经网络(CNN)在图像分类的工作中的表现就明显优于人类,它们已经成为在计算机视觉领域的一种标准,如图像分割,对象检测,场景标记,跟踪,文本检测等。

但,想要熟练掌握训练神经网络的能力并不是那么容易。与先前的机器学习思维一样,细节决定成败。但是,训练神经网络有更多的细节需要处理。你的数据和硬件有什么限制?你应该是从何种网络开始?你应该建立多少与卷积层相对的密集层?你的激励函数怎样去设置?即使你使用了最流行的激活函数,你也必须要用常规激活函数。

学习速率是调整神经网络训练最重要的超参数,也是最难优化的参数之一。太小,你可能永远不会得到一个解决方案;太大,你可能刚好错过最优解。如果用自适应的学习速率的方法,这就意味着你要花很多钱在硬件资源上,以此来满足对计算的需求。

设计选择和超参数的设置极大地影响了CNN的训练和性能,但对于深度学习领域新进入者来说,设计架构直觉的培养可能就需要资源的稀缺性和分散性。

《神经网络:权衡技巧》是一本主要着重于实际调优的书,出版于2003年,并在2012年再版。而深度学习的火爆始于2012年《纽约时报》报道的Geoffrey Hinton 的团队在 Merck Drug Discovery Challenge 上的惊人成功。然而,最近几年最先进的研究成果却消失了。

幸运的是,美国海军研究室的研究员 Leslie Smith发表了关于CNN架构改进和技术提升的系统性研究。下面是他所强调的最重要的一些设计模式

一、14种图像分类的CNN设计模式

根据 Smith 的观点,“这14 种原创设计模式可以帮助没有经验的研究者去尝试将深度学习与新应用结合”。尽管高级的AI研究员可以依靠直觉、经验以及针对性的实验,但这些建议对于那些没有机器学习博士学位的人来说是一个很好的起点。

1) 架构遵循应用

你也许会被 Google Brain 或者 Deep Mind 这些有想象力的实验室所发明的那些耀眼的新模型所吸引,但是其中许多要么是不可能实现的,要么是不实用的对于你的需求。或许你应该使用对你的特定应用最有意义的模型,这种模型或许非常简单,但是仍然很强大,例如 VGG。

2) 路径的激增

每年ImageNet Challenge的赢家都比上一年的冠军使用更加深层的网络。从AlexNet 到Inception到Resnets,Smith和他的团队也观察到“网络的路径数量成倍增长”的趋势,而且,ResNet可以是不同长度的网络的指数集合。

3) 追求简约

更大的并不一定是更好的。在名为“Bigger is not necessarily better”的论文中,Springenberg 等人演示了如何用更少的单元实现最先进的结果。

4)增加对称性

无论是在建筑上,还是在生物上,对称性被认为是质量和工艺的标志。Smith 将 FractalNet 的优雅归功于网络的对称性。

5) 金字塔形状

你总是在表征能力和减少冗余或者无用信息之间权衡。CNNs通常会降低激活函数的采样,并会增加从输入层到最终层之间的连接通道。

6) 过渡训练

另一个权衡是训练准确度和泛化能力。用正则化的方法类似 drop-out 或 drop-path进行提升泛化能力,这是神经网络的重要优势。用比实际用例更难的问题训练你的网络,以提高泛化性能。

7) 覆盖问题的空间

为了扩大你的训练数据和提升泛化能力,要使用噪声和人工增加训练集的大小,例如随机旋转、裁剪和一些图像操作。

8) 递增的功能结构

当架构变得成功时,它们会简化每一层的“工作”。在非常深的神经网络中,每个 层只会递增地修改输入。在ResNets中,每一层的输出可能类似于输入。所以,在 实践中,请在ResNet中使用短的跳过长度。

9) 标准化层的输入

标准化是可以使计算层的工作变得更加容易的一条捷径,并且在实际中可以提升训练的准确性。批量标准化的发明者认为标准化发挥作用的原因在于处理内部的协变量,但Smith 认为,“标准化把所有层的输入样本放在了一个平等的基础上(类似于单位转换),这允许反向传播可以更有效地训练”。

10)输入变换

研究表明,在Wide ResNets中,性能随着通道数量的增加而提升,但是要权衡训练成本与准确性。AlexNet,VGG,Inception和ResNets都是在第一层中进行输入变换,以保证多种方式检查输入数据。

11)可用的资源决定层宽度

可供选择的输出数量并不明显,相应的是,这取决于您的硬件功能和所需的准确性。

12)Summation joining

Summation是一种流行的合并分支的方式。在 ResNets 中,使用求和作为连接机制可以让每一个分支都能计算残差和整体近似。如果输入跳跃连接始终存在,那么Summation会让每一层学到正确地东西(例如:输入的差别)。在任何分支都可以被丢弃的网络(例如 FractalNet)中,你应该使用这种方式保持输出的平滑。

13)下采样变换

在汇聚的时候,利用级联连接来增加输出的数量。当使用大于1的步幅时,这会同时处理加入并增加通道的数量。

14)用于竞争的Maxout

Maxout 用在只需要选择一个激活函数的局部竞争网络中。用的方法包含所有的激活函数,不同之处在于 maxout 只选择一个“胜出者”。Maxout 的一个明显的用例是每个分支具有不同大小的内核,而 Maxout 可以尺度不变。

二、提示&技巧

除了这些设计模式,还有几个技巧和诀窍,以减少架构复杂性和培训时间。

1)使用细调过的预训练网络

机器学习公司 Diffbot 的 CEO Mike Tung 说,“如果你的视觉数据和 ImageNet 相似,那么用预训练网络会帮助你学习得更快”。低水平的CNN通常可以被重复使用,因为它们大多能够检测到像线条和边缘这些常见的模式。用你自己的层替换分类层,并且用你特定的数据去训练最后的几个层。

2)使用 freeze-drop-path

Drop-path 会在迭代训练的过程中随机地删除一些分支。Smith 测试了一种相反的方法,被称为 freeze-path,就是一些路径的权重是固定的、不可训练的,而不是整体删除。该网络可能会获得更高的精度,因为下一个分支比以前的分支包含更多的层,并且修正项更容易得到。

3)使用循环的学习率

学习率的实验会消耗大量的时间,并且会让你遇到错误。自适应学习率在计算上可能是非常昂贵的,但是循环学习率不会。使用循环学习率时,你可以设置一组最大最小边界,并且在这个范围改变它。Smith 在论文中提供了计算学习率的最大值和最小值的方法。

4)在有噪声的标签中使用 bootstrapping

在实践中,很多数据都是混乱的,标签都是主观性的或是缺失的,而且目标有可能是从未遇到过的。Reed 等人在文章中描述了一种给网络预测目标注入一致性的方法。直观地讲,这可以实现,通过网络对环境的已知表示(隐含在参数中)来过滤可能具有不一致的训练标签的输入数据,并在训练时清理该数据。

5)用有 Maxout 的 ELUs,而不是 ReLUs

ELUs是 ReLUs 的一个相对平滑的版本,它能加速收敛并提高准确度。研究调查表明,与 ReLUs 不同,ELUs 拥有负值,这就能允许它们以更低的计算复杂度将平均单位激活推向更加接近0的值,就像批量标准化一样。如果您使用具有全连接层的 Maxout,它们是特别有效的。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018.01.14 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
改进卷积神经网络,你需要这14种设计模式
选自Topbots 作者:Mariya Yao 机器之心编译 参与:马亚雄、吴攀 深度学习领域近来已经发展出大量的新架构,而如何选择使用这些新架构提升卷积神经网络的性能就显得越发重要了。机器之心之前报道过提交 ICLR 2017 的论文:解析深度卷积神经网络的14种设计模式也正是关注于此。而本文在描述14种设计模式之余更加注重于阐述构建和训练卷积网络的小技巧。 自从 2011 年深度卷积神经网络(CNN)在图像分类任务中优于人类开始,它们就成为了计算机视觉任务中的行业标准,这些任务包括图像分割、目标检测
机器之心
2018/05/07
7770
改进卷积神经网络,你需要这14种设计模式
推荐|14种模型设计帮你改进你的卷积神经网络(CNN)!
如果你觉得好的话,不妨分享到朋友圈。 摘要: 这14 种原创设计模式可以帮助没有经验的研究者去尝试将深度学习与新应用结合,对于那些没有机器学习博士学位的人来说是一个很好的起点。 自2011年以来,深度卷积神经网络(CNN)在图像分类的工作中的表现就明显优于人类,它们已经成为在计算机视觉领域的一种标准,如图像分割,对象检测,场景标记,跟踪,文本检测等。 但,想要熟练掌握训练神经网络的能力并不是那么容易。与先前的机器学习思维一样,细节决定成败。但是,训练神经网络有更多的细节需要处理。你的数据和硬件有什么限
IT派
2018/03/28
8310
推荐|14种模型设计帮你改进你的卷积神经网络(CNN)!
7大类卷积神经网络(CNN)创新综述
深度卷积神经网络(CNN)是一种特殊类型的神经网络,在各种竞赛基准上表现出了当前最优结果。深度 CNN 架构在挑战性基准任务比赛中实现的高性能表明,创新的架构理念以及参数优化可以提高 CNN 在各种视觉相关任务上的性能。本综述将最近的 CNN 架构创新分为七个不同的类别,分别基于空间利用、深度、多路径、宽度、特征图利用、通道提升和注意力。
小白学视觉
2022/09/28
9200
卷积神经网络(CNN)
在当今数字化时代,图像识别技术已经渗透到我们生活的方方面面,从智能手机上的拍照识别功能到自动驾驶汽车的视觉系统,其背后的核心技术之一就是卷积神经网络(CNN)。CNN 是一种深度学习架构,专为处理具有网格结构的数据(如图像)而设计。它通过模拟人类视觉系统的神经元连接方式,能够自动提取图像的特征,从而实现高效的图像识别。
LucianaiB
2025/01/23
1740
论文学习-系统评估卷积神经网络各项超参数设计的影响-Systematic evaluation of CNN advances on the ImageNet
论文状态:Published in CVIU Volume 161 Issue C, August 2017 论文地址:https://arxiv.org/abs/1606.02228 github地址:https://github.com/ducha-aiki/caffenet-benchmark
李拜六不开鑫
2018/12/12
5040
吴恩达《卷积神经网络》精炼笔记(2)-- 深度卷积模型:案例研究
本文将主要介绍几个典型的CNN案例。通过对具体CNN模型及案例的研究,来帮助我们理解知识并训练实际的模型。
红色石头
2022/01/12
3020
吴恩达《卷积神经网络》精炼笔记(2)-- 深度卷积模型:案例研究
Coursera吴恩达《卷积神经网络》课程笔记(2)-- 深度卷积模型:案例研究
本文介绍了神经网络在计算机视觉领域的应用,包括图像分类、目标检测、语义分割、图像生成和风格迁移、图像压缩和超分辨率、视频处理、三维视觉、计算摄影、迁移学习、数据增强和对抗性学习、计算机视觉与自然语言处理的结合等。同时,本文也介绍了一些常用的神经网络架构和模型,以及开源代码的利用和常见的数据增强方法。
红色石头
2017/12/28
2.4K0
Coursera吴恩达《卷积神经网络》课程笔记(2)-- 深度卷积模型:案例研究
训练神经网络的7个技巧
神经网络模型使用随机梯度下降进行训练,模型权重使用反向传播算法进行更新。通过训练神经网络模型解决的优化问题非常具有挑战性,尽管这些算法在实践中表现出色,但不能保证它们会及时收敛到一个良好的模型。
JOYCE_Leo16
2024/03/19
1250
Squeeze-and-Remember 模块,革新卷积神经网络的特征检测能力 !
卷积神经网络(CNNs)在机器学习领域尤其是图像处理方面实现了革命性的变革。它们的功能核心在于卷积层,这些层从图像中提取出一系列特征,以及全连接层(FC),这些层对特征进行解释以进行分类[1,2]。此外,注意力机制,例如Squeeze-and-Excitation(SE)块[3],也启发了作者提出的块的命名,进一步优化了特征处理,从而提高模型性能。
未来先知
2024/10/21
1190
Squeeze-and-Remember 模块,革新卷积神经网络的特征检测能力 !
卷积神经网络(CNN)在图像识别中的应用与优化
随着计算机与人工智能技术的不断发展,图像识别已经成为一项重要而具有挑战性的任务。卷积神经网络(Convolutional Neural Network,CNN)作为一种深度学习算法,在图像识别领域取得了巨大的成功。本文将详细介绍CNN在图像识别中的应用,并探讨一些优化策略,以提高其性能和效果。
网络技术联盟站
2023/07/04
1.7K0
卷积神经网络(CNN)在图像识别中的应用与优化
秘闻 | 卷积神经网络的那些秘密
卷积神经网络CNN Convolutional Neural Networks是包含卷积计算且具有深度结构的前馈神经网络,是深度学习的代表算法之一。
潘永斌
2019/10/08
8490
秘闻 | 卷积神经网络的那些秘密
大话卷积神经网络CNN(干货满满)
本文创作的主要目的,是对时下最火最流行的深度学习算法的基础知识做一个简介,本人看过许多教程,感觉对小白不是特别友好,尤其是在踩过好多坑之后,于是便有了写这篇文章的想法。
我是管小亮
2020/04/20
8720
7大类卷积神经网络(CNN)创新综述
通过1989年LeCun处理网络状拓扑数据(图像和时间系列数据)的研究,CNN首次受到关注。CNN被视为理解图像内容的最好技术之一,并且在图像识别、分割、检测和检索相关任务上表现出了当前最佳性能。CNN的成功引起了学界外的注意。在产业界,如谷歌、微软、AT&T、NEC和Facebook这样的公司都设立了研究团队来探索CNN的新架构。目前,图像处理竞赛中的大多数领跑者都会采用基于深度CNN等模型。
JOYCE_Leo16
2024/10/25
2840
7大类卷积神经网络(CNN)创新综述
神经网络为何非激活函数不可?
激活函数是神经网络中一个至关重要的概念,决定了某个神经元是否被激活,判断该神经元获得的信息是否有用,并决定该保留还是该去掉此神经元。
AI科技评论
2020/02/21
1.5K0
神经网络为何非激活函数不可?
CNN卷积神经网络 ILSVRC-2012
训练一个庞大的深层卷积神经网络,将ImageNet LSVRC-2010比赛中的120万张1000种不同类别的高分辨率图像进行分类。在测试数据上,top-1和top-5的误差率分别为37.5%和17%,这比以往的先进水平都要好得多。它具有6000万个参数和650,000个神经元,该神经网络由五个卷积层,其中一些有池化层,和三个全连接层且有1000-way的softmax回归模型。使用非饱和神经元和GPU加速加快训练速度,并采用dropout正则化方法来减少全连接层中的过拟合,取得了不错的实验效果。同时,在ILSVRC-2012比赛中加入了该模型的一个变式,以15.3%的top-5误差率胜过第二的26.2%。
Natalia_ljq
2020/06/03
1.4K0
CNN卷积神经网络 ILSVRC-2012
【珍藏】了解CNN这一篇就够了:卷积神经网络技术及发展
【新智元导读】深度学习很火,说起深度学习中一个很重要的概念——卷积神经网络(CNN)似乎也人人皆知。不过,CNN究竟是什么,涉及哪些概念,经过如何发展,真正要有逻辑地归纳一遍,估计不少人都说不清。日前,南洋理工大学研究人员梳理CNN发展历史,从基础组成部分讲起,介绍并探讨CNN在视觉识别方面的原理及应用,是系统深入理解CNN的好文。 Recent Advances in Convolutional Neural Networks 卷积神经网络进展 Jiuxiang Gu, Zhenhua Wang, Jas
新智元
2018/03/23
1.4K0
【珍藏】了解CNN这一篇就够了:卷积神经网络技术及发展
卷积神经网络(CNN)基础介绍
本文是对卷积神经网络的基础进行介绍,主要内容包括卷积神经网络概念、卷积神经网络结构、卷积神经网络求解、卷积神经网络LeNet-5结构分析、卷积神经网络注意事项。
全栈程序员站长
2022/07/22
2K0
卷积神经网络(CNN)基础介绍
想入门设计卷积神经网络?这是一份综合设计指南
作者:George Seif 机器之心编译 参与:Nurhachu Null、刘晓坤 这篇文章可以作为一个设计指南,为特定分类任务的 CNN 设计提供指导。作者围绕准确率、速度、内存消耗三个指标的权衡,从网络类型、架构设计、数据处理和迁移学习等方面介绍了 CNN 设计过程中使用的方法。 你想开始做图像分类,但是无从着手。应该使用哪个预训练网络?如何修改网络以使其满足需求?你的网络应该包含 20 层还是 100 层?哪些是最快的、最准确的?这些是你为图像分类选择最好的 CNN 时会遇到的众多问题。 当选择
机器之心
2018/06/12
3610
深度学习中的卷积神经网络(CNN):从基础到应用
文章链接:https://cloud.tencent.com/developer/article/2475606
远方2.0
2024/12/10
8590
深度学习中的卷积神经网络(CNN):从基础到应用
关于神经网络,这里有你想要了解的一切!
随着神经网络的发展,很多过去曾被认为是难以完成的任务现在已经可以完成了例如图像识别、语音识别,在数据集中发现更深的关系等已经变得更加容易了。所以我们应该衷心感谢这一领域的杰出研究人员,他们的发现帮助我们发挥了神经网络的真正力量。
用户3578099
2019/08/16
5510
推荐阅读
相关推荐
改进卷积神经网络,你需要这14种设计模式
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文