![]()
Главная Обратная связь Дисциплины:
Архитектура (936) ![]()
|
МОДЕЛЬ ИСКУССТВЕННОГО НЕЙРОНА
Искусственная нейронная сеть (ИНС) - это упрощенная модель биологического мозга, точнее нервной ткани. Естественная нервная клетка (нейрон) состоит из тела (сомы), содержащего ядро, и отростков — дендритов, по которым в нейрон поступают входные сигналы. Один из отростков, ветвящийся на конце, служит для передачи выходных сигналов данного нейрона другим нервным клеткам. Он называется аксоном. Соединение аксона с дендритом другого нейрона называется синапсом. Нейрон возбуждается и передает сигнал через аксон, если число пришедших по дендритам возбуждающих сигналов больше, чем число тормозящих. Сеть ИНС представляет собой совокупность простых вычислительных элементов — искусственных нейронов, каждый из которых обладает определенным количеством входов (дендритов) и единственным выходом (аксоном), разветвления которого подходят к синапсам, связывающим его с другими нейронами. На входы нейрона поступает информация извне или от других нейронов. Каждый нейрон характеризуется функцией преобразования входных сигналов в выходной (функция возбуждения нейрона). Нейроны в сети могут иметь одинаковые или разные функции возбуждения. Сигналы, поступающие на вход нейрона, неравнозначны в том смысле, что информация из одного источника может быть более важной, чем из другого. Приоритеты входов задаются с помощью вектора весовых коэффициентов, моделирующих синаптическую силу биологических нейронов. Модель искусственного нейрона (рис. 1) представляет собой дискретно-непрерывный преобразователь информации. Информация, поступающая на вход нейрона, суммируется с учетом весовых коэффициентов ность пространства входных сигналов. Потенциал нейрона определяется по формуле Взвешенная сумма поступивших сигналов (потенциал) преобразуется с помощью передаточной функции ется важнейшей характеристикой нейрона. В общем случае эта функция может быть ступенчатой (пороговой), линейной или нелинейной (рис. 2). Пороговая функция пропускает информацию только в том случае, если алгебраическая сумма входных сигналов превышает некоторую постоянную величину Рис. 1. Схема кибернетической модели нейрона Пороговая функция не обеспечивает достаточной гибкости ИНС при обучении. Если значение вычисленного потенциала не достигает заданного порога, то выходной сигнал не формируется и нейрон «не срабатывает». Это приводит к снижению интенсивности выходного сигнала нейрона и, как следствие, к формированию невысокого значения потенциала взвешенных входов в следующем слое нейронов. Линейная функция Y=kP дифференцируема и легко вычисляется, что в ряде случаев позволяет уменьшить ошибки выходных сигналов в сети, так как передаточная функция сети также является линейной. Однако она не универсальна и не обеспечивает решения многих задач. Определенным компромиссом между линейной и ступенчатой функциями является сигмоидальная функция переноса Рис. 2. Функции переноса искусственных нейронов: а - линейная; б- ступенчатая; в - сигмоидальная определяет крутизну нелинейной функции: чем больше к, тем ближе сигмоидальная функция к пороговой; чем меньше к, тем она ближе к линейной. Подобно ступенчатой функции она позволяет выделять в пространстве признаков множества сложной формы, в том числе невыпуклые и несвязные. При этом сигмоидальная функция, в отличие от ступенчатой, не имеет разрывов. Она дифференцируема, как и линейная функция, и это качество можно использовать при поиске экстремума в пространстве параметров ИНС. Тип функции переноса выбирается с учетом конкретной задачи, решаемой с применением нейронных сетей. Например, в задачах аппроксимации и классификации предпочтение отдают логистической (сигмоидальной) кривой. Нейронная сеть представляет собой совокупность искусственных нейронов, организованных слоями. При этом выходы нейронов одного слоя соединяются с входами нейронов другого. В зависимости от топологии соединений нейронов ИНС подразделяются на одноуровневые и многоуровневые, с обратными связями и без них. Связи между слоями могут иметь различную структуру. В однолинейных сетях каждый нейрон (узел) нижнего слоя связан с одним нейроном верхнего слоя. Если каждый нейрон нижнего слоя соединен с несколькими нейронами следующего слоя, то получается пирамидальная сеть. Воронкообразная схема соединений предполагает связь каждого узла верхнего слоя со всеми узлами нижнего уровня. Существуют также древовидные и рекуррентные сети, содержащие обратные связи с произвольной структурой межнейронных соединений. Чтобы построить ИНС для решения конкрет ной задачи, нужно выбрать тип соединения нейронов, определить вид передаточных функций элементов и подобрать весовые коэффициенты межнейронных связей. При всем многообразии возможных конфигураций ИНС на практике получили распространение лишь некоторые из них. Классические модели нейронных сетей рассмотрены ниже. МОДЕЛИ НЕЙРОННЫХ СЕТЕЙ Теоретические основы нейроматематики были заложены в начале 1940-х гг. Попытки построить машины, способные к разумному поведению, были в значительной мере вдохновлены идеями «отца кибернетики» Норберта Винера. Идеи Винера были применены Дж. Маккалохом и У. Питтсом, которые разработали собственную теорию деятельности головного мозга, основанную на предположении, что функционирование компьютера и мозга сходно. К главным результатам их работы относятся следующие: • модель нейрона в виде простейшего процессорного элемента, который вычисляет значение переходной функции от скалярного произведения вектора входных сигналов и вектора весовых коэффициентов; • конструкция нейронной сети для выполнения логических и арифметических операций; • предположение о том, что нейронная сеть способна обучаться, распознавать образы, обобщать полученную информацию. В формализме Дж. Маккалоха и У. Питтса нейроны имеют пороговую функцию перехода из состояния в состояние. Каждый нейрон в сети определяет взвешенную сумму состояний всех других нейронов и сравнивает ее с порогом, чтобы определить свое собственное состояние. Аппаратная реализация ИНС на основе пороговых элементов, оперирующих двоичными числами, оказалась чрезвычайно трудной из-за высокой стоимости электронных элементов в то время. Самые совершенные системы тогда содержали лишь сотни нейронов, в то время как нервная система муравья содержит более 20 тыс. Серьезное развитие нейрокибернетика получила в трудах американского нейрофизиолога Ф. Розенблата, который предложил свою модель нейронной сети в 1958 г. и продемонстрировал созданное на ее основе электронное устройство, названное пер-цептроном. Ф. Розенблат ввел возможность модификации межнейронных связей, что сделало ИНС обучаемой. Первые перцептроны были способны распознавать некоторые буквы латинского алфавита. Впоследствии модель перцептрона была значительно усовершенствована, а наиболее удачным ее применением стали задачи автоматической классификации. Алгоритм обучения перцептрона включает следующие шаги. 1. Системе предъявляется эталонный образ. 2. Если результат распознавания совпадает с заданным, весовые коэффициенты связей не изменяются. 3. Если ИНС неправильно распознает результат, то весовым коэффициентам дается приращение в сторону повышения качества распознавания. Теоретический анализ перцептрона, проведенный М. Минским и С. Пейпертом, показал его ограниченные возможности, поскольку не всегда существует такая комбинация весовых коэффициентов, при которой заданное множество образов будет распознаваться правильно. Причина этого недостатка состоит в том, что однослойный перцептрон реализует линейную поверхность, разделяющую пространство эталонов, вследствие чего происходит неверное распознавание образов в случаях, когда задача не является линейно сепарабельной. Для решения таких проблем предложены модели многослойных перцептронов, способные строить ломаную границу между распознаваемыми образами. Несмотря на то что перцептрон Розенблата имел невысокие возможности обучения, разработка этой концепции привлекла внимание исследователей к проблеме ИНС и привела к созданию более «разумных» интеллектуальных систем. Многослойные сети.В многослойных сетях устанавливаются связи только между нейронами соседних слоев, как показано на рис. 3. Каждый элемент может быть соединен модифицируемой Рис. 3. Схема многослойного перцептрона связью с любым нейроном соседних слоев, но между элементами одного слоя связей нет. Каждый нейрон может посылать выходной сигнал только в вышележащий слой и принимать входные сигналы только с нижерасположенного слоя. Входные сигналы подаются на нижний слой, а выходной вектор сигналов определяется путем последовательного вычисления уровней активности элементов каждого слоя (снизу вверх) с использованием уже известных значений активности элементов предшествующих слоев. При распознавании образов входной вектор соответствует набору признаков, а выходной - распознаваемым образам. Скрытый слой (один или несколько) предназначен для отражения специфики знаний. В таких сетях обычно используются передаточные сигмоидальные функции. Структура нейронной сети определяется типом, например 25-10-5, т.е. двадцать пять узлов находится в первом слое, десять — в скрытом и пять - в выходном. Определение числа скрытых слоев и числа нейронов в каждом слое для конкретной задачи является неформальной проблемой, при решении которой можно использовать эвристическое правило: число нейронов в следующем слое в два раза меньше, чем в предыдущем. Выше отмечалось, что простой перцептрон с одним слоем обучаемых связей формирует границы областей решений в виде гиперплоскостей. Двухслойный перцептрон может выполнять операцию логического И над полупространствами, образованными гиперплоскостями первого слоя весов. Это позволяет формировать любые выпуклые области в пространстве входных сигналов. С помощью трехслойного перцептрона, используя логическое ИЛИ для комбинирования выпуклых областей, можно получить области решений произвольной формы и сложности, в том числе невыпуклые и несвязные. То, что многослойные перцеп-троны с достаточным множеством внутренних нейроподобных элементов и соответствующей матрицей связей в принципе способны осуществлять любое отображение вход-выход, отмечали еще М. Минский и С. Пейперт, однако они сомневались, что для таких процедур можно открыть мощный аналог процедуры обучения простого перцептрона. В настоящее время в результате возрождения интереса к многослойным сетям предложено несколько таких процедур. Одной из них является алгоритм обратного распространения ошибки, который будет рассмотрен ниже. Рекуррентные сети.Они содержат обратные связи, благодаря которым становится возможным получение отличающихся значений выходов при одних и тех же входных данных. Наличие рекуррентных нейронов позволяет ИНС накапливать знания в процессе обучения. Рекуррентные сети (рис. 4) являются развитием модели Хопфилда на основе применения новых алгоритмов обучения, исключающих попадание системы в локальные минимумы на поверхности энергетических состояний. Важной особенностью рекуррентных сетей является их способность предсказывать существование новых классов объектов. Модель Хопфилда.Работы американского биофизика Дж. Хопфилда положили начало современному математическому моделированию нейронных вычислений. Ему удалось привлечь к анализу нейросетевых моделей мощный математический аппарат статистической физики. В результате была сформулирована математическая модель ассоциативной памяти на нейронной сети с использованием правила Д. Хебба для модификации весовых коэффициентов. Рис. 4. Схема рекуррентной нейронной сети Это правило основано на простом предположении: если два нейрона возбуждаются вместе, то сила связи между ними возрастает; если они возбуждаются порознь, то сила связи между ними уменьшается. Сеть Хопфилда строится с учетом следующих условий: • все элементы связаны со всеми; лю, т. е. исключаются обратные связи с выхода на вход одного нейрона. Для однослойной нейронной сети со связями типа «все ко всем» характерна сходимость к одной из конечного множества равновесных точек, которые являются локальными минимумами функции энергии, отражающей структуру всех связей в сети. Введенная Хопфиддом функция вычислительной энергии нейронной сети описывает поведение сети через стремление к минимуму энергии, который соответствует заданному набору образов. В связи с этим сети Хопфилда могут выполнять функции ассоциативной памяти, обеспечивая сходимость к тому образу, в область притяжения которого попадает начальный паттерн (образец) активности нейронов сети. Этот подход привлекателен тем, что нейронная сеть для конкретной задачи может быть запрограммирована без обучающих итераций. Веса связей вычисляются на основе вида функции энергии, сконструированной для решаемой задачи. Развитием модели Хопфидда является машина Больцмана, предложенная и исследованная Дж. Е. Хинтоном и Р. Земелом для решения комбинаторных оптимизационных задач и задач искусственного интеллекта. В ней, как и в других моделях, нейрон имеет состояния (1,0), межнейронные связи представлены весовыми коэффициентами, а каждое состояние сети характеризуется определенным значением функции консенсуса (аналог функции энергии). Максимум функции консенсуса соответствует оптимальному решению задачи. Сети Хопфилда получили применение на практике в основном как реализации подсистем более сложных систем. Они имеют определенные недостатки, ограничивающие возможности их применения: • предположение о симметрии связей между элементами, без которой нельзя ввести понятие энергии; • нейронная сеть - это устройство для запоминания и обработки информации, а не устройство минимизации энергии. Экономия энергии играет в этих процессах вспомогательную роль; • сети Хопфилда поддерживают множество лишних, неэффективных, иногда дублирующих друг друга связей. В реальных нервных системах такие связи не поддерживаются, так как их реализация требует определенных затрат. В биологических нервных системах происходит освобождение от лишних связей за счет их структуризации. При этом вместо организации связей «всех ко всем» используется многослойная иерархическая система связей. Самоорганизующиеся сети Т. Кохонена. Идея сетей с самоорганизацией на основе конкуренции между нейронами базируется на применении специальных алгоритмов самообучения ИНС. Сети Кохонена обычно содержат один (выходной) слой обрабатывающих элементов с пороговой передаточной функцией. Число нейронов в выходном слое соответствует количеству распознаваемых классов. Настройка параметров межнейронных соединений проводится автоматически на основе меры близости вектора весовых коэффициентов настраиваемых связей к вектору входных сигналов в эвклидовом пространстве. В конкурентной борьбе побеждает нейрон, имеющий значения весов, наиболее близкие к нормализованному вектору входных сигналов. Кроме того, в самоорганизующихся сетях возможна классификация входных образцов (паттернов). На практике идея Кохонена обычно используется в комбинации с другими нейросетевы-ми парадигмами. ПОСТРОЕНИЕ НЕЙРОННОЙ СЕТИ При построении модели ИНС прежде всего необходимо точно определить задачи, которые будут решаться с ее помощью. В настоящее время нейросетевые технологии успешно применяются для прогнозирования, распознавания и обобщения. Первым этапом построения нейросетевой модели является тщательный отбор входных данных, влияющих на ожидаемый результат. Из исходной информации необходимо исключить все сведения, не относящиеся к исследуемой проблеме. В то же время следует располагать достаточным количеством примеров для обучения ИНС. Существует эмпирическое правило, которое устанавливает рекомендуемое соотношение X между количеством обучающих примеров, содержащих входные данные и правильные ответы, и числом соединений в нейронной сети: X <10. Для факторов, которые включаются в обучающую выборку, целесообразно предварительно оценить их значимость, проведя корреляционный и регрессионный анализ, и проанализировать диапазоны их возможных изменений. На втором этапе осуществляется преобразование исходных данных с учетом характера и типа проблемы, отображаемой нейросетевой моделью, и выбираются способы представления информации. Эффективность нейросетевой модели повышается, если диапазоны изменения входных и выходных величин приведены к некоторому стандарту, например [0,1] или [-1,1]. Третий этап заключается в конструировании ИНС, т.е. в проектировании ее архитектуры (число слоев и число нейронов в каждом слое). Структура ИНС формируется до начала обучения, поэтому успешное решение этой проблемы во многом определяется опытом и искусством аналитика, проводящего исследования. Четвертый этап связан с обучением сети, которое может проводиться на основе конструктивного или деструктивного подхода. В соответствии с первым подходом обучение ИНС начинается на сети небольшого размера, который постепенно увеличивается до достижения требуемой точности по результатам тестирования. Деструктивный подход базируется на принципе «прореживания дерева», в соответствии с которым из сети с заведомо избыточным объемом постепенно удаляют «лишние» нейроны и примыкающие к ним связи. Этот подход дает возможность исследовать влияние удаленных связей на точность сети. Процесс обучения нейронной сети представляет собой уточнение значений весовых коэффициентов м^для отдельных узлов на основе постепенного увеличения объема входной и выходной информации. Началу обучения должна предшествовать процедура выбора функции активации нейронов, учитывающая характер решаемой задачи. В частности, в трехслойных перцептро-нах на нейронах скрытого слоя применяется в большинстве случаев логистическая функция, а тип передаточной функции нейронов выходного слоя определяется на основе анализа результатов вычислительных экспериментов на сети. Индикатором обучаемости ИНС может служить гистограмма значений межнейронных связей . На пятом этапе проводится тестирование полученной модели ИНС на независимой выборке примеров. Обучение нейронных сетей Важнейшим свойством нейронных сетей является их способность к обучению, что делает нейросетевые модели незаменимыми при решении задач, для которых алгоритмизация является невозможной проблематичной или слишком трудоемкой. Обучение нейронной сети заключается в изменении внутренних параметров модели таким образом, чтобы на выходе ИНС генерировался вектор значений, совпадающий с результатами примеров обучающей выборки. Изменение параметров нейросетевой модели может выполняться разными способами в соответствии с различными алгоритмами обучения. Парадигма обучения определяется доступностью необходимой информации. Выделяют три парадигмы: • обучение с учителем (контролируемое); • обучение без учителя (неконтролируемое); • смешанное обучение. При обучении с учителем все примеры обучающей выборки содержат правильные ответы (выходы), соответствующие исходным данным (входам). В процессе контролируемого обучения си-наптические веса настраиваются так, чтобы сеть порождала ответы, наиболее близкие к правильным. Обучение без учителя используется, когда не для всех примеров обучающей выборки известны правильные ответы. В этом случае предпринимаются попытки определения внутренней структуры поступающих в сеть данных с целью распределить образцы по категориям (модели Кохонена). При смешанном обучении часть весов определяется посредством обучения с учителем, а другая часть получается с помощью алгоритмов самообучения. Обучение по примерам характеризуется тремя основными свойствами: емкостью, сложностью образцов и вычислительной сложностью. Емкость соответствует количеству образцов, которые может запомнить сеть. Сложность образцов определяет способности нейронной сети к обучению. В частности, при обучении ИНС могут возникать состояния «перетренировки», в которых сеть хорошо функционирует на примерах обучающей выборки, но не справляется с новыми примерами, утрачивая способность обучаться. Рассмотрим известные правила обучения ИНС. Правило коррекции по ошибке. Процесс обучения ИНС состоит в коррекции исходных значений весовых коэффициентов межнейронных связей, которые обычно задаются случайным образом. При вводе входных данных запоминаемого примера (стимула) появляется реакция, которая передается от одного слоя нейронов к другому, достигая последнего слоя, где вычисляется результат. Разность между известным значением результата и реакцией сети соответствует величине ошибки, которая может использоваться для корректировки весов межнейронных связей. Корректировка заключается в небольшом (обычно менее 1%) увеличении синаптического веса тех связей, которые усиливают правильные реакции, и уменьшении тех, которые способствуют ошибочным. Это простейшее правило контролируемого обучения (дельта-правило) используется в однослойных сетях с одним уровнем настраиваемых связей между множеством входов и множеством выходов. При этом на каждом
Оптимальные значения весов межнейронных соединений можно определить путем минимизации среднеквадратичной ошибки с использованием детерминированных или псевдослучайных алгоритмов поиска экстремума в пространстве весовых коэффициентов. При этом возникает традиционная проблема оптимизации, связанная с попаданием в локальный минимум. Правило Хебба. Оно базируется на следующем нейрофизиологическом наблюдении: если нейроны по обе стороны синапса активизируются одновременно и регулярно, то сила их синапти-ческой связи возрастает. При этом изменение веса каждой межнейронной связи зависит только от активности нейронов, образующих синапс. Это существенно упрощает реализацию алгоритмов обучения. Обучение методом соревнования. В отличие от правила Хебба, где множество выходных нейронов может возбуждаться одновременно, в данном случае выходные нейроны соревнуются (конкурируют) между собой за активизацию. В процессе соревновательного обучения осуществляется модификация весов связей выигравшего нейрона и нейронов, расположенных в его окрестности («победитель забирает все»). Метод обратного распространения ошибки. Он является обобщением процедуры обучения простого перцептрона с использованием дельта-правила на многослойные сети. В данном методе необходимо располагать обучающей выборкой, содержащей «правильные ответы», т.е. выборка должна включать множество пар образцов входных и выходных данных, между которыми нужно установить соответствие. Перед началом обучения межнейронным связям присваиваются небольшие случайные значения. Каждый шаг обучающей процедуры состоит из двух фаз. Во время первой фазы входные элементы сети устанавливаются в заданное состояние. Входные сигналы распространяются по сети, порождая некоторый выходной вектор. Для работы алгоритма требуется, чтобы характеристика вход-выход нейроподобных элементов была неубывающей и имела ограниченную производную. Обычно для этого используют сигмоидальные функции. Полученный выходной вектор сравнивается с требуемым (правильным). Если они совпадают, то весовые коэффициенты связей не изменяются. В противном случае вычисляется разница между фактическими и требуемыми выходными значениями, которая передается последовательно от выходного слоя к входному. Модификация весов производится после предъявления каждой пары вход-выход. Однако если коэффициент Обучение продолжается до тех пор, пока ошибка не уменьшится до заданной величины. Эмпирические результаты свидетельствуют о том, что при малых значениях Алгоритм обратного распространения ошибки используется также для обучения сетей с обратными связями. При этом используется эквивалентность многослойной сети с прямыми связями и синхронной сети с обратными связями на ограниченном интервале времени (слой соответствует такту времени). В настоящее время предложены алгоритмы обучения, более привлекательные в смысле биологической аналогии. Примером является алгоритм рециркуляции для сетей, в которых скрытые блоки соединены с входными. При обучении веса связей перестраиваются таким образом, чтобы минимизировать частоту смены активности каждого блока. Таким образом, обученная сеть имеет стабильные состояния и может функционировать в режиме ассоциативной памяти.
![]() |