1

我对神经网络的工作原理有一个概述,并提出了一些相互关联的问题,但我无法找到答案。

考虑单隐藏层前馈神经网络:如果每个隐藏层神经元的功能相同

a1 = relu (w1x1+w2x2), a2=relu(w3x1+w4x2), ...  

我们如何让模型学习不同的权重值?

我确实不明白神经元之间手动建立连接的意义。如图所示手动建立神经元之间的连接,这样我们就可以定义功能的可能功能(即,房屋大小和卧室数量加在一起可能代表房屋可能容纳的家庭规模)。但是完全连接的网络对我来说没有意义。

我明白一个完全连接的神经网络应该以某种方式自动定义,函数的哪些功能是有意义的,但它是如何做到的呢?

无法回答这个问题,我也不明白为什么要增加神经元的数量来提高模型预测的准确性

4

1 回答 1

1

我们如何让模型学习不同的权重值?

通过在训练开始之前初始化参数。如果是完全连接的神经网络,否则我们将对每个参数进行相同的更新步骤 - 这就是您的困惑的来源。随机初始化或更复杂的初始化(例如 Glorot)解决了这个问题。

为什么增加神经元的数量会提高模型预测的准确性?

这只是部分正确,增加神经元的数量应该会提高您的训练准确性(对于您的验证和测试性能而言,这是一个不同的游戏)。通过添加单元,您的模型能够存储额外信息或将异常值合并到您的网络中,从而提高预测的准确性。考虑一个二维问题(预测每平方米的房屋奖品超过某些房产的平方米)。使用两个参数可以拟合一条线,使用三个参数可以拟合一条曲线,依此类推,参数越多,曲线越复杂,并且可以拟合每个训练点。

深入了解的下一步- Karpathy在斯坦福大学的计算机视觉讲座。

于 2020-05-12T06:38:39.653 回答