Однослойные перцептроны

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

На рис. 1 представлена структура однослойного перцептрона с входами и выходами. Очевидно, что каждый выход соответствует своему нейрону единственного слоя. Кроме того, ясно, что сложность структуры однослойной сети не может варьироваться ввиду отсутствия скрытых слоев нейронов.

Рис. 1. Структура однослойного перцептрона

 

Количество весовых коэффициентов Nw, настраиваемых в процессе обучения, рассчитывается следующим образом:

.

Для каждого нейрона сети помимо синаптических связей с элементами входного вектора настраивается связь с фиктивным единичным входом (коэффициент смещения).

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

Однослойные перцептроны обучаются на основе итерационного метода Уидроу–Хоффа, иначе называемого дельта-правилом. Алгоритм данного метода следующий.

1. Весовые коэффициенты однослойного перцептрона выбранной структуры инициализируются небольшими по абсолютной величине (не более M–1) случайными значениями.

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

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

.                                                  (1)

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

,                                           (2)

где v – коэффициент скорости обучения.

5. Цикл повторяется с шага 2 до выполнения одного или нескольких условий окончания:

– исчерпано заданное предельное количество эпох обучения;

– достигнут удовлетворительный уровень ошибки по всей обучающей выборке;

– не происходит уменьшения ошибки обучающей выборки на протяжении заданного предельного количества эпох обучения;

– исчерпано заданное предельное физическое время обучения.

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

Коэффициент скорости обучения задается положительной константой или переменной величиной (0 < v <= 1), постепенно уменьшающейся в процессе обучения нейронной сети.

Общая ошибка работы нейронной сети с обучающей выборкой оценивается по соотношению:

.                           (3)

Также полезно оценивать ошибку работы нейронной сети в отдельности по каждому ее выходу:

.                                    (4)

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

                                       (5)

или относительной ошибки в процентах:

.                                               (6)

Рассмотрим пример обучения и оценки работы однослойной нейронной сети (рис. 2), описывающей зависимость двух выходных переменных y1, y2 от двух входных x1, x2. Данная сеть имеет 6 синаптических связей и, соответственно, в процессе ее обучения будет настраиваться такое же количество весовых коэффициентов.

Исходная выборка, состоящая из 10 примеров, приведена в табл. 1.

При обучении и практическом использовании однослойного перцептрона необходимо нормализовать значения переменных. Воспользуемся методом линейной нормализации в пределах [0, 1] по соотношению (1). Результаты нормализации выборки представлены в табл. 2.

Рис. 2. Однослойный перцептрон с 2 входами и 2 выходами

 

Таблица 1

Исходная выборка данных для однослойного перцептрона

№ примера

x1

x2

y1

y2

1

–5

2

–18

–1

2

0

5

–9

16

3

2

–4

15

–18

4

–3

1

–10

–3

5

5

0

16

1

6

1

–5

14

–23

7

–3

–1

–6

–11

8

2

5

–3

18

9

4

3

7

12

10

0

–2

5

–12

Минимальное значение

–5

–5

–18

–23

Максимальное значение

5

5

16

18

 

 

В качестве активационной функции используем сигмоидную логистическую с параметром насыщения α = 1,0. Коэффициент скорости обучения примем равным 0,9.

В соответствии с алгоритмом метода Уидроу–Хоффа зададимся следующими начальными значениями весовых коэффициентов: w01 = 0,0, w02 = 0,2, w11 = –0,4, w12 = –0,1, w21 = 0,3, w22 = 0,2.

Предъявим сети элементы входного вектора первого обучающего примера:  = 0,0,  = 0,7. В результате прямого распространения сигнала по сети по соотношению получаются состояния нейронов s1 = 0,21 и s2 = 0,34. В результате применения активационной функции к этим состояниям рассчитываются нормализованные выходные значения:  = 0,552,  = 0,584.

 

Таблица 2

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

№ примера

1

0,000

0,700

0,000

0,537

2

0,500

1,000

0,265

0,951

3

0,700

0,100

0,971

0,122

4

0,200

0,600

0,235

0,488

5

1,000

0,500

1,000

0,585

6

0,600

0,000

0,941

0,000

7

0,200

0,400

0,353

0,293

8

0,700

1,000

0,441

1,000

9

0,900

0,800

0,735

0,854

10

0,500

0,300

0,676

0,268

 

 

С использованием выражения (1) рассчитаем погрешности выходных значений: Δ1 = –0,552, Δ2 = –0,048. Данные значения погрешностей далее берем для пересчета новых значений весовых коэффициентов по выражению (2). Результаты пересчета весовых коэффициентов после предъявления первого и всех последующих обучающих примеров в течение первой эпохи обучения представлены в табл. 3. В последней строке таблицы приведены весовые коэффициенты по завершении десятой эпохи обучения.

С использованием весовых коэффициентов, представленных в последней строке табл. 3, были рассчитаны нормализованные выходные значения всех примеров обучающей выборки (табл. 4) и получены результаты оценки ошибок обучения.

Общая ошибка работы полученной нейронной сети с обучающей выборкой составила  = 0,0773. Относительные ошибки каждого выхода: ε1 = 6,66 %, ε2 = 8,67 %. Денормализованные средние абсолютные ошибки: E1 = 2,27, E2 = 3,55. Для однослойного перцептрона такой простой структуры, какая была использована, это очень хороший уровень ошибок.

 

Таблица 3

Ход коррекции весовых коэффициентов однослойного перцептрона

Номер эпохи

Номер примера

w01

w02

w11

w12

w21

w22

1

1

–0,497

0,157

–0,400

–0,100

–0,048

0,170

1

2

–0,549

0,501

–0,426

0,072

–0,099

0,514

1

3

0,057

0,029

–0,002

–0,258

–0,039

0,467

1

4

–0,189

–0,039

–0,051

–0,272

–0,186

0,426

1

5

0,335

0,060

0,473

–0,173

0,076

0,475

1

6

0,597

–0,380

0,630

–0,437

0,076

0,475

1

7

0,303

–0,505

0,571

–0,462

–0,042

0,425

1

8

0,107

0,035

0,434

–0,084

–0,238

0,965

1

9

0,250

0,195

0,563

0,060

–0,124

1,094

1

10

0,300

–0,135

0,588

–0,105

–0,109

0,995

10

10

–0,190

–2,110

3,513

0,460

–2,474

3,826

 

Таблица 4

Сравнение значений выходных переменных обучающих выборок
и рассчитанных по обученному однослойному перцептрону

№ примера

Выходы выборки

Выходы перцептрона

1

0,000

0,537

0,128

0,638

2

0,265

0,951

0,288

0,875

3

0,971

0,122

0,883

0,197

4

0,235

0,488

0,275

0,569

5

1,000

0,585

0,890

0,565

6

0,941

0,000

0,872

0,138

7

0,353

0,293

0,383

0,380

8

0,441

1,000

0,449

0,885

9

0,735

0,854

0,730

0,797

10

0,676

0,268

0,695

0,325

 

 

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

Рис. 3. Изменение общей ошибки по эпохам обучения

 

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