3.1. Нейронная сеть

реклама
МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
имени М.В. Ломоносова
ФАКУЛЬТЕТ ВЫЧИСЛИТЕЛЬНОЙ МАТЕМАТИКИ
И КИБЕРНЕТИКИ
КУРСОВАЯ РАБОТА
РАЗРАБОТКА И ИССЛЕДОВАНИЕ ЭФФЕКТИВНОСТИ
МЕТОДА МУЛЬТИСТАРТА С ОТСЕЧЕНИЕМ ДЛЯ
ОБУЧЕНИЯ НЕЙРОННЫХ СЕТЕЙ
Выполнил:
Смолик А.Е., группа 322
Научный руководитель:
с.н.с, к.т.н. Костенко В.А.
МОСКВА
2005
2
АННОТАЦИЯ
В данной работе рассматривается метод мультистарта с отсечением для
решения
задачи
обучения
однородной
нейронной
сети
прямого
распространения (НС) на заданном приложении. Данный метод сочетает в себе
способность локально-оптимальных алгоритмов быстро находить локальный
минимум функции ошибки сети со способностью алгоритмов глобального
поиска исследовать все пространство решений. Такими образом, он позволяет
находить глобальный минимум функции ошибки сети с большей скоростью,
чем традиционные алгоритмы глобального поиска. В рамках работы метод был
программно реализован в вычислительной среде MATLAB, с помощью чего
было проведено численное исследование влияния различных входных
параметров метода на эффективность его работы.
3
ОГЛАВЛЕНИЕ
1. Введение_________________________________________________________ 3
2. Цель курсовой работы_____________________________________________ 6
3. Формальная постановка задачи обучения НС_____________ ___________7
3.1. Нейронная сеть________________________________________________ 7
3.2. Аппроксимируемая функция____________________________________ 9
3.3. Постановка задачи обучения нейронной сети______________________ 9
4. Обзор существующих методов обучения НС_____________ ___________ 12
4.1. Локально-оптимальные алгоритмы______________________________ 12
4.2. Алгоритмы глобального поиска________________________________ 13
5. Метод мультистарта с отсечением_________________________________ 15
5.1. Исходные данные алгоритма___________________________________ 15
5.2. Описание работы алгоритма____________________________________15
5.3. Сложность алгоритма_________________________________________ 16
6. Инструментальные средства______________________________________ 18
7. Численное исследование эффективности метода____________________ 19
7.1. Аппроксимируемые функции _________________________________________ 19
7.2. Рассматриваемые архитектуры__________________________________ 19
7.3. Методика проведения тестирования______________________________ 20
7.4. Локально-оптимальный алгоритм обучения НС____________________ 20
7.5. Результаты тестирования алгоритма______________________________ 21
8. Заключение______________________________________________________24
9. Литература ______________________________________________________ 25
4
1. ВВЕДЕНИЕ
Практически любую прикладную задачу можно свести к задаче,
решаемой искусственной нейронной сетью (НС). Тем не менее, применение
нейронных сетей целесообразно далеко не всегда, часто более эффективным
оказывается аналитическое решение задачи. Распространение искусственных
нейронных сетей обусловлено необходимостью решать задачи, аналитическое
решение которых в силу многих причин невозможно или затруднено. Известны
примеры эффективного использования нейронных сетей в следующих
проблемных областях:

Задачи классификации, такие как распознавание текста и изображений,
медицинская
диагностика,
оценка
предприятий
по
степени
их
перспективности и т.п.

Кластеризация – это разбиение разнородного набора примеров на
несколько областей (кластеров), по каким-то общим признакам, причем
число кластеров заранее неизвестно.

Поиск
сложных
скрытых
зависимостей
в
данных,
которые
не
обнаруживаются стандартными статистическими методами.

Прогнозирование.
Нейронные
сети
широко
используются
для
прогнозирования различных экономических факторов. Наилучшие
результаты
они
показывают
при
решении
задач
с
хорошей
статистической базой, например при наличии достаточно длинных
временных рядов, в том числе многомерных. На основе прогнозов,
получаемых с помощью нейронных сетей, строятся системы принятия
решений.
Задача обучения НС состоит в выборе значений весовых коэффициентов,
приписываемых нейронам и связям, соединяющим нейроны сети заданной
архитектуры таким образом, чтобы максимально повысить эффективность
решения поставленной прикладной задачи. При этом требуется, чтобы
обеспечивалось выполнение заданных ограничений на точность и временную
сложность алгоритма. Критерий оценки эффективности, с которой алгоритм
обучения НС решает поставленную задачу, в общем случае определяется
приложением, и может зависеть от таких характеристик,
как, например,
5
точность решения
или степень его пригодности
для реализации на
конкретной аппаратуре.
В настоящее время существует множество методов обучения нейронных
сетей.
Наиболее
распространены
различные
вариации
методов
“наибыстрейшего спуска” такие, как алгоритм обратного распространения
ошибки [2]. В их основе лежит итеративная процедура изменения параметров
НС
в
направлении,
противоположном
вектору
градиента
ошибки
аппроксимации. Общим недостатком таких методов является их локальная
оптимальность, при этом результат обучения зависит от выбранного начального
приближения. Альтернативным подходом является применение для обучения
НС методов глобального поиска. В противоположность локально-оптимальным
алгоритмам, алгоритмы случайного поиска и эволюционные алгоритмы, такие,
как алгоритм имитации отжига или генетический алгоритм Холланда, обладают
способностью исследовать все пространство возможных решений. Недостатком
таких поисковых методов является их высокая вычислительная сложность.
Основная идея алгоритма мультистарта и его модификации, изучаемой в данной
работе, заключается в совмещении способностей методов глобального поиска к
исследованию всего пространства оптимизируемых параметров со скоростью
сходимости методов локальной оптимизации.
6
2. ЦЕЛЬ КУРСОВОЙ РАБОТЫ
Целью данной работы является разработка метода мультистарта с
отсечением и исследование эффективности его работы. Для достижения
указанных целей должны быть решены следующие задачи:
1. Разработать метод мультистарта с отсечением;
2. Разработать инструментальные средства для проведения численного
исследования метода;
3. Провести численное исследование эффективности метода.
7
3. ФОРМАЛЬНАЯ ПОСТАНОВКА ЗАДАЧИ ОБУЧЕНИЯ НС
3.1. Нейронная сеть

Нейронной сетью [3] будем называть тройку NET  (G, T ,W ) , где
G – связный ориентированный ациклический граф без кратных дуг.
Вершины графа G с нулевой степенью захода будем называть входными;
вершины с нулевой степенью исхода - выходными; все остальные вершины
будем называть внутренними. Далее будем рассматривать графы G такие,
что множества входных, внутренних и выходных вершин не пересекаются.
Вершины графа G пронумерованы. Обозначим: vi , i  1,2,..., K - вершины
графа. На нумерацию вершин графа G
накладывается ограничение, что
сначала должны нумероваться входные вершины, затем внутренние, и затем
выходные. При таком порядке нумерации в графе с N входными и М
выходными вершинами входные вершины будут иметь номера с 1 до N,
внутренние вершины (если они есть) – с N  1 до K  M , выходные
вершины – с K  M  1 до K. Граф G задает топологию сети: его вершины
соответствуют нейронам, дуги - межнейронным связям (синапсам). Поэтому
иногда вершины графа G будут именоваться нейронами.

T
–
набор
из
KN
пронумерованных
функций
{ti : R ni  pi  R}, i  N  1, N  2,..., K , ассоциированных (по номеру i) с не-
входными вершинами vi графа G. Здесь: N – количество входных вершин
графа G, К – общее количество вершин графа G, ni  0 - степень захода i-й
вершины графа G,
pi  0
– некоторое число, зависящее от вида
соответствующей функции ti . Набор T
задает функции перехода на
нейронах, которые определяют, какое преобразование входного сигнала
осуществляют нейроны в сети;

W
–
набор
из
KN
пронумерованных
векторов:
W  {wi }, i  N  1, N  2,..., K , где wi  R pi . Каждый вектор wi из набора W
ассоциирован (по номеру i) с соответствующей не-входной вершиной vi
графа G. Набор W задает веса сети: вектор wi состоит из весовых
8
коэффициентов (весов) сети, которые относятся к
вершине vi , либо
заходящим в нее дугам.
Кроме того, будем считать, что в набор T функций перехода могут входить
только функции специального вида. Функцию перехода t : R n  p  R будем
считать допустимой, только если:

t представима в виде суперпозиции t ( x, w)  s(c( x, w)), где x  R n , w  R p ,
двух функций: функции композиции
c( x, w) : R n p  R
и функции
активации s( y ) : R  R ,

функция активации s ( y ) имеет одну из следующих форм:
1. s ( y ) 
1
;
1  e y
2. s( y)  e y ;
2
(2.1)
3. s( y )  y ;

функция композиции c( x, w) имеет одну из следующих форм:
n
1. c( x, w)   xi wi , и выполняется p = n;
i 1
(2.2)
n
2. c( x, w)  w p   xi wi , и выполняется p = n + 1;
i 1
n
 (x  w )
i 1
3. c( x, w) 
i
w2p
2
i
, и выполняется p = n + 1;
n
4. c( x, w)   xi , и выполняется p = n;
i 1
Здесь: x1 , x2 ,..., xn - компоненты вектора x; w1 , w2 ,..., w p - компоненты вектора w.
Будем говорить, что первые два компонента (G , T ) тройки
NET  (G, T ,W )
задают архитектуру НС.
Инициализацией архитектуры нейронной сети будем обозначать сеть данной
архитектуры после присвоения ей некоторого начального набора весовых
коэффициентов согласно некоторому случайному алгоритму. При этом разные
инициализации одной и той же архитектуры НС порождают, вообще говоря,
разные нейронные сети.
9
3.2. Аппроксимируемая функция
Конечный набор S  {( xi , yi )}, i  1,2,..., P пар типа "аргумент-значение
аппроксимируемой функции", где xi  R N , yi  R M , будем называть выборкой.
Выборку будем называть корректной, если i, j : i  j выполняется xi  x j .
Рассмотрим НС NET  (G, T ,W ) , имеющую N входных и
М выходных
нейронов. Пусть FNET (x) - реализуемая сетью NET функция. Предположим, что
задана некоторая выборка
S  {( xi , yi )}, i  1,2,..., P , где
xi  R N , yi  R M .
Среднеквадратической оценкой ошибки аппроксимации (или просто
среднеквадратической ошибкой аппроксимации) сети NET на выборке S будем
называть значение MSE ( NET , S ) 
1 P
2
FNET ( xi )  yi .

P i 1
3.3. Постановка задачи обучения нейронной сети
Задача обучения НС состоит в том, чтобы реализовать алгоритм подбора
значений весовых коэффициентов НС с заданной архитектурой таким образом,
чтобы
максимально
повысить
эффективность
решения
поставленной
прикладной задачи.
В рамках исследуемого в данной работе частного случая задачи обучения
НС, когда НС применяется для построения аппроксимации таблично заданной
непрерывной функции, рассматриваются следующие критерии эффективности
решения задачи аппроксимации:
1) точность аппроксимации, которая обеспечивается НС;
2) время обучения НС.
Точность
измеряется
аппроксимации,
величиной
MSE ( NET , S ) ,
обеспечиваемая
среднеквадратической
вычисляемой
на
заданной
НС
ошибки
корректной
NET  (G, T ,W ) ,
аппроксимации
выборке
S
из
аппроксимируемой функции. Время обучения НС измеряется количеством
элементарных математических операций, необходимых для подстройки весов
НС, обеспечивающей заданную точность аппроксимации. В рамках алгоритма
мультистарта с отсечением, исследуемого в данной работе, процесс обучения
может быть разделен на некоторое множество последовательных циклов
10
подстройки весов, называемых циклами обучения. Поскольку
общее число
математических операций, требуемых для осуществления каждого из циклов
обучения можно считать неизменным, а длительность прочих составляющих
процесса обучения пренебрежимо мало, в качестве второго критерия
рассматривается общее число циклов обучения C  . Очевидно, указанные
критерии эффективности являются противоречивыми (улучшение решения по
одному из этих критериев, как правило, ведет к ухудшению решения по
другому критерию). Для разрешения этого противоречия предполагается, что
определен некоторый интегральный критерий эффективности H, зависящий от
MSE и C  , причем критерий H может быть представлен в следующем виде:
H  U ( MSE )  V ( C  ). Здесь U,V – некоторые весовые функции, задающие
относительные
приоритеты
критериев
MSE, C  .
Предполагается,
что
конкретный вид весовых функций U,V определяется на этапе постановки
задачи, исходя из требований приложения. В простейшем случае U,V линейные функции:
U ( MSE )  a * MSE

 V (C  )  b * C 
Здесь: a, b  0, a  b  1 - относительные приоритеты критериев.
Также
учитывается
возможность
директивных
ограничений
на
максимально допустимые значения MSE и C (независимо от приоритетов U,V).
Эти ограничения могут быть обусловлены спецификой прикладной задачи.
Учитывая вышесказанное, можно строго сформулировать общую задачу
обучения НС.
Пусть заданы:

корректная выборка S  {( xi , yi )}, i  1,2,..., P ;

нейронная сеть NET с заданной архитектурой (G , T ) ;

максимально допустимая среднеквадратическая ошибка аппроксимации;
MSEmax (неотрицательное действительное число);

максимально допустимое время обучения НС C max (положительное целое
число);
11

неубывающие,
неотрицательные,
непрерывные
и
дифференцируемые
весовые функции U ,V .
Требуется:
Произвести обучение нейронной сети NET на выборке S , так, чтобы:

значение целевой функции U ( MSE ( NET , S ))  V ( C  ) было минимально,
при этом

время обучения
C  сети NET на выборке S не превосходило значения
C  max ;

среднеквадратическая ошибка аппроксимации MSE ( NET , S ) сети NET на
выборке S не превосходит значения MSEmax
Примечание: допускается постановка задачи, в которой одно или оба
ограничения на максимальные значения MSE ( NET , S ) и C max отсутствуют.
Кроме того, любая из функций U ,V может быть тождественно равна нулю.
12
4. ОБЗОР СУЩЕСТВУЮЩИХ МЕТОДОВ ОБУЧЕНИЯ НС
4.1. Локально-оптимальные алгоритмы
Долгое
время
не
существовало
теоретически
обоснованного
и
вычислительно эффективного алгоритма для обучения многослойных НС [1].
Первым практически применимым алгоритмом обучения таких НС являлся
алгоритм обратного распространения ошибки (Error Back Propagation).
Алгоритм обратного распространения ошибки представляет собой
итеративную процедуру, на каждом шаге которой анализируется текущая
величина функции ошибки сети и значения всех весов подвергаются коррекции
с целью уменьшения этой ошибки. Выделяются два способа организации
алгоритма обратного распространения ошибки:

пакетное обучение (batch training): на каждой итерации при вычислении
функции ошибки сети используется вся доступная обучающая выборка,

пошаговое обучение (incremental training): на каждой итерации для
вычисления функции ошибки сети используется один очередной пример из
обучающей выборки.
В основе алгоритма обратного распространения ошибки лежит методика,
позволяющая
быстро
вычислять
градиент
сложной
функции
многих
переменных, если структура этой функции известна. В качестве такой функции
в алгоритме рассматривается функция ошибки сети (MSE), и учитывается тот
факт, что структура функции MSE полностью определяется архитектурой НС,
которая считается известной. За счет рациональной организации вычислений и
сохранения промежуточных значений алгоритм обратного распространения
ошибки позволяет эффективно вычислять градиент функции ошибки сети
( grad MSE ) , который используется для выбора направления коррекции весов:
приращение
веса
формулой wi (t  1)  wi (t )  
wi
на
t-й
итерации
задается
MSE
. Здесь   0 - параметр алгоритма (размер
wi
шага), значение которого обычно выбирается эмпирически. Предполагается, что
на каждой следующей итерации алгоритма для вычисления функции ошибки
используется только один очередной пример из обучающей выборки (а не все
примеры сразу), вариации алгоритма для реализации пакетного обучения
появились позже. Следует отметить, что доказательство сходимости алгоритма,
13
приведенное в [2], предполагает бесконечно малые коррекции весов, что на
практике ведет к бесконечному времени обучения. Поэтому размер шага 
(контролирующий величину коррекции весов) должен быть конечным.
Возникает вопрос выбора оптимального значения размера шага. Например, если
размер шага мал, то сходимость алгоритма слишком медленная, если же очень
велик, то процесс обучения может потерять устойчивость [1].
Общей
чертой
алгоритмов
локальной
оптимизации
является их
зависимость от выбора точки начального приближения. В некоторых частных
случаях возможно построить алгоритм выбора точки начального приближения,
учитывающий структуру минимизируемой функции. Это позволяет сократить
количество итераций алгоритма оптимизации, и повысить его вычислительную
эффективность. В работе [4] алгоритм выбора точки начального приближения
был предложен для задачи обучения НС с одним внутренним слоем. Было
показано, что использование предложенного алгоритма улучшает качество
получаемых решений и ускоряет процесс обучения (по сравнению со
случайным выбором точки начального приближения).
4.2. Алгоритмы глобального поиска
Рассмотренные в предыдущем разделе алгоритмы обучения НС,
являются алгоритмами локальной оптимизации, и для них не гарантируется
нахождение глобального минимума функции MSE. Задача обучения НС
обладает следующими особенностями [5]:

минимизируемая
функция
MSE
является
многоэкстремальной
и
существенно нелинейной;

размерность пространства оптимизируемых параметров может быть весьма
большим.
В частности, в работе [5] приводится пример задачи обучения НС, где
количество локальных минимумов функции ошибки сети экспоненциально
зависит от количества примеров в обучающей выборке. Указанные особенности
существенно затрудняют практическое применение рассмотренных выше
локально – оптимальных алгоритмов обучения НС. Альтернативным подходом
является применение для обучения НС методов глобального поиска. В
противоположность методам локальной оптимизации, алгоритмы случайного
14
поиска и эволюционные алгоритмы, такие, как алгоритм имитации отжига или
генетический алгоритм (ГА) Холланда, обладают способностью избегать
"застревания" в области притяжения локальных экстремумов и, таким образом,
исследовать все пространство возможных решений. Это свойство методов
глобального поиска обосновывает эффективность их применения в задаче
обучения НС. Существенным недостатком алгоритмов глобальной оптимизации
является их высокая вычислительная сложность.
15
5. МЕТОД МУЛЬСТАРТА С ОТСЕЧЕНИЕМ
5.1. Исходные данные алгоритма
Определение
5.1.
Методом
отсечения
будем
называть
M  {K , D(C , A)} , где
 A – число начальных инициализаций, A  N, A > 1;
 C – максимальное число циклов обучения для обучения по одному
варианту инициализации, C  N;
 n – число отсечений;
 D – схема отсечения, задаваемая как конечный набор пар натуральных
чисел
D(C , A)  {( c , a )} ,
i i
удовлетворяющий
условиям
n
n
 c  C,  a  A  1
i
i
i 1
i 1
 K – критерий отсечения – отображение, по которому для каждого шага
отсечения i  1, n задается функция ki ( NET , S )  R1.
Критерием отсечения по значению MSE (KMSE) будем называть критерий, в
соответствии с которым  i  1, n k i ( NET , S )   MSE( NET , S ) .
В качестве исходных данных для алгоритма мультистарта с отсечением
должны быть заданы:

Некоторая архитектура нейронной сети (G , T ) ;

Корректная выборка S аппроксимируемой функции;

Некоторый локально-оптимальный алгоритм обучения L;

Функция распределения начальных инициализаций F,

Некоторый метод отсечения M  {K , D(C , A)} .
5.2. Описание работы алгоритма
Метод мультистарта с отсечением, реализующий метод отсечения M на
данном приложении, будем обозначать Cut M (G, T , S , F , L) . Опишем работу
этого метода:
16
1) Производится A инициализаций архитектуры (G , T ) . Каждый весовой
коэффициент выбирается случайным образом в соответствии с функцией
распределения F. При этом создается A нейронных сетей, различающихся
только своими наборами весов и имеющих архитектуру (G , T ) . Каждой НС
присваивается
порядковый
номер,
соответствующий
ее
начальной
инициализации. Порядковые номера НС не меняются в процессе их
дальнейшего обучения.
2) Делается n шагов отсечения, на каждом i-ом шаге производится ci циклов
обучения всех оставшихся НС на выборке S в соответствии с методом L,
после чего удаляются a i
НС с наименьшими значениями функции
k i ( NET , S ) . При этом обучение производится таким образом, чтобы для
любых натуральных a и b последовательное применение a и b циклов
обучения было эквивалентно одному применению a + b циклов обучения.
3) Сеть, оставшаяся после n-го шага отсечения, проходит C 
n
c
i 1
i
циклов
обучения.
4) Получившуюся нейронную сеть будем называть результирующей, а ее
весовые
коэффициенты
и
значение
среднеквадратичной
ошибки
аппроксимации на заданной выборке будут выданы как результат работы
алгоритма.
5.3. Сложность алгоритма
Общее количество циклов обучения при этом равно
n
i 1
n
n
i 1
j 0
i 1
i 1
n
i 1
n
C    ( A   a j )c i  C   c i  C  A   c i    a j c i   c i ,
i 1 j  0
i 1
в предположении, что a 0  0.
C  будем называть вычислительной сложностью метода мультистарта с
отсечением Cut M (G, T , S , F , L) .
Методом мультистарта будем называть частный случай метода мультистарта с
отсечением с числом отсечений n = 1 и схемой отсечения D(C, A)  (C, A  1) , в
17
котором в качестве критерия отсечения берется KMSE, и обозначать как
MULTISTARTC , A (G, T , S , F , L) .
Очевидно, что общее количество циклов обучения метода мультистарта равно
C*A.
Докажем следующее
Утверждение.
MULTISTARTC , A (G, T , S , F , L)
обладает
наибольшей
вычислительной сложностью среди всех Cut M (G, T , S , F , L) .
Доказательство
Вычислительная
сложность
произвольного
Cut M (G, T , S , F , L)
вычислительной сложности MULTISTARTC , A (G, T , S , F , L) на
n
i 1
n
n
C  A  C  A   ci    a j ci   ci 
i 1
n
i 1 j 0
n
i 1
i 1
n
i 1
 ( A  1)  (C   ci )   a j ci  a j ci  0.
i 1
Утверждение доказано.
i 1 j 0
i 1 j 0
меньше
18
6. ИНСТРУМЕНТАЛЬНЫЕ СРЕДСТВА
Для проведения численных исследований метода мультистарта с
отсечением алгоритм был программно реализован в вычислительной среде
MATLAB с использованием пакета Neural Networks Toolbox. Реализация
состоит из следующих программных модулей:

Подпрограмма, реализующая метод мультистарта с отсечением. В
качестве параметров ей передаются исходная нейронная сеть, обучающая
выборка, метод отсечения, а также локально-оптимальный алгоритм L и
функция распределения начальных инициализаций F. Результатом
работы подпрограммы являются результирующая сеть, ее ошибка
аппроксимации MSE, и общее число произведенных циклов обучения C.

Подпрограмма,
осуществляющая
проверку
корректности
входных
параметров алгоритма.

Подпрограммы для генерации обучающих выборок различных функций.

Подпрограммы для генерация наборов всевозможных схем отсечения для
данного числа отсечений A и числа циклов обучения C, тестирование
алгоритма
с
перебором
схем
отсечения
и
запись
тестирования.

Подпрограмма для обработки результатов тестирования.
результатов
19
7. ЧИСЛЕННОЕ ИССЛЕДОВАНИЕ ЭФФЕКТИВНОСТИ МЕТОДА
7.1. Аппроксимируемые функции
Для проведения исследования были выбраны две непрерывные функции
двух переменных, рассматриваемые в области [0,1]  [0,1]:
f ( x, y )  sin x sin y ,
 sin( x 2  y 2 )

, если ( x, y )  (0,0),
g ( x, y )  
x2  y2

1, если ( x, y )  (0,0).

Функция g(x, y) доопределена в точке (0, 0) значением 1 для обеспечения
непрерывности.
Для этих функций были сгенерированы обучающие выборки из 121
элементов (составляющих узлы сетки с шагом 0,1).
7.2. Рассматриваемые архитектуры
Для проведения тестирования были выбраны две различных архитектуры
нейронной сети:

Однослойный персептрон NET1 с двумя входами, одним выходом и с 10
нейронами по внутреннем слое [6] (рисунок 7.1);
Рисунок 7.1.

Двухслойный персептрон NET2 с двумя входами, одним выходом и с 5
нейронами в каждом из внутренних слоев (рисунок 7.2).
Рисунок 7.2.
20
7.3. Методика проведения тестирования
Для оценки эффективности применения различных схем отсечения, в
частности, в сравнении с обычным методом мультистарта, была выбрана
следующая методика:

Число начальных инициализаций архитектур (А) было выбрано равным
5.

Максимальное
число
циклов
обучения
по
одному
варианту
инициализации (C) было выбрано равным 10. На практике при высокой
сложности аппроксимируемой прикладной функции и структуры
обучаемой НС может браться до 100 инициализаций A и более 1000
циклов обучения С, однако в этом случае перебор схем отсечения
потребовал бы недопустимых временных затрат.

Использовалось равномерное распределение начальных инициализаций.

В качестве критерия отсечения использовался критерий KMSE. Главным
образом это обусловлено необходимостью исследовать алгоритм в
сравнении с обычным методом мультистарта, который предполагает
использование критерия KMSE (в качестве результирующей из А
нейронных сетей выбирается сеть с наименьшим значением MSE).

Для
каждого
возможного
числа
отсечений
n
=
1,2,3,4
были
сгенерированы наборы всевозможных схем отсечения D. В частности,
при n = 1 схема D = {(10, 4)} соответствует обычному методу
мультистарта без отсечения.

Для каждой из НС NET1, NET2 и каждой из функций f, g производилось
обучение методом мультистарта с отсечением с последовательным
перебором всех схем отсечения из сгенерированных наборов. При этом
для каждой схемы отсечения производилось по 5 запусков алгоритма и
вычислялось усредненное значение MSE, которое записывалось в файл
результатов вместе с количеством циклов обучения C  и схемой
отсечения.
7.4. Локально-оптимальный алгоритм обучения НС
В качестве локально – оптимального алгоритма обучения НС в данной работе
использовался алгоритм Левенберга-Марквардта [7] - классический алгоритм
21
для решения нелинейной задачи о наименьших квадратах, в форме которой
может быть представлена задача обучения НС. Подтверждено, что алгоритм
Левенберга-Марквардта является наилучшим среди известных алгоритмов
обучения НС, если размер сети не превышает несколько сотен весов [7]. При
проведения использовалась реализация алгоритма Левенберга-Марквардта
пакета Neural Networks Toolbox вычислительной среды MATLAB.
7.5. Результаты численных исследований
Графики на рисунок 7.3 показывают, для каждой из архитектур NET1,
NET2 и для каждой из функций f(x,y), g(x,y) погрешность аппроксимации и
затраченное число циклов обучения для всех перебираемых схем отсечения.
Каждая точка на рисунке 7.3 показывает, для некоторой схемы отсечения,
затраченное
число
циклов
обучения
и
получившуюся
ошибку
аппроксимации.
Рисунок 7.3. Результаты численного исследования.
Из графиков можно сделать вывод, что архитектура NET1 показала
лучшую, нежели NET2, эффективность аппроксимации обеих рассматриваемых
функций.
22
Результаты исследования показывают, что обычный метод мультистарта
без отсечения, как правило, дает ошибку аппроксимации, близкую к
минимальной среди ошибок, полученных для всевозможных схем отсечения.
Тем не менее, ни в одном из тестов схема мультистарта без отсечения не дала
наименьшей ошибки среди всех схем отсечения, несмотря на максимальное
число циклов обучения. Таблица 7.1 показывает, для каждого теста, сколько
схем отсечения показали меньшую ошибку аппроксимации, чем схема
мультистарта без отсечения.
Таблица 7.1
Число схем, давших
меньшую ошибку
аппроксимации, чем
метод мультистарта
(всего 715 схем)
Насколько наименьшая
ошибка аппроксимации
меньше, чем ошибка
метода мультистарта
Число
отобраныых
схем
(всего 715 схем)
NET1, f(x, y)
5
на 36.4218%
89
NET1, g(x, y)
2
на 43.4468%
43
NET2, f(x, y)
83
на 72.5281%
544
NET2, g(x, y)
17
на 73.7930%
237
Архитектура НС,
аппроксимируемая
функция
Как видно из таблицы 7.1, для архитектуры NET2 метод мультистарта без
отсечения показал меньшую точность аппроксимации (в сравнении с методом
мультистарта с отсечением), чем для архитектуры NET1.
Для оценки того, какие схемы отсечения обеспечили высокую
эффективность работы метода мультистарта с отсечением, для каждого теста
были отобраны схемы с ошибкой аппроксимации, не более чем в три раза
превышающей ошибку аппроксимации метода мультистарта без отсечения.
Информация о количестве схем в каждом таком наборе представлена в
четвертом столбце таблицы 7.1. Далее были отобраны схемы, встречающиеся в
каждом из наборов. Этот результирующий набор схем был отсортирован по
числу затраченных циклов обучения. Информация об этих схемах представлена
в таблице 7.2. Из таблицы 7.2 видно, что, например, такие схемы как
{(6,1),(2,2),(1,1)} и {(8,1),(1,1),(1,2)} в трех тестах из четырех показали лучшую
эффективность, чем метод мультистарта без отсечения, имея при этом меньшую
вычислительную сложность.
23
Таблица 7.2
№
п/п
Схема отсечения
Число циклов
обучения
Число тестов, в которых была
показана более высокая точность
аппроксимации, чем у метода
мультистарта
1
(1,2),(8,2)
30
1
2
(1,2),(9,2)
32
0
3
(6,2),(1,2)
36
0
4
(7,4)
38
0
5
(1,1),(8,3)
38
1
6
(6,1),(1,2),(1,1)
38
0
7
(6,1),(1,2),(3,1)
40
0
8
(1,1),(9,3)
41
1
9
(6,1),(1,1),(2,2)
41
1
10
(6,1),(2,2),(1,1)
41
3
11
(6,1),(1,1),(1,1),(2,1)
41
0
12
(8,3),(1,1)
43
1
13
(7,1),(1,1),(1,2)
43
2
14
(7,1),(2,3)
44
1
15
(7,1),(1,1),(1,1),(1,1)
44
1
16
(8,1),(1,3)
45
1
17
(7,1),(2,2),(1,1)
45
1
18
(8,2),(1,1),(1,1)
45
1
19
(9,4)
46
1
20
(6,1),(4,3)
46
0
21
(8,1),(1,2),(1,1)
46
1
22
(7,1),(3,3)
47
1
23
(8,1),(1,1),(1,2)
47
3
24
(8,1),(2,3)
48
1
25
(9,2),(1,2)
48
2
26
(9,1),(1,3)
49
2
27
(10,4)
50
-
24
8. ЗАКЛЮЧЕНИЕ
Основные результаты работы заключаются в следующем:

Осуществлена
программная
реализация
метода
мультистарта
с
отсечением;

Реализованы инструментальные средства для численного исследования
метода;

Проведено численное исследование эффективности работы метода для
различных схем отсечения, в том числе в сравнении с методом
мультистарта без отсечения.
Результаты численного исследования показывают, что для любой из
рассмотренных задач существуют схемы отсечения, которые оказываются более
эффективными, чем метод мультистарта без отсечения. Ошибка аппроксимации
оптимальной для каждой рассмотренной задачи схемы отсечения меньше
ошибки метода мультистарта на 36-72%, при меньшем числе затраченных
циклов обучения. В дальнейшем планируется разработка алгоритма выбора
оптимальной схемы отсечения.
25
9. ЛИТЕРАТУРА
1.
Уоссермен Ф. Нейрокомпьютерная техника // М.: Мир, 1992.
2.
Rumelhart D., Hinton G., Williams R. Learning internal reprentations by error
propagation // In Parallel distributed processing, vol. 1, pp. 318-62. Cambridge, MA:
MIT Press, 1986.
3.
Маркин М.И. Синтез нейронной сети под заданное приложение // Диссертация на
соискание ученой степени кандидата физико-математических наук. - М.: МГУ,
2001.
Маркин М.И. Выбор начального приближения при обучении нейронной сети
методами локальной оптимизации // 2-ая всероссийская научно-техническая
конференция "Нейроинформатика-2000". Сборник научных трудов ч.1., М.:
МИФИ, 2000.
Auer P., Herbster M., Warmuth M. Exponentially many local minima for single neurons
// Proceedings of the 1995 Neural Information Processing Conference, pp. 316-317.
MIT Press, Cambridge, MA, November 1995.
Терехов А.С. Лекции по теории и приложениям искусственных нейронных сетей,
Лаборатотория Искусственных Нейронных Сетей НТО-2, ВНИИТФ, Снежинск,
1998.
Hagan M, Menhaj M. Training feedforward networks with the Marquardt algorithm
// IEEE Transactions on Neural Networks, vol. 5, no. 6, 1994, pp. 989-993.
4.
5.
6.
7.
Скачать