Конспект лекций Белой / Разработка ИИ. Конспект лекции №8. Белая
.docxВведение
Самоорганизующиеся сети (Self-Organizing Maps, SOM) – это тип нейронных сетей, обучающихся без учителя. Их основная задача – кластеризация и визуализация многомерных данных. В отличие от сетей прямого распространения, здесь не требуется размеченная выборка: сеть сама находит скрытые закономерности, группируя похожие входные векторы. Лекция охватывает классическую сеть Кохонена, меры расстояния, проблему «мёртвых нейронов», варианты алгоритмов, а также сравнивает её с сетями Хопфилда и Хемминга, затрагивает рекуррентные сети (RMLP) и прикладные задачи (цветное квантование, экономический анализ).
1. Сеть с самоорганизацией на основе конкуренции (сеть Кохонена)
1.1. Структура и веса
Каждый нейрон имеет вектор весов той же размерности, что и входные данные.
Пусть имеется N нейронов, тогда веса i-го нейрона:
Пояснение: Каждый нейрон представляет собой центр потенциального кластера. В процессе обучения эти центры смещаются так, чтобы лучше представлять входные данные.
1.2. Правило победителя (Winner-Takes-All, WTA)
Для входного
вектора
нейрон-победитель h определяется как:
То есть вычисляются расстояния от до всех векторов весов, и выбирается нейрон с наименьшим расстоянием. Этот нейрон «выигрывает» и будет обучаться.
1.3. Правило обучения Кохонена
Обновление весов происходит только для победителя и его соседей (в определённой топологической окрестности):
Параметры:
·
–
скорость обучения (обычно убывающая со
временем);
·
– разность между входом и текущим весом,
она «тянет» вес в сторону входа.
Зачем нужна окрестность?
Чтобы нейроны, расположенные рядом на карте, отвечали за похожие кластеры. Это свойство называется сохранением топологии: близкие входные данные активируют близкие нейроны.
2. Меры расстояния между векторами
Выбор метрики критически важен, так как именно она определяет, какой нейрон будет победителем. В лекции приведены четыре основные меры.
2.1. Евклидово
расстояние (норма
)
Смысл: геометрическое расстояние в пространстве признаков. Наиболее популярно, так как интуитивно понятно и дифференцируемо.
2.2. Косинусная мера (скалярное произведение)
Пояснение:
здесь
–
длина вектора. Тогда
.
Таким образом выражение равно
.
Когда применяется: когда важна не длина вектора, а его направление (например, при анализе текстов – частоты слов нормируют). Расстояние мало, если векторы почти коллинеарные.
2.3.
Манхэттенское расстояние (норма
)
Смысл: сумма абсолютных разностей по координатам. Более робастно к выбросам, чем евклидово. Иногда работает лучше для разреженных данных.
2.4. Мера
относительно нормы
(Чебышёва)
Смысл: самое большое отклонение по любой координате. Полезно, когда важна максимальная ошибка (например, в задачах допускового контроля).
Вывод: автор лекции показывает, что в разных задачах нужно подбирать метрику; универсальной нет.
3. Общий смысл обучения
В лекции приводится формула:
(это, вероятно, иллюстрация динамической системы или простого предсказания, но в контексте самоорганизующихся сетей она не основная. Основной смысл сформулирован текстом:)
В результате обучения веса нейронов определяют центры кластеров, выделенных в обучающих данных.
После обучения кластер, к которому будет отнесён входной вектор, определяется вектором весов нейрона, до которого расстояние от входного вектора минимально.
Таким образом, сеть Кохонена решает задачу векторного квантования (VQ): каждый входной вектор заменяется индексом ближайшего центра (нейрона). Это сжатие данных или их кластеризация.
4. Проблема «мёртвых нейронов» и способы её решения
При обычном WTA некоторые нейроны могут никогда не выигрывать (например, из-за неудачной инициализации). Такие нейроны не обучаются и остаются бесполезными – это проблема мёртвых нейронов.
4.1. Начальная адаптация всех весов
Один из способов – инициализировать веса случайными значениями, близкими к среднему данных, либо выбрать случайные примеры из обучающей выборки.
4.2. Учёт активности нейрона («чувство справедливости»)
Вводится
потенциал
,
который отслеживает, как часто нейрон
выигрывает.
Правило обновления:
где
Смысл: если нейрон давно не выигрывал, его потенциал становится большим. При выигрыше потенциал уменьшается на фиксированную величину.
4.3. Модификация расстояния
Далее вычисляем модифицированное расстояние:
Здесь N_i – функция от потенциала (или от частоты побед). Чем реже нейрон выигрывал, тем больше множитель, что делает его искусственно «ближе» к входу. Это даёт шанс редко выигрывающим нейронам победить и обучиться.
Итог: метод «справедливой» конкуренции (Conscience WTA) эффективно решает проблему мёртвых нейронов.
5. Алгоритмы обучения (подробно)
Лекция выделяет несколько модификаций базового WTA.
5.1. CWTA (Conscience WTA – с учётом активности)
Этот алгоритм уже описан в разделе 4 – обновление идёт только для победителя, но выбор победителя зависит от потенциалов.
5.2. WTM (Winner Takes Most) – классический Кохонен
Здесь
обновляются не только победитель, но и
его соседи по карте. Функция соседства
задаёт, насколько сильно обновится i-й
нейрон.
· Прямоугольная окрестность: все нейроны в пределах некоторого радиуса обновляются одинаково.
· Гауссовская окрестность:
(здесь,
вероятно, i – индекс нейрона, а
– координата победителя на карте, но в
оригинале запись не строгая; правильнее:
,
где
– координаты нейрона на карте).
Смысл: влияние убывает плавно с расстоянием.
5.3. Алгоритм «нейронный газ» (Neural Gas)
Этот алгоритм не требует фиксированной топологии карты. Все нейроны сортируются по расстоянию до входа:
Функция окрестности:
Пояснение: победитель (m=0) получает максимальное обновление, второй (m=1) – меньше и т. д. Это позволяет адаптировать все нейроны, но с разной силой. «Нейронный газ» часто даёт лучшее покрытие данных, чем SOM, но не строит двумерной карты.
6. Цветное квантование и аппроксимация
Цветное квантование – задача уменьшения числа цветов в изображении. Каждый пиксель описывается вектором (R,G,B). Сеть Кохонена (или просто векторное квантование) находит K цветовых центров. Затем каждый пиксель заменяется индексом ближайшего центра – получается палитра и индексированное изображение.
Аппроксимация – восстановление функции или данных по ограниченному числу нейронов.
7. Пример прикладной задачи: анализ экономических показателей стран
· Данные: более 2000 стран, 39 индикаторов (здоровье, образование, ВВП, экология и т. д.).
· Цель: выделить кластеры стран (например, развитые, развивающиеся, нефтеэкспортёры и т. п.) без предварительной разметки.
Применение самоорганизующейся сети позволяет не только кластеризовать, но и визуализировать страны на двумерной карте – близкие по экономическому профилю оказываются рядом. Это помогает исследователям находить закономерности.
8. Достоинства и недостатки
Достоинства:
1. Быстрое обучение (линейное по количеству нейронов и примеров).
2. Устойчивость к шумам (усреднение весов).
3. Сохранение топологии (для SOM).
Недостатки:
· Необходимо заранее знать число кластеров K. Если задать K слишком маленьким, теряется информация; если слишком большим – переобучение и избыточность.
· Результат сильно зависит от инициализации.
· Не даёт вероятностной оценки принадлежности (в отличие от GMM).
9. Сеть Хемминга – альтернативный подход для классификации
Сеть Хемминга предназначена для классификации эталонов. Она состоит из двух слоёв.
9.1. Обучение (первый слой)
Обучающая
выборка:
Первый слой
запоминает эталоны:
.
То есть каждый нейрон первого слоя
соответствует одному образу.
9.2. Второй слой – MAXNET
MAXNET – это рекуррентная сеть, которая подавляет все нейроны, кроме одного с максимальным входным сигналом.
Формулы из лекции:
(вероятно, имеется в виду, что веса MAXNET инициализируются единицами, а затем подавление происходит через отрицательную обратную связь).
9.3. Выходной слой
Здесь выдаётся метка класса победившего эталона.
Смысл: сеть Хемминга сначала вычисляет схожесть входа с эталонами (например, через евклидово расстояние или корреляцию), затем MAXNET оставляет только один лучший нейрон, и выходной слой даёт метку.
10. Сравнение сетей Хопфилда и Хемминга
Обе сети используются для ассоциативной памяти и классификации, но различаются по сложности.
Задача: кластеризация/классификация с 100 входами и 10 кластерами.
· Сеть
Хопфилда: полносвязная, число связей
100
100 = 10000. При этом ёмкость памяти ограничена
(~0.15 от числа нейронов, т. е. ~15 образов).
Для 10 кластеров может работать, но
дорого.
· Сеть Хемминга: первый слой – 10 нейронов × 100 связей = 1000 связей; второй слой (MAXNET) – 10×10 = 100 связей. Итого 1100 связей, что почти в 10 раз меньше. Кроме того, Хемминг более устойчива к шуму и легче обучается.
Вывод: для задач с большим числом входов и умеренным числом кластеров сеть Хемминга эффективнее.
11. RMLP (рекуррентный многослойный перцептрон) и алгоритм BPTT
RMLP – рекуррентная сеть, которая имеет обратные связи. Она подходит для обработки временных рядов.
BPTT (Backpropagation Through Time) – метод обучения, разворачивающий сеть во времени.
Алгоритм (по шагам из лекции):
1. Случайная инициализация весов.
2. Для каждого
момента времени t и входного вектора
вычислить
состояния всех нейронов (прямой проход).
3. Вычислить производные ошибки по весам – это шаг обратного распространения через развёрнутую во времени сеть.
4. Изменить веса (градиентный спуск).
5. Перейти
к следующему
повторить
эпохи.
