Algorithm 连续与离散人工神经网络
我意识到这可能是一个非常小的问题,但有人有使用连续神经网络的经验吗?我特别感兴趣的是,连续神经网络对什么有用,而离散神经网络通常用于什么 为了清楚起见,我将澄清我所说的连续神经网络的含义,因为我认为它可以解释为不同的含义。我不是说激活函数是连续的。相反,我指的是将隐藏层中的神经元数量增加到无限的想法 为了清晰起见,以下是您典型的discreet NN的体系结构:Algorithm 连续与离散人工神经网络,algorithm,artificial-intelligence,neural-network,Algorithm,Artificial Intelligence,Neural Network,我意识到这可能是一个非常小的问题,但有人有使用连续神经网络的经验吗?我特别感兴趣的是,连续神经网络对什么有用,而离散神经网络通常用于什么 为了清楚起见,我将澄清我所说的连续神经网络的含义,因为我认为它可以解释为不同的含义。我不是说激活函数是连续的。相反,我指的是将隐藏层中的神经元数量增加到无限的想法 为了清晰起见,以下是您典型的discreet NN的体系结构: (来源:) x是输入,g是隐藏层的激活,v是隐藏层的权重,w是输出层的权重,b是偏差,显然输出层具有线性激活(即无) 离散神经网络和
(来源:)
x
是输入,g
是隐藏层的激活,v
是隐藏层的权重,w
是输出层的权重,b
是偏差,显然输出层具有线性激活(即无)
离散神经网络和连续神经网络之间的差异如下图所示:
(来源:) 也就是说,你让隐藏神经元的数量变成无穷大,这样你的最终输出就是一个积分。在实践中,这意味着代替计算确定性和,你必须用求积近似相应的积分 显然,对于神经网络来说,太多隐藏的神经元会产生过度拟合,这是一个常见的误解 我的问题是,鉴于离散和连续神经网络的定义,我想知道是否有人有使用后者的经验,以及他们使用它们做什么 有关该主题的详细说明,请参见:
过去,我使用连续神经网络进行过一些研究项目。激活是使用双极双曲线tan完成的,网络接受几百个浮点输入,输出大约一百个浮点值 在这种特殊情况下,网络的目的是学习矿物列车的动力学方程。该网络提供了列车的当前状态和预测速度、车厢间动态以及未来50秒后的其他列车行为 这个特殊项目的基本原理主要是关于性能。这是针对嵌入式设备的,评估NN比求解传统ODE(常微分方程)系统的性能友好得多 一般来说,连续神经网络应该能够学习任何类型的函数。当使用确定性方法解决系统不可能/极其困难时,这一点特别有用。与通常用于模式识别/分类目的的二进制网络相反
考虑到神经网络的非确定性本质,任何类型的神经网络都是敏感的野兽,选择正确的输入/网络结构可能有点像黑魔法。前馈神经网络总是“连续的”——这是反向传播学习实际工作的唯一方式(不能通过离散/阶跃函数进行反向传播,因为它在偏移阈值处是不可微的) 您可能对输入或目标输出进行离散(例如“一个热”)编码,但所有计算都是连续值。输出可能受到约束(即使用softmax输出层,以便输出总是和为一,这在分类设置中很常见),但仍然是连续的
如果你指的是预测一个连续的、不受约束的目标的网络——想想任何预测问题,其中“正确答案”不是离散的,线性回归模型是不够的。例如,递归神经网络曾在不同时期成为各种财务预测应用的流行方法。我认为这要么只是试图证明没有函数超过神经网络结构的逼近能力的理论家感兴趣,或者它可能是一种构造函数分段线性近似(通过反向传播)的方法。如果是后者,我认为现有的方法比反向传播更快,更不容易受到局部极小值的影响,也更不容易出现过拟合
我对神经网络的理解是,连接和神经元包含它所训练的数据的压缩表示。关键是你有一个比“普通课程”需要更多内存的大型数据集这在每一个例子中都很突出。NN被认为是一个经济的容器,它将从庞大的语料库中提炼出这个普遍的教训 如果你的神经网络有足够的隐藏单元对原始函数进行密集采样,这相当于说你的神经网络足够大,可以记住训练语料库(而不是从中归纳)。将训练语料库视为给定分辨率下原始函数的样本。如果NN有足够的神经元以比训练语料库更高的分辨率对函数进行采样,那么系统就没有推广的压力,因为它不受神经元数量的限制
由于不需要归纳也不需要概括,您不妨通过将所有训练数据存储在内存中并使用k-最近邻来记忆语料库,这将始终比任何NN表现得更好,并且即使NN的采样分辨率接近无穷大,也将始终与任何NN表现得一样好。该术语还没有完全解释清楚在机器学习文献中,这解释了所有的困惑。这似乎是一个一次性的文件,一个有趣的文件,但它并没有真正导致任何事情,这可能意味着几件事;作者可能只是失去了兴趣 我知道贝叶斯神经网络(具有可数个隐藏单元,“连续神经网络”的论文扩展到了不可数