粒子群优化可以用于训练具有多个隐藏层的神经网络吗?

人工智能 神经网络 深度学习 训练 隐藏层 粒子群优化
2021-11-09 12:34:52

我一直在考虑用对局部最优不太敏感的算法替换经典梯度下降算法的想法。我正在考虑粒子群优化 (PSO),它试图为模型选择最佳权重和偏差。

但是我到处都看到只使用了一个隐藏层(没有人解释为什么只使用一个层)并且当我尝试使用多个隐藏层时所有这些代码都会中断,所以问题是:

  1. PSO 不能用于优化具有多个隐藏层的人工神经网络吗?

  2. 在那种情况下,这是为什么呢?

1个回答

粒子群优化可用于优化具有多个隐藏层的神经网络。您不是优化单个权重矩阵和两个偏置向量,而是优化它们中的更多。

但是,PSO 并不经常用于大型神经网络,因为粒子群优化在处理大量数据时并不是那么有效,而您需要训练大型神经网络。粒子群优化涉及采用许多粒子,并评估所有粒子的适应度。如果您有 1,000,000 个训练示例,那么即使您使用小批量,与使用其他技术湖反向传播或相关技术相比,您也会进行更多的错误计算。反向传播和相关技术在更大的神经网络中使用得更多,因为它们在处理更大的数据集时更有效。

至于为什么你一直使用的代码会破坏具有多个隐藏层的网络,我无法解释,但编写你自己的 PSO 基本实现来训练多层神经网络是相当容易的。