Повторения в алгоритме NEAT/HyperNEAT и промежуточные результаты

В настоящее время я реализую алгоритм, подобный HyperNEAT, на языке C, но я столкнулся с двумя важными аспектами алгоритма, которые я не могу реализовать должным образом. Я безуспешно копался в исходном коде алгоритмов NEAT и HyperNEAT. Эти проблемы связаны с повторениями NEAT/CPPN из-за внутренних петель обратной связи.

Первый выпуск

Какова правильная последовательность вычислений в NEAT/CPPN с петлями обратной связи? На следующем рисунке я привожу пример повторения в топологии:

Петли обратной связи в топологии

При первом вычислении обратные связи не содержат результатов предыдущих вычислений. Должен ли я выполнять первое вычисление с пустыми ссылками?

Второй выпуск

Представьте, что я хочу создать изображение, передав координаты пикселей в NEAT в качестве входных данных. Насколько мне известно, модель NEAT должна получать один входной отсчет на пиксель. Стоит ли сохранять промежуточные результаты топологии из бывших пикселей? Если NEAT имеет прямую связь, эта проблема не имеет никакого эффекта, но если она представляет петли обратной связи, результаты меняются. (Та же проблема применяется к CPPN в HyperNEAT при косвенном кодировании подложек).

Я знаю, что эти вопросы также связаны с теорией графов, но я хочу знать, как они выполняются в алгоритмах NEAT.

Спасибо!

0 ответов

Другие вопросы по тегам