3      ТРАССИРОВКА НЕЙРОСЕТИ

^ ^ Подход: опыт - предпосылки обобщения

Объединим множество эталонов, требующих возбуждения одного нейрона выходного слоя, понятием обобщенный эталон. Например, эталоны А\аВ\аС\, А\аВ\аС2, ЛілЯілСЗ, Л1л51лС4, A1AB1JIC5 образуют один обобщенный эталон А\лВ\л л((йЫСЙ№Й8ѵ0&А/05)5да для обобщенного эталона введем понятие обобщенной операции &, объединяющей все посылки, ведущие к одному выводу, А\ & В\ & Cl & С2 & СЗ & С4 & С5 RI.

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

А\&.В\&С1 &С2&СЗ&С4&С5 -> Л1;

А\&В2&ВЗ&С\&С2&СЗ -> R2\

А1 &В2&ВЗ&СЛ&С5 -»• ЛЗ;

А2& ВЗ&С\&С2&СЗ&С4&С5 -» R4;

А2&В\&В2&С 1 &С2&СЗ&С4&С5 -> RS.

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

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

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

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

Из нейрона В\ не исходит ни одной статической цепочки, заканчивающейся нейроном Вых5, в связи с тем, что в строке, соответствующей нейрону Вых5, нет даже транзитивной связи в столбце, соответствующем нейрону В\. Это относится и к нейрону ВЗ.

Введем непосредственные синапсические связи В1 Вых5 и ВЗ Вых5, что отмечено на рис. 3.1 жирной стрелкой, а на рис.

3.2 — весами элемента матрицы.

Сформируем (см. подразд. 2.5) статический путь возбуждения [В1,А1, С1,£3, С4, С5\ Вых\яі отобразим матрицей ^[ДІ,

А\, С\, С2, СЗ, С4, С5 -Вых\\ (рис. 3.3, а). Имитируя проклады- ваемые пути возбуждений, первоначально присваиваем нейронам входного слоя, отображенным нулевыми строками этой матрицы, признак «возбужден».

Найдем входы матрицы Дуустые строки), обладающие признаком «возбужден». Выделим в одну совокупность соответствующие им столбцы (вданном случае 1 — 7) и найдем в ней строку, содержащую максимальное число нулей (строка, соответствующая нейрону 6). Заменяем в этой строке (в выделенной совокупности

столбцов) нули единицами, т.е. максимально увеличиваем соответствующие веса. Присвоим нейрону 6 признак «возбужден», а также значение щ 5, характеризующее то количество нейронов, «возбуждение» которых интегрируется на входе нейрона. При повторном использовании этого нейрона менять веса связей на его входе нельзя. Изменение весов отображаем в матрице S.

Исключим из матрицы строки и столбцы, соответствующие нейронам С1, С2, СЗ, С4, С5. Новая матрица Дмеет вид, представленный на рис. 3.3, б.

Вновь выделим столбцы, соответствующие «возбужденным» входам матрицы, т. е. нейронам В\, Л\, 6. Находим строку в выделенной совокупности столбцов с максимальным числом нулей. Строка соответствует нейрону 11. Заменяем в этой строке нули единицами, т. е. максимально увеличиваем веса. Присваиваем нейрону 11 признак «возбужден» и значение ШцЗ. Отражаем изменение весов в матрице S.

Исключим из матрицы <£рроки и столбцы, соответствующие нейронам В\, Л\, 6. Матрица принимает вид, изображенный на рис. 3.3, в. Исключаем из матрицы все входы, соответствующие нейронам 1, 2, 3, 4, 5, не обладающие признаком «возбужден», так как строящийся нами путь возбуждения их уже миновал. Исключение этих нейронов породит новые нейроны 9 и 10, подлежащие исключению по той же причине.

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

чение за один проход. Матрица Ляримет вид, представленный на рис. 3.3, г.

Теперь в первом столбце имеется единственная строка с нулем, соответствующая нейрону Вых\. Изменим нуль на единицу, окончательно получим возможный динамический путь возбуждения по заданному эталону. Изменения отразим в матрице S.

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

В результате имеем сеть, обученную реакции на эталон одной комбинации событий.

Составим обобщенный эталон ситуации {А\, В2, 53, С\, С2, СЗ}, требующий решения R2. Свяжем это решение с нейроном Вых2.

По сети, представленной на рис. 3.4, или по матрице (см. рис. 3.2), построим с учетом частичного обучения матрицу статического пути возбуждения $§2, ВЗ, А1, Cl, С2, СЗ Въ&2]

(рис. 3.5).

На нейроне 6 ранее суммировалось возбуждение пяти нейронов: С1,С2, СЗ, С4, С5. Таким образом, и соответствующая строка матрицы ^содержит пять единиц т65, а соответствующая строка матрицы Одержит всего три единицы. Значит, этот нейрон не может использоваться для трассировки необходимого пути возбуждения, так как комбинация С1&С2&СЗ&С4&С5 здесь не требуется. То же относится и к нейрону 11.

Исключим из данной матрицы строки и столбцы, соответствующие нейронам 6 и 11. Матрица примет вид, приведенный на рис. 3.6.

Объединим столбцы множества входов матрицы, обладающих признаком «возбужден», в данном случае первые шесть столбцов. Найдем в них первую строку, содержащую максимальное число нулей. Это строка, соответствующая нейрону 4.

Изменим в ней все нули на единицы, положим т$. Присвоим нейрону 4 признак «возбужден», отразим внесенные изменения весов в матрице S.

Исключим из матрицы %роки и столбцы, соответствующие нейронам В2, А1.С1.С2, определившим возбуждение нейрона 4.

Вновь объединим столбцы множества входов, обладающих признаком «возбужден», соответствующие нейронам ВЗ, СЗ, 4. В совокупности столбцов выберем первую строку, содержащую максимальное число нулей, — строку, соответствующую нейрону 1. Заменим нуль на единицу, положим ffljl, нейрону 1 присвоим признак «возбужден».

Исключим из матрицы строку и столбец, соответствующие нейрону ВЗ, передавшему энергию возбуждения нейрону 1, атак- же исключим строки и столбцы, соответствующие образовавшимся входам — «не возбужденным» нейронам 2 и 3.

В столбцах, соответствующих нейронам — входам с признаком «возбужден», найдем строку с наибольшим числом нулей. Такая строка соответствует нейрону 10. Заменим нули на единицы, присвоим нейрону признак «возбужден», полагаем т$.

В матрице ,% ключ им строки и столбцы, соответствующие нейронам 1 и 4, передавшим возбуждение нейрону 10.

Нейрон 9, не обладающий признаком «возбужден», образует вход матрицы. Исключим соответствующие ему строку и столбец.

Выделим столбцы, соответствующие нейронам СЗ и 10, и в них находим строку с максимальным числом нулей. Такая строка соответствует нейрону 5. Заменяем в ней нуль единицей, полагаем и присваиваем нейрону признак «возбужден». Отразим изменение веса в матрице S.

Исключим из матрицы >%року и столбец, соответствующие нейрону СЪ, передавшему возбуждение нейрону 5. Далее исключим строку и столбец, соответствующие нейрону 7, как порождающему вход матрицы, который не имеет признака «возбужден».

В совокупности выделенных столбцов, соответствующих нейронам 5 и 10, строка, соответствующая нейрону 12, имеет единственный нуль. Заменим его на единицу, присвоим нейрону 12 признак «возбужден», положим щ21. Отразим внесенное изменение веса в матрице S. Исключим из матрицы fijpoKy и столбец, соответствующие нейрону 5. И наконец, на последнем шаге, заменив нули в строке, соответствующей нейрону Вых2, единицами, окончательно получим искомый путь возбуждения (рис. 3.7).

Обучим сеть ситуации, требующей решения R3. Пусть этому решению соответствует нейрон ВыхЗ. Матрица щт, С4,

С5ВыхЗ] представлена на рис. 3.8, а. Исключим из матрицы іУ3 те нейроны, для которых значение т превышает количество единиц в соответствующей строке, т. е. — нейроны 4, 5, 6, 11, которые в данном пути возбуждения не используются. Вновь исключим из матрицы Sf нейроны, для которых в результате предыдущего исключения значение т превышает количество единиц в соответствующей строке. Таким образом действуем до исчерпания этой возможности. В результате будут исключены из рассмотрения (вследствие исключения нейронов 4 и 5) нейроны 10 и 12. Окончательный вид матрицы Я^ображен на рис. 3.8, б.

Присвоим всем нейронам, образующим входы матрицы, признак «возбужден». Выделим и объединим столбцы, соответствующие входам матрицы Sy

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

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

рый приобрел энергию возбуждения одного или нескольких нейронов, образующих входы матрицы. Эти нейроны могут быть исключены из рассмотрения. Так, нейрон 1 возбужден единственным нейроном, принадлежащим текущему множеству входов матрицы, — нейроном ВЗ, который может быть исключен из рассмотрения. Матрица .Принимает вид, представленный на рис. 3.8, в. Подтверждаем у нейрона 1 признак «возбужден» и превращаем его во вход матрицы, ^ичтожив веса в его строке.

Вновь найдем множество входов матрицы и выделим соответствующие столбцы. Отыщем строку, содержащую единицы в этих и только этих столбцах. Таковых больше нет. Тогда найдем стро-

ку, содержащую максимальное число нулей. Первая такая строка соответствует нейрону 2. Заменим нули единицами, положим т2— = 2, исключим нейроны В2 и А1 из рассмотрения, присвоим нейрону 2 признак «возбужден». Отразим сделанные изменения весов в матрице S.

Исключим входы, не обладающие признаком «возбужден», — нейроны 3 и 5.

Выделим столбцы, соответствующие входам. В них нет строк, содержащих единицы. Тогда найдем строку, содержащую максимальное число нулей. Такая строка соответствует нейрону 7. Заменим нули (в выделенной совокупности столбцов) на единицы, положим mjl, присвоим нейрону 7 признак «возбужден», отразим изменение весов з матрице S. Исключим нейроны С4 и С5 из рассмотрения. Сформировался «невозбужденный» вход, соответствующий нейрону 8. Исключим to рассмотрения и этот нейрон (рис. 3.8, г).

Выделим столбцы, соответствующие «возбужденным» входам и не находим строк, содержащих единицы. Тогда найдем первую строку с максимальным числом нулей. Это строка, соответствующая нейрону 13. Заменим нуль на единицу, нейрону 13 присвоим признак «возбужден», полагаем щ31. Исключим нейрон 7 из рассмотрения.

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

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

Исключим нейрон 13 из рассмотрения.

Выделим множество столбцов, соответствующих «возбужденным» входам, т. е. нейронам 1 и 2. Ищем в этих столбцах строку с единицами, затем с максимальным числом нулей, но таковых нет. Следовательно, необходимо ввести дополнительные связи. Для этого в каждом столбце найдем первую сверху транзитивную связь и заменимее на единицу. Тогда данная сеть дополнится динамическими цепочками возбуждения 1 В/ыхЗ и 2 ВыхЗ.

Построение трассы решения R3 закончено, и сеть имеет вид, представленный на рис. 3.9.

Приступим к обучению следующему обобщенному эталону — решению А2 & ВЗ & С1 & С2 & СЗ & С4 & С5 Матрица следования т А2, Cl, С2, СЗ, С4, С5 ВъШ] представлена на рис. 3.10, а.

Исключим из рассмотрения те нейроны, для которых количество единиц в строках меньше т. Такими нейронами являются 4 и 11. Матрица <%>имет вид, представленный на рис. 3.10, б.

Присвоим всем нейронам-входам признак «возбужден». Выделим столбцы, соответствующие входам, это первые семь столбцов. Найдем строку с максимальным числом единиц в этих столбцах при отсутствии единиц в других. Строка соответствует нейрону 6. Теперь нейрон 6 представляет нейроны С\, С2, СЗ, С4, С5, передавшие ему энергию возбуждения. Присвоим ему признак «возбужден», исключим из рассмотрения перечисленные нейроны, матрица гі^имет вид, представленный на рис. 3.10, в.

Для «невозбужденных» нейронов исключим в матрице S4 строки (и столбцы), число единиц в которых меньше т. Они соответствуют нейронам 5 и 7. Повторим этот щаг до полного исключения таких нейронов - исключаются нейроны 12 и 13. Матрица примет вид, представленный нарис. 3.10, г.

Исключим из рассмотрения множество «невозбужденных» входов. К таковым относится нейрон 8. Выделим множество столбцов, соответствующих входам матрицы. В их совокупности найдем первую строку с максимальным числом нулей (единиц нет во всей матрице). Такую строку образует нейрон 3. Нули в ней соответствуют нейронам ВЪ и А2. Исключим эти нейроны из рассмотрения, положим щ 2, присвоим нейрону 3 признак «возбужден».

Вновь выделим множество столбцов, соответствующих входам матрицы, и так как в их совокупности нет строк, содержащих единицы, найдем строку с максимальным количеством нулей, соответствующую нейрону 14. Заменим в ней нуль на единицу, положим Щ4І, присвоим нейрону 14 признак «возбужден». Исключим нейрон 6 из матрицы, и она примет вид, представленный на рис. 3.10, д.

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

14   из рассмотрения. Вид матрицы представлен на рис. 3.10, е.

В этой матрице множество «возбужденных» входов представлено единственным нейроном 3. Однако в соответствующем ему столбце нет ни единичных, ни нулевых элементов. Введем в сеть дополнительную связь, найдя в этом столбце первую сверху транзитивную связь и положив ее вес равным единице. Эта связь порождает динамический путь возбуждения 3 -В)ых4. Все изменения отразим в матрице S.

Построение трассырешенияі?4закончено. Нарис. 3.1 Приведен вид нейросети, полученной после данного этапа трассировки.

Теперь приступим к трассировке последнего пути возбуждения А2&В1&В2&С1&С2&СЗ& С4 & С5 Ж Решению R5 соответствует нейрон выходного слоя Вых5.

На основе текущей матрицы S построим матрицу А2, Cl, С2, СЗ, С4, С5 -Зых5] путем исключения «ненужных» строк и столбцов с сохранением транзитивных связей. Исключим из рассмотрения нейрон 4, для которого количество единиц в строке меньше т$. Получившаяся матрица проставлена на рис. 3.12, а.

Присвоим всем входам признак «возбужден». Выделим столбцы, соответствующие «возбужденным» входам. В совокупности этих столбцов найдем строку, содержащую максимальное число единиц в этих и только этих столбцах. В данном случае такая строка соответствует нейрону 6. Присвоим ему признак «возбужден» и исключим из рассмотрения нейроны Cl,..., С5.

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

Исключим из рассмотрения «невозбужденный» вход, соответствующий нейрону 8. Выделим столбцы, соответствующие «воз-

бужденным» входам, и в их совокупности найдем строку, содержащую наибольшее число единиц при отсутствии единиц в'дру- гих столбцах. Строка соответствует нейрону 14. Исключим из рассмотрения нейрон 6, как передавший свое возбуждение нейрону 14, присвоим нейрону 14 признак «возбужден». Матрица S5 примет вид, представленный на рис. 3.12, в.

Выделим столбцы входов, соответствующие «возбужденным» нейронам, и в их совокупности найдем строку, соответствующую

нейрону выходного слоя Вых5, содержащую максимальное число нулей (строк с единицами больше нет). Заменим нули на единицы. Исключим нейроны В1 и 14 из рассмотрения. Отразим введенные изменения в матрице S. На рис. 3.12, г приведена полученная матрица S5.

Выделим множество столбцов — входов матрицы. В этих столбцах не находим строк, содержащих единицы, а также строк, содержащих нули. Тогда в каждый столбец занесем единицы на места транзитивных связей, т. е. введем связи В2 -Вьіх? и 2 —> Вых5, а веса этих связей положим равными единице.

Трассировка нейросети закончена. Окончательный ее вид представлен на рис. 3.13, где единичные веса соответствуют жирным стрелкам.

2    2 Алгоритм трассировки нейросети

В результате решения задачи найден алгоритм трассировки нейросети. Рассмотрим его по шагам.

Шаг 1. Дополняем матрицу следования S транзитивными связями по алгоритму, представленному в подразд. 2.4.

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

Шаг 3. Организуем перебор всех эталонов обобщенных ситуаций (обобщенных эталонов), закрепив нейроны выходного слоя Выхі (і = 1,..., т) за соответствующими решениями. Для каждого обобщенного эталона выполняем шаги 4—15. Если все обобщенные эталоны обработаны, выполнение алгоритма заканчиваем.

Шаг 4. Для обобщенного эталона і (і = 1, 2,..., т) строим матрицу следования S+ [Pn\jxOa,. , -Dir -> Выхі], DiUDa, Dv нейроны входного слоя — рецепторы, возбуждающиеся при подаче обобщенного эталона, т.е. характеризующие ситуацию. Величина возбуждения равна единице.

Шаг 5. В матрице й'рследовательно, сверху вниз, вычеркиваем строки (и соответствующие столбцы), число единичных элементов в которых меньше указанного ранее при строке т.

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

Шаг 6. Присваиваем признак «возбужден» всем нейронам входного слоя матрицы St.

Шаг 7. Проверяем количество строк матрицы 5£ри наличии более одной строки выполняем следующий шаг, в противном случае — шагЗ.

Шаг 8. Исключаем строки (и соответствующие им столбцы) матрицы Л^ляюшиеся ее входами и отображающие нейроны входного слоя, не обладающие признаком «возбужден».

Шаг 9. Исключаем из матрицы й^роки (и столбцы), которые содержат количество единичных элементов меньше параметра т, указанного при строке.

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

. Шаг 10. Выделяем множество строк матрицы ^признаком "возбужден" и множество соответствующих им столбцов.

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

Шаг 12. Исключаем из рассмотрения нейроны (вычеркиваем строки и столбцы), которым соответствуют единицы в найденной строке. Присваиваем нейрону, соответствующему выделенной строке, признак «возбужден». Уничтожаем в этой строке все нули и символы транзитивных связей, если они имеются. Строка преобразуется во вход матрицы ^алее выполняем шаг 7.

Шаг 13. В совокупности выделенных столбцов находим первую строку, содержащую максимальное число нулевых элементов. Если такой строки нет, выполняем шаг 15.

Шаг 14. Меняем значения возбуждения соответствующих связей, т.е. заменяем нули единицами. Присваиваем нейрону, соответствующему выделенной строке, значение т, равное количеству единиц в строке, и признак «возбужден». Вычеркиванием строк и столбцов исключаем из рассмотрения нейроны, передавшие энергию возбуждения найденному.

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

Внесенные изменения весов учитываем в матрице S. Выполняем шаг 7.

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

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

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

Так, в нашем примере удачно сложился терм в результате связи [С1, С2, СЗ, С4, С5 6$. Он использовался при получении трех решений по эталонным ситуациям — Rl, R4, R5. По-видимому, целесообразны термы в результате объединения С\, С2, СЪ, а также С4 и С5, В1 и В2 и др.

Предлагаем читателю самостоятельно провести трассировку сети, представленной на рис. 2.14, по предложенному алгоритму.

2 з Приведение нейросети после трассировки

Рассмотрим простейшую передаточную функцию

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

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

Однако, например, при распознавании знаков алфавита величины возбуждения нейронов выходного слоя в ответ на предъявление различных эталонов могут быть различными. Так, эталон латинской / «засветит» на входном слое (на сетчатке) меньшее число нейронов, чем, скажем, буква0. При рассмотренной передаточной функции величины возбуждения на выходе будут существенно разными.

Возникает вопрос: не приводит ли некоторое незначительное изменение (зашумление) ситуации А, логично требующее решения Ситуации В, т.е. к принятию решения Лв?

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

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

Значение йфходим не по обобщенному эталону, а по каждой конкретной эталонной ситуации, входящей в состав обобщенного эталона. Например, ситуация {А1, В1, бЗфазует реальный эталон в составе обобщенного эталона {А1, В1, Cl, С2, СЗ, С4, С5}. По нему (другие ситуации аналогичны) находим величину возбуждения rf^iftOHa Вых\:

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

2 д Трассировка двухслойной нейросети

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

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

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

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

Нарис. 3.14 показана трассировка двухслойной сети, реализующей систему предикатов (3.2). Связи между слоями первоначально заданы по принципу «каждый с каждым». Выделены связи с весами, равными единице.

В дополнение к сказанному отметим следующее.

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

Таким образом, необходимо обобщение предлагаемого здесь алгоритма трассировки.