Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
8
Добавлен:
02.03.2016
Размер:
50.14 Кб
Скачать
  1. Для обучения с учителем характерно наличие в обучающей выборке ожидаемых ответов сети.

Если выбрано множество обучающих примеров и способ вычисления функции ошибки E, обучение нейросети сводится к решению задачи многомерной оптимизации. Группы методов решения этой задачи [1, 4]:

  1. Методы локальной оптимизации с вычислением частных производных 1-го порядка:

    1. градиентный (наискорейшего спуска);

    2. методы с одномерной и двумерной оптимизацией целевой функции в направлении антиградиента;

    3. метод сопряженных градиентов;

    4. методы, учитывающие направление антиградиента на нескольких шагах алгоритма.

  2. Методы локальной оптимизации вычислением частных производных 1-го и 2-го порядков:

    1. методы Ньютона;

    2. методы оптимизации с разреженными матрицами Гессе;

    3. квазиньютоновские методы;

    4. метод Гаусса-Ньютона;

    5. метод Левенберга-Маркардта.

  3. Методы стохастической оптимизации:

    1. случайный поиск;

    2. имитация отжига;

    3. метод Монте-Карло.

  4. Методы глобальной оптимизации (переборные).

Для сравнения методов используют:

  • количество шагов алгоритма;

  • количество дополнительных переменных.

Оптимальными по этим критериям являются методы одномерной оптимизации с вычислением частных производных 1-го порядка. Они предназначены для нахождения локальных экстремумов, но могут использоваться для нахождения глобальных. Для этого:

  1. После нахождения локального минимума сеть пытаются вывести из него.

  2. Если это не дает результатов, увеличивают число нейронов во всех слоях с первого по предпоследний и настраивают их случайным образом.

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

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

Алгоритм обратного распространения был изобретен в 1974 г. Полем Дж. Вербосом.

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

Обозначим индексом j выходной слой, i – предыдущий слой. Суммарная ошибка вычисляется следующим образом:

,

(1)

где Yjk – выходная активность k-го нейрона j-го слоя;

Djk – эталонный выход k-го нейрона j-го слоя.

Активность нейрона есть функция его входа, например сигма-функция:

,

(2)

где Xjk - суммарный взвешенный вход k-го нейрона j-го слоя, который вычисляется следующим образом:

,

(3)

где Yil – выход l-го нейрона i-го слоя;

Wiljk – вес связи;

суммирование проводится по всем нейронам i-го слоя, связанным с данным нейроном j-го слоя.

Алгоритм обратного распространения:

1. Вычисляется производная ошибки по активности выходного элемента:

.

(4)

2. Вычисляется производная ошибки по входу выходного элемента:

.

(5)

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

3. Вычисляется производная ошибки по весу связи:

.

(6)

4. Корректируется вес связи:

,

(7)

где (0<<1) - коэффициент скорости обучения.

5. Если дошли до 0-го слоя – выход.

6. Вычисляется (аналогично п. 1) производная ошибки по активности элемента предыдущего слоя:

.

(8)

Здесь суммирование производится по всем нейронам j-го слоя, связанным с данным нейроном i-го слоя.

7. Вычисляется (аналогично п. 2) производная ошибки по входу элемента i-го слоя:

.

(9)

8. Переход на п. 3 и продолжение вычислений с заменой индексов.

Емкостью НС называют число входных образов, которые она способна научиться распознавать. Для двухслойных НС детерминистская емкость сети Cd оценивается следующим образом:

,

(10)

где LW – число подстраиваемых весов, m – число нейронов в выходном слое.

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

Вопрос о емкости НС тесно связан с вопросом о мощности выходного слоя НС. По этому поводу отметим:

  1. Для разделения множества входных образов на два класса достаточно одного выходного нейрона. На двух выходных нейронах можно закодировать четыре класса.

  2. Для повышения достоверности классификации каждому распознаваемому классу выделяют один нейрон выходного слоя.

  3. Для большего повышения достоверности каждому классу выделяют несколько нейронов выходного слоя, каждый из которых обучается распознавать класс с некоторой степенью достоверности (например, высокой, средней, низкой).

«Узкие места» НС, обучаемой по алгоритму обратного распространения [4]:

1.а) Большие по модулю значения весов могут сместить рабочую точку на сигмоидах нейронов в область насыщения.

1.б) Малые величины производной сигмоиды приведут к остановке обучения, что парализует сеть.

2. Применение метода градиентного спуска не гарантирует нахождения глобального минимума целевой функции.

2.а) Приращения весов и, следовательно, скорость обучения для нахождения экстремума должны быть бесконечно малыми, однако тогда бесконечно возрастает время обучения.

2.б) Слишком большие коррекции весов могут привести к постоянной неустойчивости процесса обучения.

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

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

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

Как выбрать правильную степень сложности сети? Выход состоит в использовании контрольной кросс-проверки. Для этого резервируется часть обучающей выборки, которая используется не для обучения сети по алгоритму обратного распространения, а для независимого контроля результата в ходе алгоритма. В начале работы ошибка сети на обучающем и контрольном множествах будет одинаковой. По мере обучения сети они будут убывать. Если же контрольная ошибка перестала убывать или даже начала расти, это указывает на то, что сеть стала слишком близко аппроксимировать данные (переобучилась) и обучение следует остановить. В этом случае следует понизить сложность сети (сократить число скрытых слоев или нейронов в них). Если же не только ошибка кросс-проверки, но и ошибка обучения не достигла достаточно малой величины, то мощность сети недостаточна.

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

Соседние файлы в папке Ответы_ИИС