Автор работы: Пользователь скрыл имя, 28 Февраля 2012 в 01:33, лекция
1. Исторический экскурс
2. Биологические основы
3. Искусственный нейрон
4. Активационные функции
7
3. Искусственный нейрон
Наш мозг - это своего рода великолепный компьютер. Он способен с невероятной быстротой интерпретировать неточную информацию, поступающую от органов чувств: различает шепот в шумной комнате, лицо в полутемном переулке, улавливает скрытый смысл слов. Самое удивительное то, что мозг умеет обучаться самостоятельно, он умеет без каких-либо явных указаний создавать внутренние представления, благодаря которым и проявляет перечисленные способности. Пока мы многое не знаем о том, каким образом мозг обучается обрабатывать информацию, поэтому в настоящее время существует множество теорий и гипотез на этот счет. А на основе уже полученных знаний предпринимаются попытки создания моделей нервной системы, в частности, с использованием искусственных нейронных сетей.
Поскольку наши знания о нейронах далеко неполны, модели могут быть лишь грубым приближением к реальным нейронным сетям. В настоящее время они еле дотягивает до уровня нервных систем улиток и дождевых червей, но уже сейчас нейронные сети часто выполняют функции бывшие ранее исключительно прерогативой человека, проводят сложные вычисления, позволяют следить за процессами, для которых отсутствуют какие-либо аналитические зависимости.
Первой попыткой создания и исследования искусственных нейронных сетей считается работа Дж. Маккалока (J. McCulloch) и У. Питтса (W. Pitts) "Логическое исчисление идей, относящихся к нервной деятельности" (1943 г.), в которой были сформулированы основные принципы построения искусственных нейронов и нейронных сетей. И хотя эта работа была лишь первым этапом, многие идеи, описанные в этой работе, остаются актуальными и на сегодняшний день.
Огромный вклад в нейронауку внесла детекторная теория. Ее основоположником считается Дж. Маккалок, который с группой своих сотрудников в 1959 году опубликовал статью под названием "О чем глаза лягушки говорят мозгу лягушки", где впервые было введено понятие нейрона-детектора.
Большим прорывом в области нейроинтеллекта стало создание нейрофизиологом Френком Розенблатом в 1962 г. модели однослойной нейронной сети, названной персептроном. Она была использована для такого широкого класса задач, как предсказание погоды, анализ электрокардиограмм и искусственное зрение. Первые успехи вызвали всплеск оптимизма и послужили стимулом для продолжения исследований.
Однако вскоре выяснилось, что созданные сети не способны решать некоторые задачи, существенно не отличающиеся от тех, которые они решали успешно. Позднее Марвин Минский, используя точные математические методы, строго доказал ряд теорем, показав, что используемые однослойные сети теоретически не способны решить многие простые задачи, например, реализовать логическую функцию "Исключающее ИЛИ". Безупречность доказательств Минского, подкрепленная его авторитетом в ученых кругах, явилась одной из причин задержки развития нейроинтеллекта почти на два десятилетия.
Однако ряд наиболее настойчивых ученых, таких как Кохонен, Гроссберг, Андерсон продолжили исследования, постепенно создавая теоретические основы для построения и применения искусственных нейронных сетей. Как выяснилось, Минский был слишком пессимистичен в своих прогнозах и многие из задач, описанных им как не решаемые, сейчас решаются нейронными сетями с использованием стандартных процедур.
За последние десятилетия теория о нейроинтеллекте приобрела новое дыхание. Было предложено много интересных разработок, таких, например, как когнитон, способный с высокой достоверностью распознавать достаточно сложные образы (например, иероглифы) независимо от поворота и масштаба изображения. Автором когнитона является японский ученый К. Фукушима (K. Fukushima). В 1982 году американский биофизик Дж. Хопфилд (J. Hopfield) предложил интересную модель сети, получившей в будущем его имя. Позднее было разработано ряд эффективных алгоритмов: сеть встречного потока (R. Hecht-Neilsen), двунаправленная ассоциативная память (B. Kosko) и другие.
Развитие искусственных нейронных сетей вдохновляется биологией. То есть, рассматривая сетевые конфигурации и алгоритмы, исследователи делают это, используя термины характерные для описания организации мозговой деятельности. Но на этом аналогия, пожалуй, заканчивается. Наши знания о работе мозга столь ограничены, что мало бы нашлось ориентиров для тех, кто стал бы ему подражать. Поэтому разработчикам сетей приходится выходить за пределы современных биологических знаний в поисках структур, способных выполнять полезные функции.
Начнем с рассмотрения биологического прототипа - нейрона. Нейрон является нервной клеткой биологической системы. Он состоит из тела и отростков, соединяющих его с внешним миром (рис. 1).
Отростки, по которым нейрон получает возбуждение, называются дендритами. Отросток, по которому нейрон передает возбуждение, называется аксоном, причем аксон у каждого нейрона один. Дендриты и аксон имеют довольно сложную ветвистую структуру. Место соединения аксона нейрона - источника возбуждения с дендритом называется синапсом. Основная функция нейрона заключается в передаче возбуждения с дендритов на аксон. Но сигналы, поступающие с различных дендритов, могут оказывать различное влияние на сигнал в аксоне. Нейрон выдаст сигнал, если суммарное возбуждение превысит некоторое пороговое значение, которое в общем случае изменяется в некоторых пределах. В противном случае на аксон сигнал выдан не будет: нейрон не ответит на возбуждение. У этой основной схемы много усложнений и исключений, тем не менее, большинство искусственных нейронных сетей моделируют лишь эти простые свойства.
3. Искусственный нейрон
Искусственный нейрон имитирует в первом приближении свойства биологического нейрона. На вход искусственного нейрона поступает некоторое множество сигналов, каждый из которых является выходом другого нейрона. Каждый вход умножается на соответствующий вес, аналогичный синаптической силе, и все произведения суммируются, определяя уровень активации нейрона.
На рис. 1.2 представлена модель, реализующая эту идею. Хотя сетевые парадигмы весьма разнообразны, в основе почти всех их лежит эта конфигурация. Здесь множество входных сигналов, обозначенных x1, x2,:, xn, поступает на искусственный нейрон. Эти входные сигналы, в совокупности, обозначаемые вектором X, соответствуют сигналам, приходящим в синапсы биологического нейрона. Каждый сигнал умножается на соответствующий вес w1, w2,..., wn, и поступает на суммирующий блок, обозначенный .
Каждый вес соответствует "силе" одной биологической синаптической связи. (Множество весов в совокупности обозначается вектором W.) Суммирующий блок, соответствующий телу биологического элемента, складывает взвешенные входы алгебраически, создавая выход, который мы будем называть NET. В векторных обозначениях это может быть компактно записано следующим образом:
NET = XW.
Сигнал NET далее, как правило, преобразуется активационной функцией F и дает выходной нейронный сигнал OUT. Активационная функция может быть
- обычной линейной функцией
OUT = K(NET), где К - постоянная,
- пороговой функции
OUT = 1, если NET > T,
где Т - некоторая постоянная пороговая величина, или же является функцией, более точно моделирующей нелинейную передаточную характеристику биологического нейрона и представляющей нейронной сети большие возможности.
Если функция F сужает диапазон изменения величины NET так, что при любых значениях NET значения OUT принадлежат некоторому конечному интервалу, то F называется "сжимающей" функцией. В качестве "сжимающей" функции часто используется логистическая или "сигмоидальная" (S-образная) функция. Эта функция математически выражается как F(x) = 1/(1 + е-x). Таким образом,
OUT=1/(1+e-NET).
По аналогии с электронными системами активационную функцию можно считать нелинейной усилительной характеристикой искусственного нейрона. Коэффициент усиления вычисляется как отношение приращения величины OUT к вызвавшему его небольшому приращению величины NET. Он выражается наклоном кривой при определенном уровне возбуждения и изменяется от малых значений при больших отрицательных возбуждениях (кривая почти горизонтальна) до максимального значения при нулевом возбуждении и снова уменьшается, когда возбуждение становится большим положительным.
Гроссберг (1973) обнаружил, что подобная нелинейная характеристика решает поставленную им дилемму шумового насыщения. Каким образом одна и та же сеть может обрабатывать как слабые, так и сильные сигналы? Слабые сигналы нуждаются в большом сетевом усилении, чтобы дать пригодный к использованию выходной сигнал. Однако усилительные каскады с большими коэффициентами усиления могут привести к насыщению выхода шумами усилителей (случайными флуктуациями), которые присутствуют в любой физически реализованной сети. Сильные входные сигналы в свою очередь также будут приводить к насыщению усилительных каскадов, исключая возможность полезного использования выхода. Центральная область логистической функции, имеющая большой коэффициент усиления, решает проблему обработки слабых сигналов, в то время как области с падающим усилением на положительном и отрицательном концах подходят для больших возбуждений. Таким образом, нейрон функционирует с большим усилением в широком диапазоне уровня входного сигнала.
Рассмотренная простая модель искусственного нейрона игнорирует многие свойства своего биологического двойника. Например, она не принимает во внимание задержки во времени, которые воздействуют на динамику системы. Входные сигналы сразу же порождают выходной сигнал. И, что более важно, она не учитывает воздействий функции частотной модуляции или синхронизирующей функции биологического нейрона, которые ряд исследователей считают решающими. Несмотря на эти ограничения, сети, построенные из этих нейронов, обнаруживают свойства, сильно напоминающие биологическую систему.