连续与离散人工神经网络

Posted

技术标签:

【中文标题】连续与离散人工神经网络【英文标题】:Continuous vs Discrete artificial neural networks 【发布时间】:2011-03-05 05:26:48 【问题描述】:

我意识到这可能是一个非常小众的问题,但有没有人有使用连续神经网络的经验?我特别感兴趣的是连续神经网络的用途与您通常使用离散神经网络的用途。

为了清楚起见,我将澄清我所说的连续神经网络的含义,因为我认为它可以被解释为不同的东西。我确实不是的意思是激活函数是连续的。相反,我提到了将隐藏层中的神经元数量增加到无限数量的想法。

所以为了清楚起见,这里是典型的谨慎 NN 的架构: (来源:garamatt at sites.google.com)

x 是输入,g 是隐藏层的激活,v 是隐藏层的权重,w 是输出层的权重,@987654332 @ 是偏差,显然输出层有一个线性激活(即没有)。

离散NN和连续NN之间的区别如下图所示: (来源:garamatt at sites.google.com)

也就是说,你让隐藏神经元的数量变得无限,这样你的最终输出就是一个积分。在实践中,这意味着您不必计算确定性总和,而是必须用正交近似对应的积分。

显然,这是对神经网络的一个常见误解,即隐藏的神经元过多会导致过度拟合。

我的问题是,鉴于离散和连续神经网络的这个定义,我想知道是否有人有使用后者的经验以及他们将它们用于什么类型的事情。

可以在此处找到有关该主题的进一步说明: http://www.iro.umontreal.ca/~lisa/seminaires/18-04-2006.pdf

【问题讨论】:

你指的是输入还是目标是离散/连续的? 我(非常轻松地)浏览了您所指的论文。这似乎更像是一种理论上的探究,而不是任何实际的东西(但我可能记错了)。无论如何,这是一个相当新的话题,所以你很难找到任何人将它用于现实世界。找到 cont 用途的最佳机会。 NNs 就是用 Google Scholar 搜索学术论文。 【参考方案1】:

我认为这要么只对试图证明没有函数超出 NN 架构的逼近能力的理论家感兴趣,要么它可能是关于构造一个分段线性逼近(通过反向传播)的方法的命题功能。如果是后者,我认为现有的方法比反向传播更快,更不容易受到局部最小值的影响,并且更不容易过度拟合。

我对 NN 的理解是,连接和神经元包含对其进行训练的数据的压缩表示。关键是您有一个大型数据集,它需要比每个示例中突出的“一般课程”更多的内存。 NN 被认为是一种经济的容器,可以从庞大的语料库中提炼出这一普遍教训。

如果你的 NN 有足够的隐藏单元对原始函数进行密集采样,这相当于说你的 NN 足够大,可以记住训练语料库(而不是从中进行泛化)。将训练语料库视为给定分辨率下原始函数的样本。如果 NN 有足够的神经元以比您的训练语料库更高的分辨率对函数进行采样,那么系统就没有泛化压力,因为它不受神经元数量的限制。

由于没有诱导也不需要泛化,您不妨通过将所有训练数据存储在内存中并使用 k 近邻来记住语料库,这将总是比任何 NN 表现更好,并且即使 NN 的采样分辨率接近无穷大,其性能也始终与任何 NN 一样好。

【讨论】:

感谢您的输入,我个人没有使用 kNN 算法的经验,但据我所知,它们与大多数分类算法相比具有相当的竞争力。对于具有无限数量的隐藏神经元的 NN,您当然不需要无限的内存来近似其效果。您可以通过使用正交并将您的连续函数w(j) 表示为密集采样点或分段插值函数等以非常好的精度进行近似... 也许你可以澄清一下无限这个词的用法,就像我们描述的那样:“将隐藏层中的神经元数量增加到无限量”。我会考虑在这里使用无限意味着没有上限。我认为您的意思是隐藏单元的数量选择得足够大,可以在给定分辨率下对特定函数进行采样。 好吧,我只是将理论与实际实现分开。从理论上讲,您可以构建一个具有无限数量的隐藏神经元的神经网络,这样在对其进行评估时,它与计算该积分具有相同的效果。在实践中,这意味着您无需评估积分,而是对其进行近似。我没有说在内存中构造这样一个NN。 “我对 NN 的理解是,连接和神经元包含对其训练的数据的压缩表示。”情况并非如此。一般来说,一个训练有素的网络会在隐藏单元中学习过滤器,这些过滤器可以揭示对分类任务有用的相关性,但这并不一定总是如此,“压缩”当然不是考虑它的方式。 有损压缩和泛化有什么区别?【参考方案2】:

该术语在机器学习文献中并没有完全流行起来,这解释了所有的困惑。看起来这是一篇离题,有趣的一篇,但它并没有真正导致任何结果,这可能意味着几件事;作者可能只是失去了兴趣。

我知道贝叶斯神经网络(具有可数的许多隐藏单元,“连续神经网络”论文扩展到不可数的情况)被 Radford Neal 成功采用(参见his thesis所有关于这些东西)赢得@987654322 @ 使用贝叶斯神经网络。

【讨论】:

哦有趣的会深入研究。【参考方案3】:

过去,我曾使用连续神经网络参与过一些研究项目。激活是使用双极双曲正切完成的,网络接受数百个浮点输入并输出大约一百个浮点值。

在这种特殊情况下,网络的目的是学习矿物列车的动态方程。网络获得了火车的当前状态,并预测了未来 50 秒后的速度、车厢间动态和其他火车行为。

这个特定项目的基本原理主要是关于性能。这是针对嵌入式设备的,与求解传统的 ODE(常微分方程)系统相比,评估 NN 对性能更加友好。

一般来说,连续神经网络应该能够学习任何类型的函数。当使用确定性方法解决系统不可能/极其困难时,这特别有用。与通常用于模式识别/分类目的的二元网络相反。

鉴于任何类型的神经网络都具有不确定性,因此选择正确类型的输入/网络架构可能有点像一门黑魔法。

【讨论】:

hayman 我不认为你在回答这个问题。 gmatt(正如他所说)没有询问具有连续激活函数的 NN,如 sigmoid 或 tanh。事实上,感知器 ANN(具有阶跃函数激活,你称之为“二元网络”)实际上并没有被使用,因为它们不可微分,因此不能用于反向传播。此外,除了权重的随机启动之外,我不确定训练 ANN 的不确定性是什么。 ANN 的不确定性是什么意思?【参考方案4】:

前馈神经网络始终是“连续的”——这是反向传播学习真正起作用的唯一方式(您不能通过离散/阶跃函数进行反向传播,因为它在偏置阈值处不可微分)。

您可能对输入或目标输出进行离散(例如“one-hot”)编码,但所有计算都是连续值的。输出可能受到约束(即使用 softmax 输出层,使得输出总和为 1,这在分类设置中很常见),但仍然是连续的。

如果您指的是一个预测连续、无约束目标的网络,请考虑任何“正确答案”不是离散的预测问题,并且线性回归模型是不够的。例如,循环神经网络在不同时期一直是各种金融预测应用的流行方法。

【讨论】:

实际上,当我说连续 NN 时,我不确定您的两个答案中的任何一个都知道我的意思。我不是说激活是连续的,而是看一下iro.umontreal.ca/~lisa/seminaires/18-04-2006.pdf。这个想法是你用“无限”数量替换隐藏单元的数量,这样你的总和就变成了一个整数。从理论上讲,这应该比通常的方法有很多好处。我将在我的问题中添加这个细节以使事情更清楚。 啊,我记得这篇论文,依稀。写另一个答案。【参考方案5】:

不知道连续神经网络是通用逼近器(在 $L^p$ 或 $C(\mathbbR)$ 中的密度意义上,用于紧凑的一致收敛拓扑,即:如@ 987654321@) 但只有本文意义上的通用插值器: https://arxiv.org/abs/1908.07838

【讨论】:

以上是关于连续与离散人工神经网络的主要内容,如果未能解决你的问题,请参考以下文章

机器学习人工神经网络ANN

卷积神经网络CNN

2021年人工神经网络第三次作业-第一题-参考答案

如何用神经网络实现连续型变量的回归预测?

如何通过人工神经网络实现图像识别

综述 | 伯克利《高效神经网络推理的量化方法》