neironne_seti_i_neirokompjuter (1085713), страница 10
Текст из файла (страница 10)
ОСНОВНЫЕ ПОНЯТИЯ ИСКУССТВЕННЫХНЕЙРОННЫХ СЕТЕЙ2.1. Модель искусственного нейрона2.1.1. Биологический нейронНервная система и мозг человека состоят из нейронов, соединенныхмежду собой нервными волокнами. Нервные волокна способны передаватьэлектрические импульсы между нейронами. Все процессы передачираздражений от нашей кожи, ушей и глаз к мозгу, процессы мышления иуправления действиями – все это реализовано в живом организме какпередача электрических импульсов между нейронами.Рис. 2.1. Биологический (или естественный) нейронБиологический нейрон (Cell) имеет ядро (Nucleus), а также отросткинервных волокон двух типов (рис. 2.1) – дендриты (Dendrites), по которымпринимаются импульсы (Carries signals in), и единственный аксон (Axon), по47PDF created with pdfFactory trial version www.pdffactory.comкоторому нейрон может передавать импульс (Carries signals away).
Аксонконтактирует с дендритами других нейронов через специальные образования– синапсы (Synapses), которые влияют на силу передаваемого импульса.Структура, состоящая из совокупности большого количества такихнейронов, получила название биологической (или естественной) нейроннойсети.2.1.2. Искусственный нейронИскусственный нейрон (далее – нейрон) является основой любойискусственной нейронной сети.Нейроны представляют собой относительно простые, однотипныеэлементы, имитирующие работу нейронов мозга.
Каждый нейронхарактеризуется своим текущим состоянием по аналогии с нервнымиклетками головного мозга, которые могут быть возбуждены и заторможены.Искусственный нейрон, также как и его естественный прототип, имеетгруппу синапсов (входов), которые соединены с выходами других нейронов,а также аксон – выходную связь данного нейрона – откуда сигналвозбуждения или торможения поступает на синапсы других нейронов.Общий вид нейрона представлен на рис 2.2.Рис.
2.2. Искусственный нейрон –простейший элемент искусственной нейронной сетиyj – сигнал, поступающий от нейрона j;sk – скалярное произведение вектора входных сигналов и вектора весов;fk – функция возбуждения; yk – выходной сигнал нейрона48PDF created with pdfFactory trial version www.pdffactory.comКаждый синапс характеризуется величиной синаптической связи иливесом wi, который по своему физическому смыслу эквивалентенэлектрической проводимости.Текущее состояние нейрона определяется как взвешенная сумма еговходов:ns = Σ xi wi ,(2.1)i=1где x – вход нейрона, а w – соответствующий этому входу вес.2.1.3.
Активационная функцияВыход нейрона есть функция его состояния, т.е.y = f(s) .(2.2)Нелинейная функция f(s) называется активационной, сжимающейфункцией или функцией возбуждения нейрона.Основные разновидности активационных функций, применяемых внейронных сетях, представлены на рис. 2.3.tta)b)tc)Рис. 2.3. Активационная функцияа) пороговая; b) полулинейная; c) сигмоидальнаяВ качестве активационной функции часто используется сигмоидальная(s-образная или логистическая) функция, показанная на рис. 2.3 с.
Этафункция математически выражается по формулеf ( x) =11 + e - ax(2.3).49PDF created with pdfFactory trial version www.pdffactory.comПри уменьшении a сигмоидальная функция становится более пологой,в пределе при a=0 вырождаясь в горизонтальную линию на уровне 0,5; приувеличении a сигмоидальная функция приближается по внешнему виду кфункции единичного скачка с порогом T в точке x=0. Из выражения длясигмоидальной функции видно, что выходное значение нейрона лежит вдиапазоне [0,1]. Одно из полезных свойств сигмоидальной функции –простое выражение для ее производной, применение которого будетрассмотрено в дальнейшем:f ( x ) = a f ( x) (1 - f ( x)) .(2.4)Следует отметить, что сигмоидальная функция дифференцируема навсей оси абсцисс, что используется в некоторых алгоритмах обучения.Кроме того, сигмоидальная функция обладает свойством усиливать малыесигналы лучше, чем большие, тем самым предотвращая насыщение отбольших сигналов, так как они соответствуют областям аргументов, гдесигмоидальная функция имеет пологий наклон.Выбор структуры нейронной сети осуществляется в соответствии сособенностями и сложностью задачи.
Для решения некоторых отдельныхтипов задач уже существуют оптимальные, на сегодняшний деньконфигурации, описанные, например, в [6, 7, 8].Если же задача не может быть сведена ни к одному из известныхтипов, разработчику приходится решать сложную проблему синтеза новойконфигурации.Теоретически число слоев и число нейронов в каждом слое нейроннойсети может быть произвольным, однако фактически оно ограниченоресурсами компьютера или специализированной микросхемы, на которыхобычно реализуется нейронная сеть.При этом, если в качестве активационной функции для всех нейроновсети используется функция единичного скачка, нейронная сеть называетсямногослойным персептроном (рис. 2.4).В нейронных сетях, называемых персептронами, используетсяактивационная функция единичного скачка.2.2.
Обучение нейронных сетейОчевидно, что функционирование нейронной сети, т. е. действия,которые она способна выполнять, зависит от величин синоптических связей.Поэтому, задавшись структурой нейронной сети, отвечающей определеннойзадаче, разработчик должен найти оптимальные значения для всех весовыхкоэффициентов w.Этот этап называется обучением нейронной сети, и от того, насколькокачественно он будет выполнен, зависит способность сети решать во время50PDF created with pdfFactory trial version www.pdffactory.comэксплуатации поставленные перед ней проблемы. Важнейшими параметрамиобучения являются: качество подбора весовых коэффициентов и время,которое необходимо затратить на обучение.
Как правило, два этих параметрасвязаны между собой обратной зависимостью и их приходится выбирать наоснове компромисса.В настоящее время все алгоритмы обучения нейронных сетей можноразделить на два больших класса: с учителем и без учителя.Рис. 2.4. Многослойный персептрон2.2.1.
Обучение с учителемНейронной сети предъявляются значения как входных, так и выходныхпараметров, и она по некоторому внутреннему алгоритму подстраивает весасвоих синаптических связей.Обучение с учителем предполагает, что для каждого входного векторасуществует целевой вектор, представляющий собой требуемый выход.Вместе они называются представительской или обучающей выборкой.Обычно нейронная сеть обучается на некотором числе таких выборок.Предъявляется выходной вектор, вычисляется выход нейронной сети исравнивается с соответствующим целевым вектором, разность (ошибка) спомощью обратной связи подается в нейронную сеть, и веса изменяются всоответствии с алгоритмом, стремящимся минимизировать ошибку.
Векторыобучающего множества предъявляются последовательно, вычисляютсяошибки и веса подстраиваются для каждого вектора до тех пор, пока ошибкапо всему обучающему массиву не достигнет приемлемо низкого уровня.51PDF created with pdfFactory trial version www.pdffactory.com2.2.2. Обучение без учителяНейронной сети предъявляются только входные сигналы, а выходысети формируются самостоятельно с учетом только входных и производныхот них сигналов.Несмотря на многочисленные прикладные достижения, обучение сучителем критиковалось за свою биологическую неправдоподобность.Трудно вообразить обучающий механизм в естественном человеческоминтеллекте, который бы сравнивал желаемые и действительные значениявыходов, выполняя коррекцию с помощью обратной связи.
Если допуститьподобный механизм в человеческом мозге, то откуда тогда возникаютжелаемые выходы? Обучение без учителя является более правдоподобноймоделью обучения в биологической системе. Развитая Кохоненом (п. 2.4) имногими другими, она не нуждается в целевом векторе для выходов и,следовательно, не требует сравнения с предопределенными идеальнымиответами.Обучающее множество состоит лишь из входных векторов.Обучающий алгоритм подстраивает веса нейронной сети так, чтобыполучались согласованные выходные векторы, т. е.
чтобы предъявлениедостаточно близких входных векторов давало одинаковые выходы. Процессобучения, следовательно, выделяет статистические свойства обучающегомножества и группирует сходные векторы в классы. Предъявление на входвектора из данного класса даст определенный выходной вектор, но дообучения невозможно предсказать, какой выход будет производитьсяданным классом входных векторов.Следовательно, выходы подобной сети должны трансформироваться внекоторую понятную форму, обусловленную процессом обучения. Это неявляется серьезной проблемой. Обычно не сложно идентифицировать связьмежду входом и выходом, установленную сетью.2.3.
Нейронные сети обратного распространенияОдним из наиболее распространенных видов нейронных сетейявляется многослойная структура, в которой каждый нейрон произвольногослоя связан со всеми аксонами нейронов предыдущего слоя, или в случаепервого слоя со всеми входами нейронной сети.Такие нейронные сети называются полносвязанными.Алгоритм обратного распространения, применяемый для такихструктур, заключается в распространение сигналов ошибки от выходовнейронной сети к ее входам, в направлении, обратном прямомураспространению сигналов в обычном режиме работы. Эта процедураобучения нейронной сети и получила название алгоритма обратногораспространения.52PDF created with pdfFactory trial version www.pdffactory.comСогласно методу наименьших квадратов минимизируемой целевойфункцией ошибки нейронной сети являетсяE (w) =1å ( y (n) - d j , p ) 2 ,2 j, p j, p(2.5)где y (jn, )p – реальное выходное состояние нейрона j выходного слоя nнейронной сети при подаче на ее входы p-го образа; djp – идеальное(желаемое) выходное состояние этого нейрона.Суммирование ведется по всем нейронам выходного слоя и по всемобразам, обрабатываемым нейронной сетью.