Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ИИС / поштучно / 25.Интегрированное применение эволюционных алгоритмов и нейронных сетей

.docx
Скачиваний:
43
Добавлен:
02.03.2016
Размер:
64.58 Кб
Скачать

Нейронные сети для поддержки генетических алгоритмов

Большинство исследователей изучали возможности применения генетических алгоритмов для обеспечения работы нейронных сетей. Обратные примеры немногочисленны. Для них характерно использование генетического алгоритма для решения оптимизационной задачи и применение нейронной сети для формировании исходной популяции для генетического алгоритма. Этот подход схематически иллюстрируется на рисунке 46 [7].

Таблица 4. Объединение генетических алгоритмов и нейронных сетей

Вид объединения

Характеристика объединения

Примеры использования

Генетические алгоритмы и нейронные сети независимо применяются для решения одной и той же задачи

Однонаправленные нейронные сети, сети Кохонена с самоорганизацией и генетические алгоритмы а задачах классификации

Вспомогательное

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

Формирование исходной популяции для генетического алгоритма

Генетические алгоритмы для обеспечения нейронных сетей

Анализ нейронных сетей

Подбор параметров либо преобразование пространства параметров

Подбор параметров либо правила обучения (эволюция правил обучения)

Равноправное

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

Эволюционное обучение сети (эволюция весов связей)

Генетические алгоритмы для выбора топологии нейронной сети

Эволюционный подбор топологии сети (эволюция сетевой архитектуры)

Системы, объединяющие адаптивные стратегии генетических алгоритмов и нейронных сетей

Нейронные сети для решения оптимизационных задач с применением генетического алгоритма для подбора весов сети

Реализация генетического алгоритма с помощью нейронной сети

Применение нейронной сети для реализации оператора скрещивания в генетическом алгоритме

Рисунок 46. Вспомогательное объединение нейронной сети с генетическим алгоритмом

Генетические алгоритмы для поддержки нейронных сетей

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

  • применение генетического алгоритма для подбора параметров либо преобразования пространства параметров, используемых нейронной сетью для классификации;

  • применение генетического алгоритма для подбора правила обучения либо параметров, управляющих обучением нейронной сети;

  • применение генетического алгоритма для анализа нейронной сети.

Рисунок 47. Вспомогательное объединение генетического алгоритма с нейронной сетью

Две первые области приложения генетических алгоритмов в нейронных сетях, вообще говоря, позволяют улучшать функционирование сетей (т.е. решают проблему синтеза), тогда как третья служит для анализа их функционирования [7]. Начнем обсуждение с последней позиции.

Анализ нейронных сетей

Некоторые исследователи применяли генетические алгоритмы в качестве вспомогательного инструмента для выяснения закономерностей функционирования нейронных сетей либо анализа эффективности их работы. Генетический алгоритм использовался для построения «инструментальной системы», облегчающей понимание функционирования сети – попросту говоря, для выяснения, что и почему делает сеть. Такое понимание необходимо для того, чтобы нейросетевой классификатор не воспринимался в качестве «черного ящика», который формирует ответ неким таинственным образом, и чтобы решения по классификации объектов были объяснимыми. Подобный «инструментарий» (explanation facilities) используется в большинстве экспертных систем, где реализация его сравнительно несложна. Построение этих инструментов для их применения в нейронных сетях считается более масштабной (и менее изученной) проблемой, относящейся к анализу сетей. Генетический алгоритм применялся для построения так называемых кодовых векторов (codebook vectors), представляющих собой входные сигналы, при которых функция активации конкретного выходного нейрона сети принимает максимальное или близкое к нему значение [7].

Подбор параметров либо преобразование пространства параметров

Генетический алгоритм используется при подготовке данных для нейронной сети, играющей роль классификатора. Эта подготовка может выполняться путем преобразования пространства параметров либо выделением некоторого подпространства, содержащего необходимые параметры [7].

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

Подбор параметров и правил обучения

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

Эволюция правил обучения будет представлена в п. 2.6.6.

Заметим, что эволюционная концепция уже может рассматриваться как переход от вспомогательного к равноправному объединению генетического алгоритма и нейронных сетей [7].

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

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

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

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

Эволюционное обучение нейронных сетей, т.е. эволюция весов связей Генетические алгоритмы для выбора топологии нейронных сетей

В качестве наиболее очевидного способа объединения генетического алгоритма с нейронной сетью интуитивно воспринимается попытка закодировать в генотипе топологию объекта (в рассматриваемом случае – нейронной сети) с указанием количества нейронов и связей между ними при последующем определении весов сети с помощью любого известного метода.

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

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

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

2.6.5. Адаптивные взаимодействующие системы

К равноправному объединению генетических алгоритмов и нейронных сетей следует отнести комбинацию адаптивных стратегий обоих методов, составляющую единую адаптивную систему. Существует ряд примеров реализации данного подхода. В первую очередь это использование нейронной подсистемы для выполнения генетических операций репродукции и скрещивания [7].