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

СИНТЕЗ ОПТИМАЛЬНОЙ СТРУКТУРЫ НЕЙРОСЕТЕВЫХ

УСТРОЙСТВ

Д.В. Лукичев, А.А. Усольцев

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

Введение

Разработка искусственных нейронных сетей (ИНС) началась еще в начале XX века с попыток моделирования работы человеческого мозга, но только во второй половине столетия, когда были преодолены некоторые теоретические барьеры, а вычислительные системы стали достаточно мощными, нейронные сети получили широкое признание [5].

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

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

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

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

1. Понятие искусственной нейронной сети и проблема синтеза ее архитектуры

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

жет посылаться другим элементам по взвешенным связям, с каждой из которых связан весовой коэффициент или вес. В зависимости от значения весового коэффициента передаваемый сигнал или усиливается, или подавляется. Математическая модель /-го нейрона, расположенного в /-ом слое ИНС, приведена на рис. 1 [4].

Рис. 1. Математическая модель нейрона

Таким образом, функционирование нейрона может быть описано уравнениями:

^ =Ё+ Щ0хо = ЁЩ чХз,

к=1 ] =0

и = /^г ).

где х/ - входные сигналы нейрона, - выходной сигнал, щ /1 - весовые коэффициенты (веса), ^/ - суммарное входное воздействие на нейрон, /() - активационная функция.

Активационная функция характеризует реакцию нейрона на входное воздействие . На рис. 2 приводятся функции активации, получившие наибольшее распространение в ИНС [2].

Ы44

Ы/ 1

0 -1

а

б

и х 1 и 1 \

х—

(

0 Б 0 Б

Б

в

г

Рис. 2. Функции активации нейрона: а - линейная, б - гиперболического тангенса (сиг-моидальная), в - логическая (сигмоидальная), г - экспоненциальная или радиально-

базисная

Искусственные нейронные сети отличаются своей архитектурой - структурой связей между нейронами, числом слоев, функцией активации нейронов, алгоритмом обучения. Различные способы объединения нейронов между собой и организации их взаимодействия привели к созданию сетей разных типов. Среди множества существующих видов сетей в качестве важнейших можно выделить многослойные нейронные сети прямого распространения (многослойные персептроны), радиальные сети ЯБГ, сети («самоорганизующиеся карты») Кохонена, а также рекуррентные сети, в которых

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

На рис. 3, а приводится структура многослойного персептрона, имеющего п нейронов во входном слое, т нейронов в выходном слое и нейронов в (К-1) скрытых (внутренних) слоях (/ = 1, 2, ..., (V-!)).

Рис. 3. Структура многослойного персептрона

Для решения конкретной задачи в нейросетевом логическом базисе возникает проблема синтеза, связанная с определением оптимальной конфигурации нейронной сети. Самые общие положения о структуре синтезируемой нейронной сети можно найти в теореме Колмогорова-Арнольда-Хехт-Нильсена, а также в немногочисленных ее следствиях. Однако данная теорема не конструктивна. В ней не заложена методика определения числа нейронов в сети для некоторой конкретной обучающей выборки. Выбор структуры сети, количества скрытых слоев и числа параметров в каждом слое осуществляется, как правило, на основе опыта исследователя. Существуют лишь самые общие рекомендации относительно выбора структуры, а методы, в которых этот выбор осуществляется автоматически, еще не достаточно разработаны [2].

2. Синтез архитектуры нейронной сети и ее параметров

Рассмотрим в общем виде, что представляет собой задача обучения нейронной сети. Для построения и обучения нейронной сети обычно создается набор примеров (обучающая выборка), который представляет собой совокупность векторов вида (X Y), где X = (xi x2 ... , xn) - значения всех входов нейронной сети, a Y = (у1, у2, ... , ут ) - значения всех выходов нейронной сети, которые должны получаться в процессе ее работы. Структура эталонных векторов задает одновременно количество входных и выходных нейронов (в данном случае п и т, соответственно).

Целью обучения нейронной сети является подбор значений всех ее характеристик с целью достижения такой ситуации, когда при подаче на вход сети любого вектора X из набора примеров на ее выходе получается выходной вектор Y', отличающийся от эталонного вектора Y не более чем на заданную заранее величину 5. Достижение подобных целей формализуется критерием качества (функционалом или целевой функцией) E, минимальное значение min w E = 5 которого соответствует наилучшему решению поставленной задачи.

Основными характеристиками нейронной сети являются:

• количество скрытых слоев (¥-1);

• количество нейронов в каждом из скрытых слоев (/ = 1, 2, ..., (¥-1));

• веса входов каждого из скрытых и выходных нейронов 1;

• функция активации для каждого скрытого и выходного нейрона / ();

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

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

• количество скрытых слоев;

• количество нейронов в каждом скрытом слое;

• значения весов всех входов для каждого скрытого и выходного нейрона;

• функции активации для каждого скрытого и выходного нейрона.

Синтез ИНС необходимо начинать с подготовки обучающих наборов данных, которые должны быть составлены так, чтобы сеть в наибольшей степени обладала бы свойством обобщения. В этом случае в результате отображения Х^У' необходимо обеспечить формирование правильных выходных сигналов не только в соответствии со всеми примерами обучающей выборки, но и со всеми возможными входными сигналами, которые не вошли в данный набор примеров. Выполнение последнего условия проверяется на работе обученной ИНС с тестовой выборкой.

Разделение данных на обучающее и тестовое подмножества представлено на рис. 3, б. Множество данных Я, на котором считается истинным некоторое правило или которое представляет собой данные заданного диапазона работы, разбито на подмножества Ь и О. Обучение проводится на примерах, составляющих подмножество Ь. Способность отображения сетью элементов Ь может считаться показателем степени накопления обучающих данных, тогда как способность распознавания данных, входящих во множество О и не использованных для обучения, характеризует ее возможности обобщения (генерализации) знаний. Данные, входящие и в Ь, и в О, должны быть типичными элементами множества Я В обучающем подмножестве не должно быть уникальных данных, свойства которых отличаются от ожидаемых (типичных) значений [4]. Погрешность обобщения, составляющая ошибку работы сети на множестве данных О, как правило, получается больше ошибки обучения, поэтому иногда целесообразно заранее задаваться критерием обучения 5', меньшим по величине (например, в 1.5 раза) допустимой по заданию погрешности 5.

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

Если в наличии имеется только обучающая выборка, с помощью которой необходимо синтезировать модель нейросетевого устройства (например, в отраслях промышленности, где накоплены огромные массивы данных о поведении исследуемого технического объекта), то для выполнения описанного выше условия необходимо провести предварительные эксперименты по определению характерных точек множества Я, обучившись на которых, ИНС могла бы с допустимой погрешностью работать во всем заданном диапазоне. Иногда для этой цели исследование целесообразно проводить на модели упрощенного объекта или упрощенных сигналах [1]. Проверка характерных точек может проводиться на произвольно выбранной структуре ИНС, которая представляет собой, например, двухслойный персептрон с числом связей, в 10 раз меньшим ко-

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

Если объект и/или его модель, на которых получается обучающая выборка, известны, то можно задать такой режим их работы, при котором непрерывно записываемый через определенные интервалы массив данных будет содержать все характерные точки и/или режимы работы объекта, что исключает необходимость трудоемких исследований. После того как составлена обучающая выборка, требуется определить количество нейронов и слоев сети. Данные параметры характеризуются общим количеством связей, которое для достижения лучших обобщающих свойств должно быть минимально. Существующие способы настройки числа нейронов в процессе обучения можно разделить на две группы: алгоритмы редукции и алгоритмы наращивания [2].

В алгоритмах редукции в качестве исходной точки используется избыточная архитектура сети, которая в процессе обучения либо по его завершении упрощается путем исключения наименее значимых весов или нейронов. Алгоритмы редукции имеют, по крайней мере, два недостатка: 1) нет методики определения числа нейронов скрытых слоев, которое является избыточным, поэтому перед началом работы алгоритма нужно угадать это число; 2) в процессе работы алгоритма сеть содержит избыточное число нейронов, поэтому обучение идет медленно.

Принципиально иной подход используется при реализации алгоритмов наращивания. Он заключается в первоначальном включении в сеть небольшого количества скрытых нейронов (часто они вообще отсутствуют) и последовательном их добавлении по мере развития процесса обучения вплоть до достижения требуемого уровня натренированности сети на исходном множестве обучающих выборок. И хотя к недостаткам алгоритмов наращивания можно отнести экспоненциальный рост времени вычислений при увеличении размерности сети, именно этот метод целесообразнее использовать при настройке числа скрытых слоев и числа нейронов в них. На данном этапе одновременно с подбором перечисленных параметров осуществляется обучение сети и проверка ее функционирования на тестовом подмножестве. Такой подход необходим для нахождения компромиссного решения при минимизации критериев ошибки обучения и ошибки обобщения нейронной сети. В качестве базисной методики обучения предлагается подход, описанный в [3] для нейронной сети с переменной структурой. Этап обучения включает в себя N обучающих эпох. Если ошибка обучения сети при заданном количестве циклов обучения не превосходит допустимый порог (точность), то процесс обучения нейронной сети можно считать законченным, и проводится этап проверки с применением тестового подмножества. В противном случае добавляется нейрон в скрытый слой, и этап обучения повторяется. Данная методика может быть расширена и на ИНС, имеющие более одного скрытого слоя. Математически обосновано и экспериментально подтверждено, что увеличение числа скрытых слоев более двух не дает существенного улучшения точности распознавания входных образов, зато увеличивает трудоемкость обучения [4]. Поэтому при определении структуры ИНС имеет смысл рассматривать только двухслойные и трехслойные сети.

В качестве метода обучения в большинстве случаев целесообразно выбирать алгоритм Левенберга-Марквардта, и только при значительном увеличении числа связей ИНС может быть рекомендовано использование метода сопряженных градиентов [4]. Оба алгоритма являются локальными и ведут к одному из локальных минимумов целевой функции, лежащему в окрестности точки начала обучения. Если локальное решение признается неудовлетворительным, следует, по крайней мере, еще один раз повторить процесс обучения при других начальных значениях весов и с другими управляющими параметрами.

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

Рис. 4. Упрощенная структурная схема алгоритма синтеза нейросетевой модели

Выводы

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

Литература

1. Лукичев Д.В. Выбор оптимальной структуры нейросетевого предсказывающего фильтра. // Изв. вузов. Приборостроение. 2004. Т. 47. № 11. С. 38-42.

2. Круглов В.В., Борисов В.В. Искусственные нейронные сети. Теория и практика. / 2-е изд., стереотип. М.: Горячая линия - Телеком, 2002. 382 с.: ил.

3. Нейроматематика. Кн. 6: Учебное пособие для вузов / Общ. ред. А.И. Галушкина. М.: ИПРЖР, 2002. 425 с.: ил.

4. Осовский С. Нейронные сети для обработки информации / Пер. с польского И.Д. Рудинского. М.: Финансы и статистика, 2002. 344 с.: ил.

5. Рутковская Д., Пилиньский М., Рутковский Л. Нейронные сети, генетические алгоритмы и нечеткие системы: пер. с польск. И.Д. Рудинского. М.: Горячая линия - Телеком, 2004. 452 с.: ил.