Russian Language English Language

10. Инструментальные средства для проектирования вычислительных сетей

10.1 СИСТЕМА АВТОМАТИЗИРОВАННОГО РАСЧЕТА ХАРАКТЕРИСТИК ТИПОВЫХ СХЕМ СИСТЕМ МАССОВОГО ОБСЛУЖИВАНИЯ

10.2 ОСНОВЫ МЕТОДИКИ ПОСТРОЕНИЯ ИМИТАЦИОННЫХ GPSS-МОДЕЛЕЙ ПЕРЕСТРАИВАЕМЫХ СТРУКТУР ДИСКРЕТНЫХ ПРОЦЕССОВ И СИСТЕМ

10.3 ПРИМЕНЕНИЕ ГЕНЕТИЧЕСКОГО АЛГОРИТМА В НЕЙРОННЫХ СЕТЯХ СЕТИ

10.4 АНАЛИЗ ВОЗМОЖНОСТИ ИСПОЛЬЗОВАНИЯ СУЩЕСТВУЮЩИХ МЕТОДИК ОЦЕНКИ ИНФОРМАЦИОННЫХ РИСКОВ ДЛЯ ОБЛАЧНЫХ ВЫЧИСЛЕНИЙ

10.5 ИСПОЛЬЗОВАНИЕ ГЕОИНФОРМАЦИОННОЙ СИСТЕМЫ ZULUGIS ДЛЯ РАЗРАБОТКИ ЭЛЕКТРОННОЙ МОДЕЛИ СИСТЕМЫ ТЕПЛОСНАБЖЕНИЯ

10.6 ИССЛЕДОВАНИЕ СПЕЦИФИКИ ПОСТРОЕНИЯ МОДЕЛИ НАБЛЮДАЕМОСТИ ЦИФРОВОЙ ПОДСТАНЦИИ

10.7 . РЕАЛИЗАЦИЯ АЛГОРИТМА АДАПТИВНОГО МОДАЛЬНОГО УПРАВЛЕНИЯ МНОГОМЕРНЫМИ ОБЪЕКТАМИ В СРЕДЕ MATLAB/SIMULINK


Экспресс информация

Редколлегия журнала

Подписка на новости

Гостевая книга

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

Письмо в редакцию

На начало


2017, Номер 1 ( 30)



Place for sale

BC/NW 2017 № 1 (30):10.3

ПРИМЕНЕНИЕ ГЕНЕТИЧЕСКОГО АЛГОРИТМА В НЕЙРОННЫХ СЕТЯХ

Курников Д.М., Петров С.А.

Генетический алгоритм (genetic algorithm) – это алгоритм, используемый в нейронных сетях для решения задач оптимизации и моделирования путём стохастического подбора и комбинации искомых параметров с использованием механизмов, похожих на биологическую эволюцию. Он состоит из следующих этапов:

1.           создание начальной популяции;

2.           выполнение операций скрещивания (селекция);

3.           мутация и формирование новой, следующей популяции.

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

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

При решении практических задач с использованием генетического алгоритма обычно выполняют четыре предварительных этапа:

·   выбор способа представления решения;

·   разработка операторов случайных изменений;

·   определение способов «выживания» решений;

·   создание начальной популяции альтернативных решений.

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

1.           генерируем начальную популяцию из N хромосом;

2.           измеряем для каждой хромосомы ее пригодность;

3.           отбираем пару хромосом-родителей с помощью способов отбора;

4.           совершаем рекомбинацию двух родителей, производя двух потомков;

5.           проводим мутацию потомков;

6.           повторяем шаги 3-5, пока не будет сгенерировано новое поколение популяции, содержащее N хромосом;

7.           Повторяем шаги 2-6 до окончания процесса.

 

Схема выполнения этапов генетического алгоритма приведена на рисунке 1.

http://www.intuit.ru/EDI/26_09_16_2/1474842043-31192/tutorial/20/objects/25/files/25_02.gif

Рисунок 1. Схема выполнения генетического алгоритма

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

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

Эффективность алгоритма зависит от параметров (размер начальной популяции, тип отбора, уровень мутации и др.), подбираемых опытным путём.

У генетических алгоритмов имеются следующие особенности:

·          данные алгоритмы оперируют множеством параметров в закодированной форме;

·          данные алгоритмы ведут поиск множеств-популяций точек, а не отдельную точку;

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

·          в данных алгоритмах правила принятия решения носят вероятностный, а не детерминированный характер.

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

В плане использования можно выделить следующие достоинства:

-       широкая область применения – обуславливается возможностью проблемно-ориентированного, функционального кодирования решений;

-       генетические алгоритмы могут комбинироваться с другими видами алгоритмов – возможно сочетание как эволюционных, так и неэволюционных алгоритмов;

-       генетические алгоритмы просты в реализации при поиске в пространстве решений большой размерности и независимы от его структуры;

-       генетические алгоритмы инвариантны относительно вида целевой функции (функции приспособленности).

Из недостатков можно выделить следующие:

-       ввиду эвристичности генетических алгоритмов нет гарантии наличия критериев оптимальности полученного решения;

-       относительно высокая вычислительная трудоемкость. Она обуславливается оценкой как перспектив, так и ретроспектив для процесса моделирования эволюции;

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

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

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

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

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

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

Рисунок 2. Вид популяции из нейронных сетей

Как видно из рисунка 2, для фиксированной топологии нейронной сети генетическая информация полностью содержится в значениях синаптических (от сл. «синапс») весов (W) и смещений (B). Таким образом, вектор (W, B) рассматривается как хромосома. Блок-схема применения генетического алгоритма при обучении сети приведена на рисунке 3.

 

Рисунок 3. Схема применения генетического алгоритма к обучению нейронной сети

 

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

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

Стоит отметить, что генетический алгоритм является эвристическим, т.е. он не является гарантированно точным или оптимальным. Однако применение данного алгоритма считается достаточным для решения определённых задач. В основе генетического алгоритма лежит практический подход, поэтому он часто подвергается критике. Так известный исследователь алгоритмов Стивен С. Скиена, профессор кафедры вычислительной техники университета Стоуни—Брук и лауреат премии института IEEE, писал, что не находил такой задачи, для решения которой генетические алгоритмы были бы самым подходящим и оптимальным средством.

 

Список использованной литературы

1.                Хайкин С. Нейронные сети: полный курс, 2¬e издание.:Пер. с анrл. – М. Издательский дом "Вильямс", 2006.

2.                Курейчик В.М. Генетические алгоритмы. Обзор и состояние // Новости искусственного интеллекта. — 1998.

3.                Стивен С. Скиена Алгоритмы. Руководство по разработке – СПб: БХВ-Петербург, 2011