深度学习笔记(一)——M-P模型(神经元模型)
QQ:3020889729 小蔡
M-P模型概念
基于人类神经元的多突触传递——而研究出的人工神经元,允许多个输入,并根据连接权重( ω i {\omega _i} ωi)以及阈值(h)的到预测的输出。
M-P模型及公式


- y y y是输出
- ω i {{\omega _i}} ωi是连接权重
- x i {{x_i}} xi是输入数据
- h h h为阈值
因此,M-P模型的工作原理为:当所有的输入与对应的连接权重的乘积
ω
i
⋅
x
i
{{\omega _i} \cdot {x_i}}
ωi⋅xi之和大于阈值
h
h
h时,
y
y
y输出为1,否则输出为0。
需要注意的是,
x
i
{{x_i}}
xi也只能是0或1的值,而
ω
i
{{\omega _i}}
ωi和
h
h
h则根据需要自行设置。
此时,M-P模型的STEP激活函数就可以很清楚的理解了(0-1)——权重积
ω
i
⋅
x
i
{{\omega _i} \cdot {x_i}}
ωi⋅xi之和大于阈值
h
h
h即对应y轴右侧的情况。

上图就是STEP激活函数的函数图像:
可以看到,输出
y
y
y在
x
x
x=0处发生剧烈变化,在
x
x
x>0时,
y
y
y为1,左侧为0。
M-P模型应用
M-P模型在创建之初,研究者就发现通过手动设置 ω i {{\omega _i}} ωi和 h h h,可以实现基本的逻辑运算——AND, OR , NOT (然而却不能实现异或)
NOT运算
M-P模型图:

可以看到,输入只有一个,这时候,我们只需要设置一个连接权重和一个对应的阈值即可。

从公式上看,此时
ω
i
⋅
x
i
{{\omega _i} \cdot {x_i}}
ωi⋅xi只有i=1的情况。同时,因为输入x只能是0或1的值,所以我们不妨这样设置权重和阈值。
- i=1,
ω
i
{{\omega _i}}
ωi= -2 ;
h
h
h=-1 ;
y = f ( w 1 ⋅ x 1 − h ) y = f\left( {{w_1} \cdot {x_1} - h} \right) y=f(w1⋅x1−h)
即: y = f ( ( − 2 ) ⋅ x 1 − ( − 1 ) ) y = f\left( {\left( { - 2} \right) \cdot {x_1} - \left( { - 1} \right)} \right) y=f((−2)⋅x1−(−1))
于是乎,当输入为0的情况为:
f ( ( − 2 ) ⋅ ( 0 ) − ( − 1 ) ) = 1 f\left( {\left( { - 2} \right) \cdot \left( 0 \right) - \left( { - 1} \right)} \right) = 1 f((−2)⋅(0)−(−1))=1
此时的 ω i ⋅ x i {{\omega _i} \cdot {x_i}} ωi⋅xi> h h h,所以输出为1。
NOT运算——输入为1时的情况(用神经元图示意)

AND运算
M-P模型图:

可以看到,输入有多个,这时候,我们同样需要设置一系列的连接权重和一个统一的阈值。(为了方便,这里将全部连接权重取同一个值,这样实现起AND运算来会更加容易)
M-P模型公式如下:

- 不妨设
ω
i
{{\omega _i}}
ωi=1,
h
h
h=
n
−
1
n-1
n−1——
h
h
h的值取决于输入的个数。使得当所有输入为1时,方输出为1;否则输入权重积之和总是小于阈值
h
h
h的。
以 i = 1 , 2 , 3 i=1,2,3 i=1,2,3为例:( ω i {{\omega _i}} ωi=1, h h h= n − 1 n-1 n−1)
y = f ( w 1 ⋅ x 1 + w 2 ⋅ x 2 + w 3 ⋅ x 3 − h ) y = f\left( {{w_1} \cdot {x_1}{\text{ + }}{w_{\text{2}}} \cdot {x_{\text{2}}}{\text{ + }}{w_{\text{3}}} \cdot {x_{\text{3}}} - h} \right) y=f(w1⋅x1 + w2⋅x2 + w3⋅x3−h)
即: y = f ( 1 ⋅ x 1 + 1 ⋅ x 2 + 1 ⋅ x 3 − ( 3 − 1 ) ) y = f\left( {{\text{1}} \cdot {x_1}{\text{ + 1}} \cdot {x_{\text{2}}}{\text{ + 1}} \cdot {x_{\text{3}}} - (3 - 1)} \right) y=f(1⋅x1 + 1⋅x2 + 1⋅x3−(3−1))
所以,当输入的 x i {{x_i}} xi全为1时:
f ( 1 ⋅ 1 + 1 ⋅ 1 + 1 ⋅ 1 − ( 3 − 1 ) ) = f ( 3 − 2 ) = 1 f\left( {{\text{1}} \cdot 1{\text{ + 1}} \cdot 1{\text{ + 1}} \cdot 1 - (3 - 1)} \right) = f\left( {3 - 2} \right) = 1 f(1⋅1 + 1⋅1 + 1⋅1−(3−1))=f(3−2)=1
此时的权重积之和大于阈值,所以输出为1。
AND运算——输入含0时的情况(用神经元图示意)


OR运算
M-P模型图:

与AND类似的,可以看到,输入有多个,这时候,我们同样需要设置一系列的连接权重和一个统一的阈值。(为了方便,这里将全部连接权重取同一个值,这样实现同样方便OR运算)
M-P模型公式如下:

- 不妨设
ω
i
{{\omega _i}}
ωi=1,
h
h
h=
0
0
0——==使得当所有输入中至少要有一个为1时,输出必然为1;否则输入权重积之和总是等于于阈值
h
h
h的。
以 i = 1 , 2 , 3 i=1,2,3 i=1,2,3为例:( ω i {{\omega _i}} ωi=1, h h h= 0 0 0)
y = f ( w 1 ⋅ x 1 + w 2 ⋅ x 2 + w 3 ⋅ x 3 − h ) y = f\left( {{w_1} \cdot {x_1}{\text{ + }}{w_{\text{2}}} \cdot {x_{\text{2}}}{\text{ + }}{w_{\text{3}}} \cdot {x_{\text{3}}} - h} \right) y=f(w1⋅x1 + w2⋅x2 + w3⋅x3−h)
即: y = f ( 1 ⋅ x 1 + 1 ⋅ x 2 + 1 ⋅ x 3 − ( 0 ) ) y = f\left( {{\text{1}} \cdot {x_1}{\text{ + 1}} \cdot {x_{\text{2}}}{\text{ + 1}} \cdot {x_{\text{3}}} - (0)} \right) y=f(1⋅x1 + 1⋅x2 + 1⋅x3−(0))
所以,当输入的 x i {{x_i}} xi全为1时:
f ( 1 ⋅ 1 + 1 ⋅ 1 + 1 ⋅ 1 − ( 0 ) ) = f ( 3 − 0 ) = 1 f\left( {{\text{1}} \cdot 1{\text{ + 1}} \cdot 1{\text{ + 1}} \cdot 1 - (0)} \right) = f\left( {3 - 0} \right) = 1 f(1⋅1 + 1⋅1 + 1⋅1−(0))=f(3−0)=1
此时的权重积之和大于阈值,所以输出为1。
AND运算——输入含0时的情况(用神经元图示意)


M-P模型总结
明白M-P模型的计算公式,以及STEP激活函数的取值为0-1折线型。
熟悉M-P模型在逻辑运算中的应用,体验人为添加权重和阈值,实现逻辑运算。
其实,在之后的感知器(机)也是在这个神经元模型基础上去延伸发展的,使得神经网络的发展得到有效的突破——本系列博客在后面将以此后的多层感知器以及更深入网络结构的其它模型为内容进行展开讲解。
如果这篇博客对您有所帮助,还希望您能赏一个赞呢!
收
藏
,
关
注
有
助
于
下
次
查
看
哦
收藏,关注有助于下次查看哦
收藏,关注有助于下次查看哦
更多推荐
所有评论(0)