Курс лекций "Организация интеллектуальных вычислений"
Перспективные исследования и разработки интеллектуальных систем
Технологии интеллектуальных вычислений - состояние проблемы, новые решения
Основные модели и методы технологий интеллектуальных вычислений
Процесс нахождения нового знания
Исскуственные нейронные сети
Детальное описание компонентов и работи нейронных сетей
Классификация известных нейросетей по основним категориям применения
Нейросети в задачах отображения
Современные направления развития нейрокомпьютерных технологий
Популярно про генетические алгоритмы
Нечеткая логика

 

Тема 7. Классификация известных нейросетей по основным категориям применения

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

Перцептрон Розенблатта

Первой моделью нейросетей считают перцептрон Розенблатта. Теория перцептронов является основой для многих типов искусственных нейросетей прямого распространения и классикой для изучения.

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

+1 - входной сигнал принадлежит классу A,
-1 - входной сигнал принадлежит классу B.

На рис. 1 показана схема нейронов, используемых в однослойных перцептронах, график передаточной функции и схема решающих областей, созданных в многомерном пространстве входных сигналов. Решающие области определяют, какие входные образы будут отнесены к классу A, какие - к классу B. Перцептрон, состоящий из одного нейрона, формирует две решающих области, разделенных гиперплоскостью. На рисунке показанный случай, когда размерность входного сигнала равняется 2. При этом разделяющая поверхность представляет собой прямую линию на плоскости. Уравнение, задающее разделяющую прямую, зависит от значений синаптических весов и сдвига.

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

Алгоритм обучения однослойного перцептрона

  1. Инициализация синаптических весов и сдвига: синаптические весы принимают небольшие случайные значения.
  2. Предъявление сети нового входного и желаемого выходного сигналов:
    Входной сигнал x=(x1, x2, ..., xn) предъявляется нейрону вместе с желаемым выходным сигналом d.
  3. Вычисление выходного сигнала нейрона:
  4. Настраивание значений весов:
  5. wi(t+1)=wi (t)+r[d(t)-y(t)]xi (t), i=1, ..., N

    где wі(t) - - вес связи от і-го элемента входного сигнала к нейрону в момент времени t, r - скорость обучения (меньше 1); d(t) - желаемый выходной сигнал.

    Если сеть принимает правильное решение, синаптические весы не модифицируются.

  6. Переход к шагу 2.

Тип входных сигналов: бинарные или аналоговые.

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

Области применения: распознавание образов, классификация.

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

Преимущества. Программные и аппаратные реализации модели очень просты. Простой и быстрый алгоритм обучения.

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

Рис. 2. Перцептрон с несколькими выходами

Нейросеть обратного распространение погрешности (Back Propagation)

Архитектура FeedForward BackPropagation была разработана в начале 1970-х лет несколькими независимыми авторами: Вербор (Werbor); Паркер (Parker); Румельгарт (Rumelhart), Хинтон (Hinton) и Вильямс (Williams). Сейчас, парадигма ВackРropagation наиболее популярная, эффективная и легкая модель обучения для сложных, многослойных сетей. Она используется в разных типах приложений и породила большой класс нейросетей с разными структурами и методами обучения.

Типичная сеть ВackРropagation имеет входной слой, выходной слой и по крайней мере один скрытый слой. Теоретически, ограничений относительно числа скрытых слоев не существует, но практически применяют один или два.

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

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

  1. Количество входов и выходов сети определяются количеством входных и выходных параметров исследуемого объекта, явления, процесса, и т.п.. В отличие от внешних слоев, число нейронов скрытого слоя выбирается эмпирическим путем. В большинстве случаев достаточное количество нейронов составляет nск Ј nвх + nвых, где nвх, nвых - количество нейронов во входном и, соответственно, в выходном слоях.
  2. Если сложность в отношении между полученными и желаемыми данными на выходе увеличивается, количество нейронов скрытого слоя должна также увеличиться.
  3. Если моделируемый процесс может разделяться на много этапов, нужен дополнительный скрытый слой (слои). Если процесс не разделяется на этапы, тогда дополнительные слои могут допустить перезапоминание и, соответственно, неверное общее решение.

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

Для лучшего понимания алгоритма обучения сети Back Propagation нужно разъяснить понятия поверхности состояний. Каждому значению синаптических весов и порогов сети (свободных параметров модели количеством N) отвечает одно измерение в многомерном пространстве. N+1-ое измерение отвечает погрешности сети. Для разных соединений весов соответствующую погрешность сети можно изобразить точкой в N+1-измеримом пространстве, все эти точки образовывают некоторую поверхность - поверхность состояний. Цель обучения нейросети состоит в нахождении на многомерной поверхности наиболее низкой точки.

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

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

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

Алгоритм обучение сети

  1. Инициализация сети: весовые коэффициенты и сдвиги сети принимают малые случайные значения.
  2. 2. Определение элемента обучающего множества: (вход - выход). Входы (x1, x2... xN), должны различаться для всех примеров обучающего множества.
  3. Вычисление выходного сигнала:
  4. yim= f(Sjm)

    im=1, 2, ..., Nm, m=1, 2, ..., L

    где S - выход сумматора, w - вес связи, y - выход нейрона, b - смещение, i - номер нейрона, N - число нейронов в слое, m - номер слоя, L - число слоев, f- передаточная функцяя.

  5. Настраивание синаптических весов:
  6. wij(t+1)=wij(t)+rgjx'і

    где wij - вес от нейрона i или от элемента входного сигнала i к нейрону j в момент времени t, xi' - выход нейрона i, r - скорость обучения, gj - значение погрешности для нейрона j.

    Если нейрон с номером j принадлежит последнему слою, тогда

    gj=yj(1-yj)(dj-yj)

    где dj - желаемый выход нейрона j, yj - поточный выход нейрона j.

    Если нейрон с номером j принадлежит одному з слоев с первого по предпоследний, тогда

    где k пробегает все нейроны слоя с номером на единицу больше, чем у того, которому принадлежит нейрон j.

    Внешние сдвиги нейронов b настраиваются аналогичным образом.

Тип входных сигналов: целые или действительные.

Тип выходных сигналов: действительные из интервала, заданного передаточной функцией нейронов.

Тип передаточной функции: сигмоидальная. В нейронных сетях применяются несколько вариантов сигмоидальных передаточных функций.

Функция Ферми (экспонентная сигмоида):

де s - выход сумматора нейрона, a - некоторый параметр.

Рациональная сигмоида:

Гиперболический тангенс:

Упомянутые функции относятся к однопараметрическим. Значение функции зависит от аргумента и одного параметра. Также используются многопараметрические передаточные функции, например:

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

Области применения. Распознавание образов, классификация, прогнозирование.

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

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

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

Delta Bar Delta

Delta bar Delta была разработана Робертом Джекобсом (Robert Jacobs), для улучшения оценки обучения стандартных сетей FeedForward и является модификацией сети BackPropagation

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

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

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

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

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

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

Недостатки

  • Даже небольшое линейное увеличение коэффициента может привести к значительному росту скорости обучения, которое вызывает прыжки в пространстве весов.
  • Геометрическое уменьшение коэффициента иногда бывает недостаточно быстрым.

Extended Delta Bar Delta

Эли Минай (Ali Minai) и Рон Вильямс (Ron Williams) разработали алгоритм Eextended Delta bar Delta, как естественное продолжение работы Джекобса. В алгоритм встраивается память с особенностью восстановления. После каждого представления обучающих данных эпохи, оценивается накопленная погрешность. Если погрешность меньше за предыдущую минимальную погрешность, весы сохраняются в памяти, как наилучшие на это время. Параметр допуска руководит фазой восстановления. В случае, если текущая погрешность превышает минимальную предыдущую погрешность, модифицированную параметром допуска, все значения весов соединений стохастично возвращаются к сохраненному в памяти наилучшего множества весов.

Направленный случайный поиск

Сеть направленного случайного поиска (Directed Random Search), использует стандартную архитектуру FeedForward, которая не базируется на алгоритме BackProragation и корректирует весы случайным образом. Для обеспечения порядка в таком процессе, к случайному шагу прибавляется компонента направления, гарантирущая направление весов к предварительно успешному направлению поиска. Влияние на нейроны осуществляется в отдельности.

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

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

Существует четыре ключевых компонента сети со случайным поиском. Это - случайный шаг, шаг реверсирования, направленная компонента и самокорректирующее отличие.

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

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

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

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

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

Недостатки. Количество весов соединений накладывает практические ограничения на размер задачи. Если сеть имеет больше чем 200 весов соединений, направленный случайный поиск может требовать увеличения времени обучения, но продуцировать приемлемые решения.

Нейронная сеть высшего порядка или функционально - связанная нейронная сеть

Функционально-связанные сети были разработаны Йох-Хан Пао (Yoh-Han Pao) и детально описанны в его книге "Адаптивное распознавание образов и нейронные сети" (Adaptive Pattern Recognition and Neural Networks). Нейросеть расширяет стандартную архитектуру FeedForward BackPropagation модификацией узлов на входном слое. Входы комбинируются математическим путем с помощью функций высшего порядка, таких как квадраты, кубы или синусы и расширяют восприятие сетью заданной проблемы. Из названий этих функций, высшего порядка или функционально-связанных входов и вытекает название нейросетей.

Существует два основных способа добавления входных узлов. В первом, в модель могут добавляться перекрестные произведения входных элементов, это называется входным произведением или тензорной моделью, где каждая компонента входного образа перемножается со всеми компонентами входного вектора. Например, для сети ВackРropagation с тремя входами (A, B и C), перекрестными произведениями будут AA, BB, CC, AB, AC и BC (элементы второго порядка). Также могут прибавляться элементы третьего порядка, такие как ABC.

Вторым методом для добавления входных узлов является функциональное расширение базовых входов. В случае модели с входами A, B и C, ее можно превратить в модель нейронной сети высшего порядка со входами: A, B, C, SIN(A), COS(B), LOG(C), MAX(A,B,C) и др. Полный эффект должна обеспечить сеть с объединением модели тензорного и функционального расширения.

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

Сеть Кохонена

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

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

Сеть Кохонена имеет всего два слоя: входной и выходной, ее называют самоорганизованной картой. Элементы карты располагаются в некотором пространстве - как правило двумерном.

Рис. 4. Сеть Кохонена

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

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

Для реализации алгоритма необходимо определить меру соседства нейронов (окрестность нейрона-победителя). На рис. 6 показаны зоны топологического соседства нейронов на карте признаков в разные моменты времени. NEj(t) - множество нейронов, считающиеся соседями нейрона j в момент времени t. Зоны соседства уменьшаются с течением времени.

 

Рис. 5. Зоны топологического соседства на карте признаков в разные моменты времени

Алгоритм функціонування мережі Кохонена

  1. Инициализация сети. Весовым коэффициентам сети даются небольшие случайные значения. Общее число синаптических весов - M*N (см. рис. 4). Начальная зона соседства показана на рис. 5.
  2. Предъявление сети нового входного сигнала.
  3. Вычисление расстояния до всех нейронов сети:
  4. Расстояния dj от входного сигнала до каждого нейрона j определяются по формуле:

    где xi - i-ый элемент входного сигнала в момент времени t, wij(t) - вес связи от i-го элемента входного сигнала к нейрону j в момент времениt.

  5. Выбор нейрона с наименьшим расстоянием:
  6. Выбирается нейрон-победитель j*, для которого расстояние dj самое малое.

  7. Настраивание весов нейрона j* и его соседей:
  8. Делается настраивание весов для нейрона j* и всех нейронов из его окрестности NE. Новые значения весов:

    wij(t+1)=wij(t)+r(t)(xi(t)-wij(t))

    где r(t) - скорость обучения, которая уменьшается с течением времени (положительное число, меньше единицы).

  9. Возвращение к шагу 2.

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

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

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

После того, как сеть научена распознаванию структуры данных, ее можно использовать как средство визуализации при анализе данных.

Области применения. Кластерный анализ, распознавание образов, классификация.

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

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

Модификации. Одна из модификаций состоит в том, что к сети Кохонена прибавляется сеть MAXNET, что определяет нейрон с наименьшим расстоянием ко входному сигналу.

Квантование обучающего вектора (Learning VectorQuantization)

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

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

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

Рис. 6. Пример сети с квантованием обучающего вектора

В режиме обучения, контролируемая сеть использует слой Кохонена, где вычисляется расстояние от обучающего вектора до любого нейрона и ближайший нейрон объявляется победителем. Существует лишь один победитель на весь слой. Победителю разрешено возбуждать лишь один выходной нейрон, объявляя класс или кластер к которому принадлежит входной вектор. Если нейрон-победитель находится в ожидаемом классе обучающего вектора, его весы усиливаются в направлении обучающего вектора. Если нейрон-победитель не находится в классе обучающего вектора, весы соединений уменьшаются. Эта последняя операция упоминается как отталкивание (repulsion). Во время обучения отдельные нейроны, которые приписаны к частичному классу мигрируют к области, связанной с их специфическим классом.

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

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

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

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

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

Далее...