0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

神经网络中的参数和超参数

倩倩 来源:极客Array 2020-04-17 14:40 次阅读

参数VS超参数(Parameters vs Hyperparameters)

想要你的深度神经网络起很好的效果,你还需要规划好你的参数以及超参数。

什么是超参数?

比如算法中的learning rate a(学习率)、iterations(梯度下降法循环的数量)、L(隐藏层数目)、n^([l])(隐藏层单元数目)、choice of activation function(激活函数的选择)都需要你来设置,这些数字实际上控制了最后的参数W和b的值,所以它们被称作超参数。

实际上深度学习有很多不同的超参数,之后我们也会介绍一些其他的超参数,如momentum、mini batch size、regularization parameters等等。

如何寻找超参数的最优值?

走Idea—Code—Experiment—Idea这个循环,尝试各种不同的参数,实现模型并观察是否成功,然后再迭代。

今天的深度学习应用领域,还是很经验性的过程,通常你有个想法,比如你可能大致知道一个最好的学习率值,可能说a=0.01最好,我会想先试试看,然后你可以实际试一下,训练一下看看效果如何。然后基于尝试的结果你会发现,你觉得学习率设定再提高到0.05会比较好。如果你不确定什么值是最好的,你大可以先试试一个学习率a,再看看损失函数J的值有没有下降。

然后你可以试一试大一些的值,然后发现损失函数的值增加并发散了。然后可能试试其他数,看结果是否下降的很快或者收敛到在更高的位置。你可能尝试不同的a并观察损失函数J这么变了,试试一组值,然后可能损失函数变成这样,这个a值会加快学习过程,并且收敛在更低的损失函数值上(箭头标识),我就用这个a值了。

在前面,还有很多不同的超参数。然而,当你开始开发新应用时,预先很难确切知道,究竟超参数的最优值应该是什么。所以通常,你必须尝试很多不同的值,并走这个循环,试试各种参数。试试看5个隐藏层,这个数目的隐藏单元,实现模型并观察是否成功,然后再迭代。

另一个近来深度学习的影响是它用于解决很多问题,从计算机视觉语音识别,到自然语言处理,到很多结构化的数据应用,比如网络广告或是网页搜索或产品推荐等等。

我所看到过的就有很多其中一个领域的研究员,这些领域中的一个,尝试了不同的设置,有时候这种设置超参数的直觉可以推广,但有时又不会。所以我经常建议人们,特别是刚开始应用于新问题的人们,去试一定范围的值看看结果如何。

然后在后面的笔记中,我们会用更系统的方法,用系统性的尝试各种超参数取值。

然后其次,甚至是你已经用了很久的模型,可能你在做网络广告应用,在你开发途中,很有可能学习率的最优数值或是其他超参数的最优值是会变的,所以即使你每天都在用当前最优的参数调试你的系统,你还是会发现,最优值过一年就会变化,因为电脑的基础设施,CPU或是GPU可能会变化很大。

所以有一条经验规律可能每几个月就会变。如果你所解决的问题需要很多年时间,只要经常试试不同的超参数,勤于检验结果,看看有没有更好的超参数数值,相信你慢慢会得到设定超参数的直觉,知道你的问题最好用什么数值。

这可能的确是深度学习比较让人不满的一部分,也就是你必须尝试很多次不同可能性。

但参数设定这个领域,深度学习研究还在进步中,所以可能过段时间就会有更好的方法决定超参数的值,也很有可能由于CPU、GPU、网络和数据都在变化,这样的指南可能只会在一段时间内起作用,只要你不断尝试,并且尝试保留交叉检验或类似的检验方法,然后挑一个对你的问题效果比较好的数值。

近来受深度学习影响,很多领域发生了变化,从计算机视觉到语音识别到自然语言处理到很多结构化的数据应用,比如网络广告、网页搜索、产品推荐等等;

有些同一领域设置超参数的直觉可以推广,但有时又不可以,特别是那些刚开始研究新问题的人们应该去尝试一定范围内的结果如何,甚至那些用了很久的模型得学习率或是其他超参数的最优值也有可能会改变。

有一条经验规律:经常试试不同的超参数,勤于检查结果,看看有没有更好的超参数取值,你将会得到设定超参数的直觉。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 神经网络
    +关注

    关注

    42

    文章

    4771

    浏览量

    100720
  • 语音识别
    +关注

    关注

    38

    文章

    1739

    浏览量

    112635
  • 深度学习
    +关注

    关注

    73

    文章

    5500

    浏览量

    121114
收藏 人收藏

    评论

    相关推荐

    时间紧急,所以菜鸟特此来询问-----神经网络参数画法

    小弟想问下 那个神经网络参数和改进遗传算法的图标是从程序面板哪里画出来的?具体路径哪里谢谢了
    发表于 03-16 14:55

    机器学习神经网络参数的代价函数

    吴恩达机器学习笔记之神经网络参数的反向传播算法
    发表于 05-22 15:11

    【案例分享】ART神经网络与SOM神经网络

    ,同理,阈值越大,则容纳的模式类也就越多----------以上纯属个人理解,如果有错误欢迎指正。ART比较好地缓解了竞争型学习的“可塑性-稳定性窘境”,其中可塑性指神经网络要能够学习新知识,稳定性
    发表于 07-21 04:30

    神经网络结构搜索有什么优势?

    近年来,深度学习的繁荣,尤其是神经网络的发展,颠覆了传统机器学习特征工程的时代,将人工智能的浪潮推到了历史最高点。然而,尽管各种神经网络模型层出不穷,但往往模型性能越高,对参数的要求
    发表于 09-11 11:52

    改善深层神经网络--参数优化、batch正则化和程序框架 学习总结

    《深度学习工程师-吴恩达》02改善深层神经网络--参数优化、batch正则化和程序框架 学习总结
    发表于 06-16 14:52

    如何移植一个CNN神经网络到FPGA

    )第二步:使用Lattice sensAI 软件编译已训练好的神经网络,定点化网络参数。该软件会根据神经网络结构和预设的FPGA资源进行分析并给出性能评估报告,此外用户还可以在软件
    发表于 11-26 07:46

    卷积神经网络(CNN)是如何定义的?

    什么是卷积神经网络?ImageNet-2010网络结构是如何构成的?有哪些基本参数
    发表于 06-17 11:48

    如何构建神经网络

    原文链接:http://tecdat.cn/?p=5725 神经网络是一种基于现有数据创建预测的计算系统。如何构建神经网络神经网络包括:输入层:根据现有数据获取输入的层隐藏层:使用反向传播优化输入变量权重的层,以提高模型的预测
    发表于 07-12 08:02

    可分离卷积神经网络在 Cortex-M 处理器上实现关键词识别

    /激活要调节模型,使之不超出微控制器的内存和计算限制范围,必须执行参数搜索。下表显示了神经网络架构及必须优化的相应参数
    发表于 07-26 09:46

    基于BP神经网络的PID控制

    神经网络可以建立参数Kp,Ki,Kd自整定的PID控制器。基于BP神经网络的PID控制系统结构框图如下图所示:控制器由两部分组成:经典增量式PID控制器;BP神经网络...
    发表于 09-07 07:43

    BP神经网络在水质参数预测的应用_张昕

    BP神经网络在水质参数预测的应用_张昕
    发表于 03-19 11:26 1次下载

    卷积神经网络的振动信号模态参数识别

    神经网络改成处理一维信号的卷积神经网络,其中输入层改成待提取模态参数的振动信号集合,中间层改成若干一维卷积层、抽样层,输出层得到的为信号对应的Ⅳ阶模态参数集合;然后,在误差评估
    发表于 12-05 14:39 5次下载
    卷积<b class='flag-5'>神经网络</b>的振动信号模态<b class='flag-5'>参数</b>识别

    深度神经网络不同参数调整规则总结

    在深度神经网络参数的调整是一项必备技能,通过观察在训练过程的监测指标如损失loss和准确率来判断当前模型处于什么样的训练状态,及时调
    的头像 发表于 08-29 15:53 4891次阅读

    自构造RBF神经网络及其参数优化

    自构造RBF神经网络及其参数优化说明。
    发表于 05-31 15:25 9次下载

    教大家怎么选择神经网络参数

    1. 神经网络参数分类 神经网路参数主要包
    的头像 发表于 06-19 14:49 3629次阅读
    教大家怎么选择<b class='flag-5'>神经网络</b>的<b class='flag-5'>超</b><b class='flag-5'>参数</b>