我想了解更多关于训练神经网络的其他方法的信息,我可以找到相当多的关于 GA 训练网络的文献,但关于 PSO 训练的文献不多。这是如何运作的?
我有一个大概的想法:你创建了这么多粒子群,并使用网络损失函数(例如 MSE)作为启发式算法。粒子将移动到 MSE 最低的区域,然后你就有了网络的权重。
我了解在线香草反向传播网络,这是训练的总体思路:
for each epoch:
for each training example d:
feed-forward d through layers 0..n
find error e as a function of expected vs. actual output
back-propagate e through layers n..0
update weights w as a function of w, e, learning and momentum rates
endfor
endfor
我只是找不到太多关于使用 PSO 训练神经网络或它适合算法的信息。除了我的陈词滥调(也许是不正确的)假设之外,我不知道它是用于在线学习还是批量学习,如何在没有 BP 的内层发现错误,PSO 是否替代或伴随 BP 等等。
我希望朝着正确的方向前进,但不一定要编写代码,因为我更感兴趣的是在实施之前先了解它。