2.3 Настройка нейронной сети на целевые функции отдельно от процесса оптимизации и ее проверка в ГА
В силу того, что значительная часть временного ресурса процесса оптимизации расходуется на вычисление значений целевых функций (функций вычисления коэффициентов готовности), предполагается разумным вычисление значений целевых функций с помощью настроенной НС.
Для настройки сети автором была разработана и реализована на языке высокого уровня программа в основе которой был положен уже известный алгоритм обратного распространения [7] с адаптивным шагом обучения на основе простого алгоритма локального поиска.
Общая схема обучения выглядит так:
1. Случайно генерируется битовая строка заданной длины (закодированный шаг обучения).
2. Битовая строка декодируется в вещественное число - шаг обучения.
3. Сети предъявляются все образы. Происходит настройка сети с шагом обучения, полученным на этапе 2. Вычисляется ошибка сети.
4. Если сеть настроена с заданной точностью или число генерированных строк равно числу, указанному пользователем, то настройка сети считается законченной.
5. Если ошибка уменьшается, то инвертируем в битовой строке текущего шага обучения 0 на 1 (0 выбирается случайно) - увеличиваем шаг с целью более быстрого спуска в точку минимума ошибки сети, иначе инвертируем в битовой строке текущего шага обучения 1 на 0 (1 также выбирается случайно) - уменьшаем шаг с целью локализации найденного минимума ошибки сети и спуска в него. Переходим к этапу 2.
6. Если инвертирование невозможно тогда переходим на этап 1.
Начальное окно программы изображено на рисунке 2.8.
В данной программе пользователь может не только установить архитектуру сети в настройках “Задать структуру”(см. рисунок 2.9), с произвольным числом слоев и нейронов на каждом слое, но и выбрать функцию активации нейронов в параметрах сети “Выбрать вид сигмоидной функции”.
“Задать число точек мультистарта” означает количество выполнения выше описанного алгоритма обучения, начиная с первого этапа.
В опциях “…шага обучения” устанавливаются ограничения на величину и точность шага обучения. И в зависимости от этих параметров получаем определенную длину булевой строки, которая также указывается в окне (см. рис. 8.2).
Рис. 2.8 Начальное окно программы “Настройка сети”
Рис. 2.9 Окно установки архитектуры НС
Также предоставляется возможность выбора: продолжать после завершения программы настраивать уже полученную сеть к этому моменту или начать сначала (генерировать начальные веса случайным образом).
Если во время процесса обучения была нажата кнопка “Кривая обучения” то окно программы примет вид как это показано на рисунке 2.10. Здесь в левой части окна изображена динамически строящаяся кривая процесса обучения сети по ошибке обучения в зависимости от номера эпохи (или итерации) обучения.
Рис. 2.10 Кривая обучения сети
Для настройки НС потребовалось 1000 обучающих пар вход-выход. Данное число пар было случайным образом сгенерировано с помощью уже имеющейся программы вычисления целевой функции по системе уравнений Колмогорова-Чепмена. Подбор числа обучающих пар осуществлялся эмпирическим (опытным) образом. Начиная со 100 пар, прибавляя по 100 настраивалась НС и проверялась в ГА. То есть, если точка оптимума не соответствовала реальной, то сеть считалась недообученной, добавлялись следующие 100 пар в обучающую выборку и обучение проводилось заново. Таким образом, в результате было получено 1000 пар, что составляет 0.38 процента от всех точек пространства оптимизации.
Запустив данную программу несколько раз, была получена НС. Аппроксимация по сети для одного из коэффициентов готовности КА изображена на рис 2.11.
Рис. 2.11 Окно программы после завершения настройки сети
После того как полученная НС была применена в качестве функции вычисления коэффициента готовности КА в ГА, последний нашел точку оптимума, которая совпала с объективной оптимальной точкой, найденной целочисленной оптимизацией, но при вычислении целевой функции по системе уравнений Колмогорова-Чепмена. Таким образом, можно сделать вывод о том, что нейронная сеть достаточно хорошо настроена для вычисления коэффициента готовности по ней, так как время вычисления по НС. значительно ниже, чем по системе уравнений. Недостатком данного метода замены целевой функции на обученную НС является разделение оптимизации на два этапа, где в ходе первого этапа ведется настройка сети, а уже потом оптимизация как таковая. Неизвестно, насколько это разделение оправдано с точки зрения экономии времени по сравнению с оптимизацией, где вычисление целевой функции ведется по системе уравнений. Поэтому было предложено совместить эти два этапа в один.
Выводы
В данном подразделе была разработана и реализована программа, позволяющая настроить нейронную сеть на получение значений показателей надежности ТК КА. В результате экспериментов над программой сеть была настроена на необходимую функцию вычисления коэффициента готовности КА. После настройки нейронной сети она была проверена. То есть полученная нейронная сеть была применена в качестве блока вычисления коэффициента готовности КА в ГА. Окна разработанной и реализованной программы «ГА и Нейронная сеть (НС)» приведены на рисунке 2.12.
Рис. 2.12 Окно программы “ГА и Нейронная сеть (НС)”
В программе “ГА и Нейронная сеть” генетический алгоритм решает задачу оптимизации коэффициентов готовности подсистем КА. Особенностью является то, в программу включена “обученная” НС. Недостаток “обученной” НС: значение в точке полученного оптимума отлично от объективного (для коэффициента готовности КА объективное равно 0.99992905, полученное сетью 0.999915555), а положительным моментом является то, что точка оптимума равна объективной (для коэффициента готовности КА она равна 000000111111111111).
- Введение
- Глава 1 Теоретическая часть
- 1.1 Постановка задачи оптимизации показателей эффективности функционирования технологического контура системы управления космическим аппаратом
- 1.2 Алгоритмы целочисленной оптимизации
- Глава 2. Практическая часть
- 2.2 Оптимизация показателей эффективности технологического контура генетическим алгоритмом
- 2.3 Настройка нейронной сети на целевые функции отдельно от процесса оптимизации и ее проверка в ГА
- 2.4 Настройка НС в процессе оптимизации с помощью ГА
- Решение задач оптимизации на графах
- Задачи оптимизации
- 3.3. Гибридная вычислительная техника
- 1 Алгоритм решения задачи
- 3.6. Разработка программных средств для решения экономических задач
- «Использование гибридных систем в задачах медицинской диагностики»
- Разработка основных алгоритмов решения задачи
- 13.3. Интегрированные, гибридные и синергетические системы
- Элементы решения задачи оптимизации.