Инвариантность
является основой теории обобщающей способности алгоритмов машинного обучения (ТОСАМО). Первоначально проблема отсутствия инвариантности в слабом искусственном интеллекта была сформулирована первым исследователем в области ИИ и основателем первой лаборатории искусственного интеллекта Марвином Минским. Если алгоритмы слабого ИИ
искали некую гиперплоскость, с помощью которой пытались решить задачу
классификации, отделив с её помощью классы друг от друга с целью найти
их различия, то инвариантность предполагает совершенно иной подход к
решению тех же самых задач: не отделять классы друг от друга, а с
помощью инварианта объединить их в один класс с целью найти общие
признаки. В этом и заключается основная суть теории обобщающей
способности алгоритмов машинного обучения: не искать различия (что
разъединяет), а обобщать, т. е. искать то, что является общим. В таком случае, всё, что не является общим, к задаче классификации никоим образом не относится и может быть проигнорировано.
Математический смысл инвариантности основан на том, что если правую и левую часть неравенства умножить на некую отрицательную константу, то знак неравенства изменится на противоположный. При этом само неравенство останется истинным:
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
Хвост = -1
Клюв = 1
Оперение = 1
Двигатель = 1
Шасси = -1
НЕ Самолёт:
Крылья = -1
Хвост = -1
Клюв = 1
Оперение = 1
Двигатель = -1
Шасси = -1
Найдём
общие признаки для объектов Птица, НЕ Планер и НЕ самолёт. Ими являются
признаки: клюв и оперение. Остальные признаки можно удалить, как
незначимые, т. е. понизить размерность (редукция предикторов).
Устанавливаем положительные значения (ведь оба признака после применения инварианта приняли положительные значения) для весовых коэффициентов соответствующих признакам: клюв и оперение и обнуляем весовые коэффициенты для остальных признаков. И искусственный нейрон будет правильно решать задачу бинарной классификации: отличать птиц от планеров и самолётов.
Таким образом, приведя с помощью инвариантности объекты разных классов к единому, мы можем обнаружить общие признаки и игнорировать различия, т. е. обобщать и понижать размерность для различий.