Опубликован: 25.12.2006 | Доступ: свободный | Студентов: 1883 / 400 | Оценка: 4.43 / 4.13 | Длительность: 15:29:00
Специальности: Программист, Экономист
Лекция 4:

Обучение без учителя: Сжатие информации

< Лекция 3 || Лекция 4: 123456 || Лекция 5 >
Оценка вычислительной сложности обучения

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

Как мы видели, алгоритм обучения сетей, понижающих размерность, сводится к обычному обучению с учителем, сложность которого была оценена ранее. Такое обучение требует \sim PW^2 операций, где W - число синаптических весов сети, а P - число обучающих примеров. Для однослойной сети с d входами и m выходными нейронами число весов равно W\approx dm и сложность обучения C можно оценить как C_1\sim Pd^2m^2=Pd^4/K^2, где K=d/m - коэффициент сжатия информации.

Кластеризация или квантование требуют настройки гораздо большего количества весов - из-за неэффективного способа кодирования. Зато такое избыточное кодирование упрощает алгоритм обучения. Действительно, квадратичная функция ошибки в этом случае диагональна, и в принципе достижение минимума возможно за O(1) шагов (например в пакетном режиме), что в данном случае потребует \sim PW операций. Число весов, как и прежде, равно W\approx dm, но степень сжатия информации в данном случае определяется по-другому: K=db/\log_2 m. Сложность обучения как функция степени сжатия запишется в виде: C_2\sim Pdm \sim Pd2^{db/K}.

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

\frac{C_2}{C_1}\sim \frac{K^22^{db/K}}{d^3}
Рисунок 4.11 показывает области параметров, при которых выгоднее применять тот или иной способ сжатия информации.
Области, где выгоднее использовать понижение размерности или квантование

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

Наибольшее сжатие возможно методом квантования, но из-за экспоненциального роста числа кластеров, при большой размерности данных выгоднее использовать понижение размерности. Максимальное сжатие при понижении размерности равно K_{1,\max}=d, тогда как квантованием можно достичь сжатия K_{2,\max}=bd (при двух нейронах-прототипах). Область недостижимых сжатий K>bd показана на рисунке серым.

В качестве примера рассмотрим типичные параметры сжатия изображений в формате JPEG. При этом способе сжатия изображение разбивается на квадраты со стороной 8\times 8 пикселей, которые и являются входными векторами, подлежащими сжатию. Следовательно, в данном случае d=8\times 8=64. Предположим, что картинка содержит 2^8=256 градаций серого цвета, т. е. точность представления данных b=8. Тогда координата абсциссы на приведенном выше графике будет d/b^2=1. Как следует из графика при любых допустимых степенях сжатия в данном случае оптимальным с точки зрения вычислительных затрат является снижение размерности3Действительно, JPEG при ближайшем рассмотрении имеет много общего с методом главных компонент.

Однако, при увеличении размеров элементарного блока, появляется область высоких степеней сжатия, достижимых лишь с использованием квантования. Скажем, при d=64\times 64=4096, когда d/b^2=64, в соответствии с графиком (см. рисунок 4.11), квантование следует применять для сжатия более K/b^3\approx2, т. е. K>10^3.

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

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

< Лекция 3 || Лекция 4: 123456 || Лекция 5 >