我刚刚开始学习神经网络,到目前为止,我对机器学习的知识只是线性和逻辑回归。根据我对后一算法的理解,给定多个输入,学习算法的工作是为每个输入提供适当的权重,以便最终我有一个多项式来描述数据,这是线性回归的情况或在逻辑回归的情况下将其分开。 如果我要在神经网络中表示相同的机制,根据我的理解,它看起来像这样, 输入层的多个节点和输出层的单个节点。在哪里我可以按比例向每个输入传播错误。所以最终我也得到了描述数据的多项式X1W1 + X2W2 + .... XnWn。对于我来说,除了输入层之外,每层有多个节点,似乎使学习过程平行,这样我就可以更快地到达结果。它几乎就像运行多个学习算法,每个算法都有不同的起点,看看哪一个收敛得更快。至于多层,我失去了它对学习成果的机制和优势。
答案 0 :(得分:1)
为什么我们在神经网络中每层有多个层和多个节点?
我们需要至少一个具有非线性激活的隐藏层才能学习非线性函数。通常,人们认为每一层都是抽象层次。对于计算机视觉,输入层包含图像,输出层包含每个类的一个节点。第一个隐藏层检测边缘,第二个隐藏层可能检测到圆形/矩形,然后出现更复杂的模式。
有一个理论结果表明,如果这个隐藏层有足够的神经元,那么只有一个隐藏层的MLP可以适合每个感兴趣的函数,直到任意低的误差范围。但是,参数的数量可能比添加更多图层的数量大很多。
基本上,通过在每层添加更多隐藏层/更多神经元,您可以向模型添加更多参数。因此,您允许模型适合更复杂的功能。但是,据我所知,没有定量的理解添加单个更多层/节点的确切原因。
在我看来,您可能需要对神经网络进行一般性介绍。我推荐[Tho14a](我的学士学位论文)的第4.3和4.4章以及[LBH15]。
[Tho14a] M. Thoma,“手写数学符号的在线识别” 德国卡尔斯鲁厄,2014年11月。[在线]。可用:https://arxiv.org/abs/1511.09030
[LBH15] Y. LeCun, 第一卷。 521, Y. Bengio, 没有。 7553, 和G. Hinton, 第436-444页, “深度学习” 性质, 2015年5月。[在线]。可用: http://www.nature.com/nature/journal/v521/n7553/abs/nature14539.html