Инвариантность - основа обобщающей способности алгоритмов машинного обучения

7 декабря 2014, 12:39
Yury Reshetov
1
947


Инвариантность является основой теории обобщающей способности алгоритмов машинного обучения (ТОСАМО). Первоначально проблема отсутствия инвариантности в слабом искусственном интеллекта была сформулирована первым исследователем в области ИИ и основателем первой лаборатории искусственного интеллекта Марвином Минским.  Если алгоритмы слабого ИИ искали некую гиперплоскость, с помощью которой пытались решить задачу классификации, отделив с её помощью классы друг от друга с целью найти их различия, то инвариантность предполагает совершенно иной подход к решению тех же самых задач: не отделять классы друг от друга, а с помощью инварианта объединить их в один класс с целью найти общие признаки. В этом и заключается основная суть теории обобщающей способности алгоритмов машинного обучения: не искать различия (что разъединяет), а обобщать, т. е. искать то, что является общим. В таком случае, всё, что не является общим, к задаче классификации никоим образом не относится и может быть проигнорировано.

Математический смысл инвариантности основан на том, что если правую и левую часть неравенства умножить на некую отрицательную константу, то знак неравенства изменится на противоположный. При этом само неравенство останется истинным:


A > B

-1* A < -1 * B


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


a11 * w1 + a12 * w2 + … + a1n * wn Z y1

a21 * w1 + a22 * w2 + … + a2n * wn Z y2

am1 * w1 + am2 * w2 + … + amn * wn Z ym

где:

aij – значение j-го фактора (предиктора - объясняющей переменной) для i-го примера в диапазоне от -1 до 1 включительно

wj – значение j-го весового коэффициента

yi – значение зависимой переменной для i-го примера в диапазоне от -1 до 1 включительно

Z – знак неравенства, принимающий значения: больше, если yi > 0 и меньше, если yi < 0


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


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


(a11 * w1 + a12 * w2 + … + a1n * wn) / y1 > 1

(a21 * w1 + a22 * w2 + … + a2n * wn) / y2 > 1

(am1 * w1 + am2 * w2 + … + amn * wn) / ym > 1

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

Чтобы проще понять, зачем это делается, лучше привести какой нибудь простенький пример. Возьмём задачу К. Нелора о классификации трёх объектов: птицы, планера и самолёта и представим их признаки в диапазоне от -1 до 1.

Птица:

Крылья = 1

Хвост = 1

Клюв = 1

Оперение = 1

Двигатель = -1

Шасси = -1


Планер:

Крылья = 1

Хвост = 1

Клюв = -1

Оперение = -1

Двигатель = -1

Шасси = 1


Самолёт:

Крылья = 1

Хвост = 1

Клюв = -1

Оперение = -1

Двигатель = 1

Шасси = 1

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

  1. Птица
  2. Планер и Самолёт

  Выполним инвариант для второго класса, т. е. для планера и самолёта:


НЕ Планер:

Крылья = -1

Хвост = -1

Клюв = 1

Оперение = 1

Двигатель = 1

Шасси = -1


НЕ Самолёт:

Крылья = -1

Хвост = -1

Клюв = 1

Оперение = 1

Двигатель = -1

Шасси = -1

Найдём общие признаки для объектов Птица, НЕ Планер и НЕ самолёт. Ими являются признаки: клюв и оперение. Остальные признаки можно удалить, как незначимые, т. е. понизить размерность (редукция предикторов).

Устанавливаем положительные значения (ведь оба признака после применения инварианта приняли положительные значения) для весовых коэффициентов соответствующих признакам: клюв и оперение и обнуляем весовые коэффициенты для остальных признаков. И искусственный нейрон будет правильно решать задачу бинарной классификации: отличать птиц от планеров и самолётов.

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

Поделитесь с друзьями: