深度学习中的激活函数、防止过拟合的方法

激活函数需要具备的属性:

  1. 非线性:
  2. 几乎处处可微:
  3. 计算简单:
  4. 非饱和性(saturation):
  5. 单调性(monotonic):
  6. 输出范围有限:
  7. 接近恒等变换(identity):
  8. 参数少:

神经网络中激活函数的真正意义?一个激活函数需要具有哪些必要的属性?还有哪些属性是好的属性但不必要的?

  1. 非线性:
    即导数不是常数。这个条件是多层神经网络的基础,保证多层网络不退化成单层线性网络。这也是激活函数的意义所在。
  2. 几乎处处可微:
    可微性保证了在优化中梯度的可计算性。传统的激活函数如sigmoid等满足处处可微。对于分段线性函数比如ReLU,只满足几乎处处可微(即仅在有限个点处不可微)。对于SGD算法来说,由于几乎不可能收敛到梯度接近零的位置,有限的不可微点对于优化结果不会有很大影响。
  3. 计算简单:
    非线性函数有很多。极端的说,一个多层神经网络也可以作为一个非线性函数,类似于Network In Network中把它当做卷积操作的做法。但激活函数在神经网络前向的计算次数与神经元的个数成正比,因此简单的非线性函数自然更适合用作激活函数。这也是ReLU之流比其它使用Exp等操作的激活函数更受欢迎的其中一个原因。
  4. 非饱和性(saturation):
    饱和指的是在某些区间梯度接近于零(即梯度消失),使得参数无法继续更新的问题。最经典的例子是Sigmoid,它的导数在x为比较大的正值和比较小的负值时都会接近于0。更极端的例子是阶跃函数,由于它在几乎所有位置的梯度都为0,因此处处饱和,无法作为激活函数。ReLU在x>0时导数恒为1,因此对于再大的正值也不会饱和。但同时对于x<0,其梯度恒为0,这时候它也会出现饱和的现象(在这种情况下通常称为dying ReLU)。Leaky ReLU和PReLU的提出正是为了解决这一问题。
  5. 单调性(monotonic):
    即导数符号不变。这个性质大部分激活函数都有,除了诸如sin、cos等。个人理解,单调性使得在激活函数处的梯度方向不会经常改变,从而让训练更容易收敛。
  6. 输出范围有限:
    有限的输出范围使得网络对于一些比较大的输入也会比较稳定,这也是为什么早期的激活函数都以此类函数为主,如Sigmoid、TanH。但这导致了前面提到的梯度消失问题,而且强行让每一层的输出限制到固定范围会限制其表达能力。因此现在这类函数仅用于某些需要特定输出范围的场合,比如概率输出(此时loss函数中的log操作能够抵消其梯度消失的影响)、LSTM里的gate函数。
  7. 接近恒等变换(identity):
    即约等于x。这样的好处是使得输出的幅值不会随着深度的增加而发生显著的增加,从而使网络更为稳定,同时梯度也能够更容易地回传。这个与非线性是有点矛盾的,因此激活函数基本只是部分满足这个条件,比如TanH只在原点附近有线性区(在原点为0且在原点的导数为1),而ReLU只在x>0时为线性。这个性质也让初始化参数范围的推导更为简单。这种恒等变换的性质也被其他一些网络结构设计所借鉴,比如CNN中的ResNet和RNN中的LSTM。
  8. 参数少:
    大部分激活函数都是没有参数的。像PReLU带单个参数会略微增加网络的大小。还有一个例外是Maxout,尽管本身没有参数,但在同样输出通道数下k路Maxout需要的输入通道数是其它函数的k倍,这意味着神经元数目也需要变为k倍;但如果不考虑维持输出通道数的情况下,该激活函数又能将参数个数减少为原来的k倍
    归一化(normalization):
    这个是最近才出来的概念,对应的激活函数是SELU,主要思想是使样本分布自动归一化到零均值、单位方差的分布,从而稳定训练。在这之前,这种归一化的思想也被用于网络结构的设计,比如Batch Normalization。

深度学习中如何防止过拟合

1、更多数据

其实更多数据,是一种很好的防止过拟合的方法。之所以过拟合,其实就是因为模型本身见到的数据太少了,比如对于猫这类动物,如果训练数据集中只有一个正拍且坐立的猫,那么当过拟合时,模型往往有可能只能识别出这类姿态的猫,像跳跃的猫、局部捕捉的猫、反转的猫等等可能都识别不出来了,因为让模型见更多的数据是有好处的,而且真的可以防止过拟合。

2、Dropout为什么能够防止过拟合?算法原理是怎样的?

主要思想是分布式特征表达,在训练的时候,随机丢弃一些节点,使这些节点不参与到参数的更新训练中(一般设置为0.5),然后进行放回,当有数据再次进行更新时,再随机进行选举,主要由这三个优点。

3、BN

BN的最大作用其实是加速训练,也会在一定程度上防止过拟合,另外,当BN和ReLU这类函数一起使用的时候,还可以在一定程度上解决Dead ReLU现象。

4、正规化数据

5、Early stopping的原理,为什么可以防止过拟合?

如果随着训练过程的发生,测试集上的准确率一直上不来,而训练集上的准确率越来越高,那么就发生了过拟合,此时通过early stopping可以提前中止训练,避免模型过拟合的发生。

6、增加训练数据可以防止过拟合吗?为什么呢?

增加数据可以防止过拟合,因为增加数据,模型见到的样本就多了,比如同一类物体,多种形态都有,那么模型学到了多类姿态下,都是同一类别。这样再见到新的数据,也有很好的判别性了,因为训练数据中本身包含了各类可能出现的情况。

7、减少神经元个数可以防止过拟合吗?

减少网络的层数、神经元个数等均可以限制网络的拟合能力,一定程度上可以防止过拟合,这有点类似于决策树中的剪枝操作。

但是这样子做会有一定的风险,因为可能会导致网络的拟合能力不足。

18、不变动模型和参数,只对数据来说怎么减少过拟合?

其实这个问题很简单,就是增加数据。


深度学习如何解决欠拟合?

过拟合是深度网络训练时,常出现的一种问题,然而有的时候欠拟合也经常出现,这个时候就要考虑如何解决欠拟合问题了,一般来说,欠拟合问题主要从以下几个部分解决:

1. 添加其他特征项。组合、泛化、相关性、上下文特征、平台特征等特征是特征添加的重要手段,有时候特征项不够会导致模型欠拟合。

2. 添加多项式特征。例如将线性模型添加二次项或三次项使模型泛化能力更强。例如,FM(Factorization Machine)模型、FFM(Field-aware Factorization Machine)模型,其实就是线性模型,增加了二阶多项式,保证了模型一定的拟合程度。

3. 可以增加模型的复杂程度。

4. 减小正则化系数。正则化的目的是用来防止过拟合的,但是现在模型出现了欠拟合,则需要减少正则化参数。

125jz网原创文章。发布者:江山如画,转载请注明出处:http://www.125jz.com/11134.html

赞 (0)
江山如画的头像江山如画管理团队
卷积神经网络 数据维度计算公式:输入输出关系、输出维度
上一篇 2022年9月22日 下午2:17
人工智能工种技术人员竞赛理论考题、常考知识点(含答案)
下一篇 2022年11月20日 上午11:18

99%的人还看了以下文章

  • 学习大数据需要掌握哪些知识,零基础大数据学习路线

    学习大数据需要掌握哪些知识,零基础大数据学习路线学习大数据需要掌握哪些知识,零基础大数据学习路线学习大数据需要掌握哪些知识,零基础大数据学习路线学习大数据需要掌握哪些知识,零基础大数据学习路线

    大数据产业已进入发展的“快车道”,急需大量优秀的大数据人才作为后盾。能够在大数据行业崛起的初期进入到这个行业当中来,才有机会成为时代的弄潮儿。 大数据作为当下的“热潮”,吸引了众多想要学习大数据技术的求学者,由于大数据涉及的内容很多。 大数据核心知识: Hadoop生态系统;HDFS技术;HBASE技术; Sqoop使用流程; 数据仓库工具HIVE; 大数据…

    2019年12月27日 • 科技
    11.5K0
  • 微信如何在朋友圈里分享相册里的视频

    微信版本有在朋友圈里分享相册里的视频功能,视频的长度也从之前的6s增加到了10s。 在朋友圈分享视频的操作过程 点击朋友圈右上角的“相机”, 出现「拍摄」和「从手机相册选择」两项,「拍摄」中又包含了照片和视频两种选择,「轻触拍照,长按录影」非常方便,见下图。 视频时长 原来朋友圈发视频,允许的最大时长是6s,不少用户吐槽时间太短,现在增加到10s,且不限制画…

    2020年3月15日
    6.1K0
  • 3招华为手机省电小妙招、休息、睡觉防打扰

    华为手机如何省电、精准防打扰。、 外出旅游,出门聚会,等人的时候,发现手机快没电了,茫茫人海,如果手机关机了,如何碰头?没电就没法打电话、发信息、查找百度地图、开手机导航、叫滴滴打车…… 简直太凄惨了! 华为手机如何省电? 一:开启超级省电模式 华为手机省电模式的设置方法:解锁手机,依次点击“设置”——找到设备栏的“省电管理”,点击进入——进入省电管理之后就…

    2020年2月25日
    9.0K0
  • 人工智能时代,千万不要用你的经验去指导孩子!如何才能适应时代的变化和要求?

    人工智能时代,千万不要用你的经验去指导孩子!如何才能适应时代的变化和要求?人工智能时代,千万不要用你的经验去指导孩子!如何才能适应时代的变化和要求?人工智能时代,千万不要用你的经验去指导孩子!如何才能适应时代的变化和要求?人工智能时代,千万不要用你的经验去指导孩子!如何才能适应时代的变化和要求?

    在人工智能时代,要掌握机器的底层思维逻辑,才能真正适应时代的变化和要求。这个能力就是——编程思维和技能。

    2020年1月18日 • 科技
    9.8K0
  • 学点少儿编程,提高孩子逻辑能力

    学点少儿编程,提高孩子逻辑能力学点少儿编程,提高孩子逻辑能力学点少儿编程,提高孩子逻辑能力学点少儿编程,提高孩子逻辑能力

    烟台市莱山区杰客编程培训学校 联系人:  蔡老师   电话:15552261268 微信: 地址:山东省烟台市莱山区迎春大街133号——科技创业大厦 孩子早学编程早受益 赶快拨打电话报名吧! 中国青年报社社会调查中心,对2007名受访者进行的一项调查显示,54.4%的受访者觉得孩子有必要专门学习少儿编程培训课程。这些受访者主要希望借此提高孩子逻辑水平,挖掘“…

    2020年3月29日 • 科技
    6.5K0
  • PPT小技巧:批量修改文字颜色,批量替换字体

    在PPT打印时,文字与背景色接近,打印显示效果很差,一张张修改文字颜色又太麻烦,如何可以快速修改幻灯片上的文字颜色。 解决方法:通过大纲视图,全选幻灯片,再统一设置文字颜色,可以一次全部修改幻灯片上文字颜色。 注意问题: 1、幻灯片背景设置:右键(一定在幻灯片空白处)单击(不是在文字或图片上),设置纯色(如果需要打印,建议设置为纯白色)填充背景。 2、如果修…

    2018年12月26日
    27.3K0

发表回复

登录后才能评论

评论列表(1条)

  • 江山如画的头像
    江山如画 2023年10月8日 下午4:20

    激活函数的输出值的范围可以是有限的也可以是无限的。
    当输出值是有限的时候,基于梯度的优化方法会更加稳定,因为特征的表示受有限权值的影响更加显著;当输出值无限时,模型的训练会更加高效。