Главная » Файлы » Предметы » Нейронные сети

Нейронные сети
[ Скачать с сервера (178.5 Kb) ] 17.03.2008, 21:22
Нейронные сети
1. Биологическая модель для искусственных нейронных сетей
Структура искусственных нейронных сетей была смоделирована как результат изучения человеческого мозга. Хотя сходство между ними в действительности очень незначительно, однако даже эта скромная эмуляция мозга приносит ощутимые результаты.
Например, искусственные нейронные сети имеют такие аналогичные мозгу свойства, как способность обучаться на опыте, основанном на знаниях, делать абстрактные умозаключения и совершать ошибки, что является более характерным для человеческой мысли, чем для созданных человеком компьютеров.
Человеческий мозг содержит свыше тысячи миллиардов вычислительных элементов, называемых нейронами. Превышая по количеству число звезд в Млечном Пути галактики, эти нейроны связаны сотнями триллионов нервных нитей, называемых синапсами. Эта сеть нейронов отвечает за все явления, которые мы называем мыслями, эмоциями, познанием, а также и за совершение мириадов сенсомоторных и автономных функций. Пока мало понятно, каким образом все это происходит, но уже исследовано много вопросов физиологической структуры и определенные функциональные области постепенно изучаются исследователями.
Нейрон является основным строительным блоком нервной системы. Он является клеткой, подобной всем другим клеткам тела; однако определенные существенные отличия позволяют ему выполнять все вычислительные функции и функции связи внутри мозга.
Как показано на рис. А.1, нейрон состоит из трех частей: тела клетки, дендритов и аксона, каждая часть со своими, но взаимосвязанными функциями.
Рис. 1. Компоненты нейрона
Функционально дендриты получают сигналы от других клеток через контакты, называемые синапсами. Отсюда сигналы проходят в тело клетки, где они суммируются с другими такими же сигналами. Если суммарный сигнал в течение короткого промежутка времени является достаточно большим, клетка возбуждается, вырабатывая в аксоне импульс, который передается на следующие клетки. Несмотря на очевидное упрощение, эта схема функционирования объясняет большинство известных процессов мозга.
Рис. 2. Типы нейронов
Большинство входных сигналов от других нейронов попадают в клетку через дендриты, представляющие собой густо ветвящуюся структуру, исходящую от тела клетки. На дендритах располагаются синаптические соединения, которые получают сигналы от других аксонов.
В отличие от электрических цепей, синаптические контакты обычно не являются физическими или электрическими соединениями. Вместо этого имеется узкое пространство, называемое синоптической щелью, отделяющее дендрит от передающего аксона. Специальные химические вещества, выбрасываемые аксоном в синаптическую щель, диффундируют к дендриту. Эти химические вещества, называемые нейротрансмиттерами, улавливаются специальными рецепторами на дендрите и внедряются в тело клетки.
Определено более 30 видов нейротрансмиттеров. Некоторые из них являются возбуждающими и стремятся вызывать возбуждение клетки и выработать выходной импульс. Другие являются тормозящими и стремятся подавить такой импульс. Тело клетки суммирует сигналы, полученные от дендритов, и если их результирующий сигнал выше порогового значения, вырабатывается импульс, проходящий по аксону к другим нейронам.
Аксон может быть как коротким (0,1 мм), так и превышать длину 1 м, распространяясь в другую часть тела человека. На конце аксон имеет множество ветвей, каждая из которых завершается синапсом, откуда сигнал передается в другие нейроны через дендриты, а в некоторых случаях прямо в тело клетки. Таким образом, всего один нейрон может генерировать импульс, который возбуждает или затормаживает сотни или тысячи других нейронов, каждый из которых, в свою очередь, через свои дендриты может воздействовать на сотни или тысячи других нейронов. Таким образом, эта высокая степень связанности, а не функциональная сложность самого нейрона, обеспечивает нейрону его вычислительную мощность.
2. Искусственные нейронные сети
Нейронные сети представляют собой устройства параллельных вычислений, состоящие из множества взаимодействующих простых процессоров. Каждый процессор такой сети имеет дело только с сигналами, которые он периодически получает, и сигналами, которые он периодически посылает другим процессорам.
Рис. 3. Искусственный нейрон

В дальнейшем такие процессоры нейронной сети будем называть искусственными нейронами (рис.1.1). Каждый нейрон характеризуется своим текущим состоянием по аналогии с нервными клетками головного мозга, которые могут быть возбуждены или заторможены. Он обладает группой синапсов – однонаправленных входных связей, соединенных с выходами других нейронов, а также имеет аксон – выходную связь данного нейрона, с которой сигнал (возбуждения или торможения) поступает на синапсы следующих нейронов.
На вход искусственного нейрона поступает некоторое множество сигналов, каждый из которых является выходом другого нейрона. Каждый вход умножается на соответствующий вес, аналогичный синаптической силе, и все произведения суммируются, определяя уровень активации нейрона.
На рис. 1.2 представлена модель, реализующая эту идею. Здесь множество входных сигналов, обозначенных x1, x2,…, xn, поступает на искусственный нейрон. Эти входные сигналы соответствуют сигналам, приходящим в синапсы биологического нейрона.

Рис. 4
Каждый сигнал умножается на соответствующий вес w1, w2,…, wn, и поступает на суммирующий блок, обозначенный .
EMBED Equation.2 (1.1)
Каждый вес соответствует «силе» одной биологической синаптической связи. Сигнал s далее, как правило, преобразуется активационной функцией f и дает выходной нейронный сигнал y.
EMBED Equation.3 (1.2)
Активационная функция может быть обычной линейной функцией. Нелинейная функция f называется активационной и может иметь различный вид, как показано на рисунке 1.2.
Одной из наиболее распространенных функций является сигмоидальная функция:
EMBED Equation.2 (1.3)
При уменьшении ( сигмоидальная функция становится более пологим, в пределе при (=0 вырождаясь в горизонтальную линию на уровне 0.5, при увеличении ( сигмоидальная функция приближается по внешнему виду к функции единичного скачка с порогом T в точке x=0. Из выражения для сигмоидальной функции очевидно, что выходное значение нейрона лежит в диапазоне [0,1].
Другой широко используемой активационной функцией является гиперболический тангенс. По форме она сходна с сигмоидальной функцией. В качестве активационной функции искусственной нейронной сети она записывается следующим образом:
EMBED Equation.2 (1.4)
По аналогии с электронными системами активационную функцию можно считать нелинейной усилительной характеристикой искусственного нейрона. Коэффициент усиления вычисляется как отношение приращения величины y к вызвавшему его небольшому приращению величины C-. Он выражается наклоном кривой при определенном уровне возбуждения и изменяется от малых значений при больших отрицательных возбуждениях (кривая почти горизонтальна) до максимального значения при нулевом возбуждении и снова уменьшается, когда возбуждение становится большим положительным.
Рис. 5. Активационная функция:
а) сигмоидальная функция;
б) гиперболический тангенс.

3. Обучение нейронных сетей
Сеть обучается, чтобы для некоторого множества входов давать желаемое (или, по крайней мере, сообразное с ним) множество выходов. Каждое такое входное (или выходное) множество рассматривается как вектор. Обучение осуществляется путем последовательного предъявления входных векторов с одновременной подстройкой весов в соответствии с определенной процедурой. В процессе обучения веса сети постепенно становятся такими, чтобы каждый входной вектор вырабатывал правильный выходной вектор.
Различают алгоритмы обучения с учителем и без учителя. Обучение с учителем предполагает, что для каждого входного вектора существует целевой вектор, представляющий собой требуемый выход. Вместе они называются обучающей парой. Обычно сеть обучается на некотором числе таких обучающих пар. Предъявляется выходной вектор, вычисляется выход сети и сравнивается с соответствующим целевым вектором, разность (ошибка) с помощью обратной связи подается в сеть и веса изменяются в соответствии с алгоритмом, стремящимся минимизировать ошибку. Векторы обучающего множества предъявляются последовательно, вычисляются ошибки и веса подстраиваются для каждого вектора до тех пор, пока ошибка по всему обучающему массиву не достигнет приемлемо низкого уровня.

4. Алгоритм обратного распространения ошибок
Алгоритм обратного распространения определяет два потока в сети: прямой поток от входного слоя к выходному и обратный поток — от выходного слоя к входному. Прямой поток продвигает входные векторы через сеть, в результате чего в выходном слое получаются выходные значения сети. Обратный поток подобен прямому, но он продвигает назад по сети значения ошибок, в результате чего определяются величины, в соответствии с которыми следует корректировать весовые коэффициенты в процессе обучения. В обратном потоке значения проходят по взвешенным связям в направлении, обратном направлению прямого потока. В прямом потоке элемент скрытого слоя посылает сигналы каждому элементу выходного слоя, а в обратном потоке элемент скрытого слоя будет получать сигналы ошибок от каждого элемента выходного слоя.
При создании нейронной сети инициализация весов выполняется малыми случайными значениями — например, значениями из диапазона между -0.3 и +0.3.
С учетом того, что вес должен изменяться в направлении, противоположном тому, которое указывает производная поверхности ошибок, и с учетом нормы обучения, изменение веса EMBED Equation.2 для элемента должно вычисляться по формуле
EMBED Equation.2 (3.1)
где EMBED Equation.3 — коэффициент скорости обучения (норма обучения), yi — выход нейрона i–ого нейрона, EMBED Equation.3 — ошибка ого нейрона, n — номер слоя нейронной сети.
Чтобы уменьшить вероятность того, что изменения весов приобретет осциллирующий характер, вводится инерционный член а, добавляем в пропорции, соответствующей предыдущему изменению веса:
EMBED Equation.2 (3.2)
где EMBED Equation.3 — коэффициент инерционности, t – номер текущей итерации, ,
Обучение нейронной сети с помощью процедуры обратного распространения строится следующим образом:
1. Подать на входы сети один из учебных образов и в режиме обычного функционирования НС, когда сигналы распространяются от входов к выходам, рассчитать значения последних. Напомним, что
EMBED Equation.2 (3.3)
где M – число нейронов в слое n-1 с учетом нейрона с постоянным выходным состоянием +1, задающего смещение; yi(n-1)=xij(n) — i-ый вход нейрона j слоя n.
EMBED Equation.3 (3.4)
где
EMBED Equation.3 функция активации.
2. Рассчитать EMBED Equation.3 выходного слоя по формуле (3.5).
EMBED Equation.2 (3.5)
Рассчитать по формуле (3.1) или (3.2) изменения весов
EMBED Equation.3 последнего слоя нейронной сети N.
3. Рассчитать по формулам (3.6) и (3.1) или (3.6) и (3.2) соответственно EMBED Equation.3 и EMBED Equation.3 всех остальных слоев, n=N-1,...1.
EMBED Equation.2 (3.6)
4. Скорректировать все веса в нейронной сети
EMBED Equation.2 (3.7)
5. Если ошибка сети существенна, перейти на шаг 1. В противном случае – конец.
Сети на шаге 1 попеременно в случайном порядке предъявляются все учебные образы, чтобы сеть, образно говоря, не забывала одни по мере запоминания других.
Из выражения (3.3) следует, что когда выходное значение yi(n-1) стремится к нулю, эффективность обучения заметно снижается. При двоичных входных векторах в среднем половина весовых коэффициентов не будет корректироваться, поэтому область возможных значений выходов нейронов [0,1] желательно сдвинуть в пределы [-0.5,+0.5], что достигается простыми модификациями логистических функций. Например, сигмоидальная функция преобразуется к виду
EMBED Equation.2 (3.9)
Если сеть порождает правильный вывод для большинства вводимых образцов из набора тестовых данных, говорят, что сеть обладает хорошими свойствами обобщения. Предполагается, что набор тестовых данных в процессе обучения не использовался
Качество обобщения сети зависит от набора учебных данных и архитектуры сети. Набор учебных данных должен быть характерным для решаемой проблемы, но важным также является и число скрытых элементов. Если скрытых элементов больше, чем требуется для обучения нужному отношению ввода-вывода, будет больше весовых коэффициентов, чем это необходимо, и, если процесс обучения продолжается слишком долго, в результате может наблюдаться слишком близкое отслеживание данных. Иногда в экспериментах с сетями различной архитектуры и продолжительностью времени обучения в качестве временного тестового набора используют подмножество учебных данных. Главный набор тестовых данных при этом все равно резервируется для основного тестирования способности обобщения соответствующей сети.
При этом для разработки сетей имеются некоторые общие рекомендации относительно размеров набора учебных данных. Рекомендуется выполнение следующего неравенства
EMBED Equation.3 (3.9)
где N обозначает число учебных образцов, W — число весовых коэффициентов в сети, а EMBED Equation.3 долю ошибок, допустимую в ходе тестирования.
Так при допустимости 10% ошибок число учебных образцов должно быть в 10 раз больше числа имеющихся в сети весовых коэффициентов.

Категория: Нейронные сети | Добавил: feip
Просмотров: 794 | Загрузок: 169 | Комментарии: 1 | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *: