Конкурсное обучение - Competitive learning

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

Модели и алгоритмы, основанные на принципе соревновательного обучения, включают векторное квантование и самоорганизующиеся карты (карты Кохонена).

Принципы

Правило соревновательного обучения состоит из трех основных элементов:

  • Набор нейронов, которые все одинаковы, за исключением некоторых случайно распределенных синаптических весов, и поэтому по-разному реагируют на заданный набор входных паттернов.
  • Ограничение "силы" каждого нейрона.
  • Механизм, который позволяет нейронам конкурировать за право реагировать на заданное подмножество входных сигналов, так что только один выходной нейрон (или только один нейрон на группу) является активным (то есть «включен») одновременно. Нейрон, который побеждает в соревновании, называется нейроном типа «победитель получает все» .

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

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

Архитектура и реализация

Конкурентоспособная архитектура нейронной сети

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

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

Обычно для измерения подобия используется обратное евклидово расстояние: между входным вектором и вектором весов .

Пример алгоритма

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

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

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

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

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

Смотрите также

Рекомендации

Дополнительная информация и программное обеспечение