назад Оглавление вперед


[Старт] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [ 25 ] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42] [43] [44] [45] [46] [47] [48] [49] [50] [51] [52] [53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65] [66] [67] [68] [69] [70] [71]


25

Рисунок 10. Деление нейрона с максимальной ошибкой в "растущем нейронном газе".

Соревновательные слои нейронов широко используются для квантования данных {vector quantization), отличающегося от кластеризации лишь большим числом прототипов. Это весьма распространенный на практике метод сжатия данных. При достаточно большом числе прототипов, плотность распределения весов соревновательного слоя хорошо аппроксимирует реальную плотность распределения многомерных входных векторов. Входное пространство разбивается на ячейки, содержащие вектора, относящиеся к одному и тому же прототипу. Причем зти ячейки (называемые ячейками Дирихле или ячейками Вороного) содержат примерно одинаковое количество обучающих примеров. Тем самым одновременно минимизируется ошибка огрубления и максимизируется выходная информация - за счет равномерной загрузки нейронов.

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

Оценка вычислтельной сложности обучения

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

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

~ PW операций, где W - число синаптических весов сети, а Р - число обучающих примеров. Для однослойной сети с d входами и т выходными нейронами число весов равно W dm и сложность обучения С можно оценить как Q ~ Pdrn = Pd/, где К = d/m - коэффициент сжатия информации.

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

принципе достижение минимума возможно за 0(1) шагов (например в пакетном режиме), что в данном случае потребует ~ PW операций. Число весов, как и прежде, равно W » dm , но степень сжатия информации в данном случае определяется по-другому: К = db/\og2 т.

Сложность обучения как функция степени сжатия запишется в виде: С2 ~ Pdm ~ Pd2".



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

Квантование

Понижение размерности

012345

10 10 10 10 10 10

Рисунок 11. Области, где выгоднее использовать понижение размерности или квантование.

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

можно достичь сжатия= bd (при двух нейронах-прототипах). Область недостижимых

сжатий К> bd показана на рисунке серым.

В качестве примера рассмотрим типичные параметры сжатия изображений в формате JPEG. При этом способе сжатия изображение разбивается на квадраты со стороной 8x8 пикселей, которые и являются входными векторами, подлежащими сжатию. Следовательно, в данном

случае с/ = 8 х 8 = 64 . Предположим, что картинка содержит 2 = 256 градаций серого цвета, т.е. точность представления данных b = S. Тогда координата абсциссы на приведенном выше графике будет d/b =1. Как следует из графика при любых допустимых степенях сжатия в

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

Однако, при увеличении размеров элементарного блока, появляется область вьюоких степеней сжатия, достижимых лишь с использованием квантования. Скажем, при с/ = 64 х 64 = 4096, когда d/b = 64 , в соответствии с графиком (см. Рисунок 11), квантование следует применять

для сжатия более К/Ь « 2, т.е. К>10.

Действительно, JPEG при ближайшем рассмотрении имеет много общего с методом главных компонент.

При одинаковой степени сжатия, отношение сложности квантования к сложности данных снижения размерности запишется в виде:



Победтель забирает не все

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

Упорядочение нейронов: топографические карты

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

Алгоритм Кохонена

В 1982 году финский ученый Тойво Кохонен (Kohonen, 1982) предложил ввести в базовое правило соревновательного обучения информацию о расположении нейронов в выходном слое. Для этого нейроны выходного слоя упорядочиваются, образуя одно- или двумерные решетки. Т.е. теперь положение нейронов в такой решетке маркируется векторным индексом i. Такое

упорядочение естественым образом вводит расстояние между нейронами i-j в слое.

Модифицированное Кохоненым правило соревновательного обучения учитывает расстояние нейронов от нейрона-победителя:

Aw[ = ?7A(i-i*)(x -Wj).

Функция соседства Ai-i*) равна единице для нейрона-победителя с индексом i* и

постепенно спадает с расстоянием, например по закону Л(а) = ехр(-а/сг). Как темп

обучения ?7, так и радиус взаимодействия нейронов а постепенно уменьшаются в процессе

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

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

[Старт] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [ 25 ] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42] [43] [44] [45] [46] [47] [48] [49] [50] [51] [52] [53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65] [66] [67] [68] [69] [70] [71]