Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Метод_КРискусственные сети.doc
Скачиваний:
4
Добавлен:
10.11.2019
Размер:
1.08 Mб
Скачать

6.2. Задание 1. Проектирование однослойной искусственной нейронной сети. Общие сведения.

6.2.1.Простой персептрон. Обучение простого персептрона.

НЭ, описываемый функцией

(11)

где Н(•) - единичная ступенчатая функция Хевисайда, называется простым персептроном.

В качестве функции преобразования персептрона может использо­ваться также знаковая функция sgn(•). В этом случае входные и выходные сигналы персептрона будут биполярными.

Задача обучения персептрона заключается в поиске такого вектора ве-сов WT= (w1,w2,...,wm) и порогового значения θ, при которых будет обеспе-чиваться совпадение желаемой и действительной реакции персептрона на заданный входной вектор . Если

, (12)

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

играет роль дискриминантной функций, позволяющей установить принад-лежность вектора определенному классу.

Идея обучения персептрона состоит в следующем. На вход персеп­тро-на подаются последовательно входные векторы . Одновременно с этим выходная реакция персептрона сравнивается с желаемой реак­цией . Если указанные реакции совпадают, то никаких действий не предпри-нимают. Если ≠ , то вектор весов персептрона изме­няется на величину . Адаптация весов выполняется с помощью правила

(13)

где η - коэффициент обучения, η > 0. Если обозначить ошибку обуче-ния через , т.е. = - , то правило обучения можно перепи-сать в виде

(14)

Таким образом, если =0, то вектор весов не меняется. Если >0, то вектор весов меняется в направлении вектора .

Для простого персептрона в силу того, что в качестве функции преоб-разования используется функция Хевисайда, значение может прини-мать только значения +1 (если на входе нейрона присутствует сигнал, на который “настроен” нейрон) или 0 (если сигнал на входе не соответствует сигналу настройки). Очевидно, что и желаемое значение реакции нейрона будет равно +1, если на входе нейрона присутствует сигнал, на который “настроен” нейрон, и 0 в противном случае. Значение же выходной реакции нейрона будет зависеть от значения и знака аргумента функции преобразо-вания (функции Хевисайда), то есть от значения величины сетевой функции . В соответствии с этим реакция нейрона на входное воздействие будет полностью определяться значением сетевой функ-цией. Поэтому в качестве желаемой реакции можно принять желаемое зна-чение сетевой функции, которое при входном сигнале, на который “настро-ен” нейрон на входной сигнал будет больше или равно 0, то есть

. (15)

Если добавить к обеим частям неравенства θ, выражение (15) преобра-зуется к виду

. (16)

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

С учетом этого адаптация весов выполняется с помощью правила

(17)

где - вектор изменения весов, Х(μ)μ-тый вектор входного сигнала.

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

(18)

6.2.2. Однослойная ИНС. Обучение искусственной нейронной сети

Распространим правило обучения персептрона на однослойную ИНС с прямыми связями и функцией Хевисайда в качестве функции преобразова-ния. Использование такой сети целесообразно для решения задачи распозна-вания n различных входных векторов. Пусть входной вектор сигнала имеет размерность m, а размерность выходного вектора при данной постановке задачи соответствует числу распознаваемых сигналов – n (рис. 6).

Рис. 6

При этом каждый i-тый нейрон сети соответствует модели, представ-ленной на рис.1.

Так как на вход нейронной сети может поступать любой из распозна-ваемых векторных сигналов, а также и сигналы, не подлежащие распознава-нию, то для любого нейрона необходимо обеспечить такой выбор вектора весов, при котором бы на его выходе появлялся единичный сигнал при появ-лении на его входе сигнала, на который он настроен (“полезный” для данного нейрона сигнал), и нулевой сигнал при появлении на его входе сигнала не соответствующего сигналу настройки (“мешающий” для данного нейрона сигнал). Это приводит к тому, что желаемые реакции каждого из нейронов сети должны быть разными в зависимости от входного сигнала.

В связи с этим задача обучения однослойной сети заключается в поиске таких векторов весов Wi= (wi1,wi2,...,wim) и порогового значения θi, при ко-торых будет обеспечиваться совпадение желаемой и действительной реакции персептрона на соответствующий входной вектор , то есть при наличии на входе сети сигнала, для которого реакция i-того нейро-на должна быть единичной, необходимо выполнение условия

t´iжел пол (μ) =netiжел пол(μ) , (19)

в противном случае

t´iжел меш (μ) =netiжел меш(μ) , (20)

или по аналогии с предыдущим в первом случае должно выполняться соотношение

t´´iжел пол (μ) =net´iжел пол(μ) , (21)

а во втором -

t´´iжел меш (μ) =net´iжел меш(μ) , (22)

С учетом этого и выражения (17) пошаговая адаптация весов каждого нейрона выполняется с помощью правила

(23)

где - ошибка обучения i-того нейрона, (24)

t´´i (μ)= t´´iжел пол (μ) при наличии на входе i-того нейрона полез-ного сигнала и

t´´i (μ)= t´´iжел меш (μ) при поступлении на вход i-того нейрона ме-шающего сигнала,

net´i(μ)= при наличии на входе i-того нейрона полезного сигнала и

net´i(μ)= при поступлении на вход i-того ней-рона мешающего сигнала,

- текущие значения компонентов i-того весового вектора, по-лученные на предыдущем шаге

6.2.3. Проектирование однослойной искусственной нейронной сети

Ход проектирования однослойной искусственной нейронной сети про-изводится в соответствии со следующими этапами:

1. Проводится анализ задания на проектирование. Выполняется коди-рование (при необходимости) входной информации. Определяется размер-ность входного вектора и необходимое для решения задачи распознавания число нейронов.

2. Разрабатывается структурная схема нейронной сети. Осуществляется закрепление каждого из нейронов за распознаваемым образом.

3. Выбирается правило расчета весовых коэффициентов.

4. Выбирается некоторый i-тый нейрон и образ (сигнал), для распозна-вания которого предназначается этот нейронный элемент. Определяются па-раметры, необходимые для расчета вектора весовых коэффициентов:

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

- пороговое значение θi. Для определенности рекомендуется выби-рать значение, равное числу единиц в сигнале, распознаваемом этим нейро-ном.

- величины t´´iжел пол (μ) и t´´iжел меш (μ) как θi +∆ в первом случае и θi -∆ во втором случае. Величину ∆ рекомендуется выбирать мень-ше величины θi, равной, например, 1.

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

5. Осуществляют расчет вектора весовых коэффициентов выбранного нейронного элемента.

Первая итерация

5.1. Задают начальное значение вектора весовых коэффициентов (ком-понент вектора) выбранного нейрона. Как правило на первом шаге значени-ям компонент весового вектора присваивают небольшие случайные значения в пределах от 0 до 1. (Так как в процессе обучения начальные значения кор-ректируются, то эти начальные значения могут быть выбраны одинаковыми для всех нейронов.)

5.2. На вход сети подается сигнал, характеризующий образ, для распоз-навания которого служит выбранный нейронный элемент.

5.3. С учетом заданного начального значения весового вектора для этого сигнала определяется сетевая функция

net´i(μ)= ,

где в качестве текущих значений составляющих весового вектора

выбираются их начальные значения.

5.4. Определяется ошибка обучения в соответствии с (24).

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

,

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

- начальное значение вектора весовых коэффициентов, определяется в соответствии с выражением (23).

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

5.7. С учетом скорректированного значения весового вектора для этого сигнала определяется сетевая функция

net´i(μ)= ,

где в качестве текущих значений составляющих весового вектора

выбираются их скорректированные значения.

5.8. Определяется ошибка обучения в соответствии с (24).

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

,

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

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

5.10. Процедуры 5.6 – 5.9 повторяются для всех мешающих для дан-ного нейрона сигналов.

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

Вторая итерация

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

5.12. Выполняются пункты 5.2 – 5.11. Если по результатам второй ите-рации не достигается выполнения условия непревышения предельно допус-тимых ошибок обучения, проводится третья итерация и так до тех пор, пока на будет выполнено условие непревышения ошибок обучения для всех воз-можных входных векторов. По достижении этого условия обучение выбран-ного нейрона заканчивается.

6. Выбирается следующий нейронный элемент и сигнал, на который этот элемент должен быть настроен.

7. Выполняются п.п. 4 – 12 для обучения выбранного нейронного элемента.

8. Выполняются п.п. 6.- 7 для обучения всех нейронных элементов сети.

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

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

1. Проводится анализ задания на проектирование. Выполняется кодиро-вание (при необходимости) входной информации. Определяется размерность входного вектора и необходимое для решения задачи распознавания число нейронов.

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

распознаваемые объекты – 1100 и 1010, мешающий объект – 1001 (выбор порядка кодирования произволен, но одинаков для всех образов).

Так как размерность кодов во всех случаях одинакова и равна 4, то раз-мерность входного вектора принимается равной 4. В связи с тем, что число распознаваемых полезных образов равно 2, то число нейронов в сети выбира-ется равным 2.

2. Разрабатывается структурная схема нейронной сети. Осуществляется закрепление каждого из нейронов за распознаваемым образом.

Рис. 7

Будем считать, что первый нейрон должен обеспечить распознавание первого образа, а второй – второго.

3. Выбирается правило расчета весовых коэффициентов.

Расчет вектора весовых коэффициентов в процессе обучения производится в соответствии с выражением

где - рассчитываемое значение вектора весовых коэффициентов на к-том шаге, - значение вектора весовых коэффициентов, полученное на предыдущем шаге, - корректирующее слагаемое, получаемое в соответствии с выражением

где ……….(расписать входящие обозначения)

4. Выполним выбор параметров первого нейронного элемента.

Примем значение коэффициента обучения =0,6.

Пороговое значение θ1=2, так как число единиц в коде, соответству-ющем первому образу равно 2.

Определим желаемые реакции первого нейрона на полезный образ и мешающие для него образы как

t´´1жел пол (1) = θ1 +

и t´´1жел меш (2,3) = θ1 -∆.

Выберем ∆= 0,5 (так как само значение θ1 небольшое).

Тогда t´´1жел пол (1)=2,5, а t´´1жел меш (2,3) = 1,5.

Максимально допустимые ошибки обучения δmax пол и δmax меш примем равными 0,1.

5. Расчет вектора весовых коэффициентов первого нейронного элемен-та.

5.1. Зададим следующие начальные значения компонент вектора весо-вых коэффициентов:

w11=0,3; w12=0,6; w13=0,5; w14=0,8.

5.2. На вход сети подаем первый сигнал, код которого равен 1100.

5.3. Для заданного начального значения весового вектора для первого сигнала (μ=1) определяется сетевая функция

net´1(1)= ,

где в качестве текущих значений составляющих весового вектора

выбираются их начальные значения.

net´1(1)=0,3•1+0,6•1+0,5•0+0,8•0=0,9

5.4. Определяем ошибку обучения в соответствии с выражением.

где = t´´1жел пол (1)=2,5.

С учетом этого =2,5-0,9=1,6.

5.5. Полученное значение ошибки обучения больше, чем δmax пол=0,1.

Поэтому выполним коррекцию вектора весовых коэффициентов в соответст-вии с выражением

где

Тогда

5.6. На вход сети подается сигнал, характеризующий второй (мешаю-щий) образ, код которого равен 1010.

5.7. С учетом скорректированного значения весового вектора для второго сигнала определяется сетевая функция

net´1(2)= ,

где в качестве текущих значений составляющих весового вектора

выбираются их скорректированные значения.

net´1(2)=1,26•1+1,56•0+0,5•1+0,8•0=1,76

5.8. Определяем ошибку обучения в соответствии с выражением

где = t´´1жел меш (2) = 1,5.

С учетом этого =1,5-1,76=-0,26.

5.9. Полученное значение ошибки обучения больше, чем δmax меш =0,1. Поэтому выполним коррекцию вектора весовых коэффициентов в соответст-вии с выражением

где

Тогда

5.10. На вход сети подается сигнал, характеризующий третий (мешаю-щий) образ, код которого равен 1001.

5.11. С учетом скорректированного значения весового вектора для третьего сигнала определяется сетевая функция

net´1(3)= ,

где в качестве текущих значений составляющих весового вектора

выбираются их скорректированные ранее в пункте 5.9 значения.

net´1(3)=1,104•1+1,56•0+0,344•0+0,8•1=1,904

5.12. Определяем ошибку обучения в соответствии с выражением

где = t´´1жел меш (2) = 1,5.

С учетом этого =1,5-1,904=-0,404.

5.13. Полученное значение ошибки обучения больше, чем

δmax меш =0,1.

Поэтому выполним коррекцию вектора весовых коэффициентов в соот-ветствии с выражением

где

Тогда

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

Вторая итерация.

5.14. На вход сети подаем первый сигнал, код которого равен 1100.

5.15. Для полученного на первой итерации значения весового вектора определяется сетевая функция для первого сигнала (μ=1)

net´1(1)= ,

где в качестве текущих значений составляющих весового вектора

выбираются их значения, полученные на первой итерации.

net´1(1)=0,862•1+1,56•1+0,344•0+0,558•0=2,422

5.16. Определяем ошибку обучения в соответствии с выражением.

где = t´´1жел пол (1)=2,5.

С учетом этого =2,5-2,422=0,078.

5.17. Полученное значение ошибки обучения меньше, чем δmax пол=0,1. Поэтому значение вектора весовых коэффициентов не изменяем.

5.18. На вход сети подается сигнал, характеризующий второй (мешаю-щий) образ, код которого равен 1010.

5.19. С учетом значения весового вектора определяется сетевая функ-ция для второго сигнала

net´1(2)= ,

где в качестве текущих значений составляющих весового вектора

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

net´1(2)=0,862•1+1,56•0+0,344•1+0,558•0=1,206

5.20. Определяем ошибку обучения в соответствии с выражением

где = t´´1жел меш (2) = 1,5.

С учетом этого =1,5-1,206=0,294.

5.21. Полученное значение ошибки обучения больше, чем

δmax меш =0,1. Поэтому выполним коррекцию вектора весовых коэффици-ентов в соответствии с выражением

где

Тогда

5.22. На вход сети подается сигнал, характеризующий третий (мешаю-щий) образ, код которого равен 1001.

5.23. С учетом скорректированного значения весового вектора для третьего сигнала определяется сетевая функция

net´1(3)= ,

где в качестве текущих значений составляющих весового вектора

выбираются их скорректированные ранее в пункте 5.9 значения.

net´1(3)=1,038•1+1,56•0+0,52•0+0,558•1=1,596

5.24. Определяем ошибку обучения в соответствии с выражением

где = t´´1жел меш (2) = 1,5.

С учетом этого =1,5-1,596=-0,096.

5.25. Полученное значение ошибки обучения меньше, чем

δmax меш =0,1. Поэтому значение вектора весовых коэффициентов не изме-няем.

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

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

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

t´´2жел пол (2) = θ2 +∆,

t´´2жел меш (1,3) = θ2 -∆.

и при θ2=2 и ∆= 0,5

t´´2жел пол (2) = 2,5,

t´´2жел меш (1,3) = 1,5.

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