Неконтролируемое обучение

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

Сети "победитель получает все"

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

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

Сеть Хэмминга

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

  • Липпманн начал работать над сетями Хэмминга в 1987 году.

  • Это однослойная сеть.

  • Входы могут быть либо двоичными {0, 1}, либо биполярными {-1, 1}.

  • Веса сети вычисляется по образцовым векторам.

  • Это сеть с фиксированным весом, что означает, что веса останутся неизменными даже во время тренировки.

Макс Нетто

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

Архитектура

Он использует механизм, который представляет собой итеративный процесс, и каждый узел получает запрещающие входные данные от всех других узлов через соединения. Единственный узел, значение которого является максимальным, будет активным или победителем, а активации всех других узлов будут неактивными. Max Net использует функцию активации идентификатора с $$ f (x) \: = \: \ begin {cases} x & if \: x> 0 \\ 0 & if \: x \ leq 0 \ end {ases} $$

Задача этой сети решается с помощью веса самовозбуждения +1 и величины взаимного торможения, которая задается как [0 <ɛ <$ \ frac {1} {m} $], где “m” - общее количество узлов.

Конкурентное обучение в ИНС

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

Базовая концепция конкурентной сети

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

Основная концепция правила соревновательного обучения

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

Математическая формулировка

Ниже приведены три важных фактора для математической формулировки этого правила обучения.

  • Условие быть победителем

    Предположим, если нейрон yk хочет быть победителем, тогда будет следующее условие

    $$ y_ {k} \: = \: \ begin {cases} 1 & if \: v_ {k}> v_ {j} \: for \: all \: \: j, \: j \: \ neq \ : k \\ 0 и иначе \ end {case} $$

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

  • Условие общей суммы веса

    Другим ограничением правила конкурентного обучения является общая сумма весов конкретного выходного нейрона, равная 1. Например, если мы рассмотрим нейрон k тогда

    $$ \ displaystyle \ sum \ limits_ {k} w_ {kj} \: = \: 1 \: \: \: \: для \: all \: \: k $$

  • Изменение веса победителя

    Если нейрон не реагирует на входной шаблон, то в этом нейроне не происходит обучения. Однако, если выигрывает конкретный нейрон, соответствующие веса корректируются следующим образом:

    $$ \ Delta w_ {kj} \: = \: \ begin {cases} - \ alpha (x_ {j} \: - \: w_ {kj}), & if \: нейрон \: k \: победит \\ 0 & if \: нейрон \: k \: loss \ end {cases} $$

    Здесь $ \ alpha $ - скорость обучения.

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

Алгоритм кластеризации K-средних

K-means - один из самых популярных алгоритмов кластеризации, в котором мы используем концепцию процедуры разделения. Мы начинаем с начального раздела и многократно перемещаем шаблоны из одного кластера в другой, пока не получим удовлетворительный результат.

Алгоритм

Step 1 - Выбрать kточки как начальные центроиды. Инициализироватьk прототипы (w1,…,wk), например, мы можем идентифицировать их со случайно выбранными входными векторами -

$$ W_ {j} \: = \: i_ {p}, \: \: \: где \: j \: \ in \ lbrace1, ...., k \ rbrace \: и \: p \: \ в \ lbrace1, ...., n \ rbrace $$

Каждый кластер Cj связан с прототипом wj.

Step 2 - Повторяйте шаги 3-5, пока E не перестанет уменьшаться или членство в кластере не перестанет меняться.

Step 3 - Для каждого входного вектора ip где p ∈ {1,…,n}, положить ip в кластере Cj* с ближайшим прототипом wj* имея следующее отношение

$$ | i_ {p} \: - \: w_ {j *} | \: \ leq \: | i_ {p} \: - \: w_ {j} |, \: j \: \ in \ lbrace1, ...., k \ rbrace $$

Step 4 - Для каждого кластера Cj, где j ∈ { 1,…,k}, обновите прототип wj быть центроидом всех выборок в настоящее время Cj , так что

$$ w_ {j} \: = \: \ sum_ {i_ {p} \ in C_ {j}} \ frac {i_ {p}} {| C_ {j} |} $$

Step 5 - Вычислите полную ошибку квантования следующим образом -

$$ E \: = \: \ sum_ {j = 1} ^ k \ sum_ {i_ {p} \ in w_ {j}} | i_ {p} \: - \: w_ {j} | ^ 2 $$

Неокогнитрон

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

Архитектура

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

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

S-Cell - Это называется простой клеткой, которая обучается реагировать на определенный паттерн или группу паттернов.

C-Cell- Это называется сложной ячейкой, которая объединяет вывод S-ячейки и одновременно уменьшает количество единиц в каждом массиве. В другом смысле C-cell вытесняет результат S-cell.

Алгоритм обучения

Обнаружено, что обучение неокогнитрона идет слой за слоем. Веса от входного слоя до первого слоя обучаются и замораживаются. Затем тренируются веса с первого уровня на второй и так далее. Внутренние вычисления между S-ячейкой и Ccell зависят от весов, полученных от предыдущих уровней. Следовательно, мы можем сказать, что алгоритм обучения зависит от вычислений для S-ячейки и C-ячейки.

Расчеты в S-ячейке

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

$$ \ theta = \: \ sqrt {\ sum \ sum t_ {i} c_ {i} ^ 2} $$

Вот, ti фиксированный вес и ci это выход из C-ячейки.

Масштабированный вход S-ячейки можно рассчитать следующим образом:

$$ x \: = \: \ frac {1 \: + \: e} {1 \: + \: vw_ {0}} \: - \: 1 $$

Здесь $ e \: = \: \ sum_i c_ {i} w_ {i} $

wi - это вес, скорректированный с C-ячейки на S-ячейку.

w0 - вес, регулируемый между входом и S-ячейкой.

v это возбуждающий вход от C-клетки.

Активация выходного сигнала:

$$ s \: = \: \ begin {cases} x, & if \: x \ geq 0 \\ 0, & if \: x <0 \ end {cases} $$

Расчеты в C-cell

Чистый вклад C-слоя равен

$$ C \: = \: \ Displaystyle \ сумма \ limits_i s_ {i} x_ {i} $$

Вот, si это выход из S-ячейки и xi - фиксированный вес от S-ячейки до C-ячейки.

Окончательный результат выглядит следующим образом -

$$ C_ {out} \: = \: \ begin {cases} \ frac {C} {a + C}, & if \: C> 0 \\ 0, и иначе \ end {ases} $$

Вот ‘a’ - параметр, который зависит от производительности сети.