前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >学习笔记:多层感知器

学习笔记:多层感知器

作者头像
Lauren的FPGA
发布2020-05-29 10:52:57
1.6K0
发布2020-05-29 10:52:57
举报
文章被收录于专栏:Lauren的FPGALauren的FPGA

上期内容:HLS中如何控制流水程度

克服单层感知器局限性的有效办法就是在输入层和输出层之间引入一个或多个隐层作为输入样本的内部表示,从而将单层感知器变成多层感知器(MLP,Multilayer Perceptron)。下图显示了只有一个隐层的多层感知器。不难看出,它是一种前馈人工神经网络模型,由于输入层不涉及计算,该多层感知器的层数为2。还可以看到,隐层中的神经元和输入层各输入完全连接,输出层中的神经元和隐层中的各神经元也完全连接。因此多层感知器中的隐层和输出层都是全连接的。

多层感知器能否解决异或问题呢?

观察下图所示的多层感知器。该多层感知器含有一个隐层,隐层的两个节点相当于两个单层感知器。这两个节点在x1x2构成的平面上可分别确定分界直线S1S2,从而形成图中所示的一个开放式的凸域。适当调整两条直线的位置,可以使得两类线性不可分的样本分别位于该开放式凸域的内部和外部。对于直线S1,位于其上方的样本,对应节点y1输出为1,其下方样本对应节点y1输出为0;对于直线S2,位于其上方的样本,对应节点y2输出为1,其下方样本对应节点y2输出为0。此时,异或的真值表就可以转换为隐层节点的输出来表示。输出层节点以隐层节点y1y2的输出作为输入,其结构也相当于一个单层感知器。在y1y2构成的平面上,我们将4个样本在图中标记出来,此时,可以看到4个样本是线性可分的。单隐层感知器可解决异或问题,也就是说它具有解决线性不可分问题的能力。

隐层中节点的作用

输入样本为二维时,隐层中每个节点确定了二维平面上的一条分界线。多条直线经输出节点组合后会构成各种形状的凸域。通过训练调整凸域的形状,可将两类线性不可分样本分为域内和域外,如下图所示。

Kolmogorov理论指出:双隐层感知器足以解决任何复杂的分类问题。该结论已经过严格的数学证明。对于双隐层,第二个隐层中的每个节点确定一个凸域,各种凸域经输出层节点组合后成为任意形状,这使得双隐层分类能力比单隐层大大提高。

多层感知器案例

我们看一个多层感知器的案例,如下图所示。该多层感知器为2输入1输出,具有1个隐层,隐层和输出层权值及偏置如表格所示。

由于隐层中的每个节点可确定一个二维平面上的一条分界线,故该多层感知器隐层可确定5条分界线,从而形成如下图所示的凸域。

结论

单层感知器,可解决线性分类问题,对异或或者非线性分类问题无能为力,形成的判决域是一个半平面;当网络具有单隐层时,可解决异或和非线性问题,形成的判决域是一个凸域;当网络具有双隐层时,就可以解决任意复杂的非线性问题,形成的判决域也是一个任意形状的区域。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-05-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Lauren的FPGA 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档