d9e5a92d

Трассировка нейросети


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

Трассировка нейросети

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

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

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

Трассировка нейросети

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

Введем непосредственные синапсические связи В1

Трассировка нейросети

Трассировка нейросети

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

Трассировка нейросети

Сформируем (см. подразд. 2.5) статический путь возбуждения [В1,А1, С1, СЗ, С4, С5]

 

Трассировка нейросети

 

Трассировка нейросетиТРАССИРОВКА НЕЙРОСЕТИ 3 Вых\\ (рис. 3.3, а). Имитируя прокладываемые пути возбуждений, первоначально присваиваем нейронам входного слоя, отображенным нулевыми строками этой матрицы, признак «возбужден».

 

Найдем входы матрицы

 

Трассировка нейросети

 

Трассировка нейросети

 

Трассировка нейросети

Рис. 3.3. Матрица следования при обучении первому эталону:
а — общий вид; б — первый шаг преобразования матрицы следования;
в — после исключения нейронов В1,А1, и 6;
г — после исключения «невозбужденных» входов

Присвоим нейрону 6 признак «возбужден», а также значение

 

Трассировка нейросети

 

Исключим из матрицы

 

Трассировка нейросети

 

Трассировка нейросети

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

 

Трассировка нейросети

 

Трассировка нейросети

 

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

Трассировка нейросети

 

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

Изменения отразим в матрице S.

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

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

Трассировка нейросети

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

 

Трассировка нейросетиТРАССИРОВКА НЕЙРОСЕТИ 6 Вых2]

 

По сети, представленной на рис. 3.4, или по матрице (см. рис. 3.2), построим с учетом частичного обучения матрицу статического пути возбуждения(рис. 3.5).

Трассировка нейросети

На нейроне 6 ранее суммировалось возбуждение пяти нейронов: С1,С2, СЗ, С4, С5. Таким образом, и соответствующая строка матрицы S содержит пять единиц Трассировка нейросети

 

Трассировка нейросети

 

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

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

Трассировка нейросети

Изменим в ней все нули на единицы, положим Трассировка нейросети

Исключим из матрицы Трассировка нейросети

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

Заменим нуль на единицу, положим Трассировка нейросети

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

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

В матрице Трассировка нейросети

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

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

Исключим из матрицы Трассировка нейросети

В совокупности выделенных столбцов, соответствующих нейронам 5 и 10, строка, соответствующая нейрону 12, имеет единственный нуль. Заменим его на единицу, присвоим нейрону 12 признак «возбужден», положим Трассировка нейросетиТРАССИРОВКА НЕЙРОСЕТИ 8  строку истолбец, соответствующие нейрону 5. И наконец, на последнем шаге, заменив нули в строке, соответствующей нейрону Вых2, единицами, окончательно получим искомый путь возбуждения (рис. 3.7).

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

Трассировка нейросетиТРАССИРОВКА НЕЙРОСЕТИ 9 Трассировка нейросетиТРАССИРОВКА НЕЙРОСЕТИ 9  изображен на рис. 3.8, б. Присвоим всем нейронам, образующим входы матрицы, признак «возбужден». Выделим и объединим столбцы, соответствующие входам матрицы Однако вследствие ранее выполненных построений — в результате частичного обучения — появляются новые особенности. Поэтому расширим последующие действия. Трассировка нейросети

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

Трассировка нейросети

Строка представляет тот нейрон, который приобрел энергию возбуждения одного или нескольких нейронов, образующих входы матрицы. Эти нейроны могут быть исключены из рассмотрения. Так, нейрон 1 возбужден единственным нейроном, принадлежащим текущему множеству входов матрицы, — нейроном В3, который может быть исключен из рассмотрения. Матрица Трассировка нейросетиТРАССИРОВКА НЕЙРОСЕТИ 10  , уничтожив веса в его строке.

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

 

Трассировка нейросети

Трассировка нейросети

 

Рис. З.8. Шаги преобразования матрицы следования для обучения третьему эталону: а — общий вид; б — матрица следования после исключения неиспользованных нейронов.

Трассировка нейросети

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

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

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

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

Трассировка нейросети

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

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

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

Трассировка нейросетиТРАССИРОВКА НЕЙРОСЕТИ 12 ВыхЗ.

 

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

Трассировка нейросети

Приступим к обучению следующему обобщенному эталону — решению А2 & В3 & С1 & С2 & С3 & С4 & С5 Трассировка нейросетиТРАССИРОВКА НЕЙРОСЕТИ 13 [В3, А2, С1, C2, С3, C4, C5 Трассировка нейросети

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

Трассировка нейросети

 

Трассировка нейросети

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

Для «невозбужденных» нейронов исключим в матрице строки (и столбцы), число единиц в которых меньше т. Они соответствуют нейронам 5 и 7. Повторим этот щаг до полного исключения таких нейронов  исключаются нейроны 12 и 13. Матрица примет вид, представленный на рис. 3.10, г. Трассировка нейросетиТРАССИРОВКА НЕЙРОСЕТИ 15

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

Трассировка нейросети

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

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

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

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

На основе текущей матрицы S построим матрицу Трассировка нейросетиТРАССИРОВКА НЕЙРОСЕТИ 15 Вых5] путем исключения «ненужных» строк и столбцов с сохранением транзитивных связей. Исключим из рассмотрения нейрон 4, для которого количество единиц в строке меньше Трассировка нейросетиТРАССИРОВКА НЕЙРОСЕТИ 15  представлена на рис. 3.12, а.

Трассировка нейросети

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

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

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

Трассировка нейросети

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

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

Выделим множество столбцов — входов матрицы. В этих столбцах не находим строк, содержащих единицы, а также строк, содержащих нули. Тогда в каждый столбец занесем единицы на места транзитивных связей, т. е. введем связи В2 Трассировка нейросетиТРАССИРОВКА НЕЙРОСЕТИ 17

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

Трассировка нейросети




Содержание раздела