首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >神经网络的异常结果

神经网络的异常结果
EN

Stack Overflow用户
提问于 2016-10-12 19:54:34
回答 1查看 73关注 0票数 0

我写了一个简单的前馈人工神经网络来识别符号。

我在一个5x5像素网格中有一组6个可能的符号。

这些是{X, +, -, \, /, |}

例如,X将是:

代码语言:javascript
复制
X = [1,0,0,0,1,
     0,1,0,1,0,
     0,0,1,0,0,
     0,1,0,1,0,
     1,0,0,0,1]

灰色噪声区域的值可以在0到1之间。

我的神经网络由25个输入神经元( 5x5栅格)、6个有偏见的隐神经元和6个输出神经元组成。

每个输出神经元映射到一个符号。0到1之间的输出决定它识别哪个符号,即选择符号作为输出节点的最大值。

也就是说,如果输出是{X : 0.9, + : 0.2, - : 0.1, \ : 0.15, / : 0.15, | : 0.2},那么可识别的符号将是X

看来效果很好。然后我做了以下实验:

我得到了测试输入(上面的6个符号),并创建了一个噪声函数addNoise(n),其中n是随机添加到输入中的噪声的百分比。

对于01之间的每个噪声值,我运行了测试2000时间(每次噪声随机变化)。在X上执行此操作时,我得到了下面的图表。

您可能需要打开另一个页面上的图像才能看到完整的大小。

正如您所看到的,在我向X测试输入注入大约40% (x轴400)噪声后,它开始预测其他符号。

随着70%噪声加入到X中,网络预测X\的几率是相等的。

总之,我的问题是:

对于\/,图形上的线条不应该几乎完全对齐,因为它们与X符号是完全相同的吗?

为了澄清,在70%噪声之后,网络同样将X\混为一谈。

然而,经过~88%噪声后,网络同样混合了X/

为什么我的网络会产生这样的结果?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-12 21:11:46

您假设网络在培训期间正在学习字符XX表示。可能它学到的内部表示严重偏向于/,并混合了一些\。也就是说,如果输入有强/组件和一些\组件--那么就预测X。这些信息足以区分X和其他字符(干净时)。训练神经网络是基于损失函数的,如果这种表示已经满足我们的要求,那么网络就不需要学习更健壮的表示。

在这种假设情况下,与/相比,注入少量的噪声很容易掩盖/分量,这就需要注入大量的噪声。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40007219

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档