深度学习笔记(一)——M-P模型(神经元模型)

                         QQ:3020889729                                                                                 小蔡

M-P模型概念

基于人类神经元的多突触传递——而研究出的人工神经元,允许多个输入,并根据连接权重(ωi{\omega _i})以及阈值(h)的到预测的输出。

M-P模型及公式

深度学习笔记(一)——M-P模型(神经元模型)
深度学习笔记(一)——M-P模型(神经元模型)

  1. yy是输出
  2. ωi{{\omega _i}}是连接权重
  3. xi{{x_i}}是输入数据
  4. hh为阈值

因此,M-P模型的工作原理为:当所有的输入与对应的连接权重的乘积ωixi{{\omega _i} \cdot {x_i}}之和大于阈值hh时,yy输出为1,否则输出为0。
需要注意的是,xi{{x_i}}也只能是0或1的值,而ωi{{\omega _i}}hh则根据需要自行设置。

此时,M-P模型的STEP**函数就可以很清楚的理解了(0-1)——权重积ωixi{{\omega _i} \cdot {x_i}}之和大于阈值hh即对应y轴右侧的情况
深度学习笔记(一)——M-P模型(神经元模型)
上图就是STEP**函数的函数图像:
可以看到,输出yyxx=0处发生剧烈变化,在xx>0时,yy为1,左侧为0。

M-P模型应用

M-P模型在创建之初,研究者就发现通过手动设置ωi{{\omega _i}}hh,可以实现基本的逻辑运算——AND, OR , NOT (然而却不能实现异或)

NOT运算

M-P模型图:
深度学习笔记(一)——M-P模型(神经元模型)
可以看到,输入只有一个,这时候,我们只需要设置一个连接权重和一个对应的阈值即可。
深度学习笔记(一)——M-P模型(神经元模型)
从公式上看,此时ωixi{{\omega _i} \cdot {x_i}}只有i=1的情况。同时,因为输入x只能是0或1的值,所以我们不妨这样设置权重和阈值。

  • i=1,ωi{{\omega _i}}= -2 ; hh=-1 ;
    y=f(w1x1h)y = f\left( {{w_1} \cdot {x_1} - h} \right)
    即:y=f((2)x1(1))y = f\left( {\left( { - 2} \right) \cdot {x_1} - \left( { - 1} \right)} \right)
    于是乎,当输入为0的情况为:
    f((2)(0)(1))=1f\left( {\left( { - 2} \right) \cdot \left( 0 \right) - \left( { - 1} \right)} \right) = 1
    此时的ωixi{{\omega _i} \cdot {x_i}}>hh,所以输出为1。

NOT运算——输入为1时的情况(用神经元图示意)
深度学习笔记(一)——M-P模型(神经元模型)

AND运算

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

M-P模型公式如下:
深度学习笔记(一)——M-P模型(神经元模型)

  • 不妨设ωi{{\omega _i}}=1,hh=n1n-1——hh的值取决于输入的个数。使得当所有输入为1时,方输出为1;否则输入权重积之和总是小于阈值hh
    i=1,2,3i=1,2,3为例:(ωi{{\omega _i}}=1,hh=n1n-1
    y=f(w1x1 + w2x2 + w3x3h)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(1x1 + 1x2 + 1x3(31))y = f\left( {{\text{1}} \cdot {x_1}{\text{ + 1}} \cdot {x_{\text{2}}}{\text{ + 1}} \cdot {x_{\text{3}}} - (3 - 1)} \right)
    所以,当输入的xi{{x_i}}全为1时:
    f(11 + 11 + 11(31))=f(32)=1f\left( {{\text{1}} \cdot 1{\text{ + 1}} \cdot 1{\text{ + 1}} \cdot 1 - (3 - 1)} \right) = f\left( {3 - 2} \right) = 1
    此时的权重积之和大于阈值,所以输出为1。

AND运算——输入含0时的情况(用神经元图示意)
深度学习笔记(一)——M-P模型(神经元模型)
深度学习笔记(一)——M-P模型(神经元模型)

OR运算

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

M-P模型公式如下:
深度学习笔记(一)——M-P模型(神经元模型)

  • 不妨设ωi{{\omega _i}}=1,hh=00——==使得当所有输入中至少要有一个为1时,输出必然为1;否则输入权重积之和总是等于于阈值hh的。
    i=1,2,3i=1,2,3为例:(ωi{{\omega _i}}=1,hh=00
    y=f(w1x1 + w2x2 + w3x3h)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(1x1 + 1x2 + 1x3(0))y = f\left( {{\text{1}} \cdot {x_1}{\text{ + 1}} \cdot {x_{\text{2}}}{\text{ + 1}} \cdot {x_{\text{3}}} - (0)} \right)
    所以,当输入的xi{{x_i}}全为1时:
    f(11 + 11 + 11(0))=f(30)=1f\left( {{\text{1}} \cdot 1{\text{ + 1}} \cdot 1{\text{ + 1}} \cdot 1 - (0)} \right) = f\left( {3 - 0} \right) = 1
    此时的权重积之和大于阈值,所以输出为1。

AND运算——输入含0时的情况(用神经元图示意)
深度学习笔记(一)——M-P模型(神经元模型)
深度学习笔记(一)——M-P模型(神经元模型)

M-P模型总结

明白M-P模型的计算公式,以及STEP**函数的取值为0-1折线型。
熟悉M-P模型在逻辑运算中的应用,体验人为添加权重和阈值,实现逻辑运算。

其实,在之后的感知器(机)也是在这个神经元模型基础上去延伸发展的,使得神经网络的发展得到有效的突破——本系列博客在后面将以此后的多层感知器以及更深入网络结构的其它模型为内容进行展开讲解。

如果这篇博客对您有所帮助,还希望您能赏一个赞呢!
收藏,关注有助于下次查看哦