Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Intellektualnye_informatsionnye_sistemy_Palama.doc
Скачиваний:
3
Добавлен:
01.03.2025
Размер:
325.12 Кб
Скачать

Алгоритм обучения многослойной сети.

N – выходной слой, n – скрытые слои. Попытки эвристической подстройки весов скрытых слоёв результата не дали.

Был предложен алгоритм обучения по принципу обратного распространения ошибки с выходов на входы.

E (w) = ( 1 / K ) *∑ (по jk) (d jk ^ N - y jk ^ N) (N – не степень, коэффициент)

d jk ^ N – желаемый выход j – го нейрона выходного слоя N при подаче на вход сети k – го образа из множества K.

K – множество входных примеров.

p – разрядность входного вектора

Происходит суммирование всей ошибки сети. Минимизация функции ошибки выполняется методом градиентного спуска:

Δwij^n = - α * (dE / dwij) (1) – изменение веса связи i – го нейрона слоя n – 1 c j – м нейроном слова n.

d E / d wij = dE / dyj * dyj / dVj * dVi / d wij (2)

Для работы данного алгоритма функция активации должна быть дифференцируема по всей области определения и используется гиперболический тангенс, значит dyj / dVj тождественно 1 – V^2. dVi / d wij – это выходной сигнал i – го нейрона слоя n – 1.

Поскольку необходимо рекурсивное вычисление функции предыдущего слоя через последующий, то вводят величину ошибки δj ^ n = dE / dyj * dyj / dVj = ∑ δj^n+1* (тетрадь!!)

Тетрадь.

В результате формула (1) будет иметь вид (тетрадь).

Алгоритм.

  1. На входы подаётся входной пример, а на выходы желаемый выход. В режиме обычного функционирования сети рассчитываем потенциалы нейронов n – x слоёв: тетрадь. И определяем в соответствии с функцией активации состояние нейронов yj^n, а затем yj последнего слоя.

  2. По формуле (4) вычисляем ошибку на выходном слое, а по формулам (3) ошибки всех скрытых слоёв последовательно.

  3. Расчёт изменений весов связей по измененной формуле (5).

  4. Изменение весов связей: wij(t+1) = wij(t) + δ wij^n, для всех слоёв.

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

Обучающее множество разбивается на две части:

  • Исходное.

  • Подтверждающее, на котором выполняется проверка качества обучения.

Процесс обучения выполняется до теп пор пока:

  1. Не будет достигнута заданная величина ошибки.

  2. Не будет выполнено заданное количество итераций.

Если результат обучения не удовлетворяет, то:

  1. Увеличивают количество примеров.

  2. Увеличивают количество итераций.

  3. Изменяют архитектуру сети.

Способы обеспечения и ускорения сходимости.

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

  2. Обход локальных минимумов. Методы “удара”, “игра жизнь” и тд.

  3. Упорядочивание данных, «взбалтывание».

  4. Пакетная обработка. Веса связей подстраиваются не после каждого примера, а путём усреднения по множеству примеров.

  5. Управление величиной шага. Если при изменении связи ошибка уменьшилась, то шаг увеличивается – «поощрение», и наоборот – «наказание».

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]