Artificial intelligence 如何确定人工神经元将激发哪个值?
我试图确定如下所示的人工神经元的值(0或1) 对于将触发的输入i1、i2和i3(i0是 偏差权重和将始终为-1) 重量很重 W0=1.5 W1=-1 W2=1,W3=2 假设激活功能如下图所示 请澄清您的答案,因为我只举了几个例子,但我仍然无法完全理解该理论:( 非常感谢, 玛丽J 附:下图:Artificial intelligence 如何确定人工神经元将激发哪个值?,artificial-intelligence,neural-network,Artificial Intelligence,Neural Network,我试图确定如下所示的人工神经元的值(0或1) 对于将触发的输入i1、i2和i3(i0是 偏差权重和将始终为-1) 重量很重 W0=1.5 W1=-1 W2=1,W3=2 假设激活功能如下图所示 请澄清您的答案,因为我只举了几个例子,但我仍然无法完全理解该理论:( 非常感谢, 玛丽J 附:下图: 似乎这只是一个将*Wn中的求和并确定i1、2、3的哪些组合会产生积极结果的问题。只有8个排列,所以只需手动运行即可。我对人工智能有粗略的了解,但据我所知: 输入的总和(Sigma i_n*W_n)必须大于
似乎这只是一个将*Wn中的
求和并确定i1、2、3的哪些组合会产生积极结果的问题。只有8个排列,所以只需手动运行即可。我对人工智能有粗略的了解,但据我所知:
输入的总和(Sigma i_n*W_n)必须大于触发阈值。第二张图片告诉您触发阈值,第一张图片告诉您输入及其权重
您只需计算出哪些总和(不要忘记偏差)将产生所需的阈值/强度基本上,神经元输出有以下等式,i1
,i2
,和i3
可以分别为0或1:
2*i3 + i2 - i1 - 1.5 >= 0
首先,让我们看一看最高的正加权值。如果i3
为0,则左侧的最大值为-0.5,因此i3
必须为1才能获得非零输出。然后方程变为:
i2 - i1 + 0.5 >= 0
现在看一下负加权值。如果i1
为0,则无论i2
是什么,输出都将始终大于零。如果i1
为1,i2
也必须为1才能有非零输出
因此,您可以使用以下组合创建非零输出:
i1 i2 i3
0 0 1
0 1 1
1 1 1
要以更一般的方式解决这个问题,首先看看什么是变量,什么是固定参数
基本上,给你输入权重向量w=[1.5,-1,1,2]
和传递函数g(x)=(符号(x)+1)/2
,你想在中找到输入向量,这样:g(
w
*中的)=+1
(作为行和列向量的乘积),因此:
g( sum_over_i( w_i*in_i ) ) = 1 # product of vectors
g( w0*in0 + w1*in1 + w2*in2 + w3*in3 ) = 1 # roll out the sum
g( -1.5 - in1 + in2 + 2*in3 ) = 1 # replace the values of w and in
0.5*(sign(-1.5 - in1 + in2 + 2*in3)+1) = 1 # definition of g(x)
sign(-1.5 - in1 + in2 + 2*in3) = 1 # simplify
-1.5 - in1 + in2 + 2*in3 >= 0 # by def: [sign(x)=1 iff x>=0]
通常你会通过计算导数来解这个方程,但是由于中的输入只能取值0
或1
,我们可以简单地列举所有情况(有2^n
或8
情况):
因此,我们在中得到上述表达式为正的值。谢谢gnovice,我想知道你能否回答我的另一个问题?如果我将伪代码算法应用于我的示例,结果将与你的答案相同?@mary:是的,伪代码显示了你将如何计算输出值(阈值为0)。它基本上使用了我上面给出的公式:如果公式的计算结果为真(即左侧加权输入的总和大于阈值),则神经元的输出为非零。唯一需要注意的问题是是否应使用“>”或“>=”(即,如果加权输入的0和产生0或1输出)。感谢您的进一步澄清,gnovice。我不确定。非常感谢您的回答!
in1 in2 in3 -1.5-in1+in2+2*in3
-----------------------------------
0 0 0 -1.5
0 0 1 0.5 *
0 1 0 -0.5
0 1 1 1.5 *
1 0 0 -2.5
1 0 1 -0.5
1 1 0 -1.5
1 1 1 0.5 *