【问题标题】:why do we have multiple layers and multiple nodes per layer in a neural network?为什么我们在神经网络中每层有多个层和多个节点?
【发布时间】:2017-05-15 14:03:45
【问题描述】:

我刚开始学习神经网络,到目前为止,我对机器学习的了解只是线性回归和逻辑回归。根据我对后一种算法的理解,给定输入的倍数,学习算法的工作是为每个输入提出适当的权重,以便最终我有一个多项式来描述线性回归的情况下的数据或就像在逻辑回归的情况下一样将其分开。 如果我要在神经网络中表示相同的机制,根据我的理解,它看起来像这样, 输入层有多个节点,输出层有一个节点。我可以将错误按比例反向传播到每个输入。所以最终我也得到了一个描述数据的多项式 X1W1 + X2W2+....XnWn。对我来说,除了输入层之外,每层有多个节点似乎使学习过程并行,这样我就可以更快地得出结果。这几乎就像运行多个学习算法,每个算法都有不同的起点,看看哪个收敛得更快。至于多层,我不知道它对学习成果有什么机制和优势。

【问题讨论】:

    标签: machine-learning neural-network linear-regression logistic-regression


    【解决方案1】:

    为什么我们在神经网络中有多个层和每层多个节点?

    我们需要至少一个具有非线性激活的隐藏层才能学习非线性函数。通常,人们将每一层视为一个抽象层。对于计算机视觉,输入层包含图像,输出层包含每个类的一个节点。第一个隐藏层检测边缘,第二个隐藏层可能检测圆形/矩形,然后出现更复杂的模式。

    有一个理论结果表明,如果该隐藏层有足够的神经元,则只有一个隐藏层的 MLP 可以将每个感兴趣的函数拟合到任意低误差范围。但是,与添加更多层相比,参数的数量可能会大得多。

    基本上,通过每层添加更多隐藏层/更多神经元,可以为模型添加更多参数。因此,您允许模型拟合更复杂的函数。但是,据我所知,没有定量的理解添加一个进一步的层/节点究竟会带来什么。

    在我看来,您可能想要对神经网络进行一般性介绍。我推荐[Tho14a](我的学士论文)的第4.3和4.4章以及[LBH15]。

    [Tho14a] M. Thoma,“手写数学符号的在线识别”, 德国卡尔斯鲁厄,2014 年 11 月。[在线]。可用:https://arxiv.org/abs/1511.09030

    [LBH15] Y. LeCun, 卷。 521, Y.本吉奥, 不。 7553, 和 G. Hinton, 第 436-444 页, “深度学习” 自然, 2015 年 5 月。[在线]。可用的: http://www.nature.com/nature/journal/v521/n7553/abs/nature14539.html

    【讨论】:

    • 很好的解释 :) 我只补充说,在分类任务中,您尝试分离输入,但输入通常不能按行分离。当您进行非线性激活时,您将输入转换到另一个空间,并且在这个空间中输入可能是可分离的。
    猜你喜欢
    • 2017-03-27
    • 1970-01-01
    • 1970-01-01
    • 2018-11-05
    • 2015-08-31
    • 2017-03-17
    • 2017-08-29
    • 2017-05-21
    • 1970-01-01
    相关资源
    最近更新 更多