在神经网络中选择正则化方法


9

训练神经网络时,至少有四种方法可以使网络规范化:

  • L1正则化
  • L2正则化
  • 退出
  • 批量归一化

    当然还有权重共享和减少连接数之类的其他事情,从严格意义上讲,这可能不是正则化。

    但是,如何选择使用哪些正则化方法呢?是否有比“仅尝试一切,看看有什么用”的更原则的方法?


  • 3
    神经网络有原理吗?黑匣子方法的原理是尝试一切,看看有什么用
    Darrin Thomas

    这很可悲,您找不到吗?
    亚历克斯

    Answers:


    6

    没有任何可靠的,有据可查的原理可以帮助您确定神经网络中正则化的类型。您甚至可以结合使用正则化技术,而不必只选择一种。

    一种可行的方法可以基于经验,并参考文献和其他人的研究结果,以了解在不同问题领域给出了良好结果的原因。牢记这一点,事实证明辍学对于许多问题都非常成功,几乎不管您尝试什么,都可以将其视为一个不错的首选。

    另外有时候,仅选择一个您熟悉的选项可能会有所帮助-使用您了解并有经验的技术可能会比尝试不知道尝试使用哪个数量级参数的整个选项包会获得更好的结果。一个关键问题是,这些技术可以与其他网络参数相互作用-例如,您可能需要根据丢失百分比来增加带有丢失的层的大小。

    最后,您使用哪种正则化技术可能并不重要,只是您对问题的理解和建模足够好,可以发现问题是否过拟合并可以进行更多的正则化。反之亦然,找出不足之处,并应缩减正则化。


    3

    正则化方法

    对于以下4种技术,不用说L1正则化和L2正则化必须是正则化的方法。他们减轻重量。如果权重具有更高的重要性,则L1将集中精力收缩更少量的权重。

    辍学可通过暂时退出神经元来防止过度拟合。最终,它将所有权重计算为平均值,以使权重对于特定神经元不会太大,因此这是一种正规化方法。

    批次归一化不应该是一种正则化方法,因为它的主要目的是通过选择一个批次并强制将权重分布在0(不是太大,不是太小)附近来加快训练速度。

    选择它

    对我来说,微型批处理是必须的,因为它可以每次都加快处理速度并提高网络性能。

    L1和L2都很相似,在小型网络中我更喜欢L1。

    理想情况下,如果存在较大的变化问题或过度拟合,则应该应用辍学。

    最后但并非最不重要的一点是,我与尼尔·斯莱特(Neil Slater)一致,这取决于情况,永远不会有最佳解决方案。

    我建议您阅读此内容以获取更多信息。这是非常好的材料。http://neuralnetworksanddeeplearning.com/chap3.html


    -1

    将这些算法选择视为其他超参数,并以与其他超参数相同的方式对其进行优化。通常,这将需要更多数据。


    2
    您好Alex,欢迎来到DS.SE。这是一个问答网站,通过投票可以将最丰富的答案浮到顶部。有人否决了您的意见,也许是因为您的回答很短,并且一般都在解释解决方案(例如),而不是在解释超参数的详细信息,而原始海报没有使用该术语。
    Marcus D
    By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
    Licensed under cc by-sa 3.0 with attribution required.