Автор: Пользователь скрыл имя, 04 Октября 2012 в 23:06, курс лекций
Термин нейронные сети сформировался в 40-х годах ХХ века в среде исследователей, изучавших биологические нейронные сети. Основные результаты получены американскими исследователями: У.Маккалох, Д. Хебб, Ф. Розенблатт, М. Минский, Дж. Хопфилд и др. Нейронная сеть – это вычислительная структура, моделирующая биологические процессы, обычно ассоциируемые с процессами человеческого мозга. Биологический нейрон изображен на рис. 11.1. Искусственные нейронные сети (ИНС) способны к обучению. Элементарным преобразователем в данных сетях является искусственный нейрон. В состав искусственного нейрона ИН (рис.11.2) входят умножители (синапсы), сумматор и нелинейный преобразователь. Синапсы осуществляют связь между нейронами и умножают входной сигнал на число, характеризующее силу связи (вес синапса).
1. Искусственный нейрон
2. Виды активационных функций
3. Классификация искусственных нейронных сетей
4. Обучение нейронных сетей
Лекция №11
Искусственные нейронные сети (ИНС)
План лекции:
1. Искусственный нейрон
2. Виды активационных функций
3. Классификация искусственных нейронных сетей
4. Обучение нейронных сетей
Термин нейронные сети сформировался в 40-х годах ХХ века в среде исследователей, изучавших биологические нейронные сети. Основные результаты получены американскими исследователями: У.Маккалох, Д. Хебб, Ф. Розенблатт, М. Минский, Дж. Хопфилд и др. Нейронная сеть – это вычислительная структура, моделирующая биологические процессы, обычно ассоциируемые с процессами человеческого мозга. Биологический нейрон изображен на рис. 11.1. Искусственные нейронные сети (ИНС) способны к обучению. Элементарным преобразователем в данных сетях является искусственный нейрон. В состав искусственного нейрона ИН (рис.11.2) входят умножители (синапсы), сумматор и нелинейный преобразователь. Синапсы осуществляют связь между нейронами и умножают входной сигнал на число, характеризующее силу связи (вес синапса).
Нейроны человеческого мозга имеют от одного до 20000 синапсов. Нейронов – более 1010.
Рисунок 11.1 – Биологические нейроны
Рисунок 11.2 – Искусственный нейрон
Нелинейный преобразователь реализует функцию активации f(s).
Математическая модель ИН имеет вид
s = Σxi wi + в, y =f(s).
Входы хі и выход ИН у могут быть действительными или целочисленными. Часто входы, веса и смещения могут принимать лишь некоторые фиксированные значения. Синоптические связи с положительными весами называют возбуждающими, а с отрицательными весами – тормозящими. ИН называют еще нейроподобными элементами или формальными нейронами.
Стремясь воспроизвести функции человеческого мозга, исследователи создали простые аппаратные, а затем и программные модели биологического нейрона и системы его соединений. Сейчас эти ранние попытки стали воспринимать как весьма грубые аппроксимации.
Первые систематическое изучение искусственных нейронных сетей было предпринято Маккалохом и Питтсом в 1943 году. Они использовали сети для распознавания изображений, подвергаемых сдвигам и поворотам.
Рисунок 11.3 – Персептронный нейрон
Рисунок 11. 4– Однослойный персептрон (пресептронная сеть)
Персептрон – однослойная сеть (рис. 11.4). Сейчас персептронами называют и более сложные сети.
В 60-е годы персептроны вызвали большой интерес и оптимизм. Были разработаны многие персептронные сети. Но первоначальная эйфория сменилась разочарованием, когда оказалось, что персептроны не способны решать простые задачи. М.Минский проанализировал эту проблему и показал, что имеются жесткие ограничения на то, что могут выполнять однослойные персептроны. В то время методы обучения многослойных нейронных сетей не были известны, и интерес к сетям пропал.
На рис. 11.5 представлен двухслойный персептрон.
Рисунок 11.5 – Двухслойный персептрон
При отсутствии нелинейной активационной функции любой Q–слойный персептрон эквивалентен сети с одним скрытым слоем и с весовой матрицей.
Работа персептрона сводится к классификации входных сигналов, принадлежащих n–мерному гиперпространству, по некоторому числу классов. С математической точки зрения это происходит путем разбиения гиперпространства гиперплокостями
(11.3)
Число таких классов для персептрона не превышает 2n. Однако не все из классов могут быть выделены данной нейронной сетью. Например, однослойный персептрон, состоящий из одного нейрона с двумя входами, не может реализовать логическую функцию «исключающее ИЛИ», то есть не способен разделить плоскость на две полуплоскости прямой линией так, чтобы оcуществить классификацию входных сигналов по классам А и В (рис.11.6).
Таблица истинности
x1 |
x2 |
x1 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
0 |
- «исключающее ИЛИ» или «неравнозначность»
Уравнение сети в этом случае имеет вид
и является уравнением прямой, которая ни при каких значениях весов w1 и w2 не может разделить плоскость на область А и В. Эта проблема получила имя «проблема исключающего ИЛИ». Решение задач с линейно неразделимыми функциями заключается в применении двух и более слойных сетей или сетей с нелинейными функциями активации, однако и в этом случае нет гарантии, что задача будет решена для любых значений x1,x2,…,xn.
Обучение персептрона сводится к определению весов wij(2).
Шаг 1. Проинициализировать элементы весовой матрицы небольшими случайными значениями.
Шаг 2. Подать на входы один из входных векторов x, которые сеть должна научиться различать, и вычислить ее выход y.
Шаг 3. Если выход правильный, перейти к шагу 4. Иначе – вычислить разницу между желаемым d и полученным y значениями выхода
.
Модифицировать веса
где t и t+1– номера текущей и следующей вариации;
η - коэффициент скорости обучения, 0<η<1;
i - номер входа;
j - номер нейрона в сети.
Шаг 4. Вернуться к шагу 2, пока сеть не престанет ошибаться.
На втором шаге на разных итерациях поочередно в случайном порядке предъявляются все возможные входые векторы. К сожалению, нельзя заранее определить число итераций, которое потребуется выполнить, а в некоторых случаях невозможно и гарантировать полный успех. Но, в принципе, для любой задачи классификации можно подобрать такой набор элементарных нейронов, что задача будет решена за конечный промежуток времени.
Свойства однослойного персептрона:
где K – количество классов векторов в обучающей выборке;
2. Виды активационных функций
Примеры активационных функций представлены на рис.11.7.
или
Эта функция удобна тем, что ее производная имеет простой вид
Рисунок 11.7 – Примеры активационных функций f(s)
Области применения нейронных сетей
ИНС применяются для решения следующих проблем.
3. Классификация нейронных сетей
ИНС – это набор нейронов, соединенных между собой. Обычно активационные функции всех нейронов в сети фиксированы, а веса могут изменяться. Работа нейросети состоит в преобразовании входного вектора Х в выходной вектор У. Практически любую задачу можно ввести к такому преобразованию. Например, при распознавании букв входному вектору, состоящему из значений пикселей, ставится в соответствие один из выходов, например, помеченный буквой "А".
При создании сети необходимо выбрать нейроны, число входов и выходов, активационные функции, архитектуру сети, подобрать веса синапсов. Настройка весов синапсов называется обучением сети. Различают входные, выходные и промежуточные нейроны. Сети – полносвязные, многослойные, слабосвязные (рис. 11.8).
Рисунок 11.8 – Виды сетей
Многослойные сети стоят из нулевого слоя, нейроны которого воспринимают входные сигналы и распределяют их, выходного слоя и промежуточных (скрытых) слоев.
Существуют сети без обратных связей – сети прямого распространения сигналов и сети с обратными связями – рекуррентные сети Элмана и Жордана.
Введение обратных связей создает проблему устойчивости.
Теоретически число слоев и число нейронов в каждом слое может быть произвольным. Чем сложнее ИНС, тем более сложные задачи она может решать. Однако фактически ресурсы компьютера или специализированного микропроцессора ограничены.
В результате построения ИНС необходимо добиться, чтобы обеспечивалось формирование правильных выходных сигналов со всеми примерами обучающей выборки и со всеми возможными входными сигналами, которые не вошли в обучающую выборку. В общем случае эта задача еще не решена, однако во всех известных случаях было найдено частное решение.
Теоретической основой для построения нейронных сетей является теорема о полноте. Любая непрерывная функция на замкнутом ограниченном множестве может быть равномерно приближена функциями, вычисляемыми нейронными сетями, если функция активации нейрона дважды непрерывно дифференцируема и нелинейна. Таким образом, любую функцию Y=F(X) можно представить однородной нейронной сетью, имеющей всего один скрытый слой, с сигмоидальными активационными функциями нейронов с последовательными связями.
Необходимое число синаптических весов Lw можно найти по формуле:
(11.8)
где n – размерность входного сигнала,
m – размерность выходного сигнала,
N – число элементов обучающей выборки.
Число требуемых нейронов L можно оценить по формулам
Таким образом, нейронные сети являются универсальными аппроксимирующими системами. Но перед разработчиком возникают проблемы оптимизации структуры ИНС, оптимизации обучающей выборки, оптимизации весовых коэффициентов, оптимизации процесса обучения.