为什么神经网络不能学习指定域之外的函数?

人工智能 神经网络 深度学习 函数逼近
2021-11-14 05:35:19

我知道神经网络基本上是插值工具。这意味着,给定一个训练数据集,一个训练有素的神经网络可以在训练数据集的域内近似值。但是,一旦我们针对该域之外的值进行测试,我们就不确定它们的行为。

在 Imagenet 的上下文中,在 Imagenet 中的一个类上训练的 NN 可能能够预测 Imagenet 之外同一类的图像,因为 Imagnet 本身为每个类覆盖了一个巨大的域,无论我们在野外遇到什么图像,其功能将由 Imagnet 负责。

现在,当我谈论具有简单输入的简单函数时,这种直觉对我来说已经崩溃了。例如,考虑s一世n(X). 我们的目标是训练一个神经网络来预测给定的函数X带有训练域[-1,1]. 从理论上讲,神经网络不应该能够很好地预测该域之外的值,对吧?这对我来说似乎违反直觉,因为该函数以非常简单和周期性的方式运行,我发现很难相信神经网络即使在训练域之外也无法计算出该函数的正确转换。

简而言之,无论我们试图逼近的函数多么简单,神经网络是否天生就无法在训练域之外找到可推广的变换?这是深度学习框架的属性吗?

是否存在研究人员能够使用训练域之外的神经网络来学习稳健的泛化转换的问题?有哪些可能的条件使这样的结果发生?

1个回答

您讨论的问题超出了机器范围,而是延伸到了机器后面的男人(或女人)。ML 可以分解为 3 个组件,模型数据学习过程顺便说一句,这也适用于我们。模型是我们的大脑,数据是我们的经验和感官输入,学习过程在那里但未知(目前<插入邪恶的笑声>)。

您的模型无法理解它是一个 sin 函数通常是通过构造来实现的。首先,尽管让我们从一个事实开始,如果有人给我看s一世n(X)[-1,1],正弦曲线是 id 想到的最后一件事: 它看起来几乎是线性的。因此,为了争论起见,我将继续假设您的意思是整个时期(
在此处输入图像描述
[-π,π]).在此处输入图像描述

现在,考虑到这一点,大多数通过预微积分的人都会假设正弦曲线,正如你所期望的那样,但让我告诉你这个想法是多么不稳定。让我们使用一个完整的周期,由π2 在此处输入图像描述
现在我不了解你,但我的蜘蛛侠感觉会让我首先想到高斯。这是整个周期的同一个正弦曲线,但只是微小的差异会改变整个视角。

现在让我们谈谈一些数学。鉴于不可数(X,s一世n(X))对之间[-1,1],我们可以提取函数s一世n(X)通过简单地沿该域中的任何点取泰勒级数,可以确定(假设无限可微)。更重要的是,我们只需要函数的一个无限小的连续子集来实现这个结果,但作为一个人,你能从[-.0001,.0001]? (我不这么认为!),因为默认情况下我们会量化,而要给计算机的也是量化。我们给它一个有限的可数点集,并期望它推广到一个不可数集。这很愚蠢,因为存在可以拟合这些精确点的无限函数集(此处的过度拟合步骤的概念)。

因此,如果计算机正确求解函数是如此不可行,为什么我们人类可以从[-π,π]领域?答案是我们预设的偏见。在成长过程中,我们已经处理了很多周期性问题,特别是罪和余弦,那个图形化的周期在我们的大脑中触发了一些东西,我们只知道它是什么。但这并不总是一个好处,我可以在该域上为您绘制一个低阶多项式,这会让您认为完全相同的想法使您错了

所以回到我最初的观点,问题在于模型创建者而不是模型。就像我刚才解释的那样,如果没有预设的偏差来学习我们想要的功能是不可行的,那我们该怎么办呢?放弃? 不,作为模型架构师,我们的目标是弄清楚我们想要什么以及如何最好地实现它!因此,如果我们希望它完成这项任务,让我们尽最大努力对这些偏差进行建模。如何做到这一点的一个简单示例是强制函数拟合傅立叶系数,这可能会很快解决这个问题(当然这限制了这个模型解决其他常见函数的能力)

要点:挣扎的不是模型,而是我们使用模型无法访问的预设偏差。解决这个问题的方法很聪明,并弄清楚如何从这些预设的偏见开始或学习它们。