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