ГоловнаСтаттіМашинне навчання

Самоорганізуючі карти: Як мережі Кохонена навчаються без міток

Самоорганізуюча карта Теуво Кохонена 1982 року приймає багатовимірні дані та викладає їх на плоскому полі, щоб подібні вхідні дані знаходилися поруч один з одним — карту, яку можна буквально розглянути.

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

Основна ідея та архітектура

SOM – це одношаровий нейронний шар, розташований на фіксованій сітці — зазвичай прямокутній або шестикутній. Кожна нейрона i має вектор ваг wi, який живе в тому ж просторі, що й дані: якщо вхідні дані мають 50 вимірів, то вектор ваг кожної нейрони також має 50 вимірів, хоча самі нейрони розташовані на плоскій 2D сітці. Позиція сітки ніколи не змінюється — лише вектори ваг навчаються. Відбувається двічі: вектори ваг переміщуються для покриття даних, як кластеризація, тоді як фіксована сітка накладає топологію, яка змушує сусідні нейрони вчитися схожим речам. Навчена сітка стає низьковимірним, топологічно збереженим зображенням високорозмірного набору даних — приблизно заснованим на кортиковальних картах у мозку, таких як тонотонні карти слухового кори, де нейрони поблизу реагують на нейрони поблизу стимулів.

Конкурентування та Найкращий Відповідник (BMU)

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

c = argmin_i ||x − w_i||, ||x − w_i|| = √(Σ_j (x_j − w_ij)²) h_ci(t) = exp(−d(c,i)² / (2σ(t)²)) // Гаусова область, зменшується з часом w_i(t+1) = w_i(t) + α(t)·h_ci(t)·(x(t) − w_i(t)) У простому "переможець бере все" конкурентному навчанні оновлювався лише BMU. Ключова добавка SOM полягає в тому, що BMU та всі його сусідні нейрони на сітці рухаються до входу, керовані функцією районування hci, яка зменшується з часом — це те, що зшиває карту разом, щоб сусідні нейрони представляли сусідні області даних. На ранніх етапах навчання радіус σ великий (фаза розгортання карти, коли карта відповідає загальній формі даних); коли σ зменшується, оновлення стають локальними (фаза збіжності), дозволяючи кожній нейроні спеціалізуватися.

c = argmin_i ‖x − w_i‖,  ‖x − w_i‖ = √(Σ_j (x_j − w_ij)²)

h_ci(t) = exp(−d(c,i)² / (2σ(t)²))    // Gaussian neighborhood, shrinks with time
w_i(t+1) = w_i(t) + α(t)·h_ci(t)·(x(t) − w_i(t))
жива демонстрація · пов'язана симуляція● LIVE

Алгоритм тренування: крок за кроком

Повторюється багато разів: ініціалізувати вектор ваг кожної нейрона (випадково або з головних компонент для швидшої збіжності); подати випадково вибране введення x; знайти БМУ — нейрон, чиє значення ваг найближче до x; оновити БМУ та його сусідів у напрямку x; зменшити коефіцієнт навчання α і радіус сусіда σ; повторити до тих пір, поки ваги стабілізуються. Оскільки кожен крок вимагає лише обчислення відстані та локального оновлення, SOM добре масштабується та легко реалізується, що є однією з причин його популярності десятиліттями після введення.

Читання навченої карти: U-матриця

Після навчання SOM стає малюнком — але як побачити кластери в ньому? Стандартний інструмент – U-матриця (зведена матриця відстаней): для кожного нейрона вона обчислює середню відстань між вектором ваги цього нейрона та векторами ваг його безпосередніх сусідів у сітки. Низьке значення U означає, що нейрон схожий на своїх сусідів — всередині кластера; високе значення U означає великий стрибок у даних — межу між кластерами. Відображена як теплова карта, U-матриця показує кластери як низькі "яруси" (valleys), розділені високими "річками" (ridges), перетворюючи таким чином абстрактний багатовимірний набір даних на читабельну топографічну карту.

Застосування

SOM (Self-Organizing Maps) оцінюються там, де потрібне візуальне представлення складних даних: документування та обробка тексту (власний проєкт WEBSOM Кохонена організував мільйони документів у зружній 2D карті); біоінформатика (кластеризація профілів експресії генів); економіка («картографія бідності світу»), розміщення країн за показниками добробуту на одній сітці; виявлення несправностей (нормальні робочі стани відображаються в одному регіоні, відхилення – в іншому); та кольорове кодування (стиснення палітри, зберігаючи сприйнятливі зв’язки). SOM одночасно є методом кластеризації, методом зменшення розмірності та методом візуалізації — ця комбінація робить його невід’ємною частиною навчання та практичним інструментом десятиліття після того, як Кохонен вперше описав його.

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

Що робить самоорганізуючу карту відмінною від звичайної нейронної мережі?

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

Що таке Найкращий Збігаючий Уніт (BMU)?

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

Що показує U-матриця?

U-матриця (об'єднана матриця відстаней) обчислює для кожної нейрона середню відстань між її вектором ваги та векторами ваги її безпосередніх сусідів на сітці. Відображена у вигляді теплової карти, вона показує кластери як низькі "улоговини", розділені високими "виступами", перетворюючи абстрактний багатовимірний набір даних на читабельну топографічну карту — стандартний спосіб бачити структуру навченої SOM замість просто її обчислення.

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

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

▶ Відкрити симуляцію the simulation

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

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