Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги / Нечёткое, нейронное и гибридное управление

..pdf
Скачиваний:
5
Добавлен:
12.11.2023
Размер:
3.91 Mб
Скачать

память успешно заменяет сеть Хэмминга [9, 37]. ИНС Хэмминга (рис. 2.14) по сравнению с ИНС Хопфилда требует меньшей памяти и объема вычислений. ИНС Хэмминга состоит из двух слоев: входного, скрытого и выходного слоев нейронов. Скрытый (1-й слой) и выходной (2-й слой) содержат по m нейронов, m – число эталонов. Нейроны скрытого слоя n синапсами соединены с выходами нейронов входного слоя сети. Выходы нейронов выходного слоя связаны с входами остальных нейронов этого слоя ингибиторными (отрицательными обратными) синаптическими связями. Единственная положительная обратная связь подается с выходами для каждого нейрона выходного слоя на его же вход. Идея работы сети состоит в нахождении расстояния Хэмминга от тестируемого образца до всех образцов.

Вход

1-й слой

2-й слой

Выход

Рис. 2.14. Структура нейронной сети Хэмминга

Расстоянием Хэмминга называется число отличающихся битов

вдвух бинарных векторах. Сеть должна выбрать образец с минимальным расстоянием Хэмминга до неизвестного входного сигнала,

врезультате чего будет активизирован только один выход сети, со-

161

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

 

w

xk

,

T

n

,

 

i

 

 

 

 

 

ik

2

 

k

2

 

 

 

 

 

 

где i 0,... , n 1,

k 0, ..., m 1.

 

 

 

 

Здесь xik i-й элемент k-го образца. Весовые коэффициенты тормозящих синапсов во втором слое берут равными некоторой величине 0 1m. Синапс нейрона, связанный с его же аксоном,

имеет вес +1.

Алгоритм функционирования сети Хэмминга:

1. На входы сети подается неизвестный вектор X xi , гдеi 0,..., n , исходя из которого рассчитываются состоя-

ния нейронов первого слоя (верхний индекс в скобках указывает номер слоя)

 

n 1

 

y(1)j s(1)j

wij xi Tj ,

j 0, ..., m 1.

 

i 0

 

После этого полученными значениями инициализируются значения аксонов второго слоя

y2(2) y(1)j , j 0, ..., m 1.

2. Вычисляются новые состояния нейронов второго слоя

 

m 1

 

 

 

 

s(2)j ( p 1) yj ( p) yk(2) ( p),

k j, j 0, ..., m 1

 

k 0

 

 

 

 

и значения их аксонов

 

 

 

 

 

(2)

(2)

2)

 

,

j 0, ..., m 1.

sj ( p 1)

f sj ( p

 

162

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

3. Проверить, изменились ли выходы нейронов второго слоя за последнюю итерацию. Если да – перейти к шагу 2. Иначе – конец процедуры.

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

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

2.5.1.Алгоритм обратного распространения ошибки

Обучение с помощью ОРО требует выполнения следующих действий [6, 51]:

выбрать очередную обучающую пару обучающего множества

иподать на вход сети;

вычислить выход сети;

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

подкорректировать веса сети так, чтобы минимизировать ошибку;

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

Пример 2.2. Рассмотрим вариант НС, содержащий входной (распределительный) слой НС (рис. 2.15), который отражает вектор степеней принадлежностей терм фаззификатора по отклонению, 1 – соответствующий терме ПМ; 2 – терме Н; 7 – терме ОМ и по скорости отклонения 8 – соответствующий терме ПМ; 9 – терме Н; 10 – терме ОМ. Внутренний слой НС состоит из нейронов 4 и 5 с обучаемым смещением и выходной слой – из нейрона 6 с обучаемым смещением. Обучение НС выполним методом ОРО. Примем целевое значение выхода НС: tj = 0,9. Условие сходимости На-

163

чальные значения коэффициентов матриц НС принять в диапазоне от – 0,3 до +0,3, а скорость обучения НС Исходное со-

стояние НС показано на рис. 2.15.

Примем матрицу коэффициентов внутреннего слоя НС

 

 

0,1

0,1

 

 

 

 

 

 

0,2

0,1

 

 

 

 

0,1

0,3

 

 

w1

 

0,15

0,2

 

.

 

 

0,0

0,0

 

 

 

 

0,0

0,0

 

 

 

 

0,0

0,0

 

 

Примем матрицу коэффициентов выходного слоя НС

0,2

w2 0,2 . 0,3

0,1

0,0

d 0,2 dt

Рис. 2.15. Исходное состояние ИНС

164

Примем начальные (целевые) значения степеней принадлежности терм Н и ПМ для значений 0,1 и ddt 0,2

0,1

X0,20,9 . 0,8

Порядок расчета текущей эпохи НС. 1. Определяем выходы элементов скрытого и выходного слоев по формулам

net j xi wij ,

 

 

 

x 0

 

Oj

 

 

1

.

1

exp( net j )

 

 

Для нейрона 4

net4 (0,1 1) (0,1 0,2) (0,9 0,1) 0,17,

O4

 

 

 

1

0,542.

1

exp( 0,17)

 

 

 

Для нейрона 5

net5 (0,1 1) (0,9 0,3) (0,1 0,1) 0,36,

O4

 

 

 

1

0,589.

1

exp( 0,36)

 

 

 

Для нейрона 6

net6 (0,2 1) (0,542 0,2) (0,589 0,3) 0,485,

O6

 

 

 

1

0,619.

1

exp( 0,485)

 

 

 

165

2. Проверяем разность между реальным и целевым выводами ИНС:

(t j Oj ) (0,619 0,9) 0,281, 0,01 0,281.

3. Определяем ошибку выходного нейрона 6 по формуле

 

 

 

 

j (t j Oj ) Oj (1

Oj )

или

 

 

6

к (0,9 0,619) 0,619(1 0,619) 0,066.

4. Определяем ошибку нейронов 4 и 5 закрытого слоя по формуле

к (1 Ok )Ok j wkj ,

где индекс к – соответствует предыдущему слою при обратном движении в ИНС.

5. Для нейрона 4

4 (1 0,542)0,542 0,066 0,2 0,003.

Для нейрона 5

5 (1 0,589)0,589 0,066 0,3 0,005.

6. Определяем для всех слоев приращение значений весов каждого нейрона по формуле

wij jOj ,

где – коэффициент скорости обучения; = 0,01 1,0. Для нейрона 6

w46 0,25 0,066 0,542 0,009,

166

w56 0,25 0,066 0,589 0,01,w36 0,25 0,066 1 0,017.

Для нейрона 4

w84 w94 w24 w14 0,25 0,003 0,542 0,0004,w34 0,25 0,005 1 0,00125.

Для нейрона 5

w95 w85 w25 w15 0,25 0,005 0,585 0,00073,w35 0,25 0,003 1 0,00075.

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

 

 

 

 

 

 

 

wi

 

w

w .

 

 

 

 

 

 

 

ij

 

 

ij

ij

Для нейрона 6

 

 

 

 

 

 

 

 

 

w1

 

w

 

w

0,3 0,01 0,31,

 

 

46

 

46

 

 

46

 

w1

 

w

 

w

 

 

0,2 0,009 0,209,

56

 

56

 

56

 

 

w1

 

w

 

w

 

 

0,2 0,017 0,217,

36

 

36

 

36

 

 

Для нейрона 4

 

 

 

 

 

 

 

 

 

w1 w

w 0,2 0,0004 0,1996,

14

 

 

14

 

 

14

 

 

 

 

w1

 

w

w

 

0,1 0,0004 0,1004,

24

 

 

24

 

 

24

 

 

 

w1

 

w

w

 

0,0 0,0004 0,0004,

84

 

 

84

 

 

84

 

 

 

 

w1

 

w

w

 

0,0 0,0004 0,0004,

94

 

 

 

94

 

 

94

 

 

 

 

w1

w w

0,1 0,00125 0,10125.

34

 

 

 

34

 

 

34

 

 

 

 

167

Для нейрона 5

w151 w15 w15 0,1 0,00073 0,09927, w125 w25 w25 0,3 0,00073 0,30073, w851 w85 w85 0,0 0,00073 0,00073, w951 w95 w95 0,0 0,00073 0,00073, w351 w35 w35 0,1 0,00075 0,100075.

8. Запишем матрицу коэффициентов для расчета ИНС последующей эпохи:

 

 

0,10125

0,100075

 

 

 

 

 

 

0,1996

0,09927

 

 

 

 

0,1004

0,30073

 

 

w1

 

0,15

0,2

 

,

 

 

0,0004

0,0004

 

 

 

 

0,00073

0,00073

 

 

 

 

0,0

0,0

 

 

0,217

w2 0,209 . 0,310

На рис. 2.16 показано состояние ИНС после первой эпохи. Для дальнейшего обучения ИНС необходимо определить ста-

тическую регулировочную характеристику f ( ) конкретного

РО. Число учебных образцов N для получения допустимого значения ошибки в процессе тестирования определяется по формуле

N Wa ,

168

где W – число весовых коэффициентов ИНС. Так, при допустимости 10 % ошибок число учебных образцов должно быть в 10 раз больше числа имеющихся в сети весовых коэффициентов. В ИНС участвует семнадцать весовых коэффициентов, и для получения 10 % ошибки обучения необходимо иметь 170 учебных образцов.

Рис. 2.16. Состояние ИНС после первой эпохи

В процессе обучения нейро-контроллер запомнит параметры матриц 170 учебных образцов. При включении нейронного регулятора в работу в зависимости от значений ошибки отклонения и ее производной нейро-контроллер выберет необходимые матрицы НС и выдаст сигнал управления на вход РО.

При этом нейронный регулятор будет изменять сигнал управления с целью доведения ошибки отклонения и ее производной до нуля по методу ОРО с помощью программы Brein Maker [38]. В этом заключается адаптивность нейронного регулятора, которая придает регулятору квазиастатические свойства.

Обычно применяется комбинация градиентного спуска в виде ОРО и МНК. По МНК оцениваются коэффициенты заключений

169

правил, так как они линейно связаны с выходом сети. Каждая итерация процедуры настройки выполняется в два этапа. На первом этапе на входы подается обучающая выборка и по невязке между желаемым и действительным поведением сети МНК находятся оптимальные параметры узлов четвертого слоя. На втором этапе остаточная невязка передается с выхода сети на входы и методом ОРО модифицируются параметры узлов первого слоя. При этом найденные на предыдущем этапе коэффициенты заключений правил не изменяются. Итерационная процедура настройки продолжается, пока невязка превышает заранее установленное значение. Для настройки ФП кроме метода ОРО можно использовать и другие алгоритмы оптимизации, например алгоритм Левенберга-Марквардта – алгоритм нелинейной оптимизации, использующий для поиска минимума комбинированную стратегию – линейную аппроксимацию и градиентный спуск. Переключение с одной стратегии на другую происходит в зависимости от того, была ли успешной линейная аппроксимация. Такой подход называют моделью доверительных областей.

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

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

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

170