
- •Искусственный интеллект. Основные направления и этапы развития.
- •Структура мозга. Уровни моделирования. Основные элементы моделей.
- •Виды функций активации
- •Классификация нейронных сетей
- •Применение нейронных сетей
- •Методика решения формализуемых задач в нейросетевом базисе
- •Настройка нейронной сети на решение прикладных задач
- •Обучение нс Основные понятия
- •Основные алгоритмы обучения нс без обратных связей
- •Персептронные алгоритмы обучения Алгоритм обучения по правилу Хебба
- •Алгоритм обучения Розенблатта
- •Процедура Уидроу-Хоффа
- •Обучение многослойной нейронной сети без обратных связей Математическая постановка задачи обучения
- •Алгоритм обратного распространения ошибки
- •Генетические алгоритмы оптимизации
- •Суть генетического алгоритма
- •Методы формирования популяции
- •Иллюстрация работы генетического алгоритма
- •Особенности реализации генетических алгоритмов
- •Модификация основных параметров га
- •Мобильные га
- •Динамическое изменение параметров в процессе выполнения га
- •Разновидности га
- •Применение генетического алгоритма к обучению многослойного персептрона
- •Рекуррентные и рециркуляционные сети
- •Сеть Хопфилда
- •Применение сети Хопфилда к решению задач комбинаторной оптимизации
- •Сеть Хемминга
- •Самоорганизующиеся нейронные сети Самоорганизация в нс
- •Конкурентное обучение
- •Сеть Кохонена
- •Алгоритмы кластеризации
- •Пороговый алгоритм
- •Алгоритм максимального расстояния
- •Алгоритм внутригруппового среднего (метод k-средних, k-means clustering, c-means clustering)
- •Алгоритм нечётких k-средних (fuzzy c-means clustering)
- •Алгоритм состязания процедур соединения и разделения.
- •Сети адаптивного резонанса
- •Основы адаптивного резонанса
- •Архитектура art
- •Комбинированные нс
- •Иерархический классификатор
- •Нейронные сети с функциональными связями
- •Решающие деревья
- •Методы проектирования нейросетевых архитектур для решения прикладных задач
- •Выбор топологии нс для решения задач нейроуправления
- •Практическое применение нс Управление движением робота по заданной траектории
- •Обучение и формирование обучающей выборки для управления мобильным роботом
- •Тестирование робота
- •Автономное управление мобильным роботом
Комбинированные нс
Комбинированные нейронные сети объединяют возможности разных типов НС.
Одной из наиболее популярных комбинированных сетей, использующихся на практике, является сеть встречного распространения CPN (Counter Propagation Network), первым слоем которой является сеть Кохонена, вторым – сеть Гроссберга.
Сеть CPN была предложена Р. Хехт-Нильсеном в 1987 году.
Слой Гроссберга представляет собой конфигурацию входных и выходных звёзд Гроссберга.
Нейрон в форме входной звезды имеет n
входов, которым соответствуют весовые
коэффициенты W=
,
и один выход Y, являющийся взвешенной
суммой входов. Входная звезда обучается
выдавать сигнал на выходе всякий раз,
когда на входы поступает определенный
вектор.
Подстройка весовых коэффициентов проводится по следующей формуле:
,
где
– весовой вектор i-той входной
звезды на t-м такте
обучения;
– входной вектор; μ – скорость
обучения. μ имеет начальное значение
в пределах 0,1…0,2 и постепенно уменьшается
в процессе обучения.
Выходная звезда Гроссберга выполняет
противоположную функцию – при поступлении
сигнала на вход выдается определенный
вектор. Нейрон этого типа имеет один
вход и m выходов с весами W=
,
которые подстраиваются в соответствии
с формулой:
,
где
– весовой вектор i-той выходной
звезды на t-м такте
обучения;
– выходной вектор; α – скорость
обучения. Рекомендуется начать обучение
со значения α в пределах единицы,
постепенно уменьшая до значений, близких
к нулю.
Обучение CPN состоит из двух фаз:
Обучение слоя Кохонена.
Используется конкурентное обучение с
выявлением нейрона победителя на каждом
шаге обучения. В качестве метрики
используется евклидово расстояние:
.
Выходное значение нейронов в слое Кохонена:
.
Обучение слоя Гроссберга.
Осуществляется обучение с учителем. Функция активации нейронов в слое Гроссберга является линейной.
Выходное значение нейронов в слое Гроссбнрга:
,
где m – число выходных нейронов.
– весовые коэффициенты связи выходного
нейрона слоя Кохонена и i-того входа
нейрона слоя Гроссберга. Таким образом,
сеть CPN каждому i-тому кластеру
промежуточного слоя ставит в соответствии
весовой коэффициент
.
Это может быть использовано для
выполнения с помощью НС аппроксимации
функции.
Пример.
Карта Кохонена (плоскость xy)
соответствует разбиению входного
пространства на кластеры. Тогда
аппроксимации функции будет соответствовать
высота z:
.
Для реализации нелинейной аппроксимации
функции в качестве функции активации
нейронов выходного слоя необходимо
брать нелинейную функцию (например,
сигмоидальную).
Алгоритм обучения:
Для обучения нейронов слоя Кохонена используется конкурентное обучение:
,
где k – номер нейрона победителя;
i – номер входного вектора.
Для выходного слоя используется алгоритм обучения с учителем:
Необходимо найти оптимальные весовые
коэффициенты связи выходного нейрона
слоя Кохонена и i-того входа нейрона
слоя Гроссберга
так, чтобы сеть наилучшим образом
аппроксимировала воспроизводимую
функцию
.
Для этого используется алгоритм BP
и минимизируется ошибка обучения
методом наименьших квадратов:
,
где α – скорость обучения:
;
– эталонное значение функции для
данного входного вектора.
Ошибка обучения вычисляется не для одного вектора, а для ряда векторов, которые входят в кластер, соответствующий определенному нейрону.
Алгоритм обучения сводится к следующей последовательности действий:
Инициализируем весовые коэффициенты сети случайными числами из интервала .
(t – номер итерации).
Для каждого входного вектора
:
вычисляем норму вектора
;
определяем нейрон победитель
;
модифицируем весовые коэффициенты нейрона победителя (возможно с учётом эффекта латерального торможения):
модифицируем весовые коэффициенты k-того нейрона последнего слоя
с учётом эталонного значения функции в соответствии с алгоритмом BP:
.
, и переходим к п. 3. Останов, если выполнено заданное число итераций.