Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лекции ИИС.doc
Скачиваний:
24
Добавлен:
24.04.2019
Размер:
3.77 Mб
Скачать

12.3 Блок «Учитель» нейроимитатора

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

При создании новой НС в памяти отводится место под массив синаптических весов. Перед началом обучения этот массив заполняется случ-ми числами в нормиров-ом диапазоне. Этот массив наз-ся синаптической картой. В нач. момент времени на входные нейроны через вход синапсы подается вектор вх. сигналов. Далее этот сигнал распро-ся по всем связям м/у нейронами, изменяясь при прохождении через каждый нейрон. В рез-те сигнал поступает на выход. Т.к. НС обуч-ся с учителем, мы имеем необходимый выходной параметр, с которым и сравниваем полученный случ-й У. (Вся процедура однократного прохождения сигналов по НС наз-ся тактом функц-я). Задача блока Учитель состоит в проведении сравнения и по результатам оценки модификации соответствующих коэффициентов, используя методы оптимизации. Пример сети, обуч-ой с уч-лем – перцептрон.

Рассмотрим следующий компонент искусственной нейронной сети - учитель в режимах обучения и дообучения. Существует ряд алгоритмов обучения, жестко привязанных к архитектуре нейронной сети. Примерами таких алгоритмов могут служить обучение (формирование синаптической карты) сети Хопфилда, обучение сети Кохонена и ряд других аналогичных сетей. Методы обучения нейронных сетей типа карт Кохонена представлены в [92,93,233,2.

Рассмотрим особенности алгоритмов обучения многослойных сетей, которые применяются в настоящей разработке. Минимизация функции оценки выполняется с привлечением градиентных методов оптимизации. Изучению градиентных методов обучения нейронных сетей посвящены [11,40,41,113,200,210,230]. Все градиентные методы объединены использованием градиента как основы для вычисления направления спуска. Для разработанного нейроимитатора применяются следующие методы: метод наискорейшего спуска, модифицированный Parian, квазиньютоновский [40].

Метод наискорейшего спуска работает, как правило, на порядок быстрее методов случайного поиска [110], Как правило, этот метод позволяет за несколько циклов обучения с последующим случайным изменением параметров найти глобальный минимум. Серьезным недостатком метода наискорейшего спуска является его чувствительность к форме окрестности минимума. Легко показать, что для точного достижения минимума потребуется бесконечное число шагов метода градиентного спуска. Этот эффект получил название овражного, а методы оптимизации, позволяющие бороться с этим эффектом - антиовражных.

Одним из простейших антиовражных методов является метод kРаrТаn[40,110].

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

Все алгоритмы обучения сетей методом обратного распространения ошибки опираются на способность сети вычислять градиент функ­ции ошибки по обучающим параметрам [110]. Таким образом, акт обу­чения состоит из вычисления градиента и собственно обучения сети (модификации параметров сети). Однако существует множество негра­диентных методов обучения, таких, как метод покоординатного спуска, метод случайного поиска и целое семейство методов Монте-Карло. Все эти методы могут использоваться при обучении нейронных сетей, хотя, как правило, они менее эффективны, чем градиентные методы. К числу не градиентных методов обучения можно отнести следующие: метод случайной стрельбы (представитель семейства методов Монте-Карло), метод покоординатного спуска (псевдоградиентный метод), метод слу­чайного поиска (псевдоградиентный метод), метод Нелдера-Мида [110].

Методы обучения нейронных сетей типа карт Кохонена представлены в [92,93,233,234].

При обучении сети градиентными методами в качестве стандартной оценки работы нейросети (функции ошибки) выступает оценка по методу наименьших квадратов (МНК) [40,41]:

(4.9)

где Н - оценка работы нейросети;

- значение р-й компоненты вектора выходного сигна­ла нейросети;

Уsр - требуемое значение; S - число примеров;

Р - размерность вектора у.

В [40,41,110] отмечается, что процесс обучения нейросети можно значительно ускорить, если вместо оценки (4.9) применять более специализированные. Они строятся путем формализации требований к нейросетевому решателю для конкретного вида задач. Для задач perрессии более подходящей является оценка МНК с допуском [110]:

при

при (4.10)

при

где - допуск или допустимая погрешность;

- требуемое значение сигнала;

- ответ сети; так как если целевое значение измерено с по­грешностью ε, то достаточно, если выданный сетью ответ попадет в интервал [ -ε, +ε]. При достижении этого результата пример счита­ется решенным. Оценка вида (4.10) позволяет ускорить процесс обуче­ния и получить более сглаженные нейросетевые функции, так как тогда требования к сложности нейросети выражаются не в виде оценки кон­станты Липшица [41,110] (4.5), а в виде (4.6), т.е. становятся более мяг­кими. Сглаженная функция, в свою очередь, обладает более высокими экстраполяционными и интерполяционными способностями [199].

Для задач классификации целевая переменная является дискрет­ной (номинальной). Ее кодирование проводится в соответствие с (4.4), т.е. сеть будет иметь несколько выходных полей, каждому из которых соответствует определенный класс. Тогда ответом нейросети на предъ­явленный пример будет считаться номер класса, соответствующий но­меру выходного параметра, на котором зафиксировано наибольшее значение сигнала (интерпретатор «победитель забирает все» [41]). В этом случае в качестве оценки работы нейросети предпочтительнее использовать оценку вида «расстояние до множества правильных отве­тов», предложенную в [41]:

(4.11)

где k - номер «истинного» класса;

α, - выходные сигналы сети;

i=l...Р, Р - число выходных сигналов,

ε -требуемый уровень отличия «истинного» сигнала от остальных;

ρ - функция расстояния до множества правильных ответов.

(4.10)

Где β0k-ε;

βφl - текущие выходные сигналы (за исключением αk), переобозначенные таким образом, что βφφ+1;

j=l..P-l, Р-число выходных сигналов;

l - максимальный номер, такой, что верно неравенство

, при l<Р-1, или равенство l=Р-1.

Настройка параметров нейросети. Задание функции ошибки определенного вида позволяет вычислить для каждого примера обу­чающей выборки оценку работы нейросети и определить направление изменения ее параметров для уменьшения значения оценки Н. Процесс итерационного изменения параметров нейросетевой функции называется обучением [40,41].

В ыбор нейросетевого решателя в виде функции (4.2) позволяет применить градиентные методы оптимизации для поиска такого векто­ра параметров а*, который доставляет минимум выбранному функционалу ошибки, т.е. выполняется условие .

Д ля этого вычисляются значения для каждого аi. При использовании стандартной оценки МНК по всей выборке (4.9), имеем

(4.13)

(4.14)

где S — число примеров в обучающей выборке;

s - номер примера;

Hs - оценка для s-гo примера.

В ычисление основано на формуле дифференцирования сложной функции:

,

(4.15)

В соответствии с (4.2), (4.14) для выходного (k+1-го) слоя:

М ы получили формулу для вычисления производной по параметрам выходного слоя. Чтобы найти для слоя, посылающего сигналы выходному слою нейронной сети, выразим

(4.19)

Т

(4.20)

огда

Г

(4.21)

де производная функции (4.3) по l - му параметру.

На основе формул (4.18 - 4.21) можно рекурсивно вычислит производные по всем настраиваемым параметрам сети, что позволяет использовать тот или иной градиентный метод оптимизации, например

метод наискорейшего спуска [40], который заключается в итерационном изменении параметров в соответствии с правилом:

(4.22)

где t - номер итерации;

h - шаг оптимизации.

Величина шага вычисляется на каждой итерации путем одномер­ной оптимизации функции H(ai,h,) при фиксированных а;.

На практике метод (4.22) часто оказывается малоэффективным по сравнению с методами квадратичной численной оптимизации в связи со сложным рельефом функции Н. Из теории квадратичной оптимизации известно, что метод Ньютона позволяет найти минимум квадра­тичной формы за один шаг. Однако поиск обратной матрицы вторых производных для всех параметров нейросети требует слишком боль­ших вычислительных затрат, кроме этого она может не быть положи­тельно определена, поэтому применяют методы, использующие ап­проксимацию вторых производных Н по параметрам а, например BFGS-метод [41]. Известным методом этого класса является метод со­пряженных градиентов [41,230]. Несмотря на то, что функция Н в общем случае не является квадратичной, метод сопряженных градиентов работает достаточно эффективно [230]. В качестве правила изменения параметров нейросети в этом случае выбирается:

(4.23)

где d,(t) - направление оптимизации;

h - шаг оптимизации.

В соответствии с [230], одной из эффективных формул, определяющих направление dj(t), является формула Полака - Рибера (Polak -Ribiere):

(4.24)

где

(4.25)

На основе приведенных формул строится алгоритм градиентной оптимизации параметров нейросети:

  1. Инициализация массива настраиваемых параметров a некоторыми равномерно распределенными в интервале [-0.01, 0.01] случай­ными величинами.

  2. Вычисление F(a,x) для очередного примера задачника.

  3. Вычисление Н для примера в соответствии с выбранным из (4.9-4.11) видом оценки.

4. Вычисление - для текущего примера по формулам

(4 18-4.21), накопление суммарного градиента.

  1. Если обработаны не все примеры, перейти к п.2.

  2. Выбор направления оптимизации в соответствии с методом (4.22) или (4.23-4.25).

  3. Одномерная оптимизация шага градиентного спуска h в вы­ бранном направлении.

  4. Изменение параметров а.

  5. Вычисление Н.

  6. Если (Н>Нmin ) и (|| ||>0), то перейти к п.2, иначе – конец обучения.

При изменении параметров нейросети необходимо контролиро­вать их значение, чтобы избежать затруднений в обучении. В случае использования функции (4.3) в качестве функции активации, диапазон наиболее аффективных значений параметров а — интервал [-1,1} [41]-Для удержания значений а в данном диапазоне применяют проективный метод контроля

а, -1<a<1,

a= a-1, a<-1, (4.26)

1, а> 1,

  1. Общей проблемой методов локальной оптимизации, к которым относятся градиентные методы, является остановка в локальных минимумах, далеких от оптимального решения. Локальный минимум характеризуется условиями: (Н>Нmin ) и (|| ||=0), В этом случае применя­ется сдвиг значений параметров нейросети в случайном направлении: а = а + ξ, где ξ - равномерно распределенная на интервале [ξmin,ξmax] случайная величина. Задание значений ξmin,ξmax определяет степень изменения параметров нейросети. Интервал может постепенно увели­чиваться, если изменения не приводят к выходу из локального мини­мума.

Оценка и коррекция нейросетевой модели

Дня оценки качества полученной модели используется оценка ра­боты нейросети на тестовой выборке, или ошибка обобщения. Она ха­рактеризует способность ИНС обрабатывать новые данные в отличие от ошибки обучения, которая отражает качество настройки нейросети на конкретные примеры. Наиболее распространенным методом оценки моделей является метод перекрестного оценивания [252].

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

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

Если нейронная сеть заданной структуры не может удовлетвори­тельно решить задачу, возможно несколько вариантов действий:

  1. Добавление новых нейронов, новых слоев.

  2. Увеличение значения характеристики крутизны функции (4.3).

  3. Уменьшение значения характеристики крутизны функции (4.3).

Первые два варианта исходят из предположения, что модель не достаточно сложна или имеет недостаточную величину константы Липшица (4.5) для освоения задачи. Третий вариант предполагает что нейросетевая функция недостаточно 1ладка для удовлетворительной аппроксимации. Уменьшение характеристики приведет к сглаживанию функции (4.3).

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