Общая идея применения нейронных сетей для решения плохо формализованных задач основана не на выполнении предписанного алгоритма, а на запоминании сетью предъявленных ей примеров на этапе создания сети и выработке результатов, согласованных с запомненными примерами, на этапе решения нейросетью задачи.
Практическая реализация этих положений подразумевает, во-первых, минимизацию объема памяти, требуемой для запоминания примеров, и, во-вторых, быстрое использование запомненных примеров, исключающее применение традиционных типов памяти.
В нейронных сетях принято следующее представление решаемых задач. Исходя из постановки задачи, выявляется набор n входных параметров, от которых, по мнению исследователя, зависит ее решение. Этот набор в дальнейшем может многократно уточняться в ходе экспериментов по обучению нейросети. Каждому входному параметру хi, i=1,...,n, задачи сопоставляется измерение i многомерного пространства, размерность которого равна числу n параметров. Для каждого параметра используется некоторая шкала, задающая возможные значения этого параметра. Тем самым постановка задач сводится к определению свойств точек хj = { xj1, xj2, …. xjn } n-мерного пространства, где xji, — значение входного параметра i точки j при известных свойствах точек, принадлежащих примерам, использованным при обучении.
|
|
Итак, пусть имеется обучающий набор примеров:
<X1, D1> = <(х11,..., х1n), D1 >;
<X2, D2> = <(х21,..., х2n), D2 >;
<Xm, Dm> = <(хm1,..., хmn), Dm >;
Xj = (хj1 ,..., хjn) — входные значения j -го примера, Dj — требуемое выходное значение при подаче на входы j -го примера, j = 1,..., т. Считается, что сеть правильно обучена, если выполняется критерий окончания обучения. В качестве этого критерия обычно используют следующие, хотя могут быть и другие:
─ для всех j: max | D j Y j |< δ, где δ — заданная величина ошибки; Y j — выходное значение, выдаваемое сетью при подаче на ее входы j -го примера, j = 1,..., m.
─ .
В задачах, эффективно решаемых нейросетями, точки многомерного пространства, в котором сформулирована задача, образуют области точек, обладающих одним и тем же свойством, например, принадлежащих одному классу объектов, имеющих одинаковое значение заданной на них некоторой функции и т. д. Нейронные сети запоминают подобные области, а не отдельные точки, представляющие предъявленные при обучении примеры.
Используются различные способы реализации запоминания областей. Наиболее употребляемые в настоящее время способы — это выделение областей гиперплоскостями и покрытие областей гипершарами. На рисунке показано выделение областей в двумерном пространстве.
|
|
Для запоминания одной гиперплоскости из ограничивающих область достаточно сохранения n + 1 значения, где n — размерность пространства. Соответственно для запоминания одного гипершара также требуется n + 1 значение: координаты центра и радиус. В нейронных сетях для запоминания каждой гиперплоскости или гипершара используется отдельный элементарный вычислитель, называемый нейроном, а для запоминания всех гиперплоскостей или гипершаров используется объединение составляющих нейронов в параллельную структуру — нейросеть. Именно параллельная согласованная работа всех нейронов обеспечивает быстрое решение задачи о принадлежности точки n-мерного пространства выделяемой при создании сети области.