热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

影响网络模型性能的主要因素

在上一节中讲到,从AlexNet到VGG的过程可以看出,深度增加确实对模型的性能有较大的提升。但是,在其过程中VGG随着网络模型深度的增加

    在上一节中讲到,从AlexNet到VGG的过程可以看出,深度增加确实对模型的性能有较大的提升。但是,在其过程中VGG随着网络模型深度的增加准确度反而降低,这就说明,模型性能的影响因子不可能只来自于网络的深度。也就是说,并不是网络深度越深模型的性能就越好,当网络深度达到临界状态时,再盲目加大模型的深度,模型性能反而会降低。那影响模型性能的主要因素有哪些呢?主要有5个因素,如下所示:

  1. 网络深度;
  2. 学习率的设计策略;
  3. 最优化方法;
  4. 卷积核的设置;
  5. 其他因素;

1、网络深度

    网络深度上文已经讲过,不再赘述。

2、学习率的设计策略

    学习率主要是控制模型的学习进度或是速度。学习速率是指导我们该如何通过损失函数的梯度调整网络权重的超参数。学习率越高,损失函数的变化速度就越快,反之亦然。
    需要指出的是高学习率会使损失函数变化加快,但是往往得不到最优解,即在最优解附近来回震荡且震荡幅度较大。但是,使用低学习率可以确保我们不会错过任何局部极小值,同样也意味着我们将花费更长的时间来进行收敛,特别是在被困在高原区域的情况下。此时学习率的设计策略就变得尤为重要。
    学习率的主要策略有Step、Exp、Inv、Multistep、Poly、Sigmoid等,其中效果一般最好的是Step和Multistep,Inv效果比较差。学习率的大小一般设置在0.01 ~ 0.001。当然,不同的模型对学习率的策略与大小要求不同,这个需要开发者自己尝试。

3、最优化方法

    最优化问题在机器学习/深度学习中是经常遇到的问题,也是很重要的一个问题。学习算法的本质都是建立优化模型,通过最优化方法对目标函数(或损失函数)进行优化,从而训练出最好的模型。常见的最优化方法主要有Adam、RMS(均方根)prop、AdaDelta、Adagrad、Momentum、SGD等。最优化方法的选择可以注意以下几点:

  1. 对于稀疏数据,尽量使用学习率可自适应的优化方法,不用手动调节,而且最好采用默认值;
  2. SGD通常训练时间更长,但是在好的初始化和学习率调度方案的情况下,结果更可靠;
  3. 如果在意更快的收敛,并且需要训练较深较复杂的网络时,推荐使用学习率自适应的优化方法;
  4. Adadelta,RMSprop,Adam是比较相近的算法,在相似的情况下表现差不多;
  5. 在想使用带动量的RMSprop,或者Adam的地方,大多可以使用Nadam取得更好的效果。

4、卷积核的设置

    卷积核的大小、步长、padding等都会影响感受野的大小,也影响feature map的尺寸,这对特征的学习尤为重要。卷积核最常见的大小就是3x3和5x5,其他的相对应用较少。
    值得注意的是,选择卷积核大小的原则是小而深,这样其可以达到大的卷积核的效果,但参数会减少,而且会有更好的泛化能力。为了加快速度,常常把卷积核裁开,比如一个3x3的卷积核,可以裁成一个3x1和1x3的卷积核(通过矩阵乘法得知),分别对原有输入做卷积运算,这样可以大大提升运算的速度。

5、其他因素

    其他因素主要是正则化因子、BN层的设置、激活函数的设置、网络的宽度、数据的数量质量与均衡性、网络结构的设计等等。


推荐阅读
  • 在2019中国国际智能产业博览会上,百度董事长兼CEO李彦宏强调,人工智能应务实推进其在各行业的应用。随后,在“ABC SUMMIT 2019百度云智峰会”上,百度展示了通过“云+AI”推动AI工业化和产业智能化的最新成果。 ... [详细]
  • 非计算机专业的朋友如何拿下多个Offer
    大家好,我是归辰。秋招结束后,我已顺利入职,并应公子龙的邀请,分享一些秋招面试的心得体会,希望能帮助到学弟学妹们,让他们在未来的面试中更加顺利。 ... [详细]
  • 本文节选自《NLTK基础教程——用NLTK和Python库构建机器学习应用》一书的第1章第1.2节,作者Nitin Hardeniya。本文将带领读者快速了解Python的基础知识,为后续的机器学习应用打下坚实的基础。 ... [详细]
  • Python 数据可视化实战指南
    本文详细介绍如何使用 Python 进行数据可视化,涵盖从环境搭建到具体实例的全过程。 ... [详细]
  • 在机器学习领域,深入探讨了概率论与数理统计的基础知识,特别是这些理论在数据挖掘中的应用。文章重点分析了偏差(Bias)与方差(Variance)之间的平衡问题,强调了方差反映了不同训练模型之间的差异,例如在K折交叉验证中,不同模型之间的性能差异显著。此外,还讨论了如何通过优化模型选择和参数调整来有效控制这一平衡,以提高模型的泛化能力。 ... [详细]
  • 独家解析:深度学习泛化理论的破解之道与应用前景
    本文深入探讨了深度学习泛化理论的关键问题,通过分析现有研究和实践经验,揭示了泛化性能背后的核心机制。文章详细解析了泛化能力的影响因素,并提出了改进模型泛化性能的有效策略。此外,还展望了这些理论在实际应用中的广阔前景,为未来的研究和开发提供了宝贵的参考。 ... [详细]
  • 能够感知你情绪状态的智能机器人即将问世 | 科技前沿观察
    本周科技前沿报道了多项重要进展,包括美国多所高校在机器人技术和自动驾驶领域的最新研究成果,以及硅谷大型企业在智能硬件和深度学习技术上的突破性进展。特别值得一提的是,一款能够感知用户情绪状态的智能机器人即将问世,为未来的人机交互带来了全新的可能性。 ... [详细]
  • 短暂的人生中,IT和技术只是其中的一部分。无论换工作还是换行业,最终的目标是成功、荣誉和收获。本文探讨了技术人员如何跳出纯技术的局限,实现更大的职业发展。 ... [详细]
  • 本文介绍如何使用OpenCV和线性支持向量机(SVM)模型来开发一个简单的人脸识别系统,特别关注在只有一个用户数据集时的处理方法。 ... [详细]
  • 对于众多创业公司而言,选择小程序或小视频的发展方向至关重要。本文将深入分析小程序和小视频的特点、优势及局限,帮助创业者做出更明智的选择。 ... [详细]
  • 深入解析监督学习的核心概念与应用
    本文深入探讨了监督学习的基本原理及其广泛应用。监督学习作为机器学习的重要分支,通过利用带有标签的训练数据,能够有效构建预测模型。文章详细解析了监督学习的关键概念,如特征选择、模型评估和过拟合问题,并介绍了其在图像识别、自然语言处理等领域的实际应用。 ... [详细]
  • 美团优选推荐系统架构师 L7/L8:算法与工程深度融合 ... [详细]
  • 《统计学习方法》第一章:基础概念与理论框架综述
    第一章介绍了统计学习方法的基础概念与理论框架。1.2节详细讨论了两种模型类型:一种直接输出具体的数值结果,另一种则输出概率分布。条件概率分布描述了在给定输入 \( x \) 的情况下,多个可能输出 \( y \) 的概率分布情况,而直接输出数值的模型则为每个输入 \( x \) 提供一个确定的输出值。这一部分还探讨了这些模型在实际应用中的重要性和应用场景。 ... [详细]
  • 提升 Kubernetes 集群管理效率的七大专业工具
    Kubernetes 在云原生环境中的应用日益广泛,然而集群管理的复杂性也随之增加。为了提高管理效率,本文推荐了七款专业工具,这些工具不仅能够简化日常操作,还能提升系统的稳定性和安全性。从自动化部署到监控和故障排查,这些工具覆盖了集群管理的各个方面,帮助管理员更好地应对挑战。 ... [详细]
  • 妻子指导我深入学习机器算法 ... [详细]
author-avatar
手机用户2502859707
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有