首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >神经网络基础乘

神经网络基础乘
EN

Stack Overflow用户
提问于 2014-04-07 04:31:04
回答 1查看 166关注 0票数 1

你好,我在学习神经网络。神经元是否只存储一个介于1或-1之间的值?我不能给值255或1024怎么样?我正在寻找encog java库XOR函数求解器示例。我想通过改变XOR_INPUT和XOR_IDEAL将异或转换成乘法器。

以下是源位置:World

我变了

发自:

代码语言:javascript
运行
复制
/**
 * The input necessary for XOR.
 */
public static double XOR_INPUT[][] = { { 0.0, 0.0 }, { 1.0, 0.0 },
        { 0.0, 1.0 }, { 1.0, 1.0 } };

/**
 * The ideal data necessary for XOR.
 */
public static double XOR_IDEAL[][] = { { 0.0 }, { 1.0 }, { 1.0 }, { 0.0 } };

至:

代码语言:javascript
运行
复制
/**
 * The input necessary for XOR.
 */
public static double XOR_INPUT[][] = { { 0.0, 0.0 }, { 1.0, 0.0 },
        { 1.0, 2.0 }, { 2.0, 4.0 } };

/**
 * The ideal data necessary for XOR.
 */
public static double XOR_IDEAL[][] = { { 0.0 }, { 1.0 }, { 2.0 }, { 8.0 } };

在转换成这些值之后。我得到无限循环并输出常数:

Epoch #274107错误:12.75

Epoch #274108错误:12.75

Epoch #274109错误:12.75

Epoch #274110错误:12.75

Epoch #274111错误:12.75

Epoch #274112错误:12.75

Epoch #274113错误:12.75

Epoch #274114错误:12.75

Epoch #274115错误:12.75

Epoch #274116错误:12.75

Epoch #274117错误:12.75

Epoch #274118错误:12.75

Epoch #274119错误:12.75

以下是问题;

这叫局部极小值吗?

我需要在(0到1)之间设置值还是必须设置(-1和1)之间的值?

3)如何解决简单的乘法求解问题?

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-07 05:14:29

您的输出层是sigmoid,这意味着它只能表示0到1之间的值,因此不可能训练这样一个网络来识别其他任何东西。但是,这不是网络故障,您应该缩放您的输出,以便它适合这个间隔,并在以后下降。

简单地说:

  • 当前产出0、1、2、8
  • 我们假设8是“最大值”,然后将其缩小为8: 0,1/8,1/4,1

现在训练您的网络,检索原始输出,只需将值乘以8。

记住,简单的神经网络是,而不是用于符号计算的工具。如果您正在寻找一个能够真正找到a*b公式的模型,那么请阅读有关symbolic function networks的内容。

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

https://stackoverflow.com/questions/22903645

复制
相关文章

相似问题

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