14 Доклады ТУСУРа. 2004 г. Автоматизированные системы обработки информации, управления и проектирования УДК 551.576 ОПТИМИЗАЦИЯ НЕЙРОННОЙ СЕТИ В ЗАДАЧЕ ВОССТАНОВЛЕНИЯ ПРОФИЛЯ КОНЦЕНТРАЦИИ ОЗОНА ИЗ ЛИДАРНЫХ ДАННЫХ М.Ю. Катаев, А.Я. Суханов В статье представлено исследование возможностей нейронных сетей по восстановлению профиля концентрации озона из лидарных данных. Целью исследования является дальнейшее совершенствование нейронного сетевого (НС) подхода к решению задачи восстановления профиля концентрации озона из лидарных данных. В предыдущей статье [1] нами была показана принципиальная возможность применения нейронных сетей для восстановления профиля концентрации озона в стратосфере. Однако точность восстановления (в среднем около 10 %) не позволяет пока использовать этот подход на практике. Для поиска причин возникновения ошибок и их уменьшения нами рассмотрены различные варианты построения нейронных сетей, а именно: различное количество слоев сети, варианты видов активационной функции, объем обучаемой выборки и др. Задача восстановления профиля концентрации озона из данных лидарного зондирования заключается в преобразовании высотного вектора оптических данных (разность оптических толщ) [1] в высотный вектор концентрации исследуемого газа. Упрощенно задачу можно представить как черный ящик, на вход которого подаются данные о разности оптических толщ, на выход подаются данные о концентрации. При этом входные данные, подаваемые в нейронную сеть, могут содержать дополнительную информацию о температуре, давлении, сезоне или месяце ведения зондирования. При решении такой задачи возникает необходимость выбора типа нейронной сети, ее конфигурации, метода обучения [2]. В данной задаче скорость обучения является существенной из-за необходимости переобучения сети. Одним из вариантов нейронной сети может быть многослойный персептрон. При этом возникает необходимость определения оптимального количества слоев и связей в сети, нужно учесть, что при выборе малого количества весовых коэффициентов сеть может не находить нужных решений, а при чрезмерном увеличении их количества сеть будет долго обучаться. Выбор алгоритма обучения тоже существен. Известно, что градиентные алгоритмы могут приводить к локальному минимуму, в то время как генетический и стохастический алгоритмы, обходя эту проблему, обладают медленной сходимостью. При этом использовалось моделирование профиля концентрации озона на основе гаус- ⎡ (h − H )2 ⎤ ⎥ + 1 , где A – максимум озонного слоя; H – центр σ ⎣ ⎦ совых функций ρ( h ) = A exp ⎢ − озонного слоя; σ – полуширина озонного слоя. Среднее значение A равно 200, среднее значение H равно 26, среднее значение σ равно 20. Для моделирования тестового набора векторов для обучения НС осуществляется изменение данных величин с шагом 1 в следующих пределах [160, 240], [16, 36], [10, 30] со- 15 Доклады ТУСУРа. 2004 г. Автоматизированные системы обработки информации, управления и проектирования ответственно для величин A , H , σ . Гауссова функция взята как функция, наиболее близкая к реальному озоновому профилю, так и для возможности простой и наглядной интерпретации весовых коэффициентов нейронной сети. Таким образом, было получено 4000 обучающих примеров. Каждый из векторов состоит из 100 точек, по высоте от 0 до 50 км. Примеры краевых значений для полученных профилей концентрации приведены на рис. 1. 260 концентрация, отн.ед. 240 220 200 180 160 140 120 100 80 60 40 20 0 -20 0 10 20 30 40 50 высота, км Рис. 1 – Примеры векторов с максимальным разбросом параметров Было проведено обучение однослойной, двухслойной и трехслойной нейронных сетей (рис. 2). τ(h1) p(h1) τ(h3) τ(h1) p(h1) τ(h3) p(h2) p(hn) τ(hn) p(h2) p(hn) τ(hn) а б τ(h1) p(h1) τ(h3) p(h2) p(hn) τ(hn) в 16 Доклады ТУСУРа. 2004 г. Автоматизированные системы обработки информации, управления и проектирования Рис. 2 – Примеры однослойной (а), двухслойной (б) и трехслойной (в) нейронных сетей Обучение НС методом обратного распространения ошибки Как известно, это алгоритм поиска минимума разности между желаемым выходом и выдаваемым нейронной сетью на основе метода градиентного спуска. При этом алгоритм может найти не глобальный, а локальный минимум. Тесты показали, что сходимость алгоритма зависит от выбора начальных значений весовых коэффициентов. При выборе малых начальных значений весовых коэффициентов сеть при обучении выдает на любой входной сигнал одно и то же значение либо постоянно выдает вектор, подаваемый в данный момент на обучение, то есть сеть способна распознать только одно значение профиля концентрации. Было проверено, что, чем меньше слоев в нейронной сети, тем меньше могут быть начальные значения весовых коэффициентов для адекватного обучения сети. При обучении однослойной нейронной сети некоторые из обучающих примеров не распознаются. При использовании двухслойной нейронной сети средняя ошибка составляет 10 %, при использовании трехслойной нейронной сети – 2–3 %. При обучении методом обратного распространения ошибки требуются множественные прогоны циклов обучения для каждого из примеров выборки. При этом проведенные тесты на процессоре с частотой 800 Гц для трехслойной нейронной сети показали, что ошибка от 100 до 30 % уменьшается в течение нескольких минут, затем для уменьшения ошибки до 10 % требуется один час, до 2–5 % ошибка уменьшается в течение нескольких часов. Обучение НС с помощью генетического алгоритма Генетический алгоритм поиска минимума основан на моделировании процесса природной эволюции и относится к так называемым эволюционным методам поиска. При практической реализации данного метода используют стандартные операции, изменяющие решение. Поиск оптимального решения основан на оптимизации множества решений. Для минимизации ошибки работы нейронной сети алгоритм генетического поиска можно построить следующим образом. Определяется множество векторов весовых коэффициентов – возможных оптимальных решений. Каждое решение представляет собой хромосому, в которой каждый весовой коэффициент, если перевести его в двоичный код (либо в код Грэя), можно представить геном, также для каждого решения вычислена функция пригодности к тому, что решение может быть оставлено в выборке. В качестве такой функции обычно используется функция ошибки работы сети. Затем из множества решений случайным или определенным образом выбираются два кандидата на проведение операции скрещивания. Операция скрещивания заключается в том, что в родительских хромосомах выбираются один или несколько соответствующих друг другу генов. После этого случайным образом выбирается точка разделения в гене, и одна часть гена потомка выбирается из соответствующей части гена первого родителя, другая – из гена второго родителя. Затем в получившемся потомке выбираются гены для проведения операции мутации, в гене случайным образом происходит инверсия одного или нескольких битов. Осуществляется 17 Доклады ТУСУРа. 2004 г. Автоматизированные системы обработки информации, управления и проектирования вычисление функции пригодности потомка, потомок отвергается либо сохраняется в выборке решений, заменяя наиболее непригодное решение. Наибольшее время при одном шаге такого алгоритма уходит на вычисление функции пригодности. Так как ошибка работы сети вычисляется как сумма квадратов ошибок работы сети для всех примеров обучающей выборки, то при большом количестве примеров обучения и значительном числе нейронов и весовых коэффициентов время вычисления функции пригодности становится многократно большим, чем время выполнения остальных операций. Учитывая достаточно медленную сходимость самого алгоритма, использовать его для переобучения в поставленной задаче очень невыгодно, хотя при этом алгоритм с высокой вероятностью может гарантировать сходимость к глобальному оптимуму. При тестировании алгоритм показал такую же точность при обучении двухслойной и трехслойной сетей, как и алгоритм обратного распространения ошибки (ошибка обучения – 2–5 %), но при этом очень медленную скорость обучения, в частности, из-за необходимости вычисления функции ошибки сети. Обучение проводилось в течение нескольких дней. Обучение с помощью стохастических алгоритмов тоже очень медленное из-за необходимости вычислять функцию ошибки сети. Влияние функций активации на точность восстановления Для проверки влияния функций активации было выбрано несколько функций активации нейронов для двухслойной нейронной сети: 1) гауссова функция f ( g ) = exp( − g 2 2) ; 2) сигмоида на базе экспоненты f ( g ) = 1 [1 + exp( − g ) ] ; 3) синусоида f ( g ) = [sin( g ) + 1] / 2 ; 4) сигмоида на базе гиперболического тангенса f ( g ) = [ th( g ) + 1] / 2 ; 5) сигмоида на базе арктангенса f ( g ) = arctg g 1 + . π 2 Графики ошибок восстановления при обучении двухслойной нейронной сети для функций активации 1–5 представлены на рис. 3. 18 относительная ошибка, % Доклады ТУСУРа. 2004 г. Автоматизированные системы обработки информации, управления и проектирования 36 34 32 30 28 26 24 22 20 18 16 14 12 10 8 6 4 2 0 -2 1 2 3 4 5 0 10 20 30 40 50 высота, км Рис. 3 – Средняя относительная ошибка при использовании в нейронной сети различных функций активации Жирной линией обозначена ошибка восстановления для сети, состоящей из нейронов с сигмоидой на основе экспоненты в качестве функции активации. Анализ графиков показывает, что основная часть ошибки приходится на крылья гауссовой функции, когда рассчитываются достаточно малые концентрации. В точке максимума концентрации относительная ошибка равна 1–3 %. Пример восстановления гауссовой функции и ошибка восстановления представлены на рис. 4 и рис. 5. концентрация, отн.ед. 250 моделируемый вектор восстановленный 200 150 100 50 0 0 10 20 30 40 высота, км Рис. 4 – Пример восстановленной гауссовой функции 50 19 Доклады ТУСУРа. 2004 г. Автоматизированные системы обработки информации, управления и проектирования относительная ошибка % 3.5 3.0 2.5 2.0 1.5 1.0 0.5 0.0 -0.5 0 10 20 30 40 50 высота, км Рис. 5 – Относительная ошибка восстановления Влияние количества слоев НС на точность восстановления Были исследованы трехслойная, двухслойная и однослойная полносвязные нейронные сети с нейронами на основе сигмоидной функции активации. относительная ошибка, % Относительные ошибки восстановления представлены на рис. 6. 85 80 75 70 65 60 55 50 45 40 35 30 25 20 15 10 5 0 один слой два слоя три слоя 0 10 20 30 40 50 высота, км Рис. 6 – Ошибки восстановления сетей с различным количеством слоев Влияние примеров в обучающей выборке на точность восстановления Дальнейшие исследования факторов, влияющих на точность восстановления, связаны с обучающей выборкой. В качестве обучаемой взята сеть с тремя слоями и нейронами с сигмоидой на основе экспоненты в качестве функции активации. Из исходной выборки определенным образом исключаются некоторые из обучающих пар, затем проводится обучение на тех парах, что остались в выборке. Далее рассчитывается сред- 20 Доклады ТУСУРа. 2004 г. Автоматизированные системы обработки информации, управления и проектирования няя относительная ошибка на основе всей исходной обучающей выборки. Выборка организована таким образом, что сначала изменяется максимум гауссовой функции, затем ее полуширина, а затем ее центр. В первом опыте выбираются примеры, для которых центр гауссовой функции находится ниже 20 км, для этого отсекается вторая половина выборки. средняя относительная ошибка % На рис. 7 представлена ошибка восстановления. 50 45 40 35 30 25 20 15 10 5 0 0 10 20 30 40 50 высота, км Рис 7. – Ошибка восстановления при отсутствии в обучающей выборке второй половины обучающих примеров Большая погрешность вызвана тем, что в выборке отсутствуют примеры, максимум которых расположен выше 20 км. Следующие два опыта основаны на том, что выборка организуется таким образом, чтобы в ней были представлены примеры с большим шагом дискретизации амплитуды, при этом краевые значения максимумов 160 и 240 сохраняются в выборке. Исходная выборка имеет шаг по амплитуде 1. При создании следующей выборки этот шаг равен 8. Для этого из четырехтысячной выборки берется каждый восьмой пример обучения, для второго опыта – каждый двадцатый (шаг равен 20), остальные примеры отсекаются. На графике (рис. 8) представлены две относительные ошибки, полученные в результате опытов. 21 относительная ошибка, % Доклады ТУСУРа. 2004 г. Автоматизированные системы обработки информации, управления и проектирования 12 10 8 6 4 2 0 0 10 20 30 40 50 высота, км Рис. 8 – Относительные ошибки восстановления при обучении на двух различных выборках Сплошной линией на рис. 8 обозначена ошибка при обучении на примерах выборки, где был оставлен каждый восьмой пример. Как видно из графиков, увеличение шага дискретизации амплитуды влияет в основном на ошибку при восстановлении в крыльях гауссовых функций. Статистические характеристики выборки представлены на рис. 9 и рис. 10. концентрация, отн. ед. 260 240 220 среднее максимум минимум 200 180 160 140 120 100 80 60 40 20 0 -20 0 10 20 30 40 50 высота, км Рис. 9 – Среднее, максимальное и минимальное отклонения в обучающей выборке По данным графикам можно сделать вывод о поведении ошибки. Из графика дисперсии (рис. 10) и графиков относительной ошибки восстановления (рис. 3, рис. 6–рис. 8) видно, что максимумы ошибок соответствуют максимумам дисперсии. 22 Доклады ТУСУРа. 2004 г. Автоматизированные системы обработки информации, управления и проектирования 70 дисперсия 60 50 40 30 20 10 0 0 10 20 30 40 50 высота, км Рис. 10 – Дисперсия обучающей выборки Заключение Проведенные численные эксперименты показали, что при восстановлении профиля функции (типа гауссоиды) необходимо иметь, как минимум, трехслойную полносвязную нейронную сеть и достаточно большую обучающую выборку, не менее N = NN ⋅ NL ⋅ 10 (здесь NN – число нейронов в слое; NL – число слоев). Желание сократить число слоев и связей между нейронами слоев приводит к заметному снижению точности восстановления. Таким образом, численные эксперименты показали, что оптимизация нейронной сети позволяет значительно сократить среднюю погрешность восстановления профиля кривой примерно на порядок. ЛИТЕРАТУРА 1. Катаев М.Ю. Возможности метода нейронных сетей для восстановления профиля концентрации озона из лидарных данных / М.Ю. Катаев, А.Я. Суханов // Оптика атмосферы и океана, 2003. – Т.16. –№ 12. – С. 1115–1119. 2. Комарцова Л.Г. Нейрокомпьютеры: Учеб. пособие для вузов / Л.Г. Комарцова, А.В. Максимов. – М.: Изд-во МГТУ им. Н.Э. Баумана, 2002. – 320 с.