Проектирование систем искусственного интеллекта

Адаптация и обучение

Разбить на страницы
Показывать лекцию целиком

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

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

Персептроны

Пока о проблеме обучения распознаванию образов удавалось говорить в общих чертах, не выделяя конкретные методы или алгоритмы, — не возникало и трудностей, появляющихся всяких раз, когда приходится иметь дело с огромным множеством примеров, у которых общий подход к решению проблемы ОРО. Коварство самой проблемы состоит в том, что, на первый взгляд, все методы и алгоритмы кажутся совершенно различными и, что самое неприятное, часто никакой из них не годится для решения той задачи, которую крайне необходимо срочно решить. И тогда появляется желание выдумать новый алгоритм, который, может быть, достигнет цели. Очевидно, именно это привело к возникновению огромного множества алгоритмов, в котором не так-то легко разобраться.

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

(рис 4.1) Персептрон

В наиболее простом виде персептрон (рис. 4.1.) состоит из совокупности чувствительных (сенсорных) элементов ( S -элементов), на которые поступают входные сигналы. S -элементы случайным образом связаны с совокупностью ассоциативных элементов ( А -элементов), выход которых отличается от нуля только тогда, когда возбуждено достаточно большое число S-элементов, воздействующих на один А -элемент. А -элементы соединены с реагирующими элементами ( R -элементами) связями, коэффициенты усиления ( v ) которых переменны и изменяются в процессе обучения. Взвешенные комбинации выходов R -элементов составляют реакцию системы, которая указывает на принадлежность распознаваемого объекта определенному образу. Если распознаются только два образа, то в персептроне устанавливается только один R -элемент, который обладает двумя реакциями — положительной и отрицательной. Если образов больше двух, то для каждого образа устанавливают свой R -элемент, а выход каждого такого элемента представляет линейную комбинацию выходов A -элементов:

$$R_j=\Theta_j +\sum\limits^n_{i=1} v_{ij}x_i$$

где Rj — реакция j -го R -элемента; xi — реакция i -го A -элемента; vij — вес связи от i -го A -элемента к j -му R элементу; $$\Theta_j$$ — порог j -го R -элемента.

Аналогично записывается уравнение i -го A -элемента:

$$x_i=\Theta_i +\sum\limits^S_{k=1} y_k$$

Здесь сигнал yk может быть непрерывным, но чаще всего он принимает только два значения: 0 или 1. Сигналы от S -элементов подаются на входы А -элементов с постоянными весами, равными единице, но каждый А -элемент связан только с группой случайно выбранных S -элементов. Предположим, что требуется обучить персептрон различать два образа V1 и V2. Будем считать, что в персептроне существует два R -элемента, один из которых предназначен образу V1, а другой — образу V2. Персептрон будет обучен правильно, если выход R1 превышает R2, когда распознаваемый объект принадлежит образу V1, и наоборот. Разделение объектов на два образа можно провести и с помощью только одного R -элемента. Тогда объекту образа V1 должна соответствовать положительная реакция R -элемента, а объектам образа V2 — отрицательная.

Персептрон обучается путем предъявления обучающей последовательности изображений объектов, принадлежащих образам V1 и V2. В процессе обучения изменяются веса vi А -элементов. В частности, если применяется система подкрепления с коррекцией ошибок, прежде всего учитывается правильность решения, принимаемого персептроном. Если решение правильно, то веса связей всех сработавших А -элементов, которые ведут к R -элементу, выдавшему правильное решение, увеличиваются, а веса несработавших А -элементов остаются неизменными. Можно оставлять неизменными веса сработавших А -элементов, но уменьшать веса несработавших. В некоторых случаях веса сработавших связей увеличивают, а несработавших — уменьшают. После процесса обучения персептрон сам, без учителя, начинает классифицировать новые объекты.

Если персептрон действует по описанной схеме и в нем допускаются лишь связи, идущие от бинарных S -элементов к A -элементам и от A -элементов к единственному R -элементу, то такой персептрон принято называть элементарным $$\alpha$$ -персептроном. Обычно классификация C(W) задается учителем. Персептрон должен выработать в процессе обучения классификацию, задуманную учителем.

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

Теорема 1. Класс элементарных $$\alpha$$ -персептронов, для которых существует решение для любой задуманной классификации, не является пустым.

Эта теорема утверждает, что для любой классификации обучающей последовательности можно подобрать такой набор (из бесконечного набора) А -элементов, в котором будет осуществлено задуманное разделение обучающей последовательности при помощи линейного решающего правила $$R_j=\Theta_j +\sum\limits^n_{i=1} v_{ij}x_i$$.

Теорема 2. Если для некоторой классификации C(W) решение существует, то в процессе обучения $$\alpha$$ -персептрона с коррекцией ошибок, начинающегося с произвольного исходного состояния, это решение будет достигнуто в течение конечного промежутка времени.

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

Обычно обсуждают свойства бесконечного персептрона, т. е. персептрона с бесконечным числом А-элементов со всевозможными связями с S -элементами (полный набор A -элементов). Для таких персептронов решение всегда существует, а раз оно существует, то оно и достижимо в $$\alpha$$ -персептронах с коррекцией ошибок.

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

Нейронные сети

История исследований в области нейронных сетей

Возвратимся немного назад и рассмотрим историю исследований нейронных сетей.

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

Способность нейронной сети к обучению впервые исследована Дж. Маккалоком и У. Питтом. В 1943 году вышла их работа "Логическое исчисление идей, относящихся к нервной деятельности", в которой была построена модель нейрона и сформулированы принципы построения искусственных нейронных сетей.

Крупный толчок развитию нейрокибернетики дал американский нейрофизиолог Френк Розенблатт, предложивший в 1962 году свою модель нейронной сети — персептрон . Воспринятый первоначально с большим энтузиазмом, он вскоре подвергся интенсивным нападкам со стороны крупных научных авторитетов. И хотя подробный анализ их аргументов показывает, что они оспаривали не совсем тот персептрон, который предлагал Розенблатт, крупные исследования по нейронным сетям были свернуты почти на 10 лет.

Несмотря на это в 70-е годы было предложено много интересных разработок, таких, например, как когнитрон, способный хорошо распознавать достаточно сложные образы независимо от поворота изображения и изменения его масштаба.

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

В киевском институте кибернетики с 70-х годов ведутся работы над стохастическими нейронными сетями.

Модель нейронной сети с обратным распространением ошибки (back propagation)

В 1986 году Дж. Хинтон и его коллеги опубликовали статью с описанием модели нейронной сети и алгоритмом ее обучения, что дало новый толчок исследованиям в области искусственных нейронных сетей.

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

Биологический нейрон моделируется как устройство, имеющее несколько входов (дендриты) и один выход (аксон). Каждому входу ставится в соответствие некоторый весовой коэффициент ( w ), характеризующий пропускную способность канала и оценивающий степень влияния сигнала с этого входа на сигнал на выходе. В зависимости от конкретной реализации, обрабатываемые нейроном сигналы могут быть аналоговыми или цифровыми (1 или 0). В теле нейрона происходит взвешенное суммирование входных возбуждений, и далее это значение является аргументом активационной функции нейрона, один из возможных вариантов которой представлен на рис. 1.

(рис 4.2) Искусственный нейрон

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

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

Согласно методу наименьших квадратов, минимизируемой целевой функцией ошибки НС является величина:

$$E(w)=\frac{1}{2} \sum\limits_{j,p} (y^{(N)}_{j,p}-d_{j,p})^2$$

где $$y^{(N)}_{j,p}$$ – реальное выходное состояние нейрона j выходного слоя N нейронной сети при подаче на ее входы p -го образа; djp – идеальное (желаемое) выходное состояние этого нейрона.

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

$$\Delta w_{ij}^{(n)} = - \eta \cdot \frac{\partial E}{\partial w_{ij}}$$

Здесь wij – весовой коэффициент синаптической связи, соединяющей i -ый нейрон слоя n-1 с j -ым нейроном слоя n, $$\eta$$ – коэффициент скорости обучения, 0< $$\eta$$ <1.

Как показано в [2], $$\frac{\partial E}{\partial w_{ij}}= \frac{\partial E}{\partial y_j} \cdot \frac{\partial y_j}{\partial s_j} \cdot \frac{\partial s_j}{\partial w_{ij}}$$

Здесь под yj, как и раньше, подразумевается выход нейрона j, а под sj – взвешенная сумма его входных сигналов, то есть аргумент активационной функции. Так как множитель dyj / dsj является производной этой функции по ее аргументу, из этого следует, что производная активационной функция должна быть определена на всей оси абсцисс. В связи с этим функция единичного скачка и прочие активационные функции с неоднородностями не подходят для рассматриваемых НС. В них применяются такие гладкие функции, как гиперболический тангенс или классический сигмоид с экспонентой. В случае гиперболического тангенса

$$\frac{dy}{ds}= 1- th^2(s)$$

Третий множитель $$\partial s_j/ \partial w_{ij}$$, очевидно, равен выходу нейрона предыдущего слоя $$y_i^{(n-1)}$$.

Что касается первого множителя в (4.5), он легко раскладывается следующим образом[2]:

$$\frac{\partial E}{\partial y_j}= \sum\limits_{k} \frac{\partial E}{\partial y_k} \cdot \frac{\partial y_k}{\partial s_k} \cdot \frac{\partial s_k}{\partial y_{j}}=\sum\limits_{k} \frac{\partial E}{\partial y_k} \cdot \frac{\partial y_k}{\partial s_k} \cdot w_{jk}^{(n+1)}$$

Здесь суммирование по k выполняется среди нейронов слоя n+1.

Введя новую переменную

$$\delta_j^{(n)}= \frac{\partial E}{\partial y_j} \cdot \frac{d y_j}{d s_j}$$

мы получим рекурсивную формулу для расчетов величин $$\delta_j^{(n)}$$ слоя n из величин $$\delta_k^{(n+1)}$$ более старшего слоя n+1.

$$\delta_j^{(n)}= \left[ \sum\limits_k \delta_k^{(n+1)}\cdot w_{jk}^{(n+1)} \right] \cdot \frac{d y_j}{d s_j}$$

Для выходного же слоя

$$\delta_i^{(N)}= (y_i^{(N)}-d_i) \cdot \frac{d y_i}{d s_i}$$

Теперь мы можем записать (4.4) в раскрытом виде:

$$\Delta w_{ij}^{(n)} = - \eta \cdot \delta_j^{(n)} \cdot y_i^{(n-1)}$$

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

$$\Delta w_{ij}^{(n)}(t) = - \eta \cdot ( \mu \cdot \Delta w_{ij}^{(n)}(t-1) +(1-\mu ) \cdot \delta_j^{(n)} \cdot y_i^{(n-1)} )$$

где $$\mu$$ – коэффициент инерционности, t – номер текущей итерации.

Таким образом, полный алгоритм обучения НС с помощью процедуры обратного распространения строится так:

  • Подать на входы сети один из возможных образов и в режиме обычного функционирования НС, когда сигналы распространяются от входов к выходам, рассчитать значения последних. Напомним, что $$s_j^{(n)}=\sum\limits_{i=0}^{M} y_i^{(n-1)}\cdot w_{ij}^{(n)}$$ где M – число нейронов в слое n-1 с учетом нейрона с постоянным выходным состоянием +1, задающего смещение; $$y_i^{(n-1)}=x_{ij}^{(n)}$$ – i -ый вход нейрона j слоя n.

    $$y_j^{(n)} = f(s_j^{(n)})$$, где f() – сигмоид, (4.14)

    $$y_q^{(0)}=I_q$$, где Iqq -ая компонента вектора входного образа.

  • Рассчитать $$\delta^{(N)}$$ для выходного слоя по формуле (4.10). Рассчитать по формуле (4.11) или (4.12) изменения весов $$\Delta w^{(N)}$$ слоя N.
  • Рассчитать по формулам (4.9) и (4.11) (или (4.9) и (4.10)) соответственно $$\delta^{(n)}$$ и $$\Delta w^{(n)}$$ для всех остальных слоев, n=N-1,...1.
  • Скорректировать все веса в НС $$w^{(n)}_{ij} (t)=w^{(n)}_{ij}(t-1)+\Delta w^{(n)}_{ij}(t)$$(рис 4.3) Диаграмма сигналов в сети при обучении по алгоритму обратного распространения
  • Если ошибка сети существенна, перейти на шаг 1. В противном случае – конец.
  • Сети на шаге 1 попеременно в случайном порядке предъявляются все тренировочные образы, чтобы сеть, образно говоря, не забывала одни по мере запоминания других. Алгоритм иллюстрируется рис. 4.3.

    Из выражения (4.11) следует, что, когда выходное значение $$y_i^{(n-1)}$$ стремится к нулю, эффективность обучения заметно снижается. При двоичных входных векторах в среднем половина весовых коэффициентов не будет корректироваться [3], поэтому область возможных значений выходов нейронов [0,1] желательно сдвинуть в пределы [-0.5,+0.5], что достигается простыми модификациями логистических функций. Например, сигмоид с экспонентой преобразуется к виду

    $$f(x)=-0.5+\frac{1}{1+e^{-\alpha x}}$$

    Теперь коснемся вопроса емкости НС, то есть числа образов, предъявляемых на ее входы, которые она способна научиться распознавать. Для сетей с числом слоев больше двух он остается открытым. Как показано в [4], для НС с двумя слоями, то есть одним выходным и одним скрытым слоем, детерминистская емкость сети Cd оценивается так:

    Nw/Ny<Cd<Nw/Ny $$\cdot$$ log(Nw/Ny) (4.18)

    где Nw – число подстраиваемых весов, Ny – число нейронов в выходном слое.

    Следует отметить, что данное выражение получено с учетом некоторых ограничений. Во-первых, число входов Nx и нейронов в скрытом слое Nh должно удовлетворять неравенству Nx+Nh>Ny. Во-вторых, Nw/Ny>1000. Однако вышеприведенная оценка выполнялась для сетей с активационными функциями нейронов в виде порога, а емкость сетей с гладкими активационными функциями, например – (4.17), обычно больше. Кроме того, фигурирующее в названии емкости прилагательное "детерминистский" означает, что полученная оценка емкости подходит абсолютно для всех возможных входных образов, которые могут быть представлены Nx входами. В действительности распределение входных образов, как правило, обладает некоторой регулярностью, что позволяет НС проводить обобщение и, таким образом, увеличивать реальную емкость. Так как распределение образов, в общем случае, заранее не известно, мы можем говорить о такой емкости только предположительно, но обычно она раза в два превышает емкость детерминистскую.

    В продолжение разговора о емкости НС логично затронуть вопрос о требуемой мощности выходного слоя сети, выполняющего окончательную классификацию образов. Дело в том, что для разделения множества входных образов, например, по двум классам, достаточно всего одного выхода. При этом каждый логический уровень – "1" и "0" – будет обозначать отдельный класс. На двух выходах можно закодировать уже 4 класса, и так далее. Однако результаты работы сети, организованной таким образом, можно сказать – "под завязку", – не очень надежны. Для повышения достоверности классификации желательно ввести избыточность путем выделения каждому классу одного нейрона в выходном слое или, что еще лучше, нескольких, каждый из которых обучается определять принадлежность образа к классу со своей степенью достоверности, например: высокой, средней и низкой. Такие НС позволяют проводить классификацию входных образов, объединенных в нечеткие (размытые или пересекающиеся) множества. Это свойство приближает подобные НС к условиям реальной жизни.

    Рассматриваемая НС имеет несколько "узких мест". Во-первых, в процессе обучения может возникнуть ситуация, когда большие положительные или отрицательные значения весовых коэффициентов сместят рабочую точку на сигмоидах многих нейронов в область насыщения. Малые величины производной от логистической функции приведут в соответствие с (4.9) и (4.10) к остановке обучения, что парализует НС. Во-вторых, применение метода градиентного спуска не гарантирует, что будет найден глобальный, а не локальный минимум целевой функции. Эта проблема связана еще с одной, а именно – с выбором величины скорости обучения. Доказательство сходимости обучения в процессе обратного распространения основано на производных — то есть приращения весов и, следовательно, скорость обучения должны быть бесконечно малыми, — однако в этом случае обучение будет происходить неприемлемо медленно. С другой стороны, слишком большие коррекции весов могут привести к постоянной неустойчивости процесса обучения. Поэтому в качестве $$\eta $$ обычно выбирается число меньше 1, но не очень маленькое, например, 0.1, и оно, вообще говоря, может постепенно уменьшаться в процессе обучения. Кроме того, для исключения случайных попаданий в локальные минимумы иногда, после того как значения весовых коэффициентов стабилизируются, $$\eta$$ кратковременно сильно увеличивают, чтобы начать градиентный спуск из новой точки. Если повторение этой процедуры несколько раз приведет алгоритм в одно и то же состояние НС, можно более или менее уверенно сказать, что найден глобальный максимум, а не какой-то другой.

    Существует и иной метод исключения локальных минимумов, а заодно и паралича НС, заключающийся в применении стохастических НС, но о них лучше поговорить отдельно.

    Нейронные сети: обучение без учителя

    Рассмотренный в предыдущей главе алгоритм обучения нейронной сети с помощью процедуры обратного распространения подразумевает наличие некоего внешнего звена, предоставляющего сети, кроме входных, также и целевые выходные образы. Алгоритмы, пользующиеся подобной концепцией, называются алгоритмами обучения с учителем. Для их успешного функционирования необходимо наличие экспертов, создающих на предварительном этапе для каждого входного образа эталонный выходной. Так как создание искусственного интеллекта движется по пути копирования природных прообразов, ученые не прекращают спор на тему, можно ли считать алгоритмы обучения с учителем натуральными или же они полностью искусственны. Например, обучение человеческого мозга, на первый взгляд, происходит без учителя: на зрительные, слуховые, тактильные и прочие рецепторы поступает информация извне, и внутри нервной системы происходит некая самоорганизация. Однако, нельзя отрицать и того, что в жизни человека немало учителей – и в буквальном, и в переносном смысле, – которые координируют внешние воздействия. Вместе в тем, чем бы ни закончился спор приверженцев этих двух концепций обучения, они обе имеют право на существование.

    Главная черта, делающая обучение без учителя привлекательным, – это его "самостоятельность". Процесс обучения, как и в случае обучения с учителем, заключается в подстраивании весов синапсов. Некоторые алгоритмы, правда, изменяют и структуру сети, то есть количество нейронов и их взаимосвязи, но такие преобразования правильнее назвать более широким термином – самоорганизацией, и в рамках данной лекции они рассматриваться не будут. Очевидно, что подстройка синапсов может проводиться только на основании информации, доступной в нейроне, то есть его состояния и уже имеющихся весовых коэффициентов. Исходя из этого соображения и, что более важно, по аналогии с известными принципами самоорганизации нервных клеток, построены алгоритмы обучения Хебба.

    Сигнальный метод обучения Хебба заключается в изменении весов по следующему правилу:

    $$w_{ij}(t)=w_{ij}(t-1)+\alpha \cdot y_i^{(n-1)}\cdot y_j^{(n)}$$

    где $$y_i^{(n-1)}$$ – выходное значение нейрона i слоя (n-1), $$y_j^{(n)}$$ – выходное значение нейрона j слоя n ; $$w_{ij}(t)$$ и $$w_{ij}(t-1)$$ – весовой коэффициент синапса, соединяющего эти нейроны, на итерациях t и t-1 соответственно; $$\alpha$$ – коэффициент скорости обучения. Здесь и далее, для общности, под n подразумевается произвольный слой сети. При обучении по данному методу усиливаются связи между возбужденными нейронами.

    Существует также и дифференциальный метод обучения Хебба.

    $$w_{ij}(t)=w_{ij}(t-1)+\\+\alpha \cdot [y_i^{(n-1)}(t)-y_i^{(n-1)}(t-1)]\cdot [y_j^{(n)}(t)-y_j^{(n)}(t-1)]$$

    Здесь $$y_i^{(n-1)}(t)$$ и $$y_i^{(n-1)}(t-1)$$ – выходное значение нейрона i слоя n-1 соответственно на итерациях t и t-1 ; $$y_j^{(n)}(t)$$ и $$y_j^{(n)}(t-1)$$ – то же самое для нейрона j слоя n. Как видно из формулы (2), сильнее всего обучаются синапсы, соединяющие те нейроны, выходы которых наиболее динамично изменились в сторону увеличения.

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

  • На стадии инициализации всем весовым коэффициентам присваиваются небольшие случайные значения.
  • На входы сети подается входной образ, и сигналы возбуждения распространяются по всем слоям согласно принципам классических прямопоточных (feedforward) сетей[1], то есть для каждого нейрона рассчитывается взвешенная сумма его входов, к которой затем применяется активационная (передаточная) функция нейрона, в результате чего получается его выходное значение $$y_i^{(n)}$$, i=0...Mi-1, где Mi – число нейронов в слое i ; n=0...N-1, а N – число слоев в сети.
  • На основании полученных выходных значений нейронов по формуле (4.18) или (4.19) производится изменение весовых коэффициентов.
  • Цикл с шага 2, пока выходные значения сети не стабилизируются с заданной точностью. Применение этого нового способа определения завершения обучения, отличного от использовавшегося для сети обратного распространения, обусловлено тем, что подстраиваемые значения синапсов фактически не ограничены. На втором шаге цикла попеременно предъявляются все образы из входного набора.
  • Следует отметить, что вид откликов на каждый класс входных образов не известен заранее и будет представлять собой произвольное сочетание состояний нейронов выходного слоя, обусловленное случайным распределением весов на стадии инициализации. Вместе с тем, сеть способна обобщать схожие образы, относя их к одному классу. Тестирование обученной сети позволяет определить топологию классов в выходном слое. Для приведения откликов обученной сети к удобному представлению можно дополнить сеть одним слоем, который, например, по алгоритму обучения однослойного персептрона, необходимо заставить отображать выходные реакции сети в требуемые образы.

    Другой алгоритм обучения без учителя – алгоритм Кохонена – предусматривает подстройку синапсов на основании их значений от предыдущей итерации.

    $$w_{ij}(t)=w_{ij}(t-1)+\alpha \cdot [y_i^{(n-1)}-w_{ij}(t-1)]$$

    Из вышеприведенной формулы видно, что обучение сводится к минимизации разницы между входными сигналами нейрона, поступающими с выходов нейронов предыдущего слоя $$y_i^{(n-1)}$$, и весовыми коэффициентами его синапсов.

    Полный алгоритм обучения имеет примерно такую же структуру, как в методах Хебба, но на шаге 3 из всего слоя выбирается нейрон, значения синапсов которого максимально походят на входной образ, и подстройка весов по формуле (4.20) проводится только для него. Эта так называемая аккредитация может сопровождаться затормаживанием всех остальных нейронов слоя и введением выбранного нейрона в насыщение. Выбор такого нейрона может осуществляться, например, расчетом скалярного произведения вектора весовых коэффициентов с вектором входных значений. Максимальное произведение дает выигравший нейрон.

    Другой вариант – расчет расстояния между этими векторами в p-мерном пространстве, где p – размер векторов.

    $$D_j=\sqrt{\sum\limits_{i=0}^{p-1}(y_i^{(n-1)}-w_{ij})^2}$$

    где j – индекс нейрона в слое n, i – индекс суммирования по нейронам слоя (n-1), wij – вес синапса, соединяющего нейроны; выходы нейронов слоя (n-1) являются входными значениями для слоя n. Корень в формуле (4.21) брать не обязательно, так как важна лишь относительная оценка различных Dj.

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

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

    $$x_i=x_i / \sqrt{\sum\limits_{j=0}^{n-1} x_j^2}$$

    где xii -ая компонента вектора входного образа или вектора весовых коэффициентов, а n – его размерность. Это позволяет сократить длительность процесса обучения.

    Инициализация весовых коэффициентов случайными значениями может привести к тому, что различные классы, которым соответствуют плотно распределенные входные образы, сольются или, наоборот, раздробятся на дополнительные подклассы в случае близких образов одного и того же класса. Для избежания такой ситуации используется метод выпуклой комбинации [3]. Суть его сводится к тому, что входные нормализованные образы подвергаются преобразованию:

    $$x_i =\alpha (t)\cdot x_i +(1-\alpha (t)) \cdot \frac{1}{\sqrt{n}}$$

    где xii -ая компонента входного образа, n – общее число его компонент, $$\alpha (t)$$ – коэффициент, изменяющийся в процессе обучения от нуля до единицы, в результате чего вначале на входы сети подаются практически одинаковые образы, а с течением времени они все больше сходятся к исходным. Весовые коэффициенты устанавливаются на шаге инициализации равными величине

    $$w_0=\frac{1}{\sqrt{n}}$$

    где n – размерность вектора весов для нейронов инициализируемого слоя.

    На основе рассмотренного выше метода строятся нейронные сети особого типа – так называемые самоорганизующиеся структуры – self-organizing feature maps (этот устоявшийся перевод с английского, на мой взгляд, не очень удачен, так как речь идет не об изменении структуры сети, а только о подстройке синапсов). Для них после выбора из слоя n нейрона j с минимальным расстоянием Dj (4.21) обучается по формуле (4.20) не только этот нейрон, но и его соседи, расположенные в окрестности R. Величина R на первых итерациях очень большая, так что обучаются все нейроны, но с течением времени она уменьшается до нуля. Таким образом, чем ближе конец обучения, тем точнее определяется группа нейронов, отвечающих каждому классу образов.

    Нейронные сети Хопфилда и Хэмминга

    Среди различных конфигураций искуственных нейронных сетей (НС) встречаются такие, при классификации которых по принципу обучения, строго говоря, не подходят ни обучение с учителем, ни обучение без учителя. В таких сетях весовые коэффициенты синапсов рассчитываются только однажды, перед началом функционирования сети, на основе информации об обрабатываемых данных, и все обучение сети сводится именно к этому расчету. С одной стороны, предъявление априорной информации можно расценивать как помощь учителя, но с другой – сеть фактически просто запоминает образцы до того, как на ее вход поступают реальные данные, и не может изменять свое поведение, поэтому говорить о звене обратной связи с "миром" (учителем) не приходится. Из сетей с подобной логикой работы наиболее известны сеть Хопфилда и сеть Хэмминга, которые обычно используются для организации ассоциативной памяти. Далее речь пойдет именно о них.

    Структурная схема сети Хопфилда приведена на рис.4.4. Она состоит из единственного слоя нейронов, число которых является одновременно числом входов и выходов сети. Каждый нейрон связан синапсами со всеми остальными нейронами, а также имеет один входной синапс, через который осуществляется ввод сигнала. Выходные сигналы, как обычно, образуются на аксонах.

    (рис 4.4) Структурная схема сети Хопфилда

    Задача, решаемая данной сетью в качестве ассоциативной памяти, как правило, формулируется следующим образом. Известен некоторый набор двоичных сигналов (изображений, звуковых оцифровок, прочих данных, описывающих некие объекты или характеристики процессов), которые считаются образцовыми. Сеть должна уметь из произвольного неидеального сигнала, поданного на ее вход, выделить ("вспомнить" по частичной информации) соответствующий образец (если такой есть) или "дать заключение" о том, что входные данные не соответствуют ни одному из образцов. В общем случае, любой сигнал может быть описан вектором X = { xi: i=0...n-1}, где n – число нейронов в сети и размерность входных и выходных векторов. Каждый элемент xi равен либо +1, либо -1. Обозначим вектор, описывающий k -ый образец, через Xk, а его компоненты, соответственно, – $$x_i^k$$, k=0...m-1, где m – число образцов. Когда сеть распознaет (или "вспомнит") какой-либо образец на основе предъявленных ей данных, ее выходы будут содержать именно его, то есть Y = Xk, где Y – вектор выходных значений сети: Y = { yi: i=0,...n-1}. В противном случае, выходной вектор не совпадет ни с одним образцовым.

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

    На стадии инициализации сети весовые коэффициенты синапсов устанавливаются следующим образом:

    $$w_{ij}=\begin{cases} \sum\limits_{k=0}^{m-1}x_i^kx_j^k,i\ne j\\ 0,i=j \end{cases}$$

    Здесь i и j – индексы, соответственно, предсинаптического и постсинаптического нейронов; $$x_i^k$$, $$x_j^k$$ – i -ый и j -ый элементы вектора k -ого образца.

    Алгоритм функционирования сети следующий ( p – номер итерации):

  • На входы сети подается неизвестный сигнал. Фактически его ввод осуществляется непосредственной установкой значений аксонов:

    yi(0) = xi , i = 0...n-1, (4.26)

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

  • Рассчитывается новое состояние нейронов

    $$s_j(p+1)=\sum\limits_{i=0}^{n-1}w_{ij}y_i(p)$$, j=0...n-1 (4.27)

    и новые значения аксонов

    yi(p+1) = f[sj(p+1)] (4.28)

    (рис 4.5) Активационные функции.

    где fактивационная функция в виде скачка, приведенная на рис. 4.5 а.

  • Проверка, изменились ли выходные значения аксонов за последнюю итерацию. Если да – переход к пункту 2, иначе (если выходы стабилизировались) – конец. При этом выходной вектор представляет собой образец, наилучшим образом сочетающийся с входными данными.
  • Как говорилось выше, иногда сеть не может провести распознавание и выдает на выходе несуществующий образ. Это связано с проблемой ограниченности возможностей сети. Для сети Хопфилда число запоминаемых образов m не должно превышать величины, примерно равной 0.15n. Кроме того, если два образа А и Б сильно похожи, они, возможно, будут вызывать у сети перекрестные ассоциации, то есть предъявление на входы сети вектора А приведет к появлению на ее выходах вектора Б, и наоборот.

    (рис 4.6) Структурная схема сети Хэмминга

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

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

    Идея работы сети состоит в нахождении расстояния Хэмминга от тестируемого образа до всех образцов. Расстоянием Хэмминга называется число отличающихся битов в двух бинарных векторах. Сеть должна выбрать образец с минимальным расстоянием Хэмминга до неизвестного входного сигнала, в результате чего будет активизирован только один выход сети, соответствующий этому образцу.

    На стадии инициализации весовым коэффициентам первого слоя и порогу активационной функции присваиваются следующие значения:

    $$w_{ik}=\frac{x_i^k}{2}$$, i=0...n-1, k=0...m-1 (4.29)

    Tk = n/2, k = 0...m-1 (4.30)

    Здесь $$x_i^k$$ – i -ый элемент k -ого образца.

    Весовые коэффициенты тормозящих синапсов во втором слое берут равными некоторой величине 0 < $$\varepsilon$$ < 1/m. Синапс нейрона, связанный с его же аксоном имеет вес +1.

    Алгоритм функционирования сети Хэмминга следующий:

  • На входы сети подается неизвестный вектор X = {xi:i=0...n-1}, исходя из которого рассчитываются состояния нейронов первого слоя (верхний индекс в скобках указывает номер слоя):

    $$y_j^{(1)}=s_j^{(1)}=\sum\limits_{i=0}^{n-1}w_{ij}x_i+T_j$$, j=0...m-1 (4.31)

    После этого полученными значениями инициализируются значения аксонов второго слоя:

    $$y_j^{(2)}=y_j^{(1)}$$, j = 0...m-1 (4.32)

  • Вычислить новые состояния нейронов второго слоя:

    $$s_j^{(2)}(p+1)=y_j(p)-\varepsilon \sum\limits_{k=0}^{m-1}y_j^{(2)}(p) ,k\ne j,j=0...m-1$$

    и значения их аксонов:

    $$y_j^{(2)}(p+1)=[s_j^{(2)}(p+1)],j=0...m-1$$

    Активационная функция f имеет вид порога, причем величина F должна быть достаточно большой, чтобы любые возможные значения аргумента не приводили к насыщению.

  • Проверить, изменились ли выходы нейронов второго слоя за последнюю итерацию. Если да – перейти к шагу 2. Иначе – конец.

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

    Метод потенциальных функций

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

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

    Обучающей последовательности объектов соответствует последовательность векторов X1, X2, …, с которыми в пространстве изображений связана последовательность U(X, X1), U(X, X2), … потенциальных функций, используемых для построения функций f(X1, X2, …). По мере увеличения числа объектов в процессе обучения функция f должна стремиться к одной из разделяющих функций. В результате обучения могут быть построены потенциальные функции для каждого образа:

    $$U_1(X)=\sum\limits_{X_1\in V_1} U(X,X_i),\\ U_2(X)=\sum\limits_{X_1\in V_2} U(X,X_i)$$

    В качестве разделяющей функции f(X) можно выбрать функцию вида:

    f(X)=U1(X)-U2(X),(4.36)

    которая положительна для объектов одного образа и отрицательна для объектов другого.

    В качестве потенциальной функции рассмотрим функцию вида

    $$U(X,X_i)=\sum\limits_{j=1}^{\infty} \lambda_j^2 \varphi_j (X)\varphi_j (X_i)=\sum\limits_{j=1}^{\infty} \psi_j(X)\psi_j(X_i)$$

    где $$\varphi_j (X)$$ — линейно независимая система функций; $$\lambda_j$$ — действительные числа, отличные от нуля для всех j = 1, 2, … ; Xi — точка, соответствующая i -му объекту из обучающей последовательности. Предполагается, что $$\varphi_j (X)$$ и U(X, Xi) ограничены при $$X\in V_1\cup V_2;\psi_j(X)=\lambda_j \varphi_j (X)$$.

    В процессе обучения предъявляется обучающая последовательность и на каждом n-м такте обучения строится приближение fn(X), которое характеризуется следующей основной рекуррентной процедурой:

    fn+1(X)=qnfn(X)+rnU(Xn+1,X),(4.38)

    Разновидности алгоритмов потенциальных функций отличаются выбором значений qn и rn, которые являются фиксированными функциями номера n. Как правило, $$q_n \equiv 1$$, а rn выбирается в виде:

    $$r_n \equiv \gamma_n (S(f_n(X_{n+1}),f(X{n+1})))$$

    где S(fn, f) — невозрастающие функции, причем

    $$S(f,f)\equiv 0 \\ S(f_n,f)=\begin{cases} \le0,f_n\ge f\\ \ge0,f_n\le f \end{cases}$$

    Коэффициенты $$\gamma_n$$ представляют собой неотрицательную числовую последовательность, зависящую только от номера n. Кроме того, $$\sum\limits_{n=1}^{\infty} \gamma_n = \infty$$ и $$\sum\limits_{n=1}^{\infty} \gamma_n^2 < \infty$$ (например, $$\gamma_n=1/n$$ ) или $$\gamma_n=const$$.

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

  • Будем считать, что $$f_0(X)\equiv 0$$ (нулевое приближение). Пусть в результате применения алгоритма после n -го шага построена разделяющая функция fn(X), а на (n+1) -м шаге предъявлено изображение Xn+1, для которого известно действительное значение разделяющей функции f(Xn+1 ). Тогда функция fn+1(X) строится по следующему правилу:

    $$f_{n+1}(X)=f_n(X)+\gamma_{n+1}sign(f(X_{n+1})-f_n(X_{n+1}))\cdot U(X,X_{n+1})$$

  • Во втором алгоритме также принимается, что $$f_0(X)\equiv 0$$. Переход к следующему приближению, т. е. переход от функции fn(X) к fn+1(X), осуществляется в результате следующей рекуррентной процедуры:

    $$f_{n+1}(X)=f_n(X)+(f(X_{n+1})-f_n(X_{n+1}))\cdot \frac{1}{\lambda}U(X,X_{n+1})$$

    где $$\lambda$$ — произвольная положительная константа, удовлетворяющая условию $$\lambda =(1/2)\cdot max(X,X_i)$$.

  • Если в (ф. 5) принять$$\psi_j(X)=sign(\sum\limits_{v=1}^{m} \beta_{vj} \cdot x_v + \Theta_j),$$ и предположить, что xv может иметь только два значения 0 и 1, то в этом случае алгоритм потенциальных функций будет совпадать со схемой персептрона с индивидуальными порогами А -элементов и с коррекцией ошибок. Поэтому многие теоретические положения метода потенциальных функций могут быть успешно применены для анализа некоторых перцептронных схем.

    Метод группового учета аргументов МГУА

    Метод наименьших квадратов

    Перед тем, как начинать рассмотрение МГУА, было бы полезно вспомнить (или узнать впервые) метод наименьших квадратов — наиболее распространенный метод подстройки линейно зависимых параметров.

    Рассмотрим для примера МНК для трех аргументов.

    Пусть функция T=T(U, V, W) задана таблицей, то есть из опыта известны числа Ui, Vi, Wi, Ti ( i = 1, … , n). Будем искать зависимость между этими данными в виде:

    T(U,V,W)=aU+bV+cW (4.43)

    где a, b, c — неизвестные параметры.

    Подберем значения этих параметров так, чтобы была наименьшей сумма квадратов уклонений опытных данных Ti и теоретических Ti = aUwi + bVi + cWi, то есть сумма:

    $$\sigma =\sum\limits_{i=1}^{n} (T_i-aU_i-bV_i-cW_i)^2 \to min$$

    Величина $$\sigma$$ является функцией трех переменных a, b, c. Необходимым и достаточным условием существования минимума этой функции является равенство нулю частных производных функции $$\sigma$$ по всем переменным, то есть:

    $$\frac{\partial \sigma}{\partial a}=0, \frac{\partial \sigma}{\partial b}=0, \frac{\partial \sigma}{\partial c}=0$$

    Так как:

    $$\frac{\partial \sigma}{\partial a}= -2\sum\limits_{i=1}^{n} T_i-aU_i-bV_i-cW_i)U_i \\ \frac{\partial \sigma}{\partial b}= -2\sum\limits_{i=1}^{n} T_i-aU_i-bV_i-cW_i)V_i \\ \frac{\partial \sigma}{\partial c}= -2\sum\limits_{i=1}^{n} T_i-aU_i-bV_i-cW_i)W_i$$

    система для нахождения a, b, c будет иметь вид:

    $$a\sum\limits_{i=1}^{n} U_i^2 + b\sum\limits_{i=1}^{n} U_iV_i + c\sum\limits_{i=1}^{n} U_iW_i = \sum\limits_{i=1}^{n}T_iU_i \\ a\sum\limits_{i=1}^{n} U_iV_i + b\sum\limits_{i=1}^{n} V_i^2 + c\sum\limits_{i=1}^{n} V_iW_i = \sum\limits_{i=1}^{n}T_iV_i \\ a\sum\limits_{i=1}^{n} U_iW_i + b\sum\limits_{i=1}^{n} W_iV_i + c\sum\limits_{i=1}^{n} W_i^2 = \sum\limits_{i=1}^{n}T_iW_i$$

    Данная система решается любым стандартным методом решения систем линейных уравнений (Гаусса, Жордана, Зейделя, Крамера).

    Рассмотрим некоторые практические примеры нахождения приближающих функций.

  • $$y=\alpha x^2+\beta x+ \gamma $$

    Задача подбора коэффициентов $$\alpha$$, $$\beta$$, $$\gamma$$ сводится к решению общей задачи при T=y, U=x2, V=x, W=1, $$\alpha =a, \beta =b, \gamma=c$$.

  • $$f(x,y)=\alpha sin(x)+\beta cos(y)+ \gamma /x$$

    Задача подбора коэффициентов $$\alpha$$, $$\beta$$, $$\gamma$$ сводится к решению общей задачи при T=f, U=sin(x), V=cos(y), W=1/x, $$\alpha =a, \beta =b, \gamma=c$$.

  • Если мы распространим МНК на случай с m параметрами,

    $$\sigma =\sum\limits_{i=1}^{n}(T_i-\sum\limits_{i=1}^{m} u_{iv}c_v)^2 \to min$$

    то путем рассуждений, аналогичных приведенным выше, получим следующую систему линейных уравнений:

    $$\begin{cases} c_1 \bar u_1 \bar u_1 +c_2\bar u_1 \bar u_2 +K+ c_m\bar u_1 \bar u_m = \bar T \bar u_1 \\ c_1 \bar u_2 \bar u_1 +c_2\bar u_2 \bar u_2 +K+ c_m\bar u_2 \bar u_m = \bar T \bar u_2 \\ \Lambda\\ c_1 \bar u_m \bar u_1 +c_2\bar u_m \bar u_2 +K+ c_m\bar u_m \bar u_m = \bar T \bar u_m \\ \end{cases}$$

    где $$\bar T=\{T_i\}^m_{i=1}, \bar u_v=\{u_{iv}\}^n_{i=1}$$

    Общая схема построения алгоритмов метода группового учета аргументов (МГУА)

    (рис 4.7) Селекция самого черного тюльпана при расширяющемся опытном поле (эквивалент полного перебора), и при постоянном размере поля (эквивалент селекции при сохранении свободы выбора решений F = const)

    Заимствование алгоритмов переработки информации у природы является одной из основных идей кибернетики. "Гипотеза селекции" утверждает, что алгоритм массовой селекции растений или животных является оптимальным алгоритмом переработки информации в сложных задачах. При массовой селекции высевается некоторое количество семян. В результате опыления образуются сложные наследственные комбинации. Селекционеры выбирают некоторую часть растений, у которых интересующее их свойство выражено лучше всего (эвристический критерий). Семена этих растений собирают и снова высевают для образования новых, еще более сложных комбинаций. Через несколько поколений селекция останавливается и ее результат является оптимальным. Если чрезмерно продолжать селекцию, то наступит "инцухт" — вырождение растений. Существует оптимальное число поколений и оптимальное количество семян, отбираемых в каждом из них.

    Алгоритмы МГУА воспроизводят схему массовой селекции [5], показанной на рис. 4.7. В них есть генераторы усложняющихся из ряда в ряд комбинаций и пороговые самоотборы лучших из них. Так называемое "полное" описание объекта

    $$\varphi = f(x_1,x_2,x_3,...,x_m)$$,

    где f — некоторая элементарная функция, например степенной полином, заменяется несколькими рядами "частных" описаний:

    1-ряд селекции: y1= f(x1x2), y2= f(x1x3),..., ys= f(xm-1xm),

    2-ряд селекции: z1= f(y1y2), z2= f(y1y2),..., zp= f(ys-1ys), где s=c2, $$p=c_s^2$$ и т.д.

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

    Каждое частное описание является функцией только двух аргументов. Поэтому его коэффициенты легко определить по данным обучающей последовательности при малом числе узлов интерполяции [4]. Исключая промежуточные переменные (если это удается), можно получить "аналог" полного описания. Математика не запрещает обе эти операции. Например, по десяти узлам интерполяции можно получить в результате оценки коэффициентов полинома сотой степени и т. д.

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

    Ряды селекции наращиваются до тех пор, пока регулярность повышается. Как только достигнут минимум ошибки, селекцию, во избежание "инцухта", следует остановить. Практически рекомендуется остановить селекцию даже несколько раньше достижения полного минимума, как только ошибка начинает падать слишком медленно. Это приводит к более простым и более достоверным уравнениям.

    Алгоритм с ковариациями и с квадратичными описаниями

    (рис 4.8) МГУА как эквивалент массовой селекции

    В этом алгоритме [5, 6] используются частные описания, представленные в следующих формулах: yi=a0+a1xi+a2xj+a3xixj ; $$y_k=a_0+a_1x_i+a_2x_j+a_3x_ix_j+a_4x_i^2+a_5x_j^2$$.

    Сложность модели увеличивается от ряда к ряду селекции как по числу учитываемых аргументов, так и по степени. Степень полного описания быстро растет. На первом ряду — квадратичные описания, на втором — четвертой степени, на третьем — восьмой и т. д. В связи с этим минимум критерия селекции находится быстро, но не совсем точно. Кроме того, имеется опасность потери существенного аргумента, особенно на первых рядах селекции (в случае отсутствия протекции). Специальные теоремы теории МГУА определяют условия, при которых результат селекции не отличается от результата полного перебора моделей.

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

    Метод предельных упрощений (МПУ)

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

    В МПУ предполагается, что разделяющая функция задается заранее в виде линейного (самого простого) полинома, а процесс обучения состоит в конструировании такого пространства минимальной размерности, в котором заранее заданная наиболее простая разделяющая функция безошибочно разделяет обучающую последовательность. МПР назван так потому, что в нем строится самое простое решающее правило в пространстве небольшой размерности, т. е. в простом пространстве.

    Пусть на некотором множестве объектов V заданы два подмножества $$V^*_1$$ и $$V^*_2$$, определяющие собой образы на обучающей последовательности V. Рассмотрим i -е свойство объектов, такое, что некоторые объекты обучающей последовательности этим свойством обладают, а другие — нет. Пусть заданным свойством обладают объекты, образующие подмножество V1i, а объекты подмножества V2i этим свойством не обладают ( $$V_{1i} \cup V_{2i} =V$$ ). Тогда i -е свойство называют признаком первого типа относительно образа $$V^*_1$$, если выполняются соотношения

    $$V_1^* \subseteq V_{1i} \mbox{ и }V_{1i} \cap V_2^* \ne V_2^*$$

    и признаком второго типа, если выполняются

    $$V_1^* \subseteq V_{1i} \mbox{ и }V_{1i} \cap V_2^* = \emptyset$$

    Если же выполняются соотношения

    $$V_2^* \subseteq V_{2i} \mbox{ и }V_{2i} \cap V_1^* \ne V_1^*$$

    то i -е свойство считается признаком первого типа относительно образа $$V^*_2$$, а если выполняются

    $$V_2^* \subseteq V_{2i} \mbox{ и }V_{2i} \cap V_1^* = \emptyset$$

    то это же свойство объявляется признаком второго типа относительно образа $$V^*_2$$. Если свойство не обладает ни одной из приведенных особенностей, то оно вообще не относится к признакам и не участвует в формировании пространства.

    Одинаковые признаки — это два признака xi и xj, порождающие подмножества V1j, V2j, V1i, V2i, такие, что

    V1j= V1i и V2j= V2i.(4.54)

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

    Метод предельных упрощений состоит в том, что в процессе обучения последовательно проверяются все возможные свойства объектов и из них выбираются только такие, которые обладают хотя бы одной из особенностей, определяемых соотношениями (4.50), (4.51). Такой отбор однотипных, но неодинаковых признаков продолжается до тех пор, пока при некотором значении размерности пространства не наступит безошибочное линейное разделение образов на обучающей последовательности. В зависимости от того, из признаков какого типа строится пространство, в качестве разделяющей плоскости выбирается плоскость, описываемая уравнением

    $$\sum\limits_{i=1}^{n} x_i -(n-0.5)=0$$

    либо уравнением

    $$\sum\limits_{i=1}^{n} x_i -1=0$$

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

    Коллективы решающих правил

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

    Для рационального использования особенностей различных алгоритмов при решении задач распознавания возможно объединить различные по характеру алгоритмы распознавания в коллективы, которые формируют классификационное решение на основе правил, принятых в теории коллективных решений. Пусть в некоторой ситуации Х принимается решение S. Тогда S=R(X), где R — алгоритм принятия решения в ситуации X. Предположим, что существует L различных алгоритмов решения задачи, т. е. Sl=Rl(X), l=1, 2, ... , L, где Sl — решение, полученное алгоритмом Rl. Будем называть множество алгоритмов {R}={R1, R2, ..., Ri.} коллективом алгоритмов решения задачи (коллективом решающих правил), если на множестве решений Sl в любой ситуации Х определено решающее правило F, т. е. S=F(S1, S2, ..., SL, X). Алгоритмы Rl принято называть членами коллектива, Sl — решением l -го члена коллектива, а S — коллективным решением. Функция F определяет способ обобщения индивидуальных решений в решения коллектива S. Поэтому синтез функции F, или способ обобщения, является центральным моментом в организации коллектива.

    Принятие коллективного решения может быть использовано при решении различных задач. Так, в задаче управления под ситуацией понимается ситуация среды и целей управления, а под решением — самоуправление, приводящее объект в целевое состояние. В задачах прогноза Х — исходное, а S — прогнозируемое состояние. В задачах распознавания ситуацией Х является описание объекта X, т. е. его изображение, а решением S — номер образа, к которому принадлежит наблюдаемое изображение. Индивидуальное и коллективное решения в задаче распознавания состоят в отнесении некоторого изображения к одному из образов. Наиболее интересными коллективами распознающих алгоритмов являются такие, в которых существует зависимость веса каждого решающего правила Rl от распознаваемого изображения. Например, вес решающего правила Rl может определяться соотношением

    $$\mu_i(X)= \begin{cases} 1, если \ X\in B_1,\\ 0, если \ X\notin B_1, \end{cases}$$

    где Bl — область компетентности решающего правила Rl. Веса решающих правил выбираются так, что

    $$\sum\limits_{i=1}^{L} \mu_i(X) =1$$

    для всех возможных значений X. Соотношение (4.57) означает, что решение коллектива определяется решением того решающего правила Ri, области компетентности которого принадлежит изображение объекта X. Такой подход представляет собой двухуровневую процедуру распознавания. На первом уровне определяется принадлежность изображения той или иной области компетентности, а уже на втором — вступает в силу решающее правило, компетентность которого максимальна в найденной области. Решение этого правила отождествляется с решением всего коллектива. Основным этапом в такой организации коллективного решения является обучение распознаванию областей компетентности. Практически постановкой этой задачи различаются правила организации решения коллектива. Области компетентности можно искать, используя вероятностные свойства правил коллектива, можно применить гипотезу компактности и считать, что одинаковым правилам должны соответствовать компактные области, которые можно выделить алгоритмами самообучения. В процессе обучения сначала выделяются компактные множества и соответствующие им области, а затем в каждой из этих областей восстанавливается свое решающее правило. Решение такого правила, действующего в определенной области, объявляется диктаторским, т. е. отождествляется с решением всего коллектива.

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

    Страницы:

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

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

    Персептроны

    Пока о проблеме обучения распознаванию образов удавалось говорить в общих чертах, не выделяя конкретные методы или алгоритмы, — не возникало и трудностей, появляющихся всяких раз, когда приходится иметь дело с огромным множеством примеров, у которых общий подход к решению проблемы ОРО. Коварство самой проблемы состоит в том, что, на первый взгляд, все методы и алгоритмы кажутся совершенно различными и, что самое неприятное, часто никакой из них не годится для решения той задачи, которую крайне необходимо срочно решить. И тогда появляется желание выдумать новый алгоритм, который, может быть, достигнет цели. Очевидно, именно это привело к возникновению огромного множества алгоритмов, в котором не так-то легко разобраться.

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

    (рис 4.1) Персептрон

    В наиболее простом виде персептрон (рис. 4.1.) состоит из совокупности чувствительных (сенсорных) элементов ( S -элементов), на которые поступают входные сигналы. S -элементы случайным образом связаны с совокупностью ассоциативных элементов ( А -элементов), выход которых отличается от нуля только тогда, когда возбуждено достаточно большое число S-элементов, воздействующих на один А -элемент. А -элементы соединены с реагирующими элементами ( R -элементами) связями, коэффициенты усиления ( v ) которых переменны и изменяются в процессе обучения. Взвешенные комбинации выходов R -элементов составляют реакцию системы, которая указывает на принадлежность распознаваемого объекта определенному образу. Если распознаются только два образа, то в персептроне устанавливается только один R -элемент, который обладает двумя реакциями — положительной и отрицательной. Если образов больше двух, то для каждого образа устанавливают свой R -элемент, а выход каждого такого элемента представляет линейную комбинацию выходов A -элементов:

    $$R_j=\Theta_j +\sum\limits^n_{i=1} v_{ij}x_i$$

    где Rj — реакция j -го R -элемента; xi — реакция i -го A -элемента; vij — вес связи от i -го A -элемента к j -му R элементу; $$\Theta_j$$ — порог j -го R -элемента.

    Аналогично записывается уравнение i -го A -элемента:

    $$x_i=\Theta_i +\sum\limits^S_{k=1} y_k$$

    Здесь сигнал yk может быть непрерывным, но чаще всего он принимает только два значения: 0 или 1. Сигналы от S -элементов подаются на входы А -элементов с постоянными весами, равными единице, но каждый А -элемент связан только с группой случайно выбранных S -элементов. Предположим, что требуется обучить персептрон различать два образа V1 и V2. Будем считать, что в персептроне существует два R -элемента, один из которых предназначен образу V1, а другой — образу V2. Персептрон будет обучен правильно, если выход R1 превышает R2, когда распознаваемый объект принадлежит образу V1, и наоборот. Разделение объектов на два образа можно провести и с помощью только одного R -элемента. Тогда объекту образа V1 должна соответствовать положительная реакция R -элемента, а объектам образа V2 — отрицательная.

    Персептрон обучается путем предъявления обучающей последовательности изображений объектов, принадлежащих образам V1 и V2. В процессе обучения изменяются веса vi А -элементов. В частности, если применяется система подкрепления с коррекцией ошибок, прежде всего учитывается правильность решения, принимаемого персептроном. Если решение правильно, то веса связей всех сработавших А -элементов, которые ведут к R -элементу, выдавшему правильное решение, увеличиваются, а веса несработавших А -элементов остаются неизменными. Можно оставлять неизменными веса сработавших А -элементов, но уменьшать веса несработавших. В некоторых случаях веса сработавших связей увеличивают, а несработавших — уменьшают. После процесса обучения персептрон сам, без учителя, начинает классифицировать новые объекты.

    Если персептрон действует по описанной схеме и в нем допускаются лишь связи, идущие от бинарных S -элементов к A -элементам и от A -элементов к единственному R -элементу, то такой персептрон принято называть элементарным $$\alpha$$ -персептроном. Обычно классификация C(W) задается учителем. Персептрон должен выработать в процессе обучения классификацию, задуманную учителем.

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

    Теорема 1. Класс элементарных $$\alpha$$ -персептронов, для которых существует решение для любой задуманной классификации, не является пустым.

    Эта теорема утверждает, что для любой классификации обучающей последовательности можно подобрать такой набор (из бесконечного набора) А -элементов, в котором будет осуществлено задуманное разделение обучающей последовательности при помощи линейного решающего правила $$R_j=\Theta_j +\sum\limits^n_{i=1} v_{ij}x_i$$.

    Теорема 2. Если для некоторой классификации C(W) решение существует, то в процессе обучения $$\alpha$$ -персептрона с коррекцией ошибок, начинающегося с произвольного исходного состояния, это решение будет достигнуто в течение конечного промежутка времени.

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

    Обычно обсуждают свойства бесконечного персептрона, т. е. персептрона с бесконечным числом А-элементов со всевозможными связями с S -элементами (полный набор A -элементов). Для таких персептронов решение всегда существует, а раз оно существует, то оно и достижимо в $$\alpha$$ -персептронах с коррекцией ошибок.

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

    Нейронные сети

    История исследований в области нейронных сетей

    Возвратимся немного назад и рассмотрим историю исследований нейронных сетей.

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

    Способность нейронной сети к обучению впервые исследована Дж. Маккалоком и У. Питтом. В 1943 году вышла их работа "Логическое исчисление идей, относящихся к нервной деятельности", в которой была построена модель нейрона и сформулированы принципы построения искусственных нейронных сетей.

    Крупный толчок развитию нейрокибернетики дал американский нейрофизиолог Френк Розенблатт, предложивший в 1962 году свою модель нейронной сети — персептрон . Воспринятый первоначально с большим энтузиазмом, он вскоре подвергся интенсивным нападкам со стороны крупных научных авторитетов. И хотя подробный анализ их аргументов показывает, что они оспаривали не совсем тот персептрон, который предлагал Розенблатт, крупные исследования по нейронным сетям были свернуты почти на 10 лет.

    Несмотря на это в 70-е годы было предложено много интересных разработок, таких, например, как когнитрон, способный хорошо распознавать достаточно сложные образы независимо от поворота изображения и изменения его масштаба.

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

    В киевском институте кибернетики с 70-х годов ведутся работы над стохастическими нейронными сетями.

    Модель нейронной сети с обратным распространением ошибки (back propagation)

    В 1986 году Дж. Хинтон и его коллеги опубликовали статью с описанием модели нейронной сети и алгоритмом ее обучения, что дало новый толчок исследованиям в области искусственных нейронных сетей.

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

    Биологический нейрон моделируется как устройство, имеющее несколько входов (дендриты) и один выход (аксон). Каждому входу ставится в соответствие некоторый весовой коэффициент ( w ), характеризующий пропускную способность канала и оценивающий степень влияния сигнала с этого входа на сигнал на выходе. В зависимости от конкретной реализации, обрабатываемые нейроном сигналы могут быть аналоговыми или цифровыми (1 или 0). В теле нейрона происходит взвешенное суммирование входных возбуждений, и далее это значение является аргументом активационной функции нейрона, один из возможных вариантов которой представлен на рис. 1.

    (рис 4.2) Искусственный нейрон

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

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

    Согласно методу наименьших квадратов, минимизируемой целевой функцией ошибки НС является величина:

    $$E(w)=\frac{1}{2} \sum\limits_{j,p} (y^{(N)}_{j,p}-d_{j,p})^2$$

    где $$y^{(N)}_{j,p}$$ – реальное выходное состояние нейрона j выходного слоя N нейронной сети при подаче на ее входы p -го образа; djp – идеальное (желаемое) выходное состояние этого нейрона.

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

    $$\Delta w_{ij}^{(n)} = - \eta \cdot \frac{\partial E}{\partial w_{ij}}$$

    Здесь wij – весовой коэффициент синаптической связи, соединяющей i -ый нейрон слоя n-1 с j -ым нейроном слоя n, $$\eta$$ – коэффициент скорости обучения, 0< $$\eta$$ <1.

    Как показано в [2], $$\frac{\partial E}{\partial w_{ij}}= \frac{\partial E}{\partial y_j} \cdot \frac{\partial y_j}{\partial s_j} \cdot \frac{\partial s_j}{\partial w_{ij}}$$

    Здесь под yj, как и раньше, подразумевается выход нейрона j, а под sj – взвешенная сумма его входных сигналов, то есть аргумент активационной функции. Так как множитель dyj / dsj является производной этой функции по ее аргументу, из этого следует, что производная активационной функция должна быть определена на всей оси абсцисс. В связи с этим функция единичного скачка и прочие активационные функции с неоднородностями не подходят для рассматриваемых НС. В них применяются такие гладкие функции, как гиперболический тангенс или классический сигмоид с экспонентой. В случае гиперболического тангенса

    $$\frac{dy}{ds}= 1- th^2(s)$$

    Третий множитель $$\partial s_j/ \partial w_{ij}$$, очевидно, равен выходу нейрона предыдущего слоя $$y_i^{(n-1)}$$.

    Что касается первого множителя в (4.5), он легко раскладывается следующим образом[2]:

    $$\frac{\partial E}{\partial y_j}= \sum\limits_{k} \frac{\partial E}{\partial y_k} \cdot \frac{\partial y_k}{\partial s_k} \cdot \frac{\partial s_k}{\partial y_{j}}=\sum\limits_{k} \frac{\partial E}{\partial y_k} \cdot \frac{\partial y_k}{\partial s_k} \cdot w_{jk}^{(n+1)}$$

    Здесь суммирование по k выполняется среди нейронов слоя n+1.

    Введя новую переменную

    $$\delta_j^{(n)}= \frac{\partial E}{\partial y_j} \cdot \frac{d y_j}{d s_j}$$

    мы получим рекурсивную формулу для расчетов величин $$\delta_j^{(n)}$$ слоя n из величин $$\delta_k^{(n+1)}$$ более старшего слоя n+1.

    $$\delta_j^{(n)}= \left[ \sum\limits_k \delta_k^{(n+1)}\cdot w_{jk}^{(n+1)} \right] \cdot \frac{d y_j}{d s_j}$$

    Для выходного же слоя

    $$\delta_i^{(N)}= (y_i^{(N)}-d_i) \cdot \frac{d y_i}{d s_i}$$

    Теперь мы можем записать (4.4) в раскрытом виде:

    $$\Delta w_{ij}^{(n)} = - \eta \cdot \delta_j^{(n)} \cdot y_i^{(n-1)}$$

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

    $$\Delta w_{ij}^{(n)}(t) = - \eta \cdot ( \mu \cdot \Delta w_{ij}^{(n)}(t-1) +(1-\mu ) \cdot \delta_j^{(n)} \cdot y_i^{(n-1)} )$$

    где $$\mu$$ – коэффициент инерционности, t – номер текущей итерации.

    Таким образом, полный алгоритм обучения НС с помощью процедуры обратного распространения строится так:

  • Подать на входы сети один из возможных образов и в режиме обычного функционирования НС, когда сигналы распространяются от входов к выходам, рассчитать значения последних. Напомним, что $$s_j^{(n)}=\sum\limits_{i=0}^{M} y_i^{(n-1)}\cdot w_{ij}^{(n)}$$ где M – число нейронов в слое n-1 с учетом нейрона с постоянным выходным состоянием +1, задающего смещение; $$y_i^{(n-1)}=x_{ij}^{(n)}$$ – i -ый вход нейрона j слоя n.

    $$y_j^{(n)} = f(s_j^{(n)})$$, где f() – сигмоид, (4.14)

    $$y_q^{(0)}=I_q$$, где Iqq -ая компонента вектора входного образа.

  • Рассчитать $$\delta^{(N)}$$ для выходного слоя по формуле (4.10). Рассчитать по формуле (4.11) или (4.12) изменения весов $$\Delta w^{(N)}$$ слоя N.
  • Рассчитать по формулам (4.9) и (4.11) (или (4.9) и (4.10)) соответственно $$\delta^{(n)}$$ и $$\Delta w^{(n)}$$ для всех остальных слоев, n=N-1,...1.
  • Скорректировать все веса в НС $$w^{(n)}_{ij} (t)=w^{(n)}_{ij}(t-1)+\Delta w^{(n)}_{ij}(t)$$(рис 4.3) Диаграмма сигналов в сети при обучении по алгоритму обратного распространения
  • Если ошибка сети существенна, перейти на шаг 1. В противном случае – конец.
  • Сети на шаге 1 попеременно в случайном порядке предъявляются все тренировочные образы, чтобы сеть, образно говоря, не забывала одни по мере запоминания других. Алгоритм иллюстрируется рис. 4.3.

    Из выражения (4.11) следует, что, когда выходное значение $$y_i^{(n-1)}$$ стремится к нулю, эффективность обучения заметно снижается. При двоичных входных векторах в среднем половина весовых коэффициентов не будет корректироваться [3], поэтому область возможных значений выходов нейронов [0,1] желательно сдвинуть в пределы [-0.5,+0.5], что достигается простыми модификациями логистических функций. Например, сигмоид с экспонентой преобразуется к виду

    $$f(x)=-0.5+\frac{1}{1+e^{-\alpha x}}$$

    Теперь коснемся вопроса емкости НС, то есть числа образов, предъявляемых на ее входы, которые она способна научиться распознавать. Для сетей с числом слоев больше двух он остается открытым. Как показано в [4], для НС с двумя слоями, то есть одним выходным и одним скрытым слоем, детерминистская емкость сети Cd оценивается так:

    Nw/Ny<Cd<Nw/Ny $$\cdot$$ log(Nw/Ny) (4.18)

    где Nw – число подстраиваемых весов, Ny – число нейронов в выходном слое.

    Следует отметить, что данное выражение получено с учетом некоторых ограничений. Во-первых, число входов Nx и нейронов в скрытом слое Nh должно удовлетворять неравенству Nx+Nh>Ny. Во-вторых, Nw/Ny>1000. Однако вышеприведенная оценка выполнялась для сетей с активационными функциями нейронов в виде порога, а емкость сетей с гладкими активационными функциями, например – (4.17), обычно больше. Кроме того, фигурирующее в названии емкости прилагательное "детерминистский" означает, что полученная оценка емкости подходит абсолютно для всех возможных входных образов, которые могут быть представлены Nx входами. В действительности распределение входных образов, как правило, обладает некоторой регулярностью, что позволяет НС проводить обобщение и, таким образом, увеличивать реальную емкость. Так как распределение образов, в общем случае, заранее не известно, мы можем говорить о такой емкости только предположительно, но обычно она раза в два превышает емкость детерминистскую.

    В продолжение разговора о емкости НС логично затронуть вопрос о требуемой мощности выходного слоя сети, выполняющего окончательную классификацию образов. Дело в том, что для разделения множества входных образов, например, по двум классам, достаточно всего одного выхода. При этом каждый логический уровень – "1" и "0" – будет обозначать отдельный класс. На двух выходах можно закодировать уже 4 класса, и так далее. Однако результаты работы сети, организованной таким образом, можно сказать – "под завязку", – не очень надежны. Для повышения достоверности классификации желательно ввести избыточность путем выделения каждому классу одного нейрона в выходном слое или, что еще лучше, нескольких, каждый из которых обучается определять принадлежность образа к классу со своей степенью достоверности, например: высокой, средней и низкой. Такие НС позволяют проводить классификацию входных образов, объединенных в нечеткие (размытые или пересекающиеся) множества. Это свойство приближает подобные НС к условиям реальной жизни.

    Рассматриваемая НС имеет несколько "узких мест". Во-первых, в процессе обучения может возникнуть ситуация, когда большие положительные или отрицательные значения весовых коэффициентов сместят рабочую точку на сигмоидах многих нейронов в область насыщения. Малые величины производной от логистической функции приведут в соответствие с (4.9) и (4.10) к остановке обучения, что парализует НС. Во-вторых, применение метода градиентного спуска не гарантирует, что будет найден глобальный, а не локальный минимум целевой функции. Эта проблема связана еще с одной, а именно – с выбором величины скорости обучения. Доказательство сходимости обучения в процессе обратного распространения основано на производных — то есть приращения весов и, следовательно, скорость обучения должны быть бесконечно малыми, — однако в этом случае обучение будет происходить неприемлемо медленно. С другой стороны, слишком большие коррекции весов могут привести к постоянной неустойчивости процесса обучения. Поэтому в качестве $$\eta $$ обычно выбирается число меньше 1, но не очень маленькое, например, 0.1, и оно, вообще говоря, может постепенно уменьшаться в процессе обучения. Кроме того, для исключения случайных попаданий в локальные минимумы иногда, после того как значения весовых коэффициентов стабилизируются, $$\eta$$ кратковременно сильно увеличивают, чтобы начать градиентный спуск из новой точки. Если повторение этой процедуры несколько раз приведет алгоритм в одно и то же состояние НС, можно более или менее уверенно сказать, что найден глобальный максимум, а не какой-то другой.

    Существует и иной метод исключения локальных минимумов, а заодно и паралича НС, заключающийся в применении стохастических НС, но о них лучше поговорить отдельно.

    Нейронные сети: обучение без учителя

    Рассмотренный в предыдущей главе алгоритм обучения нейронной сети с помощью процедуры обратного распространения подразумевает наличие некоего внешнего звена, предоставляющего сети, кроме входных, также и целевые выходные образы. Алгоритмы, пользующиеся подобной концепцией, называются алгоритмами обучения с учителем. Для их успешного функционирования необходимо наличие экспертов, создающих на предварительном этапе для каждого входного образа эталонный выходной. Так как создание искусственного интеллекта движется по пути копирования природных прообразов, ученые не прекращают спор на тему, можно ли считать алгоритмы обучения с учителем натуральными или же они полностью искусственны. Например, обучение человеческого мозга, на первый взгляд, происходит без учителя: на зрительные, слуховые, тактильные и прочие рецепторы поступает информация извне, и внутри нервной системы происходит некая самоорганизация. Однако, нельзя отрицать и того, что в жизни человека немало учителей – и в буквальном, и в переносном смысле, – которые координируют внешние воздействия. Вместе в тем, чем бы ни закончился спор приверженцев этих двух концепций обучения, они обе имеют право на существование.

    Главная черта, делающая обучение без учителя привлекательным, – это его "самостоятельность". Процесс обучения, как и в случае обучения с учителем, заключается в подстраивании весов синапсов. Некоторые алгоритмы, правда, изменяют и структуру сети, то есть количество нейронов и их взаимосвязи, но такие преобразования правильнее назвать более широким термином – самоорганизацией, и в рамках данной лекции они рассматриваться не будут. Очевидно, что подстройка синапсов может проводиться только на основании информации, доступной в нейроне, то есть его состояния и уже имеющихся весовых коэффициентов. Исходя из этого соображения и, что более важно, по аналогии с известными принципами самоорганизации нервных клеток, построены алгоритмы обучения Хебба.

    Сигнальный метод обучения Хебба заключается в изменении весов по следующему правилу:

    $$w_{ij}(t)=w_{ij}(t-1)+\alpha \cdot y_i^{(n-1)}\cdot y_j^{(n)}$$

    где $$y_i^{(n-1)}$$ – выходное значение нейрона i слоя (n-1), $$y_j^{(n)}$$ – выходное значение нейрона j слоя n ; $$w_{ij}(t)$$ и $$w_{ij}(t-1)$$ – весовой коэффициент синапса, соединяющего эти нейроны, на итерациях t и t-1 соответственно; $$\alpha$$ – коэффициент скорости обучения. Здесь и далее, для общности, под n подразумевается произвольный слой сети. При обучении по данному методу усиливаются связи между возбужденными нейронами.

    Существует также и дифференциальный метод обучения Хебба.

    $$w_{ij}(t)=w_{ij}(t-1)+\\+\alpha \cdot [y_i^{(n-1)}(t)-y_i^{(n-1)}(t-1)]\cdot [y_j^{(n)}(t)-y_j^{(n)}(t-1)]$$

    Здесь $$y_i^{(n-1)}(t)$$ и $$y_i^{(n-1)}(t-1)$$ – выходное значение нейрона i слоя n-1 соответственно на итерациях t и t-1 ; $$y_j^{(n)}(t)$$ и $$y_j^{(n)}(t-1)$$ – то же самое для нейрона j слоя n. Как видно из формулы (2), сильнее всего обучаются синапсы, соединяющие те нейроны, выходы которых наиболее динамично изменились в сторону увеличения.

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

  • На стадии инициализации всем весовым коэффициентам присваиваются небольшие случайные значения.
  • На входы сети подается входной образ, и сигналы возбуждения распространяются по всем слоям согласно принципам классических прямопоточных (feedforward) сетей[1], то есть для каждого нейрона рассчитывается взвешенная сумма его входов, к которой затем применяется активационная (передаточная) функция нейрона, в результате чего получается его выходное значение $$y_i^{(n)}$$, i=0...Mi-1, где Mi – число нейронов в слое i ; n=0...N-1, а N – число слоев в сети.
  • На основании полученных выходных значений нейронов по формуле (4.18) или (4.19) производится изменение весовых коэффициентов.
  • Цикл с шага 2, пока выходные значения сети не стабилизируются с заданной точностью. Применение этого нового способа определения завершения обучения, отличного от использовавшегося для сети обратного распространения, обусловлено тем, что подстраиваемые значения синапсов фактически не ограничены. На втором шаге цикла попеременно предъявляются все образы из входного набора.
  • Следует отметить, что вид откликов на каждый класс входных образов не известен заранее и будет представлять собой произвольное сочетание состояний нейронов выходного слоя, обусловленное случайным распределением весов на стадии инициализации. Вместе с тем, сеть способна обобщать схожие образы, относя их к одному классу. Тестирование обученной сети позволяет определить топологию классов в выходном слое. Для приведения откликов обученной сети к удобному представлению можно дополнить сеть одним слоем, который, например, по алгоритму обучения однослойного персептрона, необходимо заставить отображать выходные реакции сети в требуемые образы.

    Другой алгоритм обучения без учителя – алгоритм Кохонена – предусматривает подстройку синапсов на основании их значений от предыдущей итерации.

    $$w_{ij}(t)=w_{ij}(t-1)+\alpha \cdot [y_i^{(n-1)}-w_{ij}(t-1)]$$

    Из вышеприведенной формулы видно, что обучение сводится к минимизации разницы между входными сигналами нейрона, поступающими с выходов нейронов предыдущего слоя $$y_i^{(n-1)}$$, и весовыми коэффициентами его синапсов.

    Полный алгоритм обучения имеет примерно такую же структуру, как в методах Хебба, но на шаге 3 из всего слоя выбирается нейрон, значения синапсов которого максимально походят на входной образ, и подстройка весов по формуле (4.20) проводится только для него. Эта так называемая аккредитация может сопровождаться затормаживанием всех остальных нейронов слоя и введением выбранного нейрона в насыщение. Выбор такого нейрона может осуществляться, например, расчетом скалярного произведения вектора весовых коэффициентов с вектором входных значений. Максимальное произведение дает выигравший нейрон.

    Другой вариант – расчет расстояния между этими векторами в p-мерном пространстве, где p – размер векторов.

    $$D_j=\sqrt{\sum\limits_{i=0}^{p-1}(y_i^{(n-1)}-w_{ij})^2}$$

    где j – индекс нейрона в слое n, i – индекс суммирования по нейронам слоя (n-1), wij – вес синапса, соединяющего нейроны; выходы нейронов слоя (n-1) являются входными значениями для слоя n. Корень в формуле (4.21) брать не обязательно, так как важна лишь относительная оценка различных Dj.

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

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

    $$x_i=x_i / \sqrt{\sum\limits_{j=0}^{n-1} x_j^2}$$

    где xii -ая компонента вектора входного образа или вектора весовых коэффициентов, а n – его размерность. Это позволяет сократить длительность процесса обучения.

    Инициализация весовых коэффициентов случайными значениями может привести к тому, что различные классы, которым соответствуют плотно распределенные входные образы, сольются или, наоборот, раздробятся на дополнительные подклассы в случае близких образов одного и того же класса. Для избежания такой ситуации используется метод выпуклой комбинации [3]. Суть его сводится к тому, что входные нормализованные образы подвергаются преобразованию:

    $$x_i =\alpha (t)\cdot x_i +(1-\alpha (t)) \cdot \frac{1}{\sqrt{n}}$$

    где xii -ая компонента входного образа, n – общее число его компонент, $$\alpha (t)$$ – коэффициент, изменяющийся в процессе обучения от нуля до единицы, в результате чего вначале на входы сети подаются практически одинаковые образы, а с течением времени они все больше сходятся к исходным. Весовые коэффициенты устанавливаются на шаге инициализации равными величине

    $$w_0=\frac{1}{\sqrt{n}}$$

    где n – размерность вектора весов для нейронов инициализируемого слоя.

    На основе рассмотренного выше метода строятся нейронные сети особого типа – так называемые самоорганизующиеся структуры – self-organizing feature maps (этот устоявшийся перевод с английского, на мой взгляд, не очень удачен, так как речь идет не об изменении структуры сети, а только о подстройке синапсов). Для них после выбора из слоя n нейрона j с минимальным расстоянием Dj (4.21) обучается по формуле (4.20) не только этот нейрон, но и его соседи, расположенные в окрестности R. Величина R на первых итерациях очень большая, так что обучаются все нейроны, но с течением времени она уменьшается до нуля. Таким образом, чем ближе конец обучения, тем точнее определяется группа нейронов, отвечающих каждому классу образов.

    Нейронные сети Хопфилда и Хэмминга

    Среди различных конфигураций искуственных нейронных сетей (НС) встречаются такие, при классификации которых по принципу обучения, строго говоря, не подходят ни обучение с учителем, ни обучение без учителя. В таких сетях весовые коэффициенты синапсов рассчитываются только однажды, перед началом функционирования сети, на основе информации об обрабатываемых данных, и все обучение сети сводится именно к этому расчету. С одной стороны, предъявление априорной информации можно расценивать как помощь учителя, но с другой – сеть фактически просто запоминает образцы до того, как на ее вход поступают реальные данные, и не может изменять свое поведение, поэтому говорить о звене обратной связи с "миром" (учителем) не приходится. Из сетей с подобной логикой работы наиболее известны сеть Хопфилда и сеть Хэмминга, которые обычно используются для организации ассоциативной памяти. Далее речь пойдет именно о них.

    Структурная схема сети Хопфилда приведена на рис.4.4. Она состоит из единственного слоя нейронов, число которых является одновременно числом входов и выходов сети. Каждый нейрон связан синапсами со всеми остальными нейронами, а также имеет один входной синапс, через который осуществляется ввод сигнала. Выходные сигналы, как обычно, образуются на аксонах.

    (рис 4.4) Структурная схема сети Хопфилда

    Задача, решаемая данной сетью в качестве ассоциативной памяти, как правило, формулируется следующим образом. Известен некоторый набор двоичных сигналов (изображений, звуковых оцифровок, прочих данных, описывающих некие объекты или характеристики процессов), которые считаются образцовыми. Сеть должна уметь из произвольного неидеального сигнала, поданного на ее вход, выделить ("вспомнить" по частичной информации) соответствующий образец (если такой есть) или "дать заключение" о том, что входные данные не соответствуют ни одному из образцов. В общем случае, любой сигнал может быть описан вектором X = { xi: i=0...n-1}, где n – число нейронов в сети и размерность входных и выходных векторов. Каждый элемент xi равен либо +1, либо -1. Обозначим вектор, описывающий k -ый образец, через Xk, а его компоненты, соответственно, – $$x_i^k$$, k=0...m-1, где m – число образцов. Когда сеть распознaет (или "вспомнит") какой-либо образец на основе предъявленных ей данных, ее выходы будут содержать именно его, то есть Y = Xk, где Y – вектор выходных значений сети: Y = { yi: i=0,...n-1}. В противном случае, выходной вектор не совпадет ни с одним образцовым.

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

    На стадии инициализации сети весовые коэффициенты синапсов устанавливаются следующим образом:

    $$w_{ij}=\begin{cases} \sum\limits_{k=0}^{m-1}x_i^kx_j^k,i\ne j\\ 0,i=j \end{cases}$$

    Здесь i и j – индексы, соответственно, предсинаптического и постсинаптического нейронов; $$x_i^k$$, $$x_j^k$$ – i -ый и j -ый элементы вектора k -ого образца.

    Алгоритм функционирования сети следующий ( p – номер итерации):

  • На входы сети подается неизвестный сигнал. Фактически его ввод осуществляется непосредственной установкой значений аксонов:

    yi(0) = xi , i = 0...n-1, (4.26)

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

  • Рассчитывается новое состояние нейронов

    $$s_j(p+1)=\sum\limits_{i=0}^{n-1}w_{ij}y_i(p)$$, j=0...n-1 (4.27)

    и новые значения аксонов

    yi(p+1) = f[sj(p+1)] (4.28)

    (рис 4.5) Активационные функции.

    где fактивационная функция в виде скачка, приведенная на рис. 4.5 а.

  • Проверка, изменились ли выходные значения аксонов за последнюю итерацию. Если да – переход к пункту 2, иначе (если выходы стабилизировались) – конец. При этом выходной вектор представляет собой образец, наилучшим образом сочетающийся с входными данными.
  • Как говорилось выше, иногда сеть не может провести распознавание и выдает на выходе несуществующий образ. Это связано с проблемой ограниченности возможностей сети. Для сети Хопфилда число запоминаемых образов m не должно превышать величины, примерно равной 0.15n. Кроме того, если два образа А и Б сильно похожи, они, возможно, будут вызывать у сети перекрестные ассоциации, то есть предъявление на входы сети вектора А приведет к появлению на ее выходах вектора Б, и наоборот.

    (рис 4.6) Структурная схема сети Хэмминга

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

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

    Идея работы сети состоит в нахождении расстояния Хэмминга от тестируемого образа до всех образцов. Расстоянием Хэмминга называется число отличающихся битов в двух бинарных векторах. Сеть должна выбрать образец с минимальным расстоянием Хэмминга до неизвестного входного сигнала, в результате чего будет активизирован только один выход сети, соответствующий этому образцу.

    На стадии инициализации весовым коэффициентам первого слоя и порогу активационной функции присваиваются следующие значения:

    $$w_{ik}=\frac{x_i^k}{2}$$, i=0...n-1, k=0...m-1 (4.29)

    Tk = n/2, k = 0...m-1 (4.30)

    Здесь $$x_i^k$$ – i -ый элемент k -ого образца.

    Весовые коэффициенты тормозящих синапсов во втором слое берут равными некоторой величине 0 < $$\varepsilon$$ < 1/m. Синапс нейрона, связанный с его же аксоном имеет вес +1.

    Алгоритм функционирования сети Хэмминга следующий:

  • На входы сети подается неизвестный вектор X = {xi:i=0...n-1}, исходя из которого рассчитываются состояния нейронов первого слоя (верхний индекс в скобках указывает номер слоя):

    $$y_j^{(1)}=s_j^{(1)}=\sum\limits_{i=0}^{n-1}w_{ij}x_i+T_j$$, j=0...m-1 (4.31)

    После этого полученными значениями инициализируются значения аксонов второго слоя:

    $$y_j^{(2)}=y_j^{(1)}$$, j = 0...m-1 (4.32)

  • Вычислить новые состояния нейронов второго слоя:

    $$s_j^{(2)}(p+1)=y_j(p)-\varepsilon \sum\limits_{k=0}^{m-1}y_j^{(2)}(p) ,k\ne j,j=0...m-1$$

    и значения их аксонов:

    $$y_j^{(2)}(p+1)=[s_j^{(2)}(p+1)],j=0...m-1$$

    Активационная функция f имеет вид порога, причем величина F должна быть достаточно большой, чтобы любые возможные значения аргумента не приводили к насыщению.

  • Проверить, изменились ли выходы нейронов второго слоя за последнюю итерацию. Если да – перейти к шагу 2. Иначе – конец.

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

    Метод потенциальных функций

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

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

    Обучающей последовательности объектов соответствует последовательность векторов X1, X2, …, с которыми в пространстве изображений связана последовательность U(X, X1), U(X, X2), … потенциальных функций, используемых для построения функций f(X1, X2, …). По мере увеличения числа объектов в процессе обучения функция f должна стремиться к одной из разделяющих функций. В результате обучения могут быть построены потенциальные функции для каждого образа:

    $$U_1(X)=\sum\limits_{X_1\in V_1} U(X,X_i),\\ U_2(X)=\sum\limits_{X_1\in V_2} U(X,X_i)$$

    В качестве разделяющей функции f(X) можно выбрать функцию вида:

    f(X)=U1(X)-U2(X),(4.36)

    которая положительна для объектов одного образа и отрицательна для объектов другого.

    В качестве потенциальной функции рассмотрим функцию вида

    $$U(X,X_i)=\sum\limits_{j=1}^{\infty} \lambda_j^2 \varphi_j (X)\varphi_j (X_i)=\sum\limits_{j=1}^{\infty} \psi_j(X)\psi_j(X_i)$$

    где $$\varphi_j (X)$$ — линейно независимая система функций; $$\lambda_j$$ — действительные числа, отличные от нуля для всех j = 1, 2, … ; Xi — точка, соответствующая i -му объекту из обучающей последовательности. Предполагается, что $$\varphi_j (X)$$ и U(X, Xi) ограничены при $$X\in V_1\cup V_2;\psi_j(X)=\lambda_j \varphi_j (X)$$.

    В процессе обучения предъявляется обучающая последовательность и на каждом n-м такте обучения строится приближение fn(X), которое характеризуется следующей основной рекуррентной процедурой:

    fn+1(X)=qnfn(X)+rnU(Xn+1,X),(4.38)

    Разновидности алгоритмов потенциальных функций отличаются выбором значений qn и rn, которые являются фиксированными функциями номера n. Как правило, $$q_n \equiv 1$$, а rn выбирается в виде:

    $$r_n \equiv \gamma_n (S(f_n(X_{n+1}),f(X{n+1})))$$

    где S(fn, f) — невозрастающие функции, причем

    $$S(f,f)\equiv 0 \\ S(f_n,f)=\begin{cases} \le0,f_n\ge f\\ \ge0,f_n\le f \end{cases}$$

    Коэффициенты $$\gamma_n$$ представляют собой неотрицательную числовую последовательность, зависящую только от номера n. Кроме того, $$\sum\limits_{n=1}^{\infty} \gamma_n = \infty$$ и $$\sum\limits_{n=1}^{\infty} \gamma_n^2 < \infty$$ (например, $$\gamma_n=1/n$$ ) или $$\gamma_n=const$$.

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

  • Будем считать, что $$f_0(X)\equiv 0$$ (нулевое приближение). Пусть в результате применения алгоритма после n -го шага построена разделяющая функция fn(X), а на (n+1) -м шаге предъявлено изображение Xn+1, для которого известно действительное значение разделяющей функции f(Xn+1 ). Тогда функция fn+1(X) строится по следующему правилу:

    $$f_{n+1}(X)=f_n(X)+\gamma_{n+1}sign(f(X_{n+1})-f_n(X_{n+1}))\cdot U(X,X_{n+1})$$

  • Во втором алгоритме также принимается, что $$f_0(X)\equiv 0$$. Переход к следующему приближению, т. е. переход от функции fn(X) к fn+1(X), осуществляется в результате следующей рекуррентной процедуры:

    $$f_{n+1}(X)=f_n(X)+(f(X_{n+1})-f_n(X_{n+1}))\cdot \frac{1}{\lambda}U(X,X_{n+1})$$

    где $$\lambda$$ — произвольная положительная константа, удовлетворяющая условию $$\lambda =(1/2)\cdot max(X,X_i)$$.

  • Если в (ф. 5) принять$$\psi_j(X)=sign(\sum\limits_{v=1}^{m} \beta_{vj} \cdot x_v + \Theta_j),$$ и предположить, что xv может иметь только два значения 0 и 1, то в этом случае алгоритм потенциальных функций будет совпадать со схемой персептрона с индивидуальными порогами А -элементов и с коррекцией ошибок. Поэтому многие теоретические положения метода потенциальных функций могут быть успешно применены для анализа некоторых перцептронных схем.

    Метод группового учета аргументов МГУА

    Метод наименьших квадратов

    Перед тем, как начинать рассмотрение МГУА, было бы полезно вспомнить (или узнать впервые) метод наименьших квадратов — наиболее распространенный метод подстройки линейно зависимых параметров.

    Рассмотрим для примера МНК для трех аргументов.

    Пусть функция T=T(U, V, W) задана таблицей, то есть из опыта известны числа Ui, Vi, Wi, Ti ( i = 1, … , n). Будем искать зависимость между этими данными в виде:

    T(U,V,W)=aU+bV+cW (4.43)

    где a, b, c — неизвестные параметры.

    Подберем значения этих параметров так, чтобы была наименьшей сумма квадратов уклонений опытных данных Ti и теоретических Ti = aUwi + bVi + cWi, то есть сумма:

    $$\sigma =\sum\limits_{i=1}^{n} (T_i-aU_i-bV_i-cW_i)^2 \to min$$

    Величина $$\sigma$$ является функцией трех переменных a, b, c. Необходимым и достаточным условием существования минимума этой функции является равенство нулю частных производных функции $$\sigma$$ по всем переменным, то есть:

    $$\frac{\partial \sigma}{\partial a}=0, \frac{\partial \sigma}{\partial b}=0, \frac{\partial \sigma}{\partial c}=0$$

    Так как:

    $$\frac{\partial \sigma}{\partial a}= -2\sum\limits_{i=1}^{n} T_i-aU_i-bV_i-cW_i)U_i \\ \frac{\partial \sigma}{\partial b}= -2\sum\limits_{i=1}^{n} T_i-aU_i-bV_i-cW_i)V_i \\ \frac{\partial \sigma}{\partial c}= -2\sum\limits_{i=1}^{n} T_i-aU_i-bV_i-cW_i)W_i$$

    система для нахождения a, b, c будет иметь вид:

    $$a\sum\limits_{i=1}^{n} U_i^2 + b\sum\limits_{i=1}^{n} U_iV_i + c\sum\limits_{i=1}^{n} U_iW_i = \sum\limits_{i=1}^{n}T_iU_i \\ a\sum\limits_{i=1}^{n} U_iV_i + b\sum\limits_{i=1}^{n} V_i^2 + c\sum\limits_{i=1}^{n} V_iW_i = \sum\limits_{i=1}^{n}T_iV_i \\ a\sum\limits_{i=1}^{n} U_iW_i + b\sum\limits_{i=1}^{n} W_iV_i + c\sum\limits_{i=1}^{n} W_i^2 = \sum\limits_{i=1}^{n}T_iW_i$$

    Данная система решается любым стандартным методом решения систем линейных уравнений (Гаусса, Жордана, Зейделя, Крамера).

    Рассмотрим некоторые практические примеры нахождения приближающих функций.

  • $$y=\alpha x^2+\beta x+ \gamma $$

    Задача подбора коэффициентов $$\alpha$$, $$\beta$$, $$\gamma$$ сводится к решению общей задачи при T=y, U=x2, V=x, W=1, $$\alpha =a, \beta =b, \gamma=c$$.

  • $$f(x,y)=\alpha sin(x)+\beta cos(y)+ \gamma /x$$

    Задача подбора коэффициентов $$\alpha$$, $$\beta$$, $$\gamma$$ сводится к решению общей задачи при T=f, U=sin(x), V=cos(y), W=1/x, $$\alpha =a, \beta =b, \gamma=c$$.

  • Если мы распространим МНК на случай с m параметрами,

    $$\sigma =\sum\limits_{i=1}^{n}(T_i-\sum\limits_{i=1}^{m} u_{iv}c_v)^2 \to min$$

    то путем рассуждений, аналогичных приведенным выше, получим следующую систему линейных уравнений:

    $$\begin{cases} c_1 \bar u_1 \bar u_1 +c_2\bar u_1 \bar u_2 +K+ c_m\bar u_1 \bar u_m = \bar T \bar u_1 \\ c_1 \bar u_2 \bar u_1 +c_2\bar u_2 \bar u_2 +K+ c_m\bar u_2 \bar u_m = \bar T \bar u_2 \\ \Lambda\\ c_1 \bar u_m \bar u_1 +c_2\bar u_m \bar u_2 +K+ c_m\bar u_m \bar u_m = \bar T \bar u_m \\ \end{cases}$$

    где $$\bar T=\{T_i\}^m_{i=1}, \bar u_v=\{u_{iv}\}^n_{i=1}$$

    Общая схема построения алгоритмов метода группового учета аргументов (МГУА)

    (рис 4.7) Селекция самого черного тюльпана при расширяющемся опытном поле (эквивалент полного перебора), и при постоянном размере поля (эквивалент селекции при сохранении свободы выбора решений F = const)

    Заимствование алгоритмов переработки информации у природы является одной из основных идей кибернетики. "Гипотеза селекции" утверждает, что алгоритм массовой селекции растений или животных является оптимальным алгоритмом переработки информации в сложных задачах. При массовой селекции высевается некоторое количество семян. В результате опыления образуются сложные наследственные комбинации. Селекционеры выбирают некоторую часть растений, у которых интересующее их свойство выражено лучше всего (эвристический критерий). Семена этих растений собирают и снова высевают для образования новых, еще более сложных комбинаций. Через несколько поколений селекция останавливается и ее результат является оптимальным. Если чрезмерно продолжать селекцию, то наступит "инцухт" — вырождение растений. Существует оптимальное число поколений и оптимальное количество семян, отбираемых в каждом из них.

    Алгоритмы МГУА воспроизводят схему массовой селекции [5], показанной на рис. 4.7. В них есть генераторы усложняющихся из ряда в ряд комбинаций и пороговые самоотборы лучших из них. Так называемое "полное" описание объекта

    $$\varphi = f(x_1,x_2,x_3,...,x_m)$$,

    где f — некоторая элементарная функция, например степенной полином, заменяется несколькими рядами "частных" описаний:

    1-ряд селекции: y1= f(x1x2), y2= f(x1x3),..., ys= f(xm-1xm),

    2-ряд селекции: z1= f(y1y2), z2= f(y1y2),..., zp= f(ys-1ys), где s=c2, $$p=c_s^2$$ и т.д.

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

    Каждое частное описание является функцией только двух аргументов. Поэтому его коэффициенты легко определить по данным обучающей последовательности при малом числе узлов интерполяции [4]. Исключая промежуточные переменные (если это удается), можно получить "аналог" полного описания. Математика не запрещает обе эти операции. Например, по десяти узлам интерполяции можно получить в результате оценки коэффициентов полинома сотой степени и т. д.

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

    Ряды селекции наращиваются до тех пор, пока регулярность повышается. Как только достигнут минимум ошибки, селекцию, во избежание "инцухта", следует остановить. Практически рекомендуется остановить селекцию даже несколько раньше достижения полного минимума, как только ошибка начинает падать слишком медленно. Это приводит к более простым и более достоверным уравнениям.

    Алгоритм с ковариациями и с квадратичными описаниями

    (рис 4.8) МГУА как эквивалент массовой селекции

    В этом алгоритме [5, 6] используются частные описания, представленные в следующих формулах: yi=a0+a1xi+a2xj+a3xixj ; $$y_k=a_0+a_1x_i+a_2x_j+a_3x_ix_j+a_4x_i^2+a_5x_j^2$$.

    Сложность модели увеличивается от ряда к ряду селекции как по числу учитываемых аргументов, так и по степени. Степень полного описания быстро растет. На первом ряду — квадратичные описания, на втором — четвертой степени, на третьем — восьмой и т. д. В связи с этим минимум критерия селекции находится быстро, но не совсем точно. Кроме того, имеется опасность потери существенного аргумента, особенно на первых рядах селекции (в случае отсутствия протекции). Специальные теоремы теории МГУА определяют условия, при которых результат селекции не отличается от результата полного перебора моделей.

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

    Метод предельных упрощений (МПУ)

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

    В МПУ предполагается, что разделяющая функция задается заранее в виде линейного (самого простого) полинома, а процесс обучения состоит в конструировании такого пространства минимальной размерности, в котором заранее заданная наиболее простая разделяющая функция безошибочно разделяет обучающую последовательность. МПР назван так потому, что в нем строится самое простое решающее правило в пространстве небольшой размерности, т. е. в простом пространстве.

    Пусть на некотором множестве объектов V заданы два подмножества $$V^*_1$$ и $$V^*_2$$, определяющие собой образы на обучающей последовательности V. Рассмотрим i -е свойство объектов, такое, что некоторые объекты обучающей последовательности этим свойством обладают, а другие — нет. Пусть заданным свойством обладают объекты, образующие подмножество V1i, а объекты подмножества V2i этим свойством не обладают ( $$V_{1i} \cup V_{2i} =V$$ ). Тогда i -е свойство называют признаком первого типа относительно образа $$V^*_1$$, если выполняются соотношения

    $$V_1^* \subseteq V_{1i} \mbox{ и }V_{1i} \cap V_2^* \ne V_2^*$$

    и признаком второго типа, если выполняются

    $$V_1^* \subseteq V_{1i} \mbox{ и }V_{1i} \cap V_2^* = \emptyset$$

    Если же выполняются соотношения

    $$V_2^* \subseteq V_{2i} \mbox{ и }V_{2i} \cap V_1^* \ne V_1^*$$

    то i -е свойство считается признаком первого типа относительно образа $$V^*_2$$, а если выполняются

    $$V_2^* \subseteq V_{2i} \mbox{ и }V_{2i} \cap V_1^* = \emptyset$$

    то это же свойство объявляется признаком второго типа относительно образа $$V^*_2$$. Если свойство не обладает ни одной из приведенных особенностей, то оно вообще не относится к признакам и не участвует в формировании пространства.

    Одинаковые признаки — это два признака xi и xj, порождающие подмножества V1j, V2j, V1i, V2i, такие, что

    V1j= V1i и V2j= V2i.(4.54)

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

    Метод предельных упрощений состоит в том, что в процессе обучения последовательно проверяются все возможные свойства объектов и из них выбираются только такие, которые обладают хотя бы одной из особенностей, определяемых соотношениями (4.50), (4.51). Такой отбор однотипных, но неодинаковых признаков продолжается до тех пор, пока при некотором значении размерности пространства не наступит безошибочное линейное разделение образов на обучающей последовательности. В зависимости от того, из признаков какого типа строится пространство, в качестве разделяющей плоскости выбирается плоскость, описываемая уравнением

    $$\sum\limits_{i=1}^{n} x_i -(n-0.5)=0$$

    либо уравнением

    $$\sum\limits_{i=1}^{n} x_i -1=0$$

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

    Коллективы решающих правил

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

    Для рационального использования особенностей различных алгоритмов при решении задач распознавания возможно объединить различные по характеру алгоритмы распознавания в коллективы, которые формируют классификационное решение на основе правил, принятых в теории коллективных решений. Пусть в некоторой ситуации Х принимается решение S. Тогда S=R(X), где R — алгоритм принятия решения в ситуации X. Предположим, что существует L различных алгоритмов решения задачи, т. е. Sl=Rl(X), l=1, 2, ... , L, где Sl — решение, полученное алгоритмом Rl. Будем называть множество алгоритмов {R}={R1, R2, ..., Ri.} коллективом алгоритмов решения задачи (коллективом решающих правил), если на множестве решений Sl в любой ситуации Х определено решающее правило F, т. е. S=F(S1, S2, ..., SL, X). Алгоритмы Rl принято называть членами коллектива, Sl — решением l -го члена коллектива, а S — коллективным решением. Функция F определяет способ обобщения индивидуальных решений в решения коллектива S. Поэтому синтез функции F, или способ обобщения, является центральным моментом в организации коллектива.

    Принятие коллективного решения может быть использовано при решении различных задач. Так, в задаче управления под ситуацией понимается ситуация среды и целей управления, а под решением — самоуправление, приводящее объект в целевое состояние. В задачах прогноза Х — исходное, а S — прогнозируемое состояние. В задачах распознавания ситуацией Х является описание объекта X, т. е. его изображение, а решением S — номер образа, к которому принадлежит наблюдаемое изображение. Индивидуальное и коллективное решения в задаче распознавания состоят в отнесении некоторого изображения к одному из образов. Наиболее интересными коллективами распознающих алгоритмов являются такие, в которых существует зависимость веса каждого решающего правила Rl от распознаваемого изображения. Например, вес решающего правила Rl может определяться соотношением

    $$\mu_i(X)= \begin{cases} 1, если \ X\in B_1,\\ 0, если \ X\notin B_1, \end{cases}$$

    где Bl — область компетентности решающего правила Rl. Веса решающих правил выбираются так, что

    $$\sum\limits_{i=1}^{L} \mu_i(X) =1$$

    для всех возможных значений X. Соотношение (4.57) означает, что решение коллектива определяется решением того решающего правила Ri, области компетентности которого принадлежит изображение объекта X. Такой подход представляет собой двухуровневую процедуру распознавания. На первом уровне определяется принадлежность изображения той или иной области компетентности, а уже на втором — вступает в силу решающее правило, компетентность которого максимальна в найденной области. Решение этого правила отождествляется с решением всего коллектива. Основным этапом в такой организации коллективного решения является обучение распознаванию областей компетентности. Практически постановкой этой задачи различаются правила организации решения коллектива. Области компетентности можно искать, используя вероятностные свойства правил коллектива, можно применить гипотезу компактности и считать, что одинаковым правилам должны соответствовать компактные области, которые можно выделить алгоритмами самообучения. В процессе обучения сначала выделяются компактные множества и соответствующие им области, а затем в каждой из этих областей восстанавливается свое решающее правило. Решение такого правила, действующего в определенной области, объявляется диктаторским, т. е. отождествляется с решением всего коллектива.

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

    Вернуться к учебному плану