Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Применение генетических алгоритмов для обучения нейронных сетей




Мысль о том, что нейронные сети могут обучаться с помощью генетического алгоритма, высказывалась различными исследователями. Первые работы на эту тему касались применения генетического алгоритма в качестве метода обучения небольших однонаправленных нейронных сетей, но в последующем было реализовано применение этого алгоритма для сетей с большей размерностью.

Как правило, задача заключается в оптимизации весов нейронной сети, имеющей априори заданную топологию. Веса кодируются в виде двоичных последовательностей (хромосом). Каждая особь популяции характеризуется полным множеством весов нейронной сети. Оценка приспособленности особей определяется функцией приспособленности, задаваемой в виде суммы квадратов погрешностей, т.е. разностей между ожидаемыми (эталонными) и фактически получаемыми значениями на выходе сети для различных входных данных.

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

В качестве наиболее очевидного способа объединения генетического алгоритма с нейронной сетью интуитивно воспринимается попытка закодировать в генотипе топологию объекта (в рассматриваемом случае - нейронной сети) с указанием количества нейронов и связей между ними при последующем определении весов сети с помощью любого известного метода. Проектирование оптимальной топологии нейронной сети может быть представлено в виде поиска такой архитектуры, которая обеспечивает наилучшее (относительно выбранного критерия) решение конкретной задачи. Такой подход предполагает перебор пространства архитектур, составленного из всех возможных вариантов, и выбор точки этого пространства, наилучшей относительно заданного критерия оптимальности. С учетом достоинств эволюционного проектирования архитектуры в последние годы было выполнено большое количество исследований, в которых основное внимание уделялось эволюции соединений нейронной сети, т.е. количества нейронов и топологии связей между ними. Лишь в некоторых работах рассматривалась эволюция функций переходов, хотя эти функции считаются важным элементом архитектуры и оказывают существенное влияние на функционирование нейронной сети. Также, как и в случае эволюционного обучения, первый шаг эволюционного проектирования архитектуры заключается в формировании исходного множества рассматриваемых вариантов.

Пример 1

Пусть у нас есть нейронная сеть (персептрон) с некоторым набором коэффициентов w = [w1,w2… wn]. Данный вектор и будет являться хромосомой нейронной сети, где wi - есть ген нашей хромосомы. Дальше скрещивание будет происходить по отработанной схеме. Остаётся только определиться с генетическим оператором. В данной работе использовался одноточечный кроссинговер. Пример результата оператора кроссинговер, когда значение точки деления равно 4. т.е. после 4 коэффициента берём веса другой сети

Пример 2.

У нас имеется n особей в текущей популяции. Все особи этой популяции сходны между собой по своей структуре, т.е. они имеют одинаковое число слоёв и нейронов в каждом слое. Если в качестве хромосомы нейросети представить каждый весовой коэффициент, то скрещивание двух сетей будет представлять собой скрещивание соответствующих весовых коэффициентов. Т.е. данный способ слияния двух сетей сводится к скрещиванию двух вещественных чисел. Для которых, в свою очередь применяются стандартные методы.

Выводы

Если на некотором множестве задана сложная функция от нескольких переменных, то генетический алгоритм – это программа, которая за разумное время находит точку, где значение функции достаточно близко к максимально возможному. Выбирая приемлемое время расчета, мы получим одно из лучших решений, которые вообще возможно получить за это время.

 





Поделиться с друзьями:


Дата добавления: 2016-11-24; Мы поможем в написании ваших работ!; просмотров: 1078 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Слабые люди всю жизнь стараются быть не хуже других. Сильным во что бы то ни стало нужно стать лучше всех. © Борис Акунин
==> читать все изречения...

2308 - | 2208 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.012 с.