神经网络中的神经元在哪里共享其预测结果(学习的功能)?

时间:2018-06-22 03:56:04

标签: machine-learning neural-network

绝对是一个菜鸟NN问题,但这是:

我了解到,神经网络层中的神经元都将使用不同的(基本上是随机的)输入特征权重进行初始化,以改变其反向传播结果,从而可以收敛到描述输入数据的不同函数。但是,我不理解这些神经元何时或如何生成描述输入数据的独特功能,就像整体ML方法(例如,通过种植具有随机初始决策标准的树木和然后确定森林中最具歧视性的模型)。在树集合示例中,所有树都协同工作以概括每个模型学习的规则。

神经元如何,在何时何地传达其预测功能?我知道单个神经元会使用梯度下降来收敛到各自的功能,但是由于它们以独特的权重开始,因此它们是独特的。他们如何沟通这些差异?我想在将发生这种通信的输出层中合并神经元结果时会有一些微妙的行为。而且,这种交流是迭代训练过程的一部分吗?

有人在评论部分(https://datascience.stackexchange.com/questions/14028/what-is-the-purpose-of-multiple-neurons-in-a-hidden-layer)提出了类似的问题,但我没有看到它的答案。

我们将不胜感激!

1 个答案:

答案 0 :(得分:3)

在传播过程中,每个神经元通常参与在下一层的多个神经元中形成值。在反向传播中,每个下一层神经元都将尝试推动参与神经元的权重,以使误差最小。就是这样。

例如,假设您正在尝试使一个NN识别数字。假设隐藏层中的一个神经元开始获得有关识别垂直线的想法,另一个神经元开始寻找水平线,依此类推。负责发现1的下一层神经元将看到,如果要更精确,则应特别注意垂直线家伙。而且水平线家伙大喊大叫的不是1。权重就是这样:告诉每个神经元应该如何关心每个输入。反过来,垂直线家伙将通过调整输入层的权重(例如单个像素)来学习如何更好地识别垂直线。

(这是非常抽象的。没有人告诉垂直线的人他应该识别垂直线。不同的神经元只是训练不同的事物,并且由于所涉及的数学的原因,它们最终会选择不同的特征。一个它们中的最后一个可能是垂直线,也可能不是垂直线。

同一层(在基本情况下,层从一层到另一层线性流动)之间的神经元之间没有“通信”。这全都是关于一层神经元在预测下一层有用的功能方面变得更好。

在输出层,1家伙可能会说“我有72%的肯定是1”,而7家伙可能会说“我给{ {1}}一个B +”,而第三个可能说“一个可怕的7,不会看两次”。取而代之的是,我们通常要么用谁的声音最大,要么对输出层进行归一化(除以所有输出的总和),以便获得实际可比的概率。但是,这种归一化实际上并不是神经网络本身的一部分。