各个深度模型解读(5) 多层感知机

实现代码:

GardenLu的Giteee


理论

感知机

从广义上来说,感知机可以是一种可以接受信息的模型,我们的神经系统就可以接受信息,比如你看到了美女,眼睛就很难移开,所以我们的神经系统就是一个典型的感知机,这个概念也是由此而来。

同样的,机器学习模型可以接受数据,并形成动作和输出,所以我们的机器学习模型,同样也是一个感知机。

由来

在生物领域对人体感知的探索中,需要回答三个问题:

  1. 神经系统是以怎样的方式接受到外界信息的。
  2. 信息是以怎样的形式存储的/被记忆的
  3. 已经存储的信息是怎样对我们的认知和行为产生影响的。
输入模拟

我们的人体反应就是大家熟知的,通过皮肤美妙的触感,以及其他感官得到信息。

对于一个机器学习模型来说,信息如何获取呢?其实和人体的神经元很类似。(当然,这中观点只是学派之一,但是现在成为主流)

我们的神经元中有突触,其中一个是用来接受刺激的,如果刺激达到阈值,就让神经元做出反应,反之则没有反应。就像看到长得一般的没兴趣看,看到长得漂亮的,生理上就无法将眼睛移动开来。

image-20200924011752124

对于机器学习中的神经元,也是类似。

image-20200924011927763

假设输入层就是外界信息,我们在第一个隐藏层之前加入一个激活函数,以ReLU为例,它长下面这样。如果输入的刺激(值)达到了阈值之后,输入的刺激(值)越大,给出的反应就越大,如果没有达到阈值,就不反应。而这种阈值的设定,是可以人为的,这就是各种激活函数的用处。

image-20200924012135905

这样就模仿了输入的地方。我们也就回答了第一个问题。

记忆模拟

从感知机的时代来看,这个问题只是提出了一种很有前瞻性的假设,信息是通过神经元之间的连接来存储的。我们现在的LSTM机器之后的系列网络比较好的模拟了这个过程。

但是我们知道了一点,就是需要将各个神经元之间关联起来才有用。于是网络的各种稀奇古怪的连接就有了模拟对象。

行为模拟

按理来说,每个神经元都应该有自己的动作。并且按照生物学中的神经系统的理论,不同层的神经元还负责着不同程度的信息抽象。

OK,我们需要让每个神经元都有一个动作。并且每一层的神经元做的事情应该类似,那我们就来模拟一下吧。

输入我们建模为数据:X(多维)

记忆就是需要神经元之间建立连接:我们再看下面这个图,就是在每个箭头上都要给一个权值。如果隐藏层设为H,那么在不考虑激活函数的情况下,就应该是这么个玩意:
X W = H XW = H XW=H

如果将激活函数考虑进去的,就是这样:
a c t i v e ( X ) W = H active(X)W = H active(X)W=H
如果将每个神经元的行为考虑进去之后,那么H到下一层就可以建模为:
h i = Σ k = 1 4 ( x k w k i + b i ) h_i = \Sigma_{k=1}^{4}(x_kw_{ki} + b_i )\\ hi=Σk=14(xkwki+bi)
a c t i v e ( H ) W ‘ = o u t p u t active(H)W^{`} = output active(H)W=output
其中, h h h是H中的元素,x是X中的元素,w是W中的元素.

image-20200924011927763

所以,我们现在就知道感知机了,也知道激活函数就是为了模拟信息刺激的阈值,偏置b就是为了模拟神经元自身的作用,w就是为了模拟神经元之间的连接.

具体的细节,可以参看代码(文最上部分)

敬请批评指正.

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

古承风

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值