Нейроэволюция
Нейроэволюция — форма машинного обучения, которая использует эволюционные алгоритмы для тренировки нейросети. Этот подход используется в таких отраслях как игры и управление приводами роботов. В этих случаях достаточно просто измерить производительность нейросети, в то время как реализовать обучение с учителем очень тяжело или практически невозможно. Этот метод обучения относится к категории методов обучения с подкреплением.
ВозможностиПравить
Существует большое количество нейроэволюционных алгоритмов, которые делятся на две группы. К первой относятся алгоритмы, которые производят эволюцию весов при заданной топологии сети, к другой — алгоритмы, которые помимо эволюции весов также производят эволюцию топологии сети. Хотя и не существует общепринятых условий для проведения различий, принято, что добавление либо удаление связей в сети в ходе эволюции называется усложнение либо упрощение соответственно. Сети, в которых производится эволюция как связей, так и топологии, называются TWEANNs (Topology & Weight Evolving Artificial Neural Networks).
Прямое и непрямое кодирование нейросетейПравить
Эволюционные алгоритмы манипулируют множеством генотипов. В нейроэволюции генотип — это представление нейросети. В схеме с прямым кодированием генотип эквивалентен фенотипу, нейроны и связи непосредственно указаны в генотипе. Напротив, в схеме с непрямым кодированием в генотипе указаны правила и структуры для создания нейросети.
Непрямое кодирование применяется для достижения следующих целей:
- возможность формирования и использования рекурсивных структур и паттернов
- преобразование фенотипа в генотип меньшего размера, уменьшение пространства поиска
- отображение пространства поиска на модель проблемной области знаний
См. такжеПравить
Для улучшения этой статьи желательно:
|