21704

Модуль Нейрокибернетика

Реферат

Информатика, кибернетика и программирование

В первом случае сформированная нейронная сеть выступает в роли регрессионной модели и имеет k входов и один выход то есть в качестве входных значений нейронной сети выступают предшествующие значения котировок а в качестве выхода значение на текущий момент. В автоматическом управлении нейронные сети так же не плохо справляются со своей задачей и если учесть что не нужно проводить сложных расчетов то выбор в пользу использования нейронных сетей становиться очевидным. Так же нейронные сети находят практическое применение при диагностике...

Русский

2013-08-03

380 KB

2 чел.

Модуль Нейрокибернетика

[0.1] Введение

[0.2] История развития нейросетевой теории

[0.3] Биологический нейрон

[0.4] Искусственный нейрон

[0.5] Общие сведения о нейронных сетях

[0.6] Классификация нейронных сетей

[0.7] Обучение нейронных сетей

  1.  Введение

Аппарат нейросетей позволяет решать широкий спектр прикладных задач. Одной из них, является задача технического анализа рынка ценных бумаг, частным случаем которую можно сформулировать как задачу прогнозирования котировок акций на бирже. В зависимости, от априорной информации, возможны два случая: когда известны параметры, влияющие на значение котировки (предикторы), тогда прогнозирование можно представить как задачу регрессионного анализа, и когда влияющие на котировку параметры не известны, тогда прогнозирование можно сформулировать как задачу авторегрессии. В первом случае сформированная нейронная сеть выступает в роли регрессионной модели и имеет k входов и один выход, то есть в качестве входных значений нейронной сети выступают предшествующие значения котировок, а в качестве выхода - значение на текущий момент. Во втором случае нейросеть имеет один вход и один выход. Другой прикладной задачей хорошо решаемой нейронной сетью является задача оптического распознавания символов. В данной задаче, после того как сеть сформирована, на её вход подаются признаки распознаваемого символа (например, карта пикселей символа, представленная виде вектора), а на выходе получают числовой идентификатор символа. В автоматическом управлении нейронные сети так же не плохо справляются со своей задачей и если учесть что не нужно проводить сложных расчетов, то выбор в пользу использования нейронных сетей, становиться очевидным. Например, если нам известны реакции системы  на входные воздействия , то на основе этих прецедентов, нейронная сеть может быть обучена реагировать подобным образом на подобные воздействия.   Так же нейронные сети находят практическое применение при диагностике заболеваний, выявлений фальшивых кредитных карт, идентификации человека по его биометрическим показателям, управлении роботами, сжатии данных и во многих других областях.

Следует заметить, что с одной стороны теория нейронных сети, вроде бы не содержит каких-то революционных идей, так как в её основе лежат хорошо известные и проработанные теории оптимизации, устойчивости, дифференциальных уравнений, аппроксимации функций и другие. Но с другой стороны, нейронные сети предоставляют удобный, для решения множества задач аппарат с такими свойствами и возможностями, которыми не обладает ни один аппарат, основывающийся на перечисленных выше теориях.

Достоинством нейронных сетей является то, что с одной стороны они могут вести себя как детерминированный автомат, а с другой как нечеткая система, выдавая оценки на новые данные (не принимавших участие в формировании сети). И в том, и в другом случае такой результат достигается обучением сети, а не программированием (составлением правил реакций) как это делается в классических подходах. Другим достоинством нейронных сетей, как уже стало ясно, является их потенциальная универсальность. Так же стоит отметить, что нейронная сеть представляет собой параллельное вычислительное устройство, так как в её основе лежит множество простых вычислительных элементов – нейронов, функционирующих параллельно. Другой стороной такой распределенной архитектуры является устойчивость к повреждениям, то есть сеть будет работать даже в том случае, когда часть нейронов выйдет из строя.

Чтобы быть объективными стоит, отметить и ряд недостатков нейронных сетей. В первую очередь это существование большого количества моделей нейронных сетей, что затрудняет их изучение, и выбор (особенно для начинающего) наилучшей модели для решения конкретной задачи. Почти каждую неделю появляется публикация с описанием новой или модификацией существующей модели нейронной сети. Стоит заметить, что существуют модели (наверное, самые популярные) способные решать огромное количество задач, но такие модели не всегда являются наилучшими по качеству результата, в сравнении с другими узкоспециализированными моделями нейронных сетей. Но даже в том случае, когда модель выбрана, для лучшего функционирования сети необходимо подбирать ряд характеризующих сеть параметров, что является далеко не  тривиальной задачей. Другим недостатком является необходимость, в большинстве случаев, проводить предварительную обработку данных, в частности масштабировать в определенный диапазон и проводить стандартизацию. К счастью, эти операции легко автоматизируются. Еще одним  недостатком, в случае большой обучающей выборки с немалой размерностью входных векторов,  могут быть ощутимые затраты по времени на процесс обучения сети. Хотя, если учесть, что другие методы в таких случаях не работают вообще (например из-за проклятья размерности) или их временные затраты еще больше, то значительное время обучения сети уже не является недостатком.

  1.  История развития нейросетевой теории

Первые систематические работы в области нейробиологии датируются серединой девятнадцатого века. А. Бэйн (Alexander Bain) представил первое описание нейронной сети в своей книге  "Mind and Body. The Theories of  Their Relation", вышедшей в 1871 году, а в 1890 году У. Джеймс (William James)  пересмотрел некоторые его идеи и описал правила взаимодействия нейронов. Математическая модель нейрона была предложена Н. Рашевским (N. Rashevsky) только в 1938 году. Модель оперировала бинарными значениями, то есть как входные, так и выходные сигналы нейрона принимали значения {0,1}. В 1943 году У. Маккалох (Warren McCulloch) и У. Питс (Walter Pitts) предложили модификацию бинарного нейрона, в их сети вводилось понятие порога, на вход которого подавалась сумма входных бинарных сигналов, а на выходе появлялась единица, только в том случае если суммарный входной сигнал, превосходил пороговое значение. В 1949 годе Д. Хебб (Donald Hebb), развил идеи взаимодействия нейронов, предложенные У. Джеймсом, и предложил алгоритм обучения сети. В 1954 году, для того чтобы реализовать модель нейронной сети на одном из первых цифровых компьютерах Массачусетского технологического института, Фарлей (Farley) и Кларк (Clark) модифицировали правила обучения Хебба. А в 1956 году Н. Рочестер (Rochester) вместе с друзьями, в место соединения клеток случайным образом, как это делали Фарлей и Кларк, предложили размещать нейроны в виде слоя, с организованными случайным образом обратными связями, от выходов одних нейронов к входам других нейронов. Они также модифицировали правило Хебба и реализовали модель сети для компьютера фирмы IBM. Идея, того, что нейронные сети в мозге имеют случайный характер межнейронных связей, не дала существенного успеха и в 1958 году Фрэнк Розенблат (Roseblatt) инициировал новую фазу в исследованиях в области нейронных сетей. Он разработал принципы функционирования  классического персептрона. В 1959 году Д. Хьюбел (D. Hubel) и Т. Визель (T. Wiesel) показали, что хранение данных в нейронных сетях имеет распределенный характер. В 1960 году В. Уидроу  (Bernard Widrow) и М. Хофф (Marcian Hoff) предложили теоретическое обоснование и применение адаптивных линейных элементов ADALINE (ADAptive LINear element), помимо самого элемента ими был предложен алгоритм его настройки. Модель адаптивного элемента ADALINE, а так же модель персептрона послужили базой для разработки новой модели персептрона, которую предложил Розенблат в 1962 году. Исследование и использование предложенной модели персептрона позволило ответить на некоторые важные теоретические вопросы, а также решить множество прикладных задач. В частности с помощью классического персептрона был разработан электронный глаз, обладающий способностью распознавать простые геометрические фигуры. После этой и ряда других работ, происходит всплеск активности в разработке теории нейронных сетей. Но после публикации в 1969 году книги “Персептроны” авторами, которой являлись  М.Минский (Marvin Minsky) и С. Пейперт, произошел спад интереса к нейронным сетям. В этой книги авторы показали и доказали ограниченность возможностей персептронов. Только небольшая часть ученных продолжили исследования в области нейронных сетей. Одними из них были Т. Кохонен (Teuveo Kohonen) и Д. Андерсон (James Anderson) которые в 1972 году независимо друг от друга опубликовали модель ассоциативной нейронной сети.  В 1975 году, вдохновленный свойством самоорганизации мозга, японский ученый  К. Фукушима (Kunihiko Fukushima) предложил первую многослойную сеть, являющуюся расширением персептрона  и названную когнитроном. А в 1980 году он предложил модификацию когнитрона названную неокогнитроном.  В 1982 году Д. Хопфилд (John Hopfield) оживил интерес к нейронным сетям, имеющим обратные связи, предложив новую удачную модель с обратными связями. Так же в 1982 году Д. Рейли (Doug Reilly), Л. Купер (Leon Cooper)  и Ч. Эльбаум (Charles Elbaum) предложили гибридную сеть, состоящую из двух типов сетей.  В 1986 году три независимых коллектива пришли к разработке алгоритма обучения, основанного на правиле Видроу и Хоффа, позволяющего обучать многослойные сети, которые в свою очередь позволяют преодолеть большинство недостатков однослойных сетей, описанных Минским и  Пейпертом. В 1987 году ученые Г. Гросберг (Gail Carpenter) и С. Карпентер (Stephen Grossberg) разработали новую модель гибридной сети, обладающую свойством обучения новым знаниям, без потери старых.

За последнее десятилетие разработано огромное количество новых или модификации уже классических сетей. Почти каждую неделю выходят публикации с информацией о новых моделях нейронных сетей.

Более подробно о истории развития нейронных сетей можно узнать их [Интернет.1].

  1.  Биологический нейрон

Ученые, работающие в области искусственного интеллекта и в частности, занимающиеся разработкой новых подходов в теории нейронных сетей, как одного из направлений искусственного интеллекта, часто обращаются за новыми идеями к природе. Ищутся аналогии в постановках и решениях своих задач с решениям полученными самой природой. И это не удивительно, ведь в процессе эволюционного развития отбрасываются все не достаточно хорошие решения, а те, что остаются, оттачиваются и видоизменяются в лучшую сторону. Безусловно, не все предлагаемые природой решения являются применимыми человеком на практике. Так, например человек желая “научиться летать” пытался повторить движения совершаемые крыльями птицы, но как известно из этой затеи ничего не вышло и движущей силой стал пропеллер, а не порхание крыльев. Конечно, и в этом случае у природы были почерпнуты некоторые идеи, но все же прямой аналогии здесь нет. В этом смысле, мозг человека с его скоростью решения огромного количества сложно формализуемых задач, дает ученным как раз ту аналогию, которую стоит прорабатывать. И в этом направлении, сделано уже много. Так, даже на текущем уровне понимания функционирования мозга, простые его аналогии позволяют решать задач, не имевшие до текущего момента рациональных решений.

Мозг, как вычислительное устройство, обладает огромными преимуществами над современными вычислительными машинами:

  •  Мозг устойчив к повреждениям и имеет возможность распределять функции поврежденных участков;
  •  Мозг обладает распределенной архитектурой, и лежащие в его основе вычислительные элементы функционируют параллельно;
  •  Мозг имеет способность к обучению;
  •  Мозг эффективен с точки зрения потребления энергии (потребляет 30 Ватт);
  •  Мозг как часть человека, способен к самоанализу.

Человеческий мозг содержит свыше 1011 вычислительных элементов  и около 1014-1015 связей между ними. Большое количество связей в целом, объясняется большим количеством взаимосвязей связей отдельного элемента, около 103-104 связей. Мозг обладает, формировавшейся на протяжении многих десятков тысяч лет, сложной структурой, с множеством  отделов, отвечающих за конкретные функции (рис 1.1).

Мозг содержит густую сеть кровеносных сосудов, поставляющих кислород и питательные вещества его элементам. Перед тем как питательные вещества попадают в мозг, они проходят сквозь фильтрующую систему, которая в свою очередь выполняется функции стража и не пропускает в мозг вредных – токсичных веществ.

Вычислительным элементом мозга является нервная клетка - нейрон. Нейрон имеет сложный электрохимический процесс функционирования, более того существует несколько сотен разновидностей нейронов (рис. 1.4). Если абстрагироваться от электрохимического процесса функционирования и рассматривать работу нейрона на логическом уровне, отражающего его основные аспекты работы и скрывающего тонкости не участвующие в дальнейшем, при его моделировании, то нейрон представляется состоящим из тела клетки, отростков выполняющих функции входов и единственного отростка являющегося выходом (рис. 1.2). На языке нейробиологии, входы нейрона называются дендритами, а единственный выход – аксоном. Тело нервной клетки содержит ядро, которое хранит информацию о наследственных свойствах. Кроме этого, тело клетки управляет расходом энергии нейрона.

Большинство сигналов, представляющих нервные импульсы (рис 1.3), поступают в нервную клетку через дендриты, образующие густо ветвящуюся структуру. На дендритах располагаются синаптические соединения, к которым подключаются аксоны других нейронов. Роль синапсов заключается в масштабирование проходящих через них импульсов. С каждым синапсом можно сопоставить численные коэффициенты, принимающие как положительные, так и отрицательные значения. В случае, когда синаптический вес имеет положительное значение, происходит усиление входного сигнала, в противном случае ослабление. Нейрон возбуждается и генерирует выходной нервный импульс (рис 1.3)  тогда, когда суммарный входной сигнал превышает некоторый активационный порог, у каждого нейрона он свой.

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

Нейроны в мозгу, объединены в сети, взаимодействие по которым происходит по средствам частотно-импульсной модуляции. Частота изменяется в пределах от нескольких единиц герц и до сотен герц. Если рассматривать процесс обучения и запоминания образов нейронными сетями мозга на достаточно абстрактном уровне,  то обучение происходить за счет организации новых межнейронных связей и подстройки синаптических связей, как у существовавших связей, так и у вновь созданных.

Ранее упоминалось, что существует большое количество разновидностей нейронов, некоторые из которых схематично представлены на рисунке 1.4.

  1.  Искусственный нейрон

Рассмотренный выше биологический нейрон представляет собой достаточно абстрактное описание функционирования реального биологического нейрона и позволяет взять это описание за основу модели нейрона. Искусственный нейрон является структурным элементом искусственной нейронной сети. Необходимо заметить, что разрабатываемые в последнее время модели нейронных сетей, имеют мало общего с их реальными прототипами, но, тем не менее, не плохо решают, поставленные перед ними задачи.

Первой удачной моделью нейрона, позволившую ответить на некоторые важные вопросы того времени предложил Розенблат, схематично её можно представить в виде следующей блок схемы:

 

В этой модели значения входного вектора  принимают бинарные значения. Входной вектор x поступает на вход блока S, где происходит суммирование его компонентов, полученная сумма поступает на следующий блок, который вычисляет пороговую функцию, по принципу если аргумент пороговой функции больше задающего порог значения w0, то на выходе появляется единица, в противном случае ноль.

(1)

Функция, вычисляемая в последнем блоке называется активационной. Далее, значение активационной функции умножается на вес w1, последнее произведение и служит выходом нейрона. В модели Розеблата, описанные нейроны организуются в слой. Устанавливается в единицу тот выход слоя, чей нейрон принял наибольшее значение, остальные выходы устанавливаются в ноль

Более развитой моделью нейрона стала модель, предложенная Видроу и Хоффом, изначально, данная модель позиционировалась как адаптивный сумматор и использовалась в адаптивной обработке сигналов:

В представленной модели нейрона присутствует два принципиальных отличия, от модели нейрона предложенной Розенблатом, во-первых, снято ограничение на бинарность компонент входного вектора, во-вторых, каждое из входных значений, перед тем как поступить к сумматору, умножается на синаптический вес и в третьих активационная функция заменена с пороговой на линейную и на её выходе отсутствует весовой коэффициент. Формулу для вычисления выходного сигнала данной модели нейрона, можно записать следующим образом:

(2)

Если в вектор с входными значениями  ввести нулевой компонент с единичным значением x0=1, а также ввести нулевую компоненту w0 в весовой вектор , означающую смещение активационной функции то (2) можно записать в векторном виде

(3)

Формула (2) вычисляется скалярное произведение векторов. Скалярное произведение векторов принимает максимальное значение, при одинаковых множителях, то есть в случае, когда , скалярное произведение даст значение равное , где  - норма. То есть можно сделать вывод, что нейрон реагирует тем сильнее, чем ближе (по евклидовой мере) входной вектор, к вектору синаптических весов. Это важное свойство понадобится нам при описании корреляционных методов обучения нейросетей.

Если провести геометрическую аналогию, то рассмотренный вид нейрона строит в n+1 мерном пространстве гиперплоскость, определяемую уравнением , где n – размерность входного вектора. Для сети с тремя входами и с линейной функцией активации,  гиперплоскость может иметь следующий вид:

Существует множество модификаций рассмотренной выше модели нейрона, отличающихся главным образом активационной функцией. Первые пять функций, перечисленных в таблице 1.1, могут использоваться в качестве активационной функции в описанной выше модели нейрона. В том случае, когда функция активации имеет сигмойдный вид (4-ая и 5-ая строки в таблице 1.1.), плоскость представленная на рис. 1.7. уже не будет иметь четкой границы, она будет, как бы размыта, причем степень размытости регулирует коэффициент а. При увеличении коэффициент а сигмойд становится более крутым и приближается к виду пороговой функции, при уменьшении коэффициента сигмойд растягивается, становясь более пологим.

Последняя активационная функция представленная в таблице 1.1, используется в другом виде искусственных нейронов, схема которого имеет следующий вид:

Таблица 1.1. Активационные функции нейронов

Название

Формула

График

Функция единичного скачка

Функция линейного порога

Линейная функция

Гиперболический тангенс

Логистическая функция

Функция Гаусса

Данный вид искусственного нейрона называется, нейроном с радиально-базисной функцией (РБФ). Такое название определяется тем, что весовые коэффициенты вектора  определяют центр радиальной функции j в n-мерном пространстве, образованном на множестве входных векторов. Аргументом базисной функции j, является результат вычисления метрической функции, аргументами которой в свою очередь являются вектор весов w и входной вектор x. Часто выбирают евклидову метрику, для вычисления расстояния между центром w радиально-базисной функции j и точкой пространства заданной компонентами входного вектора x:

(4)

В качестве радиально базисной функцией часто выбирают функцию гаусса (таблице 1.1):

(5)

Используя приведенные функции, выход нейрона можно записать следующим образом:

(6)

Как известно функция Гаусса характеризуется двумя параметрами, один из них задает центр функции, другой её ширину. Чем ближе, в евклидовом смысле, входной вектор к центру функции, тем больше будет выходное значение нейрона. Если провести геометрическую аналогию, то данный вид нейрона строит решающее правило, в виде гиперсферы с размытыми границами, в случае использования функции Гаусса как функции активации.  На рисунке 1.8. приведен пример решающего правила для сети с тремя входами.

Существуют также стохастические модели нейронов. Одной из таких является модель с биполярным выходом. Отличие от обычного нейрона с пороговой биполярной функцией, заключается в вероятностном характере активации нейрона. Вероятность активации вычисляется следующим образом:

и , s – взвешенная сумма входных сигналов.

Выход нейрона принимает значение:

1, если P(1) > r, случайное значение;

-1, если P(-1) > r, случайное значение.

В общем, виде искусственный нейрон, схематично можно представить следующим образом:

Функция J(w,x) определяет характер комбинирования входного и весового векторов, а f(s) задает вид активационной функции.

  1.  Общие сведения о нейронных сетях

Структура нейронной сети хорошо описывается в терминах теории графов, так как нейронная сеть представляет собой граф, где узлами являются нейроны, а дугами межнейронные весовые связи. На структурном уровне граф представляющий нейронную сеть обладает тремя типами узлов:

  •  узлы, выполняющие функцию входов сети – как правило, имеют линейную функцию активации, тем самым не изменяют входной сигнал сети, передают его на входы других нейроны сети;
  •  промежуточные узлы – являются вычислительной основой сети, функционируют по схеме на рис. 1.10., могут принимать сигналы, как от входных элементов сети, так и от подобных себе элементов сети;
  •  узлы, выполняющие функцию выходов сети – подобны промежуточным узлам сети, за исключением того, что выходы этих узлов служат выходами сети.

Компонентами матрицы смежности нейросетевого графа, являются синаптические веса между соответствующими нейронами, поэтому её называют матрицей весовых связей. Весовая связь идущая от узла с номером i к узлу с номером j располагается в матрице весовых связей, на строке i, в столбце j.

На рис. 1.11, а, представлен граф нейронной сети, а на рис. 1.11,б, представлена матрица связей этого графа. Матрица W является памятью сети, и полностью определяет реакцию сети на входные воздействия. На рис. 1.11, а, в качестве примера, входным узлом мог бы быть, третий узел, а выходным второй. Возникает вопрос о правилах распространения сигналов в сети и синхронизации работы узлов. Существует два способа функционирования сети, синхронный и асинхронный. При синхронном функционировании сети, на каждом такте работы, все нейроны получают входной сигнал и реагируют на него в один и тоже момент времени, при асинхронном режиме, на каждом такте, функционирует только один нейрон. В некоторых случаях, в сети выделяются участи работающие в синхронном режиме, когда вся сеть работает в асинхронном режиме.

  1.  Классификация нейронных сетей

Из описанного ранее материала, становится ясно, что существует огромное количество разновидностей сетей. Рассмотрим некоторые из критериев классификации:

  1.  По типам нейронов;
    1.  По способу комбинирования входных значений и значений весов;
    2.  По типу активационной функции;
    3.  По типам распространяемых сигналов;
  2.  По способу синхронизации;
  3.  По топологии сети;
  4.  По однородности сети.

Первые два пункта из перечисленного списка, были рассмотрены выше. Если рассматривать топологические различия нейронных сетей, то можно выделить следующие их виды.

  •  с локальными связями;
  •  слоистые;
  •  без каких-то ограничений на связи.

В сетях с локальными связями нейрон принимает на вход сигналы с выходов соседних нейронов расположенных в некоторой окрестности. На рис. 1.12 показано несколько видов окрестностей.

Сети с подобной топологией часто используются клеточных нейронных сетях. Некоторые из классических сетей также имею подобную топологию, например такой сетью является, сеть Хопфилда, речь о которой пойдет в следующих разделах.

Самой популярной топологией расположения нейронов в сети является слоистая топология. Нейроны в таких сетях объединяются в слои, сеть может содержать как один слой, так и несколько. Сигнал в сети распространяется от нейронов одного слоя к другому. Нумерация слоев происходит последовательно по пути распространения сигнала. Существует несколько точек зрения, определения количества слоев, с одной точки зрения нумерация начинается с входного слоя, выполняющего только распределительные функции, с другой считается только количество слоев содержащих полноценные нейроны, еще одним способом подсчета, является подсчет межслойных весовых матриц. Далее, будет использоваться методика подсчета, учитывающая только слои с полнофункциональными нейронами. На рис. 1.13 показан пример многослойной сети.

Верхний индекс, у матриц W определяет порядковый номер межслойной весовой матрицы. Как видно на рис. 1.13, б, количество нейронов в одном слое не зависят от количества нейронов в других слоях.

В свою очередь слоистые нейронные сети можно разделить на:

  •  с последовательными прямыми связями;
    •  с не последовательными прямыми связями;
      •  с рекуррентными(перекрестными) связями внутри слоя;
        •  с рекуррентными связями между слоями.

В сетях с последовательными связями нейроны получают сигналы только с выходов других нейронов расположенных на один слой ближе к входам сети (рис. 1.13, б).

Сети с не последовательными связями, отличает то, что нейроны одного слоя могут непосредственно принимать на вход сигналы с выходов нейронов любых слоев расположенных ближе к входам сети, относительно текущего слоя (рис 1.14, а).

В сетях с рекуррентными связями внутри слоя, нейроны могут принимать на вход сигналы с выходов нейронов своего слоя и в том числе сигнал со своего выхода (рис 1.14, б).

В сетях с рекуррентными связями между слоями, на вход нейронов одного слоя могут поступать сигналы с выходов нейронов, как расположенных в слоях ближе к входу, так и к выходу сети (1.14, в).

Комбинируя описанные выше виды связей можно добиться практически любой топологии слоистой сети. Необходимо заметить, что полная связность нейронов в соседних слоях не обязательна, более того во многих случая стремятся, без потери качества решаемых задач, как можно сильнее развязать соседние слои. Это позволяет, уменьшить занимаемую память необходимую для хранения весов и улучшить обобщающие свойства сети. О методах уменьшения количества весов и нейронов сети будет рассказано в следующих разделах.

По однородности нейронные сети можно разделить на гомогенные и гетерогенные сети. Гомогенные сети состоят из одного типа нейронов, где вся сеть функционирует одинаковым образом. В гетерогенных сетях, существует разделение на функциональные части, так, например один блок решает одну задачу, другой другую, при этом они обмениваются между собой какими-то законченными на определенном этапе порциями данных. Часто в работу разных функциональных блоков вовлечены разные типы нейронов.

  1.  Обучение нейронных сетей

В простейшем случае обучение сети сводится к подстройке весовых коэффициентов межнейронных связей, в более сложном случае, обучение сопровождается подбором таких параметров как количество нейронов в сети, количество межнейронных связей, параметров функции активации. Во многих моделях нейронных сетей, весовые коэффициенты, можно определить без проведения обучения, например веса для сетей реализующих ассоциативную память, фильтрацию, статистическую классификацию, можно вычислить по формулам, но преимущество нейронных сетей как раз и заключается в способности к обучению.

Разделяют два типа обучения: с учителем и без учителя. В общем случае как обучение с учителем, так и обучение без него сводится к задаче глобальной оптимизации. В зависимости от типа сети, целевая функция строится по разному. В однонаправленных многослойных сетях, целевая функция строиться на основе минимизации разницы между текущим и желаемым выходом сети:

, где у вектор с текущими выходными сигналами, d вектор с желаемыми выходными сигналами.

В сетях обучающихся без учителя (самоорганизующихся сетях), целевая функция имеет вид:

,Si(x(k)) функция определения окрестности, изменяющаяся в процессе обучения.

При обучение с учителем, подразумевается что заранее известны обучающие примеры, включающие как входные сигналы, так и соответствующие им выходные сигналы. В общем случае при обучении с учителем различают несколько типов выборок, участвующих на этапе обучения, к ним относятся:

  •  обучающая;
  •  контрольная;
  •   тестовая.

К обучающему множеству предъявляется ряд требований, перечислим некоторые из них:

1. Множество не должно содержать всплесков – элементы, свойства которых отличаются от ожидаемых значений;

2. Элементы множества должны быть репрезентативны:

3. Обучающая выборка должна быть в несколько раз больше общего количества весовых связей в сети.

При решении оптимизационных задач, могут возникать такие проблемы как:

  •  паралич – оптимизация останавливается или продвигается очень медленно, не смотря на далекое состояние сети от оптимальной точки;
  •  заучивание обучающего множества – сеть  с маленькой погрешностью выполняет отображение на парах из обучающей выборки и с большой погрешностью на тестовом множестве.

Для того чтобы избежать заучивания обучающего множества используется тестовое множество. Процесс обучения продолжается до тех пор, пока разность между желаемыми и настоящими выходными сигналами, полученными как результат воздействий сигналов из тестовой выборки, уменьшается, как только разница начинает увеличиваться, процесс обучения останавливается.

При обучении без учителя, по некоторому принципу происходит самоорганизация весов сети, без участия обучающей выборки.

Обучения сети начинается с инициализации весов. Конечно, хорошо проинициализировать сеть такими начальными значениями, которые близки к оптимальным, но как правило заранее неизвестно какие значения весов будут оптимальными. Поэтому начальная инициализация весов, происходит случайным образом. Возникает вопрос, каков должен быть диапазон случайных значений весов, ведь при неудачном выборе границ диапазона, процесс обучения может быть парализован. Одним из вариантов  границ диапазона может быть интервал вида: , где nin – количество входов сети.

Существует огромное количество алгоритмов обучения сетей. Для обучения большинства сетей подходят известные алгоритмы глобальной оптимизации: градиентные, модификации метода Ньютона и т.д.  Так большую популярность имеют стохастические и эволюционные методы оптимизации. Для того чтобы свести задачу обучения, к задаче оптимизации необходимо верно составить целевую функцию.

Для обучения нейронной сети необходимо наличие задачника. Однако чаще всего, обучение производится не по всему задачнику, а по некоторой его части. Ту часть задачника, по которой в данный момент производится обучение, будем называть обучающей выборкой. Для многих задач обучающая выборка имеет большие размеры (от нескольких сот до нескольких десятков тысяч примеров). При обучении с использованием скоростных методов обучения (их скорость на три-четыре порядка превышает скорость обучения по классическому методу обратного распространения ошибки) приходится быстро сменять примеры. Таким образом, скорость обработки обучающей выборки может существенно влиять на скорость обучения нейрокомпьютера. К сожалению, большинство разработчиков аппаратных средств не предусматривает средств для быстрой смены примеров. Таким образом, задачник выделен в отдельный компонент нейрокомпьютера.

При работе с обучающей выборкой удобно использовать привычный для пользователя формат данных. Однако, этот формат чаще всего непригоден для использования нейросетью. Таким образом, между обучающей выборкой и нейросетью возникает дополнительный компонент нейрокомпьютера – предобработчик. Из литературных источников следует, что разработка эффективных предобработчиков для нейрокомпьютеров является новой, почти совсем не исследованной областью. Большинство разработчиков программного обеспечения для нейрокомпьютеров склонно возлагать функции предобработки входных данных на обучающую выборку или вообще перекладывают ее на пользователя. Это решение технологически неверно. Дело в том, что при постановке задачи для нейрокомпьютера трудно сразу угадать правильный способ предобработки. Для его подбора проводится серия экспериментов. В каждом из экспериментов используется одна и та же обучающая выборка и разные способы предобработки входных данных сети. Таким образом, выделен третий важный компонент нейрокомпьютера – предобработчик входных данных.

Заметим, что если привычный для человека способ представления входных данных непригоден для нейронной сети, то и формат ответов нейронной сети часто малопригоден для человека. Необходимо интерпретировать ответы нейронной сети. Интерпретация зависит от вида ответа. Так, если ответом нейронной сети является действительное число, то его, как правило, приходится масштабировать и сдвигать для попадания в нужный диапазон ответов. Если сеть используется как классификатор, то выбор интерпретаторов еще шире. Большое разнообразие интерпретаторов при невозможности решить раз и навсегда вопрос о преимуществах одного из них над другими приводит к необходимости выделения интерпретатора ответа нейронной сети в отдельный компонент нейрокомпьютера.

С интерпретатором ответа тесно связан еще один обязательный компонент нейрокомпьютера – оценка. Невнимание к этому компоненту вызвано практикой рассматривать метод обратного распространения ошибки в виде алгоритма. Доминирование такой точки зрения привело к тому, что, судя по публикациям, большинство исследователей даже не подозревает о том, что «уклонение от правильного ответа», подаваемое на вход сети при обратном функционировании, есть ни что иное, как производная функции оценки по выходному сигналу сети (если функция оценки является суммой квадратов уклонений). Возможно (и иногда очень полезно) конструировать другие оценки. Нашей группой в ходе численных экспериментов было выяснено, что для обучения сетей-классификаторов функция оценки вида суммы квадратов, пожалуй, наиболее плоха. Использование альтернативных функций оценки позволяет в несколько раз ускорить обучение нейронной сети.

Шестым необходимым компонентом нейрокомпьютера является учитель. Этот компонент может меть множество реализаций.

Принцип относительной функциональной обособленности требует выделения еще одного компонента, названного исполнителем запросов учителя или просто исполнителем. Назначение этого компонента не так очевидно, как всех предыдущих. Заметим, что для всех учителей, обучающих сети по методу обратного распространения ошибки, и при тестировании сети характерен следующий набор операций с каждым примером обучающей выборки:

  1.  Тестирование решения примера
    1.  Взять пример у задачника.
    2.  Предъявить его сети для решения.
    3.  Предъявить результат интерпретатору ответа.
  2.  Оценивание решения примера
    1.  Взять пример у задачника.
    2.  Предъявить его сети для решения.
    3.  Предъявить результат оценке.
  3.  Оценивание решения примера с вычислением градиента.
    1.  Взять пример у задачника.
    2.  Предъявить его сети для решения.
    3.  Предъявить результат оценке с вычислением производных.
    4.  Предъявить результат работы оценки сети для вычисления градиента.
  4.  Оценивание и тестирование решения примера.
    1.  Взять пример у задачника.
    2.  Предъявить его сети для решения.
    3.  Предъявить результат оценке.
    4.  Предъявить результат интерпретатору ответа.

Заметим, что все четыре варианта работы с сетью, задачником, интерпретатором ответа и оценкой легко объединить в один запрос, параметры которого позволяют указать последовательность действий. Таким образом, исполнитель исполняет всего один запрос – обработать пример. Однако выделение этого компонента позволяет исключить необходимость в прямых связях таких компонентов, как контрастер и учитель, с компонентами оценка и интерпретатор ответа, а их взаимодействие с компонентом сеть свести исключительно к запросам связанным с модификацией обучаемых параметров сети.

Последним компонентом, которого необходимо выделить, является контрастер нейронной сети. Этот компонент является надстройкой над учителем. Его назначение – сводить число связей сети до минимально необходимого или до «разумного» минимума (степень разумности минимума определяется пользователем). Кроме того, контрастер, как правило, позволяет свести множество величин весов связей к 2-4, реже к 8 выделенным пользователем значениям. Наиболее важным следствием применения процедуры контрастирования является получение логически прозрачных сетей – сетей, работу которых легко описать и понять на языке логики.


Рис. Схема запросов в нейрокомпьютере 

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

Запросы к задачнику

Запросы к задачнику позволяют последовательно перебирать все примеры обучающей выборки, обращаться непосредственно к любому примеру задачника и изменять обучающую выборку. Обучающая выборка выделяется путем «раскрашивания» примеров задачника в различные «цвета». Понятие цвета и способ работы с цветами описаны в разделе «Переменные типа цвет и операции с цветами».

Запросы последовательного перебора обучающей выборки:

«Инициировать выдачу примеров цвета К». По этому запросу происходит инициация выдачи примеров К-го цвета.

«Дать очередной пример». По этому запросу задачник возвращает предобработанные данные очередного примера и, при необходимости, правильные ответы, уровень достоверности и другие данные этого примера.

«Следующий пример». По этому запросу задачник переходит к следующему примеру обучающей выборки. Если такого примера нет, то возвращается признак отсутствия очередного примера.

Для непосредственного доступа к примерам задачника служит запрос «Дать пример номер N». Действия задачника в этом случае аналогичны выполнению запроса «Дать очередной пример».

Для изменения обучающей выборки служит запрос «Окрасить примеры в цвет К». Этот запрос используется редко, поскольку изменение обучающей выборки, как правило, осуществляется пользователем при редактировании задачника.

Запрос к предобработчику

Предобработчик сам никаких запросов не генерирует. Единственный запрос к предобработчику – «Предобработать пример» может быть выдан только задачником.

Запрос к исполнителю

«Обработать очередной пример». Вид ответа зависит от параметров запроса.

Запросы к учителю

«Начать обучение сети». По этому запросу учитель начинает процесс обучения сети.

«Прервать обучение сети». Этот запрос приводит к прекращению процесса обучения сети. Этот запрос требуется в случае необходимости остановить обучение сети до того, как будет удовлетворен критерий остановки обучения, предусмотренный в учителе.

«Провести N шагов обучения» – как правило, выдается контрастером, необходим для накопления показателей чувствительности.

Запрос к контрастеру

«Отконтрастировать сеть». Ответом является код завершения операции контрастирования.

Запрос к оценке

Оценка не генерирует никаких запросов. Она выполняет только один запрос – «Оценить пример». Результатом выполнения запроса является оценка примера и, при необходимости, вектор производных оценки по выходным сигналам сети.

Запрос к интерпретатору ответа

Интерпретатор ответа не генерирует никаких запросов. Он выполняет только один запрос – «Интерпретировать ответ». Ответом является результат интерпретации.

Запросы к сети

Сеть не генерирует никаких запросов. Набор исполняемых сетью запросов можно разбить на три группы.

Запрос, обеспечивающий тестирование.

«Провести прямое функционирование». На вход сети подаются данные примера. На выходе сети вычисляется ответ сети, подлежащий оцениванию или интерпретации.

Запросы, обеспечивающие обучение сети.

«Обнулить градиент». При исполнении этого запроса градиент оценки по обучаемым параметрам сети кладется равным нулю. Этот запрос необходим, поскольку при вычислении градиента по очередному примеру сеть добавляет его к ранее вычисленному градиенту по сумме других примеров.

«Вычислить градиент по примеру». Проводится обратное функционирование сети. Вычисленный градиент добавляется к ранее вычисленному градиенту по сумме других примеров.

«Изменить карту с шагами Н1 и H2». Генерируется учителем во время обучения.

Запрос, обеспечивающие контрастирование.

«Изменить карту по образцу». Генерируется контрастером при контрастировании сети.

Таким образом, выделено семь основных компонентов нейрокомпьютера, определены их функции и основные исполняемые ими запросы.

Рис. 1.1.Отделы мозга

Рис. 1.2. Структурные части нейрона

дендриты

тело клетки

аксон

колатералы

Рис. 1.3. Форма нервного импульса

Рис. 1.4. Виды нейронов в разных областях мозга

ендриты

Аксон

Тело клетки

кора головного мозга

спинной мозг

мозжечок

сетчатка

.

.

.

S

x2

x1

xn

w0

s

1

out

w1

Рис. 1.5. Первая модель пресептронного нейрона

.

.

.

S

w1

wn

w2

x2

x1

xn

w0

s

1

out

Рис. 1.6. Классическая модель пресептронного нейрона

Рис.1.7. Иллюстрация геометрической аналогии линейного нейрона.

Рис. 1.8. Модель нейрона с РБФ

out

1

s

w0

xn

x1

x2

w2

wn

w1

.

.

.

Рис.1.9. Иллюстрация геометрической аналогии РБФ нейрона.

.

.

.

J(w,x)

w1

wn

w2

x2

x1

xn

w0

f(s)

s

1

Рис.1.10. Обобщенное представление искусственного нейрона.

2

1

3

4

w12

w21

w11

w44

w42

w23

w32

w34

w13

Рис. 1.11. а) Нейросетевой граф; б)  Матрица весовых связей.

а)

б)

а)

б)

в)

Рис. 1.12. Виды окрестностей. а) окрестность фон Неймана, б) окрестность Голея, в) окрестность Мура.

W1

W2

W3

W4

W

а)

б)

Рис.1.13. Структура: а) однослойной сети, б) многослойной сети.

а)

в)

б)

Рис. 1.14. Структура сети а) с прямыми не последовательными связями, б) с рекуррентными связями внутри слоя, в) с рекуррентными связями между слоями.


 

А также другие работы, которые могут Вас заинтересовать

19106. Структуры измерительных систем и их характеристики 225 KB
  Лекция № 2. Структуры измерительных систем и их характеристики. Для описания измерительных систем применяются структурные схемы состоящие из функциональных элементов функциональных блоков ФБ измерительных преобразователей ИП связанных между собой входными и вых
19107. Математические модели сигналов 288.5 KB
  Лекция № 3. Математические модели сигналов. Сигнал – процесс изменения во времени физического состояния какогото объекта служащий для отображения регистрации и передачи сообщений. Сигналы – электрические акустические оптические и т.д. Классификация сигналов. Сиг...
19108. Спектральные характеристики непериодических сигналов 191.5 KB
  Лекция № 4. Спектральные характеристики непериодических сигналов. Теория спектрального представления непериодических импульсных сигналов основанная на прямом и обратном интегральных преобразованиях Фурье позволяет осуществлять анализ прохождения сигналов чер
19109. Спектральный анализ непериодических сигналов 246 KB
  Лекция № 5. Спектральный анализ непериодических сигналов Для практических приложений является важным установление связи между преобразованием сигнала и соответствующим этому преобразованию изменением спектральных характеристик. Спектральная плотность сигнала...
19110. Физические измерительные системы и их математические модели 243.5 KB
  Лекция № 6. Физические измерительные системы и их математические модели Динамические измерительные системы в которых связи между измеряемыми величинами входными сигналами и выходными сигналами описываются дифференциальными уравнениями разнообразны по принци
19111. Динамические характеристики измерительных систем 245 KB
  Лекция № 7. Динамические характеристики измерительных систем Импульсная характеристика системы. Импульсной характеристикой стационарной измерительной системы описываемой оператором называют функцию являющуюся откликом системы на входной сигнал в виде функци...
19112. Модуляция сигналов в измерительных системах 185.5 KB
  Лекция № 8. Модуляция сигналов в измерительных системах Информационные преобразования в аналоговых блоках измерительных систем осуществляются над сигналами имеющими различные информативные параметры или другими словами над сигналами с различными видами модуля...
19113. Первичные преобразователи систем измерения физических величин 113.5 KB
  Лекция № 9. Первичные преобразователи систем измерения физических величин Эффективное управление сложными техническими объектами атомные электростанции объекты топливноэнергетического комплекса и пр. автоматизация технологических процессов дальнейшее разви...
19114. Пьезоэлектрические преобразователи 246 KB
  Лекция №10. Пьезоэлектрические преобразователи Пьезопреобразователи – электромеханические преобразователи принцип действия которых основан на пьезоэлектрическом эффекте – явлении возникновения электрической поляризации под действием механических напряжений. Е