Хабрахабр

[recovery mode] Кластерная память с аппроксимацией

Разработана память с нелинейной аппроксимацией внутри кластеров данных. Кластеры предлагается выделять методом k-средних. Аппроксимацию проводить с помощью обучения ансамбля нейронных сетей. Кластерная память протестирована на примере адаптивного фильтра для преобразования цветов изображения. По результатам компьютерных экспериментов данный вид памяти показал хорошую селективную способность к обучению. На примере адаптивного фильтра удается обучить память к изменению всей цветовой палитры изображения.
Введение

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

Кластерный анализ: метод k-средних

Его целью является получение таких центров данных, которые бы соответствовали бы гипотезе компактности классов данных при их симметричном радиальном распределении. Метод k-средних является одним из наиболее популярных методов кластеризации. Одним из способов определить положения таких центров, при заданном их количестве k, является EM подход.

В данном методе выполняется последовательно две процедуры.

  1. Определение для каждого объекта данных $X_$ ближайшего центра $C_{j}$, и назначение данному объекту метки класса $X_{i}^{j}$. Далее для всех объектов становится определена их принадлежность различным классам.
  2. Вычисление нового положения центров всех классов.

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

С методом k-средних будет сравниваться новый авторский алгоритм классификации.

Основные цвета изображения

Для этого предлагается преобразовать цвета пикселей RGB в схему HSB методом платформы Java Color. Метод k-средних примененный к пространству цветов пикселей изображения, позволяет выделить основные тона. Расстояние между пикселями в цветовом пространстве предлагается определять по формуле: RGBtoHSB и получить оттенок цвета H и яркость B.

$dist\left(X_{i} ,X_{j} \right)=\sqrt{H_{i} \cdot B_{i} -H_{j} \cdot B_{j} }$

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

  1. Найти min и max значения $H_{i} \cdot B_{i}$ для всех пикселей.
  2. Разделить интервал [min, max] на k частей.
  3. Вычислить частоты пикселей в каждом подинтервале по значению $H_{i} \cdot B_{i} $.
  4. Отсортировать подинтервалы по количеству пикселей по убыванию.
  5. Вычислить центры пикселей в подинтервалах.

Кластерный анализ: карта градиентов

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

  1. Отсортировать все входные вектора по величине $H_{i} \cdot B_{i}$
  2. При переходе от одного входного вектора к другому в отсортированном массиве просмотреть изменение монотонности величины $H_{i} \cdot B_{i}$ соответствующих выходных векторов.
  3. Входные вектора с изменением монотонности $H_{i} \cdot B_{i}$ соответствующих выходных векторов не большими выбранного порога p отнести в один класс.
  4. Порог p можно варьировать для разбиения векторов на нужное число кластеров.

Адаптивный фильтр

Главным преимуществом нейронных сетей является их автоматическая способность к обучению. Для осуществления преобразования изображений возможно применения нейронных сетей. Адаптивному фильтру необходимо восстановить это преобразование. В данном случае предлагается для обучения адаптивного фильтра [Шовин 2018] на базе нейронной сети использовать пару изображений, в которой исходное изображение является образцом, а второе является измененным от образца каким либо существующим фильтром или преобразованием. В результате в нейронной сети используется dxdy•3 входных сигналов для входных нейронов. Для этого используется окно размером dx на dy и 3 цветовых канала. На выходе нейрона предлагается использовать 3 нейрона, выходные сигналы которых ставятся в соответствие трем цветам (rgb — красный, зеленый, синий) в центральном пикселе окна из выходного изображения. Сеть может дополняться скрытыми слоями из количества нейронов сопоставленных цветовым факторам преобразования фильтра. Тогда как в качестве передаточной функции нейронов сети используется антисимметричная сигмойдная функция с интервалом значений [-1; 1]. Сигнал цветового канала пикселя приводится линейным преобразованием в диапазон значений [-0,5; 0,5]. Нейронная сеть обучается на окнах для всех пикселей выходного изображения по методу обратного распространения ошибки. Для граничных пикселей изображений, когда окно выходит за рамки изображений, на входные значения нейронов сети, соответствующие таким пикселям ставятся 0.

Кластерная память

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

Численный эксперимент

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

Рис. 1. Оригинальная и измененная палитра.

Адаптивному фильтру требуется научиться селективно отбеливать цвета кожи при этом не изменять других цветов.

В результате применения адаптивного фильтра с кластерной памятью (9 кластеров-тонов и кластеры по карте градиентов) к исходной палитре получены следующие изображения:

Рис. 2. Измененная палитра по основным тонам и по карте градиентов.

Заключение

На примере адаптивного фильтра показана возможность селективного преобразования цветов палитры. Предложен подход для обучения сложным функциям на базе кластерной памяти с аппроксимацией с помощью семейства нейронных сетей и проведения кластерного анализа исходных данных. В частности оказывается возможным решить задачу XOR для обучения логической функции. Использование кластерной памяти с аппроксимацией актуально когда в обучающем наборе данных прослеживаются противоречивые тренды в одинаковых направлениях изменения показателей исходных данных.

Список литературы

  1. Шовин В.А. Адаптивный фильтр изображений на базе нейронной сети. // Математическое и компьютерное моделирование: сборник материалов VI Международной научной конференции. 2018. — 198 с.
Теги
Показать больше

Похожие статьи

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Кнопка «Наверх»
Закрыть