страница 1 ... страница 2 | страница 3 страница 4 страница 5 ... страница 13 | страница 14
КЛАССИФИКАЦИЯ НЕЙРОННЫХ СЕТЕЙ
В зависимости от различных характеристик нейронные сети можно классифицировать по-разному [2]:
1. По типу входной информации различают:
а) аналоговые нейронные сети, использующие в качестве исходных данных действительные числа;
б) дискретные сети, оперирующие с данными, представленными в двоичной системе счисления.
2. По характеру обучения различают сети:
а) с учителем, когда известно выходное пространство решений нейронной сети;
б) без учителя, когда сеть формирует выходное пространство решений только на основе векторов входа. Такие сети называются самоорганизующимися.
3. По характеру настройки связей различают:
а) сети с фиксированными связями, когда весовые коэффициенты сети выбираются сразу из условия задачи;
б) сети с динамическими связями, для которых настройка связей осуществляется в процессе обучения.
4. По направлению информационных потоков различают:
а) сети прямой передачи сигнала (feed-forward), в которых информация распространяется от слоя к слою (рис. 17):
Рис. 17. Схема сети прямой передачи сигнала,
W – матрица весов, F – оператор нелинейного преобразования сети
б) сети с обратным распространением информации (feed-back), характеризующиеся как прямым, так и обратным распространением данных между слоями сети. К таким сетям относятся релаксационные и многослойные сети, в которых процесс релаксации отсутствует.
Релаксационные сети – это сети, в которых обработка данных осуществляется до тех пор, пока не перестанут изменяться выходные значения сети (при заданной точности), это состояние называют состоянием равновесия. К таким сетям относятся сети Хопфилда, двунаправленная ассоциативная память. Сеть Хопфилда характеризуется единичной обратной связью (рис. 18).
Рис. 18. Схема сети Хопфилда
Двунаправленная ассоциативная память представляется структурой с неединичной обратной связью (рис. 19).
Рис. 19. Схема двунаправленной ассоциативной памяти
Нерелаксационные многослойные сети базируются на многослойных персептронах, а в основе их обучения лежит метод обратного распространения ошибки. Они делятся на рекуррентные (рис. 20) и рециркуляционные сети (рис. 21).
К рециркуляционным сетям относятся сети Елмана, применяемые для обработки временных рядов.
Рис. 20. Схема рекуррентной сети
Рис. 21. Схема рециркуляционной нейронной сети
В рекуррентных нейронных сетях выходные значения определяются в зависимости как от входных, так и предшествующих выходных значений сети. Рециркуляционные нейронные сети характеризуются как прямым, так и обратным преобразованием информации, а обучение осуществляется без учителя (сети, самоорганизующиеся в процессе работы). К самоорганизующимся в процессе работы сетям относятся также сети встречного распространения.
5. По методам обучения различают:
а) сети, обучающиеся по методу обратного распространения ошибки;
б) сети с конкурентным обучением;
в) сети, самоорганизующиеся в процессе работы.
Рассмотрим алгоритмы обучения, а также особенности организации и функционирования многослойных нейронных сетей.
2. АЛГОРИТМЫ ОБУЧЕНИЯ НЕЙРОННЫХ СЕТЕЙ
Адаптация и самоорганизация искусственных нейронных сетей достигается в процессе их обучения. Целью обучения нейронных сетей является такая подстройка их весов, которая обеспечивала бы для некоторого множества входов требуемое множество выходов.
При решении прикладных задач с помощью нейронных сетей необходимо собрать представительный объем данных, для того чтобы обучить нейронную сеть решению таких задач. Обучающий набор данных – это набор наблюдений, содержащих признаки изучаемого объекта. Первоначальный выбор признаков осуществляется на основе имеющегося опыта, с учетом мнения экспертов. Вопрос о том, сколько необходимо иметь наблюдений для обучения сети, часто оказывается непростым. Известен ряд эвристических правил, которые устанавливают связь между количеством используемых для обучения наблюдений и размерами сети. Простейшее из них гласит, что количество наблюдений должно быть в 10 раз больше числа связей в сети. Процесс обучения – это процесс определения параметров модели процесса или явления, реализуемого нейронной сетью. Ошибка обучения для конкретной конфигурации сети определяется после прогона через сеть всех имеющихся наблюдений и сравнения выходных значений с целевыми значениями в случае обучения с учителем. Соответствующие разности позволяют сформировать так называемую функцию ошибок. Если ошибка сети, выходной слой которой имеет n нейронов, есть разность между реальным и желаемым сигналами на выходе i-го нейрона, то в качестве функций ошибок могут быть использованы следующие функции:
-
сумма квадратов ошибок sse = ,
-
средняя квадратичная ошибка mse = ,
-
регулируемая или комбинированная ошибка
msereg = , где - параметр регуляции,
-
средняя абсолютная ошибка mae = .
При моделировании нейронных сетей с линейными функциями активации нейронов можно построить алгоритм, гарантирующий достижение абсолютного минимума ошибки обучения. Для нейронных сетей с нелинейными функциями активации в общем случае нельзя гарантировать достижение глобального минимума функции ошибки. Поверхность функции ошибок определяется как совокупность точек-значений ошибок в N+1-мерном пространстве всевозможных сочетаний весов и смещений с общим числом N. Цель обучения при геометрическом анализе или изучении поверхности ошибок состоит в том, чтобы найти на ней глобальный минимум. В случае линейной модели сети и минимизации суммы квадратов ошибок поверхность ошибок представляет собой параболоид, имеющий единственную точку минимума. В случае нелинейной модели поверхность ошибок имеет более сложное строение и может иметь локальные минимумы, плоские участки, седловые точки и длинные узкие овраги. Как правило, при обучении такой сети вычисляется градиент функции ошибок в случайно выбранной точке поверхности, а затем эта информация используется для продвижения вниз по склону. Алгоритм продвижения завершается в точке минимума, локального или глобального. По существу алгоритмы обучения нейронных сетей аналогичны алгоритмам поиска глобального экстремума функции многих переменных.
Сети с большим количеством весов позволяют воспроизводить сложные функции, но в этом случае возможно так называемое «переобучение» сети, когда ошибки обучения малы, но полученная модель имеет слабое отношение к истинной зависимости. Нейронная сеть же с небольшим количеством весов может оказаться недостаточно гибкой, чтобы смоделировать имеющуюся зависимость. Для преодоления эффекта переобучения используется механизм контрольной проверки. Часть обучающих наблюдений резервируется как контрольные наблюдения и не используется при обучении сети. Если контрольная ошибка перестает убывать или начинает расти, то это означает, что сеть слишком близко следует исходным данным и обучение следует остановить. В этом случае следует уменьшить количество нейронов или слоев, так как сеть является слишком мощной для решаемой задачи. Если же сеть имеет недостаточную мощность для воспроизведения имеющейся зависимости, явление переобучения, скорее всего, наблюдаться не будет и обе ошибки, обучения и проверки, не достигнут достаточно малого значения.
Способность сети, обученной на некотором множестве данных выдавать правильные результаты для достаточно широкого класса новых данных, в том числе и не представленных при обучении, называется свойством обобщения нейронной сети.
Для настройки параметров нейронных сетей широко используется также процедура адаптации, когда подбираются веса и смещения с использованием произвольных функций их настройки, обеспечивающие соответствие между входами и желаемыми значениями на выходе.
Методы определения экстремума функции нескольких переменных делятся на три категории – методы нулевого, первого и второго порядка:
-
методы нулевого порядка, в которых для нахождения экстремума используется только информация о значениях функции в заданных точках;
-
методы первого порядка, где для нахождения экстремума используется градиент функционала ошибки по настраиваемым параметрам;
-
методы второго порядка, вычисляющие матрицу вторых производных функционала ошибки (матрицу Гессе).
Кроме перечисленных методов можно выделить также стохастические алгоритмы оптимизации и алгоритмы глобальной оптимизации, перебирающие значения аргументов функции ошибки.
В пакете NNT системы MATLAB реализованы два способа адаптации и обучения, последовательный и групповой, в зависимости от того, применяется ли последовательное или групповое представление входов и целевого вектора (массив ячеек cell и массив формата double соответственно).
Названия процедур обучения и адаптации нейроимитатора NNT системы MATLAB приводятся по мере рассмотрения соответствующих правил обучения нейронных сетей.
страница 1 ... страница 2 | страница 3 страница 4 страница 5 ... страница 13 | страница 14
|