ГоловнаСтаттіМашинне навчання та нейронні мережі

Самоорганізуючі карти: Як сітка нейронів навчається власному розташуванню

Подивіться, як 24x24 мережа Кохонена на основі конкурентного навчання та зменшуваного району перетворює випадковий шум на упорядковану кольорову карту.

mysimulator teamОновлено — червень 2026≈ 8 хв читання▶ Відкрити симуляцію

Самоорганізуюча карта (SOM)

Самоорганізуюча карта (SOM), представлена Теуво Кохоненем у 1982 році, є неконтрольованою нейронною мережею, яка вчиться самостійно формуватись так, щоб сусідні нейрони на фіксованій 2D сітці реагували на подібні вхідні дані. У симуляції на цій сторінці використовується сітка 24x24, 576 нейронів, кожен з яких містить 3-вектор, який починається як випадковий шум і навчається за допомогою потоків RGB кольорів; спостерігайте за нею достатньо довго, і сітка організовується в плавну, безперервну карту кольорів із червоними, синіми та зеленими областями, що займають узгоджені сусідні регіони, не будучи ніколи повідомленій про колірний круг.

жива демонстрація · пов'язана симуляція● LIVE

Конкурентування навчання: одна нейрон перемагає, а інші також вчаться

Навчання є циклом з трьох кроків, який повторюється для кожного вектора вхідних даних. По-перше, знайти Найкращий Відповідний Модуль (НВМ): нейрон, чий вектор ваги найближчий до поточного входу за евклідовою відстанню. По-друге, оновити вагу НВМ, щоб трохи наблизитися до входу. І по-третє — крок, який робить карту, а не просто конкурентне кластеризацію — оновлювати сусідів НВМ на сітці також, за допомогою величини, яка падає з відстанню від сітки.

Для кожного входу x: НВМ = argmin_i || w_i - x || Для кожної нейрона i: θ(i, НВМ, t) = exp( - dist_grid(i, НВМ)^2 / (2 * σ(t)^2) ) w_i += α(t) * θ(i, НВМ, t) * (x - w_i) σ(t) — радіус сусідства, що експоненційно зменшується від приблизно половини сітки до ~1. α(t) — швидкість навчання, що експоненційно зменшується від ~0.5 до 0.

На початку навчання σ велика, тому один НВМ тягне за собою величезний шматок сітки до приблизно одного кольору, що змушує сусідні нейрони описувати схожі входи — топологію-зберігаючий властивість, яка дає методу його назву. Коли σ зменшується, оновлення стають все більш локальними, дозволяючи карті уточнювати деталі без скасування грубого глобального порядку, який вона вже встановила.

for each input x:
  BMU = argmin_i || w_i − x ||
  for each neuron i:
    θ(i, BMU, t) = exp( − dist_grid(i, BMU)² / (2 · σ(t)²) )
    w_i += α(t) · θ(i, BMU, t) · (x − w_i)

σ(t)  neighbourhood radius, decays exponentially from ~half the grid to ~1
α(t)  learning rate, decays exponentially from ~0.5 toward 0

Чому графік, а не правило визначає результат

Алгоритм Kohonen надійно збігається до упорядкованої карти лише за умови, що радіус суміжності починається достатньо великим, щоб торкнутися більшості елементів сітки, і повільно зменшується, щоб порядок мав час сформуватися, перш ніж оновлення ставали надто локальними, щоб виправити перекручену манеру. Почніть значення σ занадто малим або занадто швидко зменшуйте його, і карта застрягає з топологічно викривленою структурою — видима дефектність, де градієнт кольору згортається назад на себе замість того, щоб плавно пробігати по сітці, що може бути викликано в симуляції, спостерігаючи за тим, що відбувається під час погано розкладеного запуску.

Чим насправді корисно упорядковане сітка (SOM)

Оскільки навчання SOM вимагає лише відстаней і не потребує міток, це справді безконтрольна техніка. Крім того, оскільки вихідна сітка зберігає взаємозв’язки між сусідами з (часто значно вищовимірної) простору вхідних даних, SOM також виконує роль недетермінованого зменшення розмірності: проектуйте кожен реальний вхід на координати його BMU та точки, які були близькими у вихідному просторі, на сітчастий план BMU, і вони закінчать зближуватися на 2D-карті. Це пояснює, чому SOM використовується для всього, від організації документів за темами до візуалізації простору станів шахового двигуна.

Часті запитання

Що робить Самоорганізуючу Карту різною від звичайного кластеризації k-means?

K-means призначає кожну точку найближчому з k незалежних центроїдів без будь-якої взаємозв’язку між ними. Нейрони SOM сидять на фіксованій сітці, і під час навчання оновлюються сусіди сітки BMU, а також сам BMU, що змушує сусідні нейрони опинятися представниками схожих входів — топологічне упорядкування, яке k-means не має механізму для вироблення.

Чому радіус суміжності потрібно зменшувати під час навчання?

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

Що відбувається, якщо швидкість навчання або зменшення радіусу суміжності стають занадто високими?

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

Спробуйте наживо

Усе, що вище, працює прямо у вашому браузері — відкрийте Self-Organising Map і змінюйте параметри під час роботи. Нічого не встановлюється, нічого не завантажується на сервер, уся модель живе в одній вкладці.

▶ Відкрити симуляцію Self-Organising Map

Що ви знайшли?

Додати кроки відтворення (опційно)