ISBN 978-5-7262-1377-4. НЕЙРОИНФОРМАТИКА – 2011. Часть 3 В.Л. ЯКИМОВ, А.И. ЛОСКУТОВ, А.В. НАЗАРОВ Военно-космическая академия им. А.Ф. Можайского, Санкт-Петербург rujenz@mail.ru МАКСИМИЗАЦИЯ ЭНТРОПИИ ВХОДОВ И ВЫХОДОВ МНОГОСЛОЙНОЙ НЕЙРОННОЙ СЕТИ ПРИ МОДЕЛИРОВАНИИ ПРОЦЕССОВ ФУНКЦИОНИРОВАНИЯ БОРТОВОЙ АППАРАТУРЫ КОСМИЧЕСКОГО АППАРАТА Рассматривается нейросетевой подход к решению задачи моделирования процессов функционирования бортовой аппаратуры космического аппарата. Основное внимание уделено способам формирования обучающей выборки, реализующим принцип максимизации энтропии входов и выходов многослойной нейронной сети, позволяющим улучшить ее способность к обобщению. Ключевые слова: идентификация, энтропия, многослойная нейронная сеть, техническое состояние, космический аппарат Введение При решении задачи телеуправления космическим аппаратом (КА) по обратному каналу “борт-земля” передается информация оперативного контроля, в основном представленная телесигнализациями, принимающими дискретные значения и несущими информацию о событиях на борту объекта, о результатах прохождения команд управления [4]. В штатном режиме процессы функционирования бортовой аппаратуры адекватно описываются статической конечно-автоматной моделью в виде графа, в узлах которого находятся состояния объекта, а дугам соответствуют команды переходов из одного состояния в другое. Состояния и команды кодируются в виде последовательности символов [3]. В условиях нештатного функционирования объекта, например, при наличии неисправности бортовых систем обеспечения, состояние бортовой аппаратуры КА может сложным образом зависеть от различных внешних факторов, а его прогноз возможен лишь с некоторой вероятностью. Говорят, что система становится открытой по выходу. Чтобы закрыть систему, необходимо осуществить наблюдение за ней в течение некоторого периода времени и учесть задержанные во времени существенные признаки состояния объекта. Для моделирования работы вероУДК 004.032.26(06) Нейронные сети 141 ISBN 978-5-7262-1377-4. НЕЙРОИНФОРМАТИКА – 2011. Часть 3 ятностного автомата можно использовать более адекватный математический аппарат, например, искусственных нейронных сетей [2]. При этом задачей нейросетевого моделирования является поиск статистически достоверных зависимостей между входными и выходными последовательностями символов. Источником информации для статистического моделирования являются примеры из обучающей выборки. В табл. 1 представлен пример обучающей пары векторов для динамической модели прогнозирования состояния бортовой аппаратуры одного малого КА в условиях нештатного функционирования. Таблица 1 Обучающие вектора Вектор входных воздействий X Задержанные значения существенноСостояние Команда перехода го признака состояSq Kq ния s5,q-1, s5,q-2,..., s5,q-L+1 5 дв. 4 дв. симв. 19 дв. симв. симв. Вектор требуемых результатов Y Состояние Sq+1 5 дв. симв. Здесь, Sq – текущее состояние, представленное в виде двоичного слова; q – номер дискретного отсчета времени; L – количество задержанных значений существенного, изменяющегося нелинейно во времени признака состояния. Разряды слова состояния sφ,q , где φ – номер разряда, являются признаками состояния и несут информацию о текущем состоянии бортовой аппаратуры, событиях на борту КА. Для снятия неопределенности относительно процессов управления используется информация о командах управления, закодированная в виде двоичного слова Kq, разряды которого несут информацию об изменении режимов работы различных бортовых систем КА в соответствии с программой управления. Особенностью обучающей выборки, полученной по результатам оперативного контроля КА, является малое и существенно различающееся число обучающих примеров по каждому классу состояний за достаточно большой период наблюдения и значительная длина получаемых кодовых последовательностей [6]. Как следствие, при обучении нейронной сети, УДК 004.032.26(06) Нейронные сети 142 ISBN 978-5-7262-1377-4. НЕЙРОИНФОРМАТИКА – 2011. Часть 3 активность кодирующих нейронов получается не равномерной, а значимость весов, соответствующих различным нейронам неодинаковой, что ухудшает способность нейронной сети к обобщению [1]. В данной статье представлен подход к формированию обучающей выборки, реализующий принцип максимизации энтропии входов и выходов многослойной нейронной сети, позволяющий улучшить ее способность к обобщению при использовании режима последовательного обучения и позволивший существенно повысить достоверность прогнозирования технического состояния бортовой аппаратуры малого КА. Постановка задачи На основе исходной телеметрической информации, передаваемой с борта КА, для обучения модели прогнозирования формируются выборки: обучающая, проверочная и тестовая. Обучающая выборка представляет собой матрицу A N A M , где M – размер обучающей пары (Xi,Yi), NA – количество обучающих пар, Xi – входной вектор, Yi – вектор требуемых результатов (выходной вектор) нейросетевой модели, i 1, N A – номер обучающей пары. Рассмотрим случай, когда в выборке присутствуют лишь ординальные и категориальные переменные (телесигнализации) [1]. Каждый столбец матрицы A N A M соответствует своей переменной и характеризуется своим количеством классов значений этой переменной – m. Элементы различных классов в столбцах матрицы A N A M распределены неравномерно. Предполагается, путём дополнения исходной матрицы данных A N A M содержащимися в ней строками (Xi,Yi) сформировать новую обучающую выборку – матрицу CNC M , для которой в столбцах характерно равномерное распределение элементов классов. Это позволит обеспечить равномерное возбуждение входных и выходных нейронов и одинаковую значимость весовых коэффициентов при последовательной циклической процедуре обучения многослойной нейронной сети. Матрица CNC M содержит все строки матрицы A N A M , причем некоторые из них встречаются несколько раз и обладает большей энтропией. Для хранения промежуточных результатов вводим матрицу B N B M , NA<NB<NC. Необходимо решить задачу оптимизации: УДК 004.032.26(06) Нейронные сети 143 ISBN 978-5-7262-1377-4. НЕЙРОИНФОРМАТИКА – 2011. Часть 3 W (r ) min, r , (1) W W (r ) (G(r 1) G(r )) доп1, ((r 1) (r)) доп2 , W (r ) M m j (r ) n js (r ) j 1 s 1 N B (r ) (2) 2 1 m j (r ) , где W (r) – целевая функция, njs – количество элементов xij матрицы В в j-м столбце, принадлежащих классу s; mj – количество классов элементов в j-м столбце; i, j – номер строки и столбца промежуточной матрицы B соответственно; число 1 / m j характеризует значение плотности вероятности распределения элементов на входе j-го нейрона в случае равномерного закона распределения; число n js / N B характеризует значение плотности вероятности распределения элементов s-го класса на входе j-го нейрона; r – количество итераций процедуры оптимизации; G – статистическая оценка математического ожидания значений достоверности прогнозирования на тестовой выборке, полученная по результатам ряда экспериментов обучения нейронной сети при различных начальных значениях весовых коэффициентов; δ – доверительный интервал для значения G , определенный с доверительной вероятностью 0.99 [5]; εдоп1, εдоп2 – допустимые значения на приращение G и δ соответственно. УДК 004.032.26(06) Нейронные сети 144 ISBN 978-5-7262-1377-4. НЕЙРОИНФОРМАТИКА – 2011. Часть 3 Алгоритмы решения задачи Для решения задачи (1) и исследования влияния энтропии входов и выходов нейросетевой модели на ее способности к обобщению можно использовать различные алгоритмы. Алгоритм 1 1. Изменить порядок следования строк (обучающие пары) в исходной матрице A случайным образом. 2. Присвоить элементам промежуточной матрицы значения элементов исходной матрицы B=А, установить значение счетчика r=0, инициализировать матрицу С=B. 3. Рассчитать целевую функцию W для матрицы B. 4. Установить значение счетчика i = 0. Считать строку (Xi,Yi) из матрицы А. 5. Добавить строку (Xi,Yi) в матрицу B снизу. 6. Рассчитать целевую функцию Wi для полученной матрицы B. 7. Если Wi <W, то C=B, W=Wi, повторить п. 5-7. 8. Если Wi W, то i=i+1. 9. Если i < NA, повторить п. 5-9. 10. Если i NA, то r = r + 1, случайным образом изменить порядок следования строк (обучающих пар) в матрице C, провести ряд экспериментов по обучению нейросетевой модели на обучающей выборке C и проверочной выборке при различных начальных значениях весовых коэффициентов, оценить ее характеристики G и δ на тестовой выборке. Если выполняется условие (2), прекратить формирование обучающей выборки С. Если условие (2) не выполняется, повторить п. 3–9. 11. Использовать полученную выборку С для длительного обучения нейронной сети. Алгоритм 2 1. Изменить порядок следования строк (обучающие пары) в исходной матрице A случайным образом. 2. Присвоить элементам промежуточной матрицы значения элементов исходной матрицы B=А, установить значение счетчика r=0, инициализировать матрицу С=B. 3. Рассчитать целевую функцию W для матрицы B. 4. Установить значение счетчика i = 0. Считать строку (Xi,Yi) из матрицы А. 5. Добавить строку (Xi,Yi) в матрицу B снизу. 6. Рассчитать целевую функцию Wi для полученной матрицы B. УДК 004.032.26(06) Нейронные сети 145 ISBN 978-5-7262-1377-4. НЕЙРОИНФОРМАТИКА – 2011. Часть 3 7. Если Wi <W, то C=B, W=Wi, i = i + 1. 8. Если Wi W, то i = i + 1. 9. Если i < k*NA, где k – произвольно выбираемое целое число, повторить п. 5–9. 10. Если i k*NA, то r = r + 1, провести ряд экспериментов по обучению нейросетевой модели на обучающей выборке C и проверочной выборке при различных начальных значениях весовых коэффициентов, оценить ее характеристики G и δ на тестовой выборке. Если выполняется условие (2), прекратить формирование обучающей выборки С. Если условие (2) не выполняется, повторить п. 4–10. 11. Использовать полученную выборку С для длительного обучения нейронной сети. В процессе работы алгоритмов проверочная и тестовая выборки остаются неизменными. При обучении необходимо задать небольшое и одинаковое время обучения t в каждом эксперименте, при этом количество циклов обучения при различных размерах обучающей выборки будет различным. Это связано с тем, что размер обучающей выборки постоянно увеличивается и, для возможности корректного сравнения способности модели к обобщению, необходимо в каждом эксперименте обеспечить одинаковое количество обучающих пар векторов. Анализ результатов моделирования Представленные алгоритмы малоэффективны, если обучающая выборка уже обладает достаточной энтропией, и являются далеко не оптимальными, так как можно создать более эффективные процедуры минимизации целевой функции, как по скорости, так и по качеству решения задачи (1). Данный подход не претендует на общность, так как в отдельных случаях могут потребоваться существенные изменения в самой постановке задачи (1) и методике ее решения. Тем не менее, он позволил улучшить достоверность прогнозирования технического состояния бортовой аппаратуры малого КА с помощью многослойной нейронной сети, имеющей следующие характеристики: количество скрытых слоев – 2, нейронов в каждом скрытом слое – 5, входных нейронов – 28, выходных нейронов – 5, алгоритм обучения – последовательный наискорейшего спуска (рис. 1). УДК 004.032.26(06) Нейронные сети 146 ISBN 978-5-7262-1377-4. НЕЙРОИНФОРМАТИКА – 2011. Часть 3 Рис. 1. Зависимость характеристик модели прогнозирования на тестовой выборке от параметров алгоритма максимизации энтропии Выводы За счет использования представленных в статье алгоритмов формирования обучающей выборки и максимизации энтропии входов и выходов нейросетевой модели удалось добиться эффекта обобщения на ситуации, не наблюдавшиеся в обучающей и проверочной выборке, повысить достоверность прогнозирования на тестовой выборке на 25%. Результаты прогнозирования, полученные с помощью моделей на основе полиномиальной авторегрессии, оказались хуже на 10 % [6]. Список литературы 1. Ежов А.А., Шумский С.А. Нейрокомпьютинг и его применения в экономике и бизнесе. – М.: МИФИ, 1998. 2. Калан Р. Основные концепции нейронных сетей: Пер. с англ. – М.: Издательский дом “Вильямс”, 2001. 3. Козырев Г.И. Основы испытаний бортовых радиоэлектронных систем. Учебное пособие. – СПб.: ВИКУ, 2001. 4. Телеметрия / Белицкий В.И. и др. – Л.: МО СССР, 1984. 5. Хартман К. Планирование эксперимента в исследовании технологических процессов. − М.: Мир, 1977. 6. Якимов В.Л., Назаров А.В. Прогнозирование технического состояния малых космических аппаратов с использованием многослойных нейронных сетей //Известия вузов. Приборостроение, № 1, 2006. С. 7–11. УДК 004.032.26(06) Нейронные сети 147