- •Введение
- •Формальный нейрон. Типология нейронов. Задача, решаемая нейроном, геометрическая интерпретация.
- •Формальный нейрон.
- •Типология нейронов.
- •Геометрическая интерпретация задачи нейрона.
- •Нейронная сеть. Слой, типология слоёв. Типология нейронных сетей. Основные классы задач, решаемых нейронными сетями.
- •задачи
- •Задача обучения нейронной сети, отличие от задачи обучения нейрона. Проблемы. Примеры алгоритмов и методов обучения.
- •Градиентные методы.
- •Математическое обоснование метода обратного распространения ошибки. Алгоритм обратного распространения ошибки.
- •Вывод формулы для расчёта адаптивного коэффициента обучения в алгоритме обратного распространения ошибки.
- •Вывод формулы для расчёта адаптивного шага обучения для нерекуррентной линейной нейронной сети.
- •Алгоритм послойного обучения. Назначение и отличие от алгоритма обратного распространения ошибки.
- •Алгоритм многократного распространения ошибки. Назначение и отличие от алгоритма обратного распространения ошибки.
- •Задача предсказания числовых последовательностей с помощью нейронных сетей. Особенности устройства нейронных сетей для предсказания числовых последовательностей.
- •Реккурентные нейронные сети. Контекстный нейрон. Обучение. Сеть Элмана. Сеть Джордана.
- •Рециркуляционные нейронные сети. Линейная рециркуляционная сеть. Задача, решаемая линейной рециркуляционной сетью (метод главных компонент).
- •Алгоритмы обучения и функционирования линейной рециркуляционной сети.
- •Релаксационные нейронные сети. Синхронная сеть Хопфилда. Непрерывное и дискретное состояние. Структура, обучение, энергия, функционирование.
- •Сеть Хэмминга. Назначение, обучение и функционирование.
- •Линейная ассоциативная память и ассоциативная память на основе сети Хопфилда. Функционирование, отличие.
- •Двунаправленная ассоциативная память. Назначение, структура, обучение и функционирование.
- •Двунаправленная ассоциативная память. Метод обучения двунаправленной ассоциативной памяти с модифицированной структурой.
- •Сеть адаптивного резонанса. Назначение, структура, обучение и функционирование.
- •СТРУКТУРА APT
- •Функционирование сети APT в процессе классификации
- •ФУНКЦИОНИРОВАНИЕ APT
- •ПРИМЕР ОБУЧЕНИЯ СЕТИ APT
- •ЗАКЛЮЧЕНИЕ
- •Устройство и структура нейронных сетей для решения задач классификации и кластеризации. Правила обучения: WTA и CWTA.
- •Структура когнитрона, неокогнитрона и свёрточных нейронных сетей, отличия. Назначение когнитрона, неокогнитрона и свёрточных нейронных сетей.
- •Обучение
- •НЕОКОГНИТРОН
- •Обобщение
- •Вычисления
- •Обучение
- •Псевдооптическая нейронная сеть. Интерферирующий нейрон, устройство. Назначение, структура и функционирование сети.
- •Машина Больцмана, назначение. Устройство и функционирование.
- •Предетекторы и детекторы. Поле (карта) детекторов. Детекторы новизны и тождества. Схема активного анализа на основе нейроподобных элементов.
- •Аппаратная реализация нейронных сетей. Процедура проектирования систолических массивов (процессоров), на основе структуры сети.
- •Систолические процессоры для двухслойной нейронной сети (первый слой – рецепторы). Эффективность. Предпочтение по эффективности.
- •Систолический массив с разнонаправленными связями. Сравнение по эффективности с процессорами с однонаправленными связями.
- •Матричный систолический процессор. Сравнение по эффективности.
- •Систолические массивы для многослойных нейронных сетей. Структура систолического массива, объединяющего различные систолические процессоры. Эффективность.
- •Систолические массивы для многослойных нейронных сетей. Структура систолического массива, объединяющего идентичные систолические процессоры. Эффективность.
- •Систолические процессоры для реализации релаксационных нейронных сетей (сети Хопфилда).
- •Методы обеспечения отказоустойчивости. Скользящее резервирование.
- •Методы обеспечения отказоустойчивости. Секционированное резервирование. Схема для неоднородного потока входных данных.
- •Нечёткие нейронные сети. Структура, функционирование, обучение.
- •Литература.
Задача обучения нейронной сети, отличие от задачи обучения нейрона. Проблемы. Примеры алгоритмов и методов обучения.
Задание вектора в пространстве W полностью определяет все синаптические веса и, тем самым, состояние сети. Состояние, при котором нейронная сеть реализует требуемую функцию, называют обученным состоянием сети. Для заданной функции обученное состояние может не существовать или быть не единственным. Задача обучения теперь формально эквивалентна построению процесса перехода в пространстве W от некоторого произвольного состояния W0 к обученному состоянию, т.е. процесса, модифицирующего веса сети. Если обучение успешно, то предъявление сети множества входных сигналов приводит к появлению желаемого множества выходных сигналов.
Требуемая функция однозначно описывается путем задания соответствия каждому вектору пространства X некоторого вектора из пространства Y. Однако в таких случаях, как например, при работе с видеоизображением, вектора X могут иметь высокую размерность, поэтому даже в случае булевых векторов однозначное определение функции становится весьма громоздким. Во многих практических случаях значения требуемых функций для заданных значений аргумента получаются из эксперимента или наблюдений, и, следовательно, известны лишь для ограниченной совокупности векторов. Кроме того, известные значения функции могут содержать погрешности, а отдельные данные могут даже частично противоречить друг другу. По этим причинам перед нейронной сетью обычно ставится задача приближенного представления функции по имеющимся примерам. Имеющиеся в распоряжении исследователя примеры соответствий между векторами, либо специально отобранные из всех примеров наиболее представительные данные называют обучающей выборкой. Обучающая выборка определяется обычно заданием пар векторов, причем в каждой паре один вектор соответствует стимулу, а второй – требуемой реакции. Обучение нейронной сети состоит в приведении всех векторов стимулов из обучающей выборки требуемым реакциям путем выбора весовых коэффициентов нейронов.
Пусть имеется нейронная сеть, выполняющая преобразование F:X→Y векторов X из пространства входов X в вектора Y выходного пространства Y. Сеть находится в состоянии W из пространства состояний W. Пусть далее имеется обучающая выборка (Xα,Yα), α = 1..p. Рассмотрим полную ошибку E, делаемую сетью в состоянии W.
(7)
Ошибка E=E(W) принимает неотрицательные значения. В некотором обученном состоянии W*, в котором сеть не делает ошибок на обучающей выборке, данная функция принимает нулевое значение. На практике могут использоваться нейронные сети в состояниях с некоторым малым значением ошибки, не являющихся в точности минимумами функции ошибки.
Возникает вопрос – можно ли для обучения многослойной сети применить уже известное -правило? Ответ состоит в том, что для применения -правила необходимо знать не только текущие входы нейронов X, но и требуемые правильные значения Y. В случае многослойной сети эти правильные значения
имеются только для нейронов выходного слоя. Требуемые значения выходов для нейронов скрытых слоев неизвестны, что и ограничивает применение -правила.
Имеется два класса обучающих методов: детерминистский и стохастический. Детерминистский метод обучения шаг за шагом осуществляет процедуру коррекции весов сети, основанную на использовании их текущих значений, а
также величин входов, фактических выходов и желаемых выходов.
Для обучения этим методом может быть использована следующая процедура:
1.Выбрать очередную пару входов и ожидаемых выходов; подать входной вектор на вход сети.
2.Вычислить выход сети.
3.Вычислить разность между полученным выходом сети и ожидаемым выходом.
4.Подкорректировать веса сети так, чтобы минимизировать ошибку.
5.Повторять шаги с 1 по 4 для каждой пары обучающих входов и ожидаемых выходов до тех пор, пока ошибка на всем множестве не достигнет приемлемого уровня.
Стохастические методы обучения выполняют псевдослучайные изменения величин весов, сохраняя те изменения, которые ведут к улучшениям. Выход нейрона является здесь взвешенной суммой его входов, которая, преобразована с помощью нелинейной функции. Для обучения сети может быть использована следующая процедура:
1.Выбрать вес случайным образом и подкорректировать его на небольшое случайное число. Предъявить множество входов и вычислить получающиеся выходы.
2.Сравнить эти выходы с желаемыми выходами и вычислить величину разности между ними. Общепринятый метод состоит в нахождении разности между фактическим и желаемым выходами для каждого элемента обучаемой пары, возведение разностей в квадрат и нахождение суммы этих квадратов. Целью обучения является минимизация этой разности, часто называемой целевой функцией.
3.Выбрать вес случайным образом и подкорректировать его на небольшое случайное значение. Если коррекция помогает (уменьшает целевую функцию), то сохранить ее, в противном случае вернуться к первоначальному значению веса.
4.Повторять шаги с 1 до 3 до тех пор, пока сеть не будет обучена в достаточной степени.
Структура альфа-персептрона. Задача, решаемая альфа-персептроном. Гамма-персептрон, различия. Задачи, решаемые персептронами без обратных и перекрёстных связей.
Персептроны – нейросетевые моделей, исследованные Ф. Розенблаттом в качестве значительно упрощённых моделей фрагментов мозга. Они были одними из первых искусственных сетей, способных к перцепции (восприятию) и
формированию реакции на воспринятый стимул. По Розенблатту персептроны – это сети составленные из S-, A- и R-элементов:
Рис. 9. Элементарный персептрон Розенблатта.
S-элементы формируют сетчатку сенсорных клеток, принимающих двоичные сигналы от внешнего мира. Сенсорный (S-элемент) способен выдавать сигнал 1 либо 0. Далее сигналы поступают в слой ассоциативных или A-элементов (для упрощения изображения часть связей от входных S-клеток к A-клеткам не показана). Ассоциативный элемент – обычный нейрон модели МакКаллока-Питса (L(X) = (X,W)) с бинарно-пороговой функцией активации. R-элементы с фиксированными весами формируют сигнал реакции персептрона на входной стимул. Реагирующий элемент (R-элемент) – обычный нейрон с биполярнопороговой функцией активации. Фрэнк Розенблатт выделял персептроны с последовательными связями, персептроны с перекрёстными связями и персептроны с обратными связями.
Рассмотрим трёхслойный по Розенблатту персептрон с последовательными связями (по современной терминологии представленная сеть обычно называется однослойной, так как имеет только один слой нейропроцессорных элементов).
Он имеет следующую структуру:
Рис. 10. Структура персептрона.
Элементарным альфа-персептроном называется разновидность трёхслойного персептрона, у которого не меняются веса связей между S- и A-элементами. Класс задач, решаемый таким персептроном, эквивалентен классу задач, решаемых каждым нейроном однослойной сети или просто нейроном, поэтому такую модель можно назвать сетью весьма условно. Такую сеть можно обучать как с помощью правила Хебба, так и с помощью дельта-правила.
Гамма-персептроном согласно Розенблатту называют персептрон, в котором сумма весов одного нейрона постоянна.
В работах Розенблатта был сделано заключение о том, что нейронная сеть рассмотренной архитектуры будет способна к воспроизведению любой логической функции, однако, как было показано позднее М.Минским и С.Пейпертом (M.Minsky, S.Papert, 1969), этот вывод оказался неверным. К примеру, элементарный альфа-персептрон не способен решить задачу «исключающего или». Были выявлены принципиальные неустранимые ограничения однослойных персептронов, и в последствии стал в основном рассматриваться многослойный вариант персептрона, в котором имеются несколько слоев процессорных элементов.
С сегодняшних позиций однослойный персептрон представляет скорее исторический интерес, однако на его примере могут быть изучены основные понятия и простые алгоритмы обучения нейронных сетей.
Градиентные методы.
Градиентные методы являются частным случаем методов, основанных на разложении оптимизированной функции многих переменных в ряд.
Математическое обоснование метода обратного распространения ошибки. Алгоритм обратного распространения ошибки.
Для обучения многослойной сети в 1986 г. Руммельхартом и Хинтоном
(Rummelhart D.E., Hinton G.E., Williams R.J., 1986) был предложен алгоритм обратного распостранения ошибок (error back propagation). Многочисленные публикации о промышленных применениях многослойных сетей с этим алгоритмом обучения подтвердили его принципиальную работоспособность на практике. Основная идея обратного распространения состоит в том, как получить оценку ошибки для нейронов скрытых слоев. Заметим, что известные ошибки, делаемые нейронами выходного слоя, возникают вследствие неизвестных пока ошибок нейронов скрытых слоев. Чем больше значение синаптической связи между нейроном скрытого слоя и выходным нейроном, тем сильнее ошибка первого влияет на ошибку второго. Следовательно, оценку ошибки элементов скрытых слоев можно получить, как взвешенную сумму ошибок последующих слоев. При обучении информация распространяется от входных слоев иерархии к высшим, а оценки ошибок, делаемые сетью – в обратном направлении, что и отражено в названии метода.
Алгоритм обратного распространения ошибки определяет стратегию подбора весов многослойной сети с применением градиентных методов оптимизации. Его необходимым условием выступает дифференцируемость используемых функций активации нейронов сети. Этот алгоритм использует градиентный метод наискорейшего спуска для минимизации среднеквадратической ошибки сети (квадратичной суммы разностей между фактическими и ожидаемыми значениями
выходных сигналов), вычисляемой по формуле:
E = 1 *∑N (Di −Y[P]i )2 (8)
2 i=1
Можно считать, что цель обучения состоит в вычислении таких значений весов нейронов каждого слоя сети, чтобы при заданном входном векторе получить на выходе значения сигналов Y[P]i , совпадающие с требуемой точностью с
ожидаемыми значениями Di при i = 1, 2,..., N.
Функция E подлежит минимизации. Классический градиентный метод оптимизации состоит в итерационном уточнении аргумента согласно формуле:
w |
[q] (t +1)= w |
[q] (t )−α * |
dE (t ) |
, i =1..n , q =1..p |
(9) |
|
dw [q] |
||||||
ij |
ij |
|
q |
|
||
|
|
|
ij |
|
|
Раскладывая частные производные можно получить следующее выражение.
dE |
|
dE |
|
dyj[q] |
dS j[q] |
(10) |
||||||
|
= |
|
|
* |
|
|
|
* |
|
|
, q =1..p |
|
dw [q] |
|
|
|
|
|
|||||||
dy [q] |
dS |
[q] |
dw |
[q] |
|
|||||||
ij |
|
j |
|
|
j |
|
|
|
ij |
|
|
|
А также – рекуррентное выражение для нахождения линейной ошибки, согласно которому и осуществляется её обратное распространение.
|
dE |
|
|
dE |
dyj[q+1] |
dS j[q+1] |
|
|
(11) |
|||
|
|
= |
|
|
|
* |
|
* |
|
, q |
=1..p −1 |
|
|
[q] |
|
[q+1] |
[q+1] |
[q] |
|||||||
|
|
∑ |
|
|
|
|
|
|||||
|
dyj |
|
dyj |
dS j |
|
dyj |
|
|
|
|||
Если в качестве синаптической функции используется скалярное |
||||||||||||
произведение входного и весового векторов, то справедливо следующее. |
||||||||||||
|
|
|
dS [q] |
|
|
|
|
|
|
|
|
|
|
y [q−1] |
= |
j |
|
|
|
|
|
|
|
|
|
|
i |
|
dw [q] |
|
|
|
|
|
|
|
|
|
|
|
|
ij |
|
|
|
|
|
|
|
|
Тогда выражения корректировки весовых и пороговых значений для скрытых слоёв принимают вид.
w [q] (t +1) |
= w |
[q] (t )−α * |
dE (t ) |
|
* |
|
dy j[q] (t ) |
|
* y [q−1] |
(t ), i =1..n , q =1..p |
(12) |
|||||
|
|
|
||||||||||||||
ij |
ij |
|
dy j |
[q] |
|
[q] |
|
|
i |
q |
|
|||||
|
|
|
|
|
|
|
|
dS j |
|
|
|
|
|
|||
|
|
|
[q] |
(t ) |
|
|
|
dE (t ) |
|
|
|
|
||||
T [q] (t +1) |
=T [q] (t )+α * |
dy j |
|
|
* |
, i =1..n , q =1..p |
(13) |
|||||||||
|
[q] |
|
[q] |
|||||||||||||
j |
j |
|
|
|
|
|
|
|
|
q |
|
|||||
|
|
|
dS j |
|
|
|
|
|
dy j |
|
|
|
|
Алгоритм.
1.Инициализация весовых коэффициентов значениями равномерно распределённой случайно величины. Получения максимально допустимого значения среднеквадратической ошибки. Получение обучающей выборки.
2.Для текущего образа обучающей выборки: расчёт выходных значений нейронной сети и вычисление среднеквадратической ошибки.
3.Корректировка весовых коэффициентов. И накопление значения суммарной среднеквадратической ошибки выборки.
4.Если образы в выборке ещё остались, то выбрать новый образ текущим и перейти на шаг 2.
5.Если суммарная среднеквадратическая ошибка выборки больше максимально допустимого значения, то добавить все выбранные образы в выборку и повторить с шага 2.
Недостатки:
Зависимость результата от случайной инициализации весовых коэффициентов. Попадание в локальный минимум вместо глобального.
Медленная сходимость при малых значениях коэффициента обучения.