Нейрокомпьютерные системы


         

Метод виртуальных частиц


Метод виртуальных (случайных) частиц может надстраиваться почти над любым методом оптимизации. Он создан для:

  1. повышения устойчивости обученных сетей;
  2. вывода сетей из возникающих при обучении локальных минимумов оценки.

Основная идея метода - использование случайных сдвигов аргумента и суммирование полученных значений функции для усреднения. Ожидается, что в результате уменьшится влияние рельефа минимизируемой функции на процесс минимизации и откроется более прямой путь к её глобальному минимуму.

Метод случайных частиц состоит в том, что к оптимизируемой точке (частице) добавляется несколько других, траектории которых получаются из траектории данной частицы сдвигом на случайный вектор. Эти "виртуальные" частицы время от времени уничтожаются и рождаются новые. Спуск (минимизация) строится так, чтобы уменьшилось значение суммы значений оптимизируемой функции в указанных точках.

Рассмотрим один из вариантов алгоритма виртуальных частиц. Пусть требуется найти минимум функции

.Параметры сети разбиваются на группы структурно эквивалентных. Для каждой группы задается свой интервал случайных сдвигов. Определяется число виртуальных частиц
и генерируется
случайных векторов
. Их координаты независимо и равномерно распределены в заданных интервалах.

Начальное положение основной частицы -

. Начальное положение
-ой виртуальной частицы
. Случайный вектор для
-й виртуальной частицы строится так:

(1)

и её положение задается вектором

. Всем частицам, кроме
-й, присваивается вес
,
,
-я получает вес
. Далее минимизируется функция

Алгоритм локальной оптимизации может быть выбран любой - от наискорейшего спуска и партан-методов до метода сопряженных градиентов. Выбор

в виде
и
определяется двумя обстоятельствами:

  1. для каждой координаты вектора
    дисперсия будет совпадать с дисперсией координат векторов
    ;
  2. для квадратичных
    точки минимума
    и
    совпадут.

В методе виртуальных частиц возникает важный вопрос: когда уничтожать имеющиеся виртуальные частицы и порождать новые?

Есть три варианта:




Содержание  Назад  Вперед