Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КТ в науке-учпос.doc
Скачиваний:
63
Добавлен:
15.08.2019
Размер:
1.61 Mб
Скачать

2.3.3 Нейронные сети.

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

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

Понятие нейронной сети

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

Работа формального нейрона (рис.2) может быть описана уравнениями:

Yj = F(netjKj), (1)

netj = iwjiXi, (2)

где j- номер нейрона в сети, Xi - входные сигналы, Yj – выходной сигнал нейрона, wji – веса синапсов (связей), netj – суммарное входное воздействие на нейрон, Kj – порог нейрона, F( ) – активационная функция.

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

Рис. 2. Схема формального нейрона [24]

Одним из самых привлекательных аспектов использования нейронных сетей заключается в том, что, хотя элементы такой сети имеют очень ограниченные вычислительные возможности, вся сеть в целом, объединяя большое число таких элементов, оказывается способной выполнять сложные задачи. Структура связей обычно определяется в два этапа: сначала разработчик системы указывает, какие элементы должны быть связаны и в каком направлении, а затем в процессе фазы обучения определяются значения соответствующих весовых коэффициентов. Преимущество нейронных сетей заключается в их способности обучаться выполнению задачи на основе тех данных, которые сеть будет получать в процессе реальной работы. Часто единственной целью обучения является проверка того, что сеть действительно сможет научиться решать поставленные перед ней задачи [21].

Если первый этап становления ИНС можно охарактеризовать, как попытку синтезировать из набора сравнительно просто функционирующих нейронов некоторую упорядоченную структуру, способную выполнять сложные нелинейные преобразования «вход-выход», то сейчас, по мере достижения успеха в решении задач первого этапа, исследования перемещаются в область психологии, когнитивных наук. Задача настоящего момента состоит в том, чтобы понять, какие сверхструктуры нейронов и как могут моделировать элементарные акты мыслительной деятельности, а затем воплотить эти принципы в работу систем управления [22].

Благодаря своим способностям к самоорганизации и обучению, ИНС рассматриваются как перспективные средства для интеллектуальных систем. Характерные черты нейронных сетей – параллельность, распределенность, самоорганизация, в то время как обычные компьютеры характеризуются последовательностью, локальностью, работой по алгоритму. «Параллельная архитектура» означает, что обработка информации выполняется несколькими центральными процессорами (ЦП), в то время как в обычных компьютерах, имеющих только один ЦП, информация обрабатывается последовательно, по шагам. Распределенная память означает, что информация хранится по многим адресам, распределенным образом, так что каждый элемент данных представляется шаблоном активности, распределенным по многим вычислительным элементам, и каждый вычислительный элемент участвует в представлении многих различных элементов данных. В обычных компьютерах реализуется локальная память, или локальное представление, в котором используется один вычислительный элемент для каждого элемента данных. На основе распределенной архитектуры представления информация в нейронных сетях может дробиться и обрабатываться по частям. Последнее из характерных свойств нейронных сетей – самоорганизация – называется также способностью к обучению. Это означает, что нейронные сети могут автономно «изучать» статические и динамические свойства управляемого объекта на основе результатов измерений, производившихся в прошлом, а затем действовать таким образом, чтобы принять лучшее решение при неизвестном состоянии внешней среды. Обычные компьютеры должны быть предварительно запрограммированы, чтобы иметь возможность обрабатывать данные. Они не могут работать за пределами решений, задаваемых программой [23].

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

Фактическим началом исследований в области обучения нейроподобных сетей стала разработка Розенблаттом класса простых нейроподобных сетей, названного перцептроном (рис.3). Перцептрон представляет собой целый класс структур, состоящих из обрабатывающих элементов, способных передавать сигналы и изменять веса своих связей [24].

Рис. 3. Многослойный перцептрон [22]

Одно из ведущих направлений дальнейшего исследования нейронных сетей – ассоциативная память. Различают автоассоциативную и гетероассоциативную память. В обоих случаях имеется режим записи и режим воспроизведения. В случае автоассоциативной памяти в режиме записи происходит запоминание набора эталонных образцов, задаваемых векторами Хk, k = 1,2,…,n; а в режиме воспроизведения по искаженному образцу Хj + Х (Хj – один из эталонов, Х – вектор, характеризующий искажение) восстанавливается эталон Хj. В случае гетероассоциативной памяти нейронная сеть при записи запоминает отображение Хk k между векторами Хk и k, k = 1,2, …, n; при воспроизведении предъявляется один из эталонных векторов Хj (возможно, несколько искаженный), и с помощью нейронной сети восстанавливается парный ему вектор j.

Сеть Хопфилда

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

Схема нейросети по Хопфилду (рис.4) состоит из N нейронов, все нейроны связаны со всеми, каждая связь характеризуется своим весом wij, матрица весов предполагается симметричной: wij=wji. Нейроны имеют пороговую активационную функцию, величина порога К равна 0. Состояние нейронной сети характеризуется вектором X=X1,X2,...,XN. Каждый нейрон может находиться в двух состояниях : Xi=0 – покой, Xi=1 – возбужденное состояние, i – номер нейрона.

Энергия нейронной сети определяется как,

E = 0,5ijwjiXiXj, ij. (3)

Для произвольного момента времени рассмотрим нейрон, который может менять свое состояние в соответствии с правилом динамики нейронной сети:

Xj(t+1)=1 при netj>0 и Xj(t+1)=0 при netj<0. (4)

Рис. 4. Схема нейронной сети по Хопфилду

Так как wji=wij, то изменение энергии, обусловленное текущим изменением состояния нейрона, равно:

E=XjiwjiXi= Xjnetj,ij. (5)

В силу (4) при работе нейронной сети имеем: Xj≥0 при netj>0 и Xj≤0 при netj<0, следовательно, всегда E≤0. Таким образом, алгоритм изменения состояний нейронов приводит к монотонному уменьшению энергии. Состояния уменьшаются до тех пор, пока не будет достигнут локальный минимум энергии. Эталоны соответствуют минимумам энергии Е.

Метод обратного распространения ошибок

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

F(a)=1/[1+exp(-a)]. (6)

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

1.Выбрать очередную пару векторов Xk и Yk из обучающей выборки.

2. Вычислить выход сети Y и определить ошибку, как разность между Y и Yk.

3. Подкорректировать веса сети wji так, чтобы минимизировать ошибку.

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

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

Проблемы развития ИНС

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

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

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

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

Нейронное управление

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

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

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

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

  4. Схема управления с эмулятором и контроллером, или схема обратного распространения во времени. Максимизируется некоторая мера полезности или эффективности во времени, однако при этом эффективный учет действия шумов не обеспечивается, и действительное обучение в реальном времени не достигается (из-за медленной сходимости процесса).

  5. Адаптивно-критическая схема. Эта схема приближена к динамическому программированию, т.е. к реализации оптимального управления во времени в условиях шумов и нелинейностей.

В последнее время известны исследования посвященные разработке математических и системотехнических основ нетрадиционных нейропроцессорных сетей (НПС), которые ориентированы на эффективное использование в системах искусственного интеллекта адаптивных автономных роботов. В отличие от известных искусственных нейросетей, рассматриваемые НПС представляют собой новый класс проблемно-ориентированных многопроцессорных вычислительных систем (МВС), в качестве процессорных элементов которых используются новые цифровые нейропроцессоры (ЦНП), структурно реализующие не произвольно выбранный набор операций, а только те из них, которые необходимы для описания информационной деятельности биологических нейронов. Функциональной единицей НПС служат совокупности ЦНП, образующие цифровые нейропроцессорные ансамбли (ЦНА), а из ансамблей строятся вычислительные, моделирующие и управляющие нейропроцессорные сети. В рамках тех классов задач, на которые они ориентированы, НПС не нуждаются в специальном программировании и позволяют воспроизводить устойчивые самооптимизирующиеся и достаточно точные вычислительные и имитационные процессы [25].

Применение генетических алгоритмов обучения нейронных сетей

Одним из перспективных направлений развития нейроуправления в настоящее время является включение генетических алгоритмов (ГА) в процесс обучения нейронных сетей (рис.5). ГА используется в качестве процедуры для тренировки сети, т.к. применение алгоритма обратного распространения существенно усложняет процедуру тренировки. Генетический же алгоритм настраивает параметры нейроконтроллера не по ошибке в управлении u, а по ошибке в выходе объекта, сравнивая его с выходом эталонной модели. Последняя воплощает в себе наши представления о желаемом поведении объекта, то есть играет приблизительно ту же роль, что и библиотека тренировочных шаблонов в процедуре тренировки [22]. Более того, ГА позволяет настроить нейроконтроллер при подаче на его вход выходной координаты объекта на текущем и предыдущем шагах. Проведенные в этой области исследования доказывают способность комбинации двух новых вычислительных технологий – генетических алгоритмов и искусственных нейронных сетей – самостоятельно решать задачу управления динамическим объектом в рамках эволюционной парадигмы.

Рис. 5. Применение генетического алгоритма для настройки нейроконтроллера

Нечеткие нейросети

Необходимо отметить, что глубинная интеграция нечетких систем и нейросетей связана с разработкой новой архитектуры элементов нейросети. Т.е. необходим переход от классических нейронов к нечетким нейронам. Изменение элемента нейросети для адаптации к нечетким системам может касаться выбора функции активации, реализации операций сложения и умножения, так как в нечеткой логике сложение моделируется любой треугольной конормой (max,a+b-a·b,...), а операция умножения – треугольной нормой (min,a·b,...). Таким образом AND – нейроном называется нейрон, в котором умножение веса на вход моделируется конормой S(w,x), а сложение нормой T(w,x). Например,

Y=(min(max(w1,x1),max(w2,x2))). (7)

OR – нейроном называется нейрон, в котором умножение веса и входа моделируется нормой T(w,x), а сложение взвешенных весов – конормой S(w,y). Например, в общем случае,

Y=S(T(w1,x1),T(w2,x2)). (8)

В качестве функции активации обычно используют функцию:

F(x)=1/(1+exp(b(x-a))). (9)

Нечеткой нейросетью называют нейросеть, которая построена на основе многослойной архитектуры с использованием "AND"-, "OR"- нейронов. Нечеткая нейросеть функционирует стандартным образом на основе четких действительных чисел. Нечеткой является только интерпретация результатов [26].

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

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

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

Исходя из выше сказанного, можно отметить, что одним из способов создания гибридных систем, может стать интеграция нечетких экспертных систем, искусственных нейронных сетей и генетических алгоритмов. Применение экспертных систем позволит значительно ускорить сходимость нейронной сети. Интеллектуальная проблема требует от системы сконструировать решение, действуя избирательно и эффективно в пространстве альтернатив. Экспертная система достигает высокой производительности, используя знания для того, чтобы наилучшим образом использовать свое время. Более того, экспертная система может функционировать в качестве теории обработки информации или модели решения задачи в заданной области, давая ожидаемые ответы в конкретной ситуации, и показывая, как изменятся эти ответы в новых ситуациях. Это позволяет оценить влияние новых стратегий или процедур на решение, добавить новые правила или изменить существующие [28]. При создании гибридной технологии, кроме объединения систем по данным, можно использовать нейровычисления для решения частной задачи нечетких экспертных систем, а именно настройки параметров функции принадлежности. Функции принадлежности можно сформировать двумя способами: методом экспертной оценки и на основе статистики. Гибридные технологии предлагают третий способ: в качестве функции принадлежности выбирается параметризованная функция формы (например, гауссова функция с параметрами b,a), параметры которой настраиваются с помощью нейросетей. Настройка параметров может быть получена в рамках алгоритма обратного распространения ошибки [26]. Применение генетических алгоритмов в гибридных системах обусловлено высокой эффективностью их использования в процедуре тренировки нейронной сети, о чем было упомянуто выше.

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

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

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

Сеть, полученная в результате обучения, выражает закономерности, присутствующие в данных. При таком подходе она оказывается функциональным эквивалентом некоторой модели зависимостей между переменными, подобной тем, которые строятся в традиционном моделировании. Однако, в отличие от традиционных моделей, в случае сетей эти зависимости не могут быть записаны в явном виде, подобно тому как это делается в статистике (например, "А положительно коррелированно с В для наблюдений, у которых величина С мала, a D - велика"). Иногда нейронные сети выдают прогноз очень высокого качества; однако, они представляют собой типичный пример нетеоретического подхода к исследованию (иногда это называют "черным ящиком"). При таком подходе важен исключительно практический результат, а не суть механизмов, лежащих в основе явления.

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

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

Некоторые авторы отмечают тот факт, что нейронные сети используют или, точнее, предполагают использование вычислительных систем с массовым параллелизмом. Например, Haykin (1994, р. 2) определяет нейронную сеть как:

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

Однако, как отмечает Ripley (1996), большинство существующих нейросетевых программ работают на однопроцессорных компьютерах. По его мнению, существенное ускорение работы может быть достигнуто не только за счет разработки программного обеспечения, использующего преимущества многопроцессорных систем, но также путем разработки более эффективных алгоритмов обучения [18,19].