Подтвердить что ты не робот

Нейронная сеть пираминов не изучает

Я использую pybrain для создания агента, который изучает хемотаксис (перемещение в сторону пищи на основе химического сигнала). Агент представлен нейронной сетью, которая должна корректировать свои веса в зависимости от расстояния от пищи. Входы представляют собой два сенсорных нейрона, а выходы представляют собой два моторных нейрона, которые перемещают агент. Поэтому у меня есть непрерывные состояния и действия. Награда является обратным расстоянию от пищи.

В этом суть моего основного цикла:

task = ChemotaxisTask(ChemotaxisEnv(), MAX_STEPS)
module = buildNetwork(2,2,2)
learner = HillClimber(task, module, maxEvaluations=MAX_TRIALS, mustMinimize=True, storeAllEvaluations=True, storeAllEvaluated=True, verbose=False)
learner.learn()

Подходы, которые я пробовал, следующие:

  • Эксперимент с Q (не работает, потому что у меня есть непрерывные состояния/действия)
  • Эксперимент с Reinforce/ENAC (спуск градиента не производит никаких изменений)
  • ContinuousExperiment с Reinforce/ENAC (см. выше)
  • Эпизодический эксперимент с HillClimber (сетевые веса не изменяются)

Я решил попробовать работать с EpisodicExperiment, так как он лучше всего подходит для моего эксперимента.

Я могу наконец увидеть изменение веса сети, но моя средняя пригодность с течением времени не увеличивается. Что я могу делать неправильно?

Вот репозиторий Gist всего моего кода: https://gist.github.com/4477624

Вот документация на pybrain: http://pybrain.org/docs/index.html Документация ученика (например, Q, Reinforce, HillClimber) находится в http://pybrain.org/docs/api/rl/learners.html.

Сам код находится в https://github.com/pybrain/pybrain. Учащиеся находятся в https://github.com/pybrain/pybrain/tree/master/pybrain/rl/learners, и эксперименты находятся в https://github.com/pybrain/pybrain/tree/master/pybrain/rl/experiments.

Тем не менее, я использую учеников по оптимизации с помощью EpisodicExperiment; они расположены в https://github.com/pybrain/pybrain/tree/master/pybrain/optimization.

Я уверен, что вы можете найти свой путь через документацию и код оттуда. Все, с чем я работаю, находится в https://github.com/pybrain/pybrain/tree/master/pybrain/rl.

4b9b3361