首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否存在神经网络无法学习的确定性问题?

是否存在神经网络无法学习的确定性问题?
EN

Data Science用户
提问于 2022-12-12 15:59:39
回答 3查看 55关注 0票数 2

我有一个软件,接受5个输入数字和输出一个数字,确定。我想试着用神经网络精确地模拟这个软件,但我发现它非常困难。在整个训练过程中,损失函数似乎在一个值附近徘徊,或者偶尔增加,但它似乎没有最小化。

我想要模拟的函数是相对复杂的,我相信它涉及到求解微分方程。有什么事情我可以尝试使这更好的工作吗?有什么函数是神经网络学不到的?

EN

回答 3

Data Science用户

发布于 2022-12-13 12:09:59

从理论上讲,神经网络学习函数是可能的。这就是Cybenko定理告诉我们的。基本上,如果你有5个输入数字和一个决定性的输出数,你有类似的东西:输入: 1,1,1,1,1输出:5,你的神经网络正在试图计算出从这五个输出中得到5的公式。如果我们,作为人类,能够计算出五个1之和给我们的输出,那就意味着NN也可以实现这一点。当然,这只是理论上的,微分方程比简单的和要复杂得多,但它仍然是可能的。

票数 1
EN

Data Science用户

发布于 2022-12-13 16:11:23

“在理论上,理论和实践之间没有区别,但在实践中是有区别的。”-Anon。

众所周知,一个隐层(适当宽度)的稠密神经网络可以逼近任何函数,但通常直接逼近给定的函数是困难的。

不过,有几种方法可以让事情变得更简单。总有一种“投入资金”的选择,那就是获取更多的数据,使层更宽,训练更长。但是,根据您想要解决的具体问题,可能有更有效的方法。这份清单还远没有详尽无遗,你可以在你的领域里寻找调查/其他论文,看看其他人学到了什么。

数据优先于

  • 你们有足够的样本来正确的训练和自信的测试吗?
  • 有坏的样品吗?你可能会对答案感到惊讶。
  • 您的培训或测试数据中是否存在明显的空白?可能有一些关于函数的东西,模型不能直接通过提供的数据来学习。

使用您的领域知识

  • 您的数据是否可以以任何方式进行预处理以帮助模型完成?
  • 您的数据是否有更好的架构选择?还是建筑的组合?例如,我听说过扩散模型和微分方程之间的联系(但这不是我的领域)。
  • 这个函数是否代表了一个过程,它的各个部分,它是有意义的培训和增长,或烘焙子网络到体系结构,而不是单一的层叠层?
  • 将所有5个功能直接输入到一起是否有意义,还是可以通过输入子网络更好地处理不相交的功能子集?

的骗子

  • 在开始时提高学习率可以帮助解决讨厌的局部极小值。只是不要忘记使用调度程序来减少它的时间。
  • 没有一个最好的优化器,尝试几个不同的。
  • 将节点添加到一个层,同时鼓励特征的稀疏性(例如,退出)可以得到很好的结果,尽管它会使收敛更加困难。
  • 损失越来越少,但还不够低?增加一层可能会有帮助。但是,不管理论上怎么说,如果它不起作用的话,它可能会受伤--祝你好运--即使在其他冻结的层中,它也能收敛到同一性层。
  • 残余连接有时可以帮助更深层次的模型聚合到更好的解决方案上,但这并不是一个保证。跳过连接也是如此。
票数 1
EN

Data Science用户

发布于 2022-12-13 14:27:53

普适逼近定理指出,深度学习网络可以构造来学习广泛的函数类,包括从其他五个数字中预测一个数。

发现建筑可能是个挑战。最好的三条建议是:

  1. 大量的数据。希望数以百万计的复杂函数的例子。
  2. 一个庞大的网络。例如,大型语言模型(LLM)有数十亿个参数。
  3. 大量的计算。图形处理单元(GPU)是有用的,有时也是计算的集群。
票数 0
EN
页面原文内容由Data Science提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://datascience.stackexchange.com/questions/116992

复制
相关文章

相似问题

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