Особый тип искусственной нейронной сети

Фон

Самоорганизующаяся карта, впервые созданная в 1982 году финским профессором и исследователем доктором Теуво Кохоненом, представляет собой модель обучения без учителя, предназначенную для приложений, в которых важно поддерживать топологию между входными и выходными пространствами. Примечательной характеристикой этого алгоритма является то, что входные векторы, которые близки - схожи - в многомерном пространстве, также отображаются на близлежащие узлы в 2D-пространстве. По сути, это метод уменьшения размерности, поскольку он отображает входные данные большой размерности в дискретизированное представление низкой (обычно двумерной) размерности и сохраняет основную структуру своего входного пространства.

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

Состав

Самоорганизующаяся карта (SOM) отличается от типичных ANN как своей архитектурой, так и алгоритмическими свойствами. Во-первых, его структура состоит из однослойной линейной 2D-сетки нейронов вместо ряда слоев. Все узлы в этой сетке подключены непосредственно к входному вектору, , но не друг с другом, что означает, что узлы не знают значений своих соседей и только обновляют вес своих соединений как функцию данных входов. Сетка сама по себе является картой, которая организуется на каждой итерации как функция ввода входных данных. Таким образом, после кластеризации каждый узел имеет свою собственную координату (i, j), которая позволяет вычислить евклидово расстояние между двумя узлами с помощью теоремы Пифагора.

Характеристики

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

Выбранный узел - Best Matching Unit (BMU) - выбирается в соответствии с сходством между текущими входными значениями и всеми узлами в сетке.

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

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

Переменные

  • t - текущая итерация
  • n - это предел итераций, то есть общее количество итераций, которые может пройти сеть.
  • λ - постоянная времени, используемая для уменьшения радиуса и скорости обучения
  • i - координата строки сетки узлов.
  • j - координата столбца сетки узлов.
  • d - расстояние между узлом и BMU.
  • w - вектор веса
  • w_ij (t) - вес соединения между узлами i, j в сетке и экземпляром входного вектора на итерации t.
  • x - входной вектор
  • x (t) - экземпляр входного вектора на итерации t
  • α (t) - скорость обучения, уменьшающаяся со временем в интервале [0,1], чтобы гарантировать сходимость сети.
  • β_ij (t) - функция соседства, монотонно убывающая и представляющая расстояние узла i, j от BMU и его влияние на обучение на шаге t.
  • σ (t) - радиус функции соседства, который определяет, насколько далеко соседние узлы проверяются в 2D-сетке при обновлении векторов. Со временем он постепенно снижается.

Алгоритм

  1. Инициализировать вес каждого узла w_ij случайным значением
  2. Выберите случайный входной вектор x_k
  3. Повторите пункты 4. и 5. для всех узлов на карте:
  4. Вычислить евклидово расстояние между входным вектором x (t) и вектором весов w_ij, связанным с первым узлом, где t, i, j = 0.
  5. Отследите узел, который дает наименьшее расстояние t.
  6. Найдите общую Best Matching Unit (BMU), то есть узел с наименьшим расстоянием от всех рассчитанных.
  7. Определите топологическую окрестность βij (t) ее радиус σ (t) BMU на карте Кохонена.
  8. Повторите для всех узлов в окрестности BMU: обновите вектор весов w_ij первого узла в окрестности BMU, добавив часть разницы между входным вектором x (t) и вес w (t) нейрона.
  9. Повторяйте всю эту итерацию до достижения выбранного предела итераций t = n

Шаг 1 - это этап инициализации, а этапы 2–9 - этап обучения.

Формулы

Обновления и изменения переменных выполняются в соответствии со следующими формулами:

Веса в районе обновляются как:

Первое уравнение говорит нам, что новый обновленный вес w_ij (t + 1) для узла i, j равен сумме старого веса w_ij (t ) и часть разницы между старым весом и входным вектором x (t). Другими словами, весовой вектор «перемещается» ближе к входному вектору. Еще один важный элемент, на который следует обратить внимание, это то, что обновленный вес будет пропорционален двухмерному расстоянию между узлами в радиусе окрестности и BMU.

Кроме того, то же уравнение 3.1 не учитывает влияние обучения, пропорционального расстоянию, на котором узел находится от BMU. Обновленный вес должен учитывать тот фактор, что эффект обучения близок к нулю на окраинах района, так как объем обучения должен уменьшаться с расстоянием. Следовательно, второе уравнение добавляет фактор дополнительной функции соседства βij (t) и является более точным и углубленным уравнением.

Радиус и скорость обучения одинаково экспоненциально убывают со временем.

Влияние функции соседства β_i (t) рассчитывается по формуле:

Евклидово расстояние между вектором весов каждого узла и текущим входным экземпляром рассчитывается по формуле Пифагора.

BMU выбирается из всех рассчитанных расстояний узла как самое маленькое.

Дальнейшее чтение