【发布时间】:2015-09-16 08:43:39
【问题描述】:
一个简单的例子:给定一个输入序列,我希望神经网络输出序列的中值。问题是,如果神经网络学会计算 n 个输入的中位数,它如何计算更多输入的中位数?我知道循环神经网络可以学习序列上的最大值和奇偶校验等函数,但计算这些函数只需要恒定的记忆。如果内存需求随着输入大小(例如计算中位数)而增长怎么办?
这是How are neural networks used when the number of inputs could be variable? 的后续问题。
【问题讨论】:
-
在您的问题中听起来好像很明显可以构建这样一个学习中位数的网络。直觉上,我会说这是不可能的。
-
也许一个更好的问题是固定程序大小的图灵机是否可以计算任意数量输入的中值。如果不能,那么神经网络肯定不能。
-
@cel 如果你像 CNN 那样使用最大和最小池化层,我认为中值问题是可以训练的。
-
@user3320467 给我看任何固定大小的图灵机,我可以设计一个足够大的输入,超过你的程序处理所有这些的能力。我的观点很简单:可变输入需要可变空间。
-
我投票结束这个问题,因为它与 help center 中定义的编程无关,而是关于 ML 理论和/或方法 - 请参阅 stackoverflow.com/tags/machine-learning/info 中的介绍和注释跨度>
标签: machine-learning neural-network