IskusstvennyeNeironnyeSeti.TeoriyaIPraktika (В. В. Круглов, В. В. Борисов - Искуственные нейронные сети), страница 12
Описание файла
Файл "IskusstvennyeNeironnyeSeti.TeoriyaIPraktika" внутри архива находится в папке "В. В. Круглов, В. В. Борисов - Искуственные нейронные сети". Текстовый-файл из архива "В. В. Круглов, В. В. Борисов - Искуственные нейронные сети", который расположен в категории "". Всё это находится в предмете "нейрокомпьютерные сети" из 10 семестр (2 семестр магистратуры), которые можно найти в файловом архиве МАИ. Не смотря на прямую связь этого архива с МАИ, его также можно найти и в других разделах. Архив можно найти в разделе "книги и методические указания", в предмете "нейрокомпьютерные сети" в общих файлах.
Просмотр 12 страницы текстового-файла онлайн
На этапе записи на входы ассоциативной памяти поступают k(t) и c(f), при этом на выходе формируется r(t), идентичный k(t). После этого с задержкой А на входе формируется r(t-a). Каждая новая тройка, появляющаяся на входах, записывается в память.
52
На этапе получения данных из ассоциативной памяти на вход подается ключ К, связанный с контекстной информацией С, после чего К можно снять с входа. В результате на выходе в качестве отклика появляется копия К. Когда на входе памяти появится задержанный сигнал r(f-a), новым ключевым признаком становится пара (С, r), приводящая появлению на выходе следующего образа r(t) и т. д. Таким образом, выбирается вся записанная последовательность образов вместе с контекстной информацией.
Рассмотренная системная модель реализует ассоциативную память, пригодную для записи и выборки структурированных знаний.
Модели ассоциативной памяти, реализуемые нейронными сетями, могут быть гораздо сложнее. Кроме того, память может иметь несколько входов и выходов, состоять из нескольких подсистем. Данные в одном канале могут порождать контекстную информацию для другого канала. Этап записи может выполняться отдельно от выборки или быть совмещенным и т. д.
2.2. Персептроны
Систематическое изучение искусственных нейронных сетей было начато Маккалохом и Питтсом в 1943 году. Позднее они исследовали нейросетевые парадигмы для распознавания изображений, подвергаемых сдвигам и поворотам, используя при этом нейронную модель, показанную на рис. 2.3. Элемент x умножает каждый вход х, на вес w, и суммирует взвешенные входы. Если эта сумма больше заданного порогового значения, выход равен единице, в противном случае - нулю. Эти системы (и множество им подобных) получили название персептронов. Они состоят из одного слоя искусственных нейронов, соединенных с помощью весовых коэффициентов с множеством входов (рис. 2.4), хотя в прин-
^^1 f Пп л
s
1 s __ Выход
'• wn w w w У
Рис. 2.3. Персептронный нейрон
53
ципе описываются и более сложные системы
В 60-е годы персептроны вызвали большой интерес Ро-зенблатт доказал теорему об обучении персептронов Уидроу продемонстрировал возможности систем персептронного типа Однако дальнейшие исследования показали, что персептроны не способны обучиться решению ряда простых задач Минский строго проанализировал эту проблему и показал, что существуют жесткие ограничения на то, что могут выполнять однослойные персептроны, и, следовательно, на то, чему они могут обучаться Так как в то время методы обучения многослойных сетей не были известны, исследования в области нейронных сетей пришли в упадок Возрождение интереса к нейронным сетям связано в большей степени со сравнительно недавним открытием с таких методов
Работа Минского возможно и охладила пыл первых исследователей нейронных сетей, однако обеспечила необходимое время для развития лежащей в их основе теории Важно отметить, что анализ Минского не был опровергнут и до сих пор остается весьма существенным
Несмотря на ограничения, персептроны широко изучались Теория персептронов является основой для изучения многих других типов искусственных нейронных сетей
Рассмотрим в качестве примера трехнейронный персептрон (рис 2 4), нейроны которого имеют активационную функцию в виде единичного скачка
Персептронные нейроны
л1 '¦¦ "^2
л2
Х3 ------>("
'¦ wm/ /wni
Хп — ------>(" ^пЪ
1 ---------*У^
->Уз
Рис 2 4 Персептрон со многими выходами
54
На п входов подаются входные сигналы, поступающие далее по синапсам на три нейрона, которые образуют единственный слой этой сети На выходах сети формируются сигналы
yj=f(ixlwl)), 7=1 3 (2 1)
Весовые коэффициенты синапсов одного слоя нейронов можно свести в матрицу w, в которой каждый элемент wtl задает величину /-ой синаптической связи у-ro нейрона Таким образом, процесс, происходящий в нейронной сети, может быть записан в матричной форме
y=f(xw), (2 2)
где x и y - соответственно входной и выходной векторы (под вектором понимается вектор-строка), f(s) - активационная функция, применяемая поэлементно к компонентам вектора s
На рис 2 5 представлен двухслойный персептрон, образованный из однослойного добавлением второго слоя, состоящего из двух нейронов
Отметим важную роль нелинейности активационной функции, так как, если бы она не обладала данным свойством, результат функционирования любой q-слойной нейронной сети с весовыми матрицами w** для каждого слоя q = 1 q свелся бы к перемножению входного вектора сигналов x на матрицу
\М^=\М1) \mq) \mq) (2 3)
Фактически такая q-слойная нейронная сеть эквивалентна сети с одним скрытым слоем и с весовой матрицей единственного слоя w^'
y=xv\sz) (2 4)
Работа персептрона сводится к классификации (обобщению) входных сигналов, принадлежащих л-мерному гиперпространству, по некоторому числу классов С математической точки зрения это происходит путем разбиения гиперпространства гиперплоскостями Для однослойного персептрона
ix, wir =6>r,''=1 m
Каждая полученная область является областью определения отдельного класса Число таких классов для персептрона не превышает 2т, где т - число его выходов Однако не все из классов могут быть разделимы данной нейронной сетью
55
Персептронные нейроны
Спой 1
Спой 2
Рис. 2.5. Двухслойный персептрон
Например, однослойный персептрон, состоящий из одного нейрона с двумя входами, не может реализовать логическую функцию «Исключающее ИЛИ», т. е. не способен разделить плоскость (двумерное гиперпространство) на две полуплоскости так, чтобы осуществить классификацию входных сигналов по классам А и В (см. табл. 2.1).
Таблица 2.1 Логическая функция «Исключающее ИЛИ»
х2 Х1 0 1
0 В А
1 А В
Уравнение сети для этого случая:
х, iv1 + x2 w2 = в (2.5)
является уравнением прямой (одномерной гиперплоскости), которая ни при каких условиях не может разделить плоскость так, чтобы точки из множества входных сигналов, принадлежащие разным классам, оказались по разные стороны от прямой (рис. 2.6). Не-
56
х2
А /В
'* / *
/^ ¦ х1 \лгл + х2 w2 = в
В / А '>-/-------------•-------->х,
Рис. 2 6. Линейная нераздепимость функции Исключающее ИЛИ
возможность реализации однослойным персептроном этой функции получила название проблемы «Исключающего ИЛИ».
Отметим, что функции, которые не реализуются однослойным персептроном, называются линейно неразделимыми. Решение задач, подпадающих под это ограничение, заключается в применении 2-х и более слойных сетей или сетей с нелинейными синапсами, однако и тогда существует вероятность, что корректное разделение некоторых входных сигналов на классы невозможно.
Рассмотрим более подробно алгоритм обучения с учителем персептрона на примере, представленном на рис. 2.4.
ШАГ 1. Проинициализировать элементы весовой матрицы небольшими случайными значениями.
ШАГ 2. Подать на входы один из входных векторов, которые сеть должна научиться различать, и вычислить ее выход.
ШАГ 3. Если выход правильный, перейти на шаг 4. Иначе -вычислить разницу между требуемым и полученным значениями выхода:
s = d-y.
Модифицировать веса в соответствии с формулой: wv(t + ^ = w,j(t) + ijsx,,
где t и (f+1) - номера текущей и следующей итераций; т] - коэффициент скорости обучения, 0 < rj < 1; /- номер входа; j - номер нейрона в слое.
Очевидно, что если d > У, то весовые коэффициенты будут увеличены и, тем самым, уменьшат ошибку. В противном случае они будут уменьшены, и Утоже уменьшится, приближаясь к d.
Шаг 4. Цикл с шага 2, пока сеть не перестанет ошибаться.
На шаге 2 на разных итерациях поочередно в случайном порядке предъявляются все возможные входные вектора. К сожале-
57
нию, нельзя заранее определить число итераций, которые потребуется выполнить, а в некоторых случаях и гарантировать полный успех Этот вопрос будет затронут в дальнейшем