我之前已经问过另一个关于Hebbian学习的问题,我认为我得到了一个不错的答案并接受了它,但是,现在我意识到我对Hebbian学习的理解完全错了,我有点困惑。
那么,你能解释一下它有什么用处吗?因为维基百科和其他一些页面对它的描述似乎不太合理!为什么当输入和输出神经元同时激活时,我们要不断增加它们之间的权重呢?它能用来解决什么样的问题,因为当我在脑海中模拟时,它显然无法完成基本的AND、OR等操作(假设你将权重初始化为零,输出神经元永远不会激活,权重也永远不会增加!)
回答:
你的问题似乎更偏向理论,我不确定它是否适合SO,但由于它直接与神经网络相关,我会尝试回答。
当输入和输出神经元同时激活时,我们增加它们之间的权重,因为同时激活意味着它们之间存在某种关联。
让我们以逻辑函数为例。在AND
函数中,你会有两个输入神经元。如果你的输入数据是(0, 0)
,这意味着两个输入神经元都没有激活,输出也不会激活。因此,在这种情况下,你不需要强连接。
现在考虑输入(1, 1)
。两个输入神经元都激活,输出也激活。为了学习这种对应关系,网络应该增加连接输入和输出的权重(记住,这基本上是将输入和偏置神经元相加的问题)。
最后,当输出是(1, 0)
或(0, 1)
时,由于输出是0
,这告诉网络没有一个连接应该足够强到独自激活输出神经元。
希望这能解释清楚。