人工神经元的偏差在训练期间是否会调整或保持不变?

数据挖掘 神经网络
2022-03-06 09:17:21

论坛撰稿人 David Waterworth 写道:“我们训练 ”,这里是人工神经元的偏差。w0jw0j

然而,这篇维基百科文章

https://en.wikipedia.org/wiki/Artificial_neural_network

(在“优化”部分,在“算法”副标题下)

似乎表明偏差在训练期间没有调整:

(我只引用了相关的句子。)

“设个连接、个输入和输出的神经网络。Nemn

w0,w1,w2, ... 表示中的向量。这些被称为权重。Re

然后算法的输出是。”wp

换句话说,训练/优化算法从开始,然后产生,然后产生,等等。w0w1w2

请注意维向量,是连接总数。w1,w2,...ee

那么,这篇维基百科文章是否说只有连接的权重会调整,但偏差(神经元的权重)不会调整?

如果偏差也调整,则训练/优化算法的输出向量将具有更多维度 - 维度数必须为:

[连接总数 ] 加上 [有偏差的神经元总数]。e

自从撰写这篇 Wikipedia 文章以来,训练/优化算法可能已经进化了?

3个回答

神经元值是这样的

Ni=wi1xi1+wi2xi2+...+winxin+bi

这里的偏差是b

但它也可以写成

Ni=wi0+wi1xi1+wi2xi2+...+winxin

其中偏差是wi0

它是索引 0 的权重

当在优化中提到权重时,默认情况下包括偏差

现在我可以回答我自己的问题了:

根据论坛贡献者 David Waterworth 和 asmgx 的评论,人工神经元的偏差确实在训练期间得到了调整。

维基百科文章

https://en.wikipedia.org/wiki/Artificial_neural_network

当它说优化产生一系列权重时是错误的w0,w1,...,wp, 其中每个wi是一个向量Re,其中e是人工神经元网络中的连接总数。这种大小的向量没有地方容纳神经元的偏差。

正确的描述应该是:

每个wi是一个向量Rg, 在哪里g=e+f, 在哪里e是人工神经元网络中的连接总数,并且f在有偏差的神经元总数中。

本文

https://towardsdatascience.com/how-to-build-your-own-neural-network-from-scratch-in-python-68998a08e4f6

也同意 David Waterworth 和 asmgx:

从输入数据微调权重和偏差的过程称为训练神经网络。”

ω在该部分中是权重向量而不是单个权重,并且当他们写ωi在这种情况下,它们意味着每个连接的权重和迭代时的所有偏差i(即单步训练的结果)。它真的应该写成来表示一个向量,但也许维基百科不支持它?ωiω¯i

所以ω=[ω00,ω01,,ωnk]

还可以清除“并从某个初始权重开始产生一系列权重 ”,即“并产生一系列每次迭代的向量从某个初始向量 "ω0,ω1,,ωpω0ω1,,ωpω0