бесплатно рефераты

бесплатно рефераты

 
 
бесплатно рефераты бесплатно рефераты

Меню

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

Существуют различные модели нейронных сетей, основанных на теории адаптивного резонанса. В общем случае архитектура таких сетей представлена на рис. 5.16. Она состоит из двух слоев, которые соединены между собой прямыми и обратными синаптическими связями. Весовой вектор W характеризует прямые синаптические связи, а вектор V - обратные синаптические связи (рис. 5.16).

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

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

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

4.2.4 Гибридные нейронные сети

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

Нейронные сети встречного распространения

Нейронные сети встречного распространения (Counterpropagation networks) были предложены в 1987 г. Р. Хечт-Нильсоном (Hecht-Nielsen). Они являются дальнейшим расширением нейронных сетей Кохонена и предназначены для аппроксимации функций. В отличие от сети Кохонена, которая разбивает входное n- мерное пространство на разные области, сеть встречного распространения ставит в соответствие каждой области числовое значение аппроксимируемой функции. Она характеризуется сочетанием двух подходов к обучению: с учителем и без учителя. Существуют различные варианты нейронных сетей встречного распространения, которые используют разные методы аппроксимации функций.

Нейронные сети с радиально-базисной функцией

Нейронные сети с радиально-базисной функцией (Radial Basis Function Network) являются дальнейшим развитием сетей встречного распространения. Они были предложены в 1989 г. и предназначены для решения задач распознавания образов, прогнозирования, сжатия данных и аппроксимации функций. Нейроны входного слоя выполняют распределительные функции. Промежуточный слой состоит из нейронов Кохонена. Каждый элемент скрытого слоя использует в качестве активационной функции радиальную базисную функцию типа гауссовой, а в качестве выходного слоя используются нейронные элементы с линейной функцией активации.

4.3 ОБУЧЕНИЕ НЕЙРОННЫХ СЕТЕЙ

4.3.1 Структура сети

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

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

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

где -- число нейронных элементов в слое .

Другой способ - случайным образом инициализировать весовые коэффициенты в диапазоне [-0,05; 0,05] или [-0,1; 0,1]. При этом пороговые значения нейронных элементов устанавливаются в начальный момент времени в единичные значения.

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

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

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

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

число нейронных элементов в промежуточном слое должно быть меньше числа тренировочных образцов;

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

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

4.3.2 Алгоритмы обучения

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

Известны четыре основных типа правил обучения: коррекция по ошибке, машина Больцмана, правило Хебба и обучение методом соревнования.

Правило коррекции по ошибке

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

Обучение Больцмана

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

Правило Хебба

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

Обучение методом соревнования

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

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

4.3.2 Алгоритм обратного распространения ошибки

Математические основы алгоритма

Примерно в 1974 году Поль Дж. Вербос изобрел значительно более эффективную процедуру для вычисления EW, когда работал над своей докторской диссертацией в Гарвардском университете. Процедура, известная теперь как алгоритм обратного распространения (back propagation algorithm), стала одним из наиболее важных инструментов в обучении нейронных сетей.

Алгоритм обратного распространением проще всего понять, когда все элементы сети линейны. Алгоритм вычисляет каждую EW, сначала вычисляя EA - скорость, с которой изменяется ошибка при изменении уровня активности элемента. Для выходных элементов EA является просто разностью между действительным и желаемым выходом. Чтобы вычислить EA для скрытого элемента в слое, непосредственно предшествующем выходному слою, мы сначала идентифицируем все веса между этим скрытым элементом и выходными элементами, с которыми соединен данный скрытый элемент. Затем мы умножаем эти веса на величины EA для этих выходных элементов и складываем полученные произведения. Эта сумма и равна EA для данного скрытого элемента. Вычислив EA для всех элементов скрытого слоя, прилегающего к выходному, мы можем аналогичным образом рассчитать EA и для других слоев, перемещаясь в направлении, обратном тому направлению, в котором активность нейронов распространяется по сети. Отсюда и название алгоритма обратного прослеживания (или обратного распространения). После того как значение EA для элемента вычислено, подсчитать EW для каждой входной связи элемента уже несложно. Величина EW является произведением EA и активности во входной цепи.

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

Чтобы реализовать этот алгоритм, мы сначала должны дать математическое описание нейронной сети. Рассмотрим нейронную сеть, состоящую из четырех слоев (рис. 5.17). Обозначим слои нейронных элементов от входа к выходу соответственно через . Тогда выходное значение -го нейрона последнего слоя:

где - взвешенная сумма -го нейрона выходного слоя; - выходное значение -го нейрона предпоследнего слоя; - весовой коэффициент -го нейрона выходного слоя; - порог -го нейрона выходного слоя.

Аналогичным образом выходное значение -го нейрона предпоследнего слоя:

Соответственно для -го слоя:

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

где - среднеквадратичная ошибка нейронной сети для одного набора значений входов.

Эта среднеквадратичная ошибка определяется по формуле:

где - эталонное выходное значение -го нейрона.

Ошибка -го нейрона выходного слоя:

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

где и - выходное значение -го и -го нейрона соответственно; - взвешенная сумма -го нейрона.

Принимая во внимание:

получаем, что для любого скрытого слоя i ошибка i-го нейронного элемента определяется рекурсивным образом через ошибки нейронов следующего слоя j по следующей формуле:

где m - число нейронов следующего слоя по отношению к слою i.

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

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

где - скорость обучения.

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

Недостатки алгоритма обратного распространения ошибки

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

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

медленную сходимость градиентного метода с постоянным шагом обучения;

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

невозможность определения точек локального и глобального минимумов, так как градиентный метод их не различает;

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

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

Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11