Я хочу узнать немного больше о других подходах к обучению нейронных сетей, и я могу найти немало литературы по обучению сети GA, но не так много по обучению PSO. Как это работает?
У меня есть общая идея: вы создаете рой из множества частиц и используете функцию потери сети (например, MSE) в качестве heuristi c. Частицы будут перемещаться в области, где 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, et c.
Мне бы хотелось, чтобы pu sh был в правильном направлении, но не обязательно кодировал, поскольку мне больше интересно узнать об этом сначала перед реализацией.