Алгоритм трассировки нейросети по описанию системы принятия решений в дистрибутивной форме
Рассмотренный выше пример иллюстрирует практически все ситуации, возникающие при обучении предварительно заданной нейросети. Они полностью определяют общий алгоритм ее трассировки по структурированной записи логических выражений СПР. Однако при формальном описании такого алгоритма следует предусмотреть некоторые вспомогательные преобразования матриц следования, упрощающие компьютерную реализацию. Их целесообразность продемонстрирована в ранее рассмотренном в лекции 4 алгоритме трассировки по обобщенному эталону.
Следует напомнить предпосылки настоящего алгоритма, отличающие его от упомянутого.
Логическое описание СПР состоит из структурированных выражений, использующих скобки. Создаваемые нейросетевые подструктуры, объединенные связями с единичными весами, должны отображать порядок вложенности этих скобок. Это усложняет алгоритм трассировки вводом ограничений на длину статической цепочки возбуждения или на предельный слой нейронов при формировании подструктур нейросети – "скобок" в логической записи.Дистрибутивная форма записи логических выражений обеспечивает единственность вхождения переменных, что значительно упрощает создание подструктур нейросети.
В остальном изложенный ниже алгоритм основан на схожих действиях, что и упомянутый.
Алгоритм.
Подготовительные действия.
Используя сквозную нумерацию нейронов, разобьем весь диапазон номеров скрытых нейронов на множества по их принадлежности одному слою, если заданная сеть "слоистая", или по одинаковым максимальным длинам статических цепочек возбуждения (что для удобства также условно отнесем к одному слою). Таким образом, с учетом нейронов выходного слоя, будет установлен ранг r (в частности, число слоев) нейросети.Найдем максимальное значение s уровня вложенности скобочных выражений ("скобок") в дистрибутивном описании СПР.
Заданную для трассировки-обучения нейросеть следует считать корректной, если выполняется соотношение s
r.Строим матрицу следования S, отображающую заданную нейросеть.
Переходим к выполнению п. 14. Если этот нейрон не принадлежит предельному слою, меняем найденные нули на единицы (присваиваем связям единичный вес). Переходим к выполнению п. 14.Если в выделенных столбцах не найдена строка с единицами и нулями, находим первый из представленных в Si нейрон предельного слоя и по всем позициям выделенных столбцов записываем единицы. То есть вводим дополнительные связи с единичными весами.Отображаем введенные изменения в матрице S. Количество введенных единиц указываем в признаке m модифицированной строки, если она не соответствует нейрону выходного слоя.В записи исследуемого выражения меняем использованные нейроны (или всю "скобку"), передавшие возбуждение нейрону со скорректированными связями, на имя этого нейрона. Из матрицы Si исключаем соответствующие этим нейронам, отображенным в "скобке", строки и столбцы. Переходим к выполнению п. 6.
Описание алгоритма закончено.
В заключение необходимо подчеркнуть, что корректное представление системы принятия решений на этапе ее логического описания определяет правильную "работу" нейронной сети. На этом этапе должно быть предложено простейшее описание, исключающее противоречивость и обеспечивающее эффективную нейросетевую реализацию.
В рассматриваемом в предыдущих лекциях примере допущена небрежность при формальном описании системы в терминах математической логики. Она привела к неоднозначности выдаваемого решения при задании ситуаций на основе булевых переменных. Ошибка, скрытая в логической схеме системы (можно считать, – умышленная), с неизбежностью сказалась на правильности принятия решений. Это еще раз свидетельствует о прямой связи логического и нейросетевого представлений, о том, что логическое описание полностью определяет как структуру, так и правильное функционирование нейросети.
Однако отметим, что нейросеть на основе обобщения типа используемых данных (преобразования булево в вещественное) представляет собой и обобщение логической схемы, что приближает ее к воплощению "природных" механизмов ассоциативного мышления.
Моделирование ассоциативного мышления фактически эквивалентно созданию таблиц, фиксирующих опыт вида "если …, то …", т.е. связывающих возникающие ситуации с принимаемым по ним решениям. Распространение возбуждения в нейросети с помощью передаточной функции является эффективным механизмом и оригинальным методом интерполяции (экстраполяции) опыта, т.е. нахождения по максимальной величине возбуждения наиболее близкого решения либо определения математического ожидания исхода с помощью значений возбуждения нескольких нейронов выходного слоя.
Благодаря логическому методу построения математический аппарат нейронных сетей прост и доходчив, разработка нейросети недорога, она не требует специальных знаний пользователя. В то же время нейросеть легко допускает включение в рассмотрение новых факторов, изменение решений и т.д.
Тот факт, что двухслойные сети достаточны для построения систем принятия решений, а также возможно широкое применение однослойных сетей, может быть учтен при разработке или программировании универсального нейрокомпьютера.
В представленном здесь алгоритме трассировки нейросети с заданными связями при дистрибутивном описании единичные веса вводятся в строгом соответствии с логической схемой СПР. В этом отличие данного алгоритма от алгоритма, изложенного в лекции 4. При этом используемым ресурсом являются все скрытые нейроны, независимо от структуры транзитивных связей.
В то же время построение обученной нейросети по дистрибутивному описанию СПР в том случае, когда связи между нейронами предварительно не установлены, представляется более перспективным, т.к. "исправлять" уже введенные связи гораздо труднее, чем вводить их заново.
Анализ примеров позволяет с уверенностью говорить о высокой актуальности СПР, реализуемых с помощью однослойных и совершенных нейросетей, что значительно облегчает решение задачи трассировки-обучения.
Элемент этой матрицы на пересечении строки
Переходим к выполнению п. 14. Если этот нейрон не принадлежит предельному слою, меняем найденные нули на единицы (присваиваем связям единичный вес). Переходим к выполнению п. 14.Если в выделенных столбцах не найдена строка с единицами и нулями, находим первый из представленных в Si нейрон предельного слоя и по всем позициям выделенных столбцов записываем единицы. То есть вводим дополнительные связи с единичными весами.Отображаем введенные изменения в матрице S. Количество введенных единиц указываем в признаке m модифицированной строки, если она не соответствует нейрону выходного слоя.В записи исследуемого выражения меняем использованные нейроны (или всю "скобку"), передавшие возбуждение нейрону со скорректированными связями, на имя этого нейрона. Из матрицы Si исключаем соответствующие этим нейронам, отображенным в "скобке", строки и столбцы. Переходим к выполнению п. 6.
Описание алгоритма закончено.
В заключение необходимо подчеркнуть, что корректное представление системы принятия решений на этапе ее логического описания определяет правильную "работу" нейронной сети. На этом этапе должно быть предложено простейшее описание, исключающее противоречивость и обеспечивающее эффективную нейросетевую реализацию.
В рассматриваемом в предыдущих лекциях примере допущена небрежность при формальном описании системы в терминах математической логики. Она привела к неоднозначности выдаваемого решения при задании ситуаций на основе булевых переменных. Ошибка, скрытая в логической схеме системы (можно считать, – умышленная), с неизбежностью сказалась на правильности принятия решений. Это еще раз свидетельствует о прямой связи логического и нейросетевого представлений, о том, что логическое описание полностью определяет как структуру, так и правильное функционирование нейросети.
Однако отметим, что нейросеть на основе обобщения типа используемых данных (преобразования булево в вещественное) представляет собой и обобщение логической схемы, что приближает ее к воплощению "природных" механизмов ассоциативного мышления.
Моделирование ассоциативного мышления фактически эквивалентно созданию таблиц, фиксирующих опыт вида "если …, то …", т.е. связывающих возникающие ситуации с принимаемым по ним решениям. Распространение возбуждения в нейросети с помощью передаточной функции является эффективным механизмом и оригинальным методом интерполяции (экстраполяции) опыта, т.е. нахождения по максимальной величине возбуждения наиболее близкого решения либо определения математического ожидания исхода с помощью значений возбуждения нескольких нейронов выходного слоя.
Благодаря логическому методу построения математический аппарат нейронных сетей прост и доходчив, разработка нейросети недорога, она не требует специальных знаний пользователя. В то же время нейросеть легко допускает включение в рассмотрение новых факторов, изменение решений и т.д.
Тот факт, что двухслойные сети достаточны для построения систем принятия решений, а также возможно широкое применение однослойных сетей, может быть учтен при разработке или программировании универсального нейрокомпьютера.
В представленном здесь алгоритме трассировки нейросети с заданными связями при дистрибутивном описании единичные веса вводятся в строгом соответствии с логической схемой СПР. В этом отличие данного алгоритма от алгоритма, изложенного в лекции 4. При этом используемым ресурсом являются все скрытые нейроны, независимо от структуры транзитивных связей.
В то же время построение обученной нейросети по дистрибутивному описанию СПР в том случае, когда связи между нейронами предварительно не установлены, представляется более перспективным, т.к. "исправлять" уже введенные связи гораздо труднее, чем вводить их заново.
Анализ примеров позволяет с уверенностью говорить о высокой актуальности СПР, реализуемых с помощью однослойных и совершенных нейросетей, что значительно облегчает решение задачи трассировки-обучения.
Напоминаем, что здесь не рассматриваются обратные связи
© 2003-2007 INTUIT.ru. Все права защищены. |
Напоминаем, что здесь не рассматриваются обратные связи |
Закрыть окно |
Формирование обученной нейросети на основе заданного множества нейроподобных элементов
Под нейроподобным элементом, который мы условились называть нейроном, подразумевается не столько овеществленный образ – электронный аналог, программный модуль и др., сколько реализуемая им передаточная функция.
Пусть задано множество нейронов X = {x1, …, xm} и логическое описание СПР в дистрибутивной форме1) По "логической" технологии, обоснованной ранее, необходимо сформировать связи между нейронами так, чтобы при единичных значениях достоверности, совпадающих с единичными булевыми значениями переменных, максимального возбуждения на выходном слое при данной передаточной функции достигал тот нейрон, который закреплен за решением, обусловленным единичным значением соответствующей ему логической функции.
Скобочная запись задает последовательность формирования обученной нейросети. Процесс такого формирования (обучения) заключается в рекурсивной коммутации подструктур – термов на основе содержимого скобок в соответствии с их вложенностью.
Продолжим рассмотрение примера на основе логического описания (10.1). Перепишем его, используя символ обобщенной операции, реализуемой передаточной функцией, но сохранив скобки:
(11.1) |
Прежде всего из множества Х необходимо выделить нейроны входного – рецепторного – и выходного слоев. Исходя из этого, а также, задав количество необходимых и предполагаемых нейронов разного функционального назначения, закрепим и переобозначим нейроны: Х = {X1, …, X15, 1, …, 11, R1, …, R5}. Нейроны 1, …, 11 в будущих построениях исполнят роль нейронов скрытых слоев – скрытых нейронов.
Составим матрицу следования, первоначально содержащую "пустые" элементы. На рис. 11.1 представлена такая матрица S, соответствующая уже полученному решению. Однако пока не следует учитывать единичные элементы: их необходимо сформировать в процессе решения задачи.
Для удобства пользования и учитывая, что данная матрица при отсутствии обратных связей – треугольная, она выполнена в виде "шахматки", где диагональные элементы отмечены.
Итак, чтобы сигналы возбуждения направленно проходили от входных нейронов к выходным, необходимо сформировать связи с единичными весами, используя скрытые нейроны.
и 3
Трассировка решения R1 закончена.
Анализируем логическое выражение
((X1 & X7 )& (X4 & X6 )) &(X2 & X12 & X14 ) R2 .
Строка матрицы S, сформированная по "скобке" (Х1&Х7), совпадает со строкой, соответствующей нейрону 1. Значит, можно "сэкономить", повторно использовав этот нейрон. Преобразуем запись:
(1& (X4 & X6 )) &(X2 & X12 & X14 ) R2 .
За следующей "скобкой" (Х4 &Х6) закрепим нейрон 5, сформировав для него строку матрицы S, и запись примет вид
(1& 5) &(X2& X12 & X14 ) R2 .
Продолжив ее обзор, получим новый вид записи (1 & 5) & 6 R2 , а затем 7 & 6 R2 . Сформированные при этом строки матрицы S показаны на рисунке. Аналогично анализируются другие логические выражения (11.1), что не вносит новых особенностей в неформально изложенный алгоритм.
Нейросеть, представленная матрицей следования S, близка к нейросети, показанной на рис. 10.2.
Пусть скрытые нейроны образуют ресурс – множество М свободных нейронов, первоначально M = {1, …, 11}.
Рис. 11.1. Матрица следования после обучения нейросети
Организуем последовательный анализ выражений (11.1).
При просмотре первого выражения, анализируя открывающие и закрывающие скобки, найдем первую скобку самого высокого уровня вложенности. Она соответствует выражению (Х1 & Х7). Закрепим за ним первый свободный нейрон 1 из М, предположив тем самым, что он выполняет аналог операции, указанной в скобках. Сформируем уточненную строку матрицы следования S, соответствующую нейрону 1, записав веса связей, равные единице, в столбцы, соответствующие нейронам Х1 и Х7 .
Обозначим исследованную "скобку" именем нейрона 1 и перепишем логическое выражение:
Продолжим поиск "скобок" самого высокого уровня вложенности.
Находим "скобку" (Х3 & Х5). В общем случае такая "скобка" могла встретиться ранее, и за ней мог быть закреплен скрытый нейрон. В целях экономии нейронов сформируем уточненную строку матрицы следования, записав единицы в столбцах, соответствующих нейронам Х3 и Х5. Однако, прежде чем поместить строку на ее место, проверим, нет ли в S идентичной строки? В данном случае такой строки нет. Тогда соотнесем полученную строку с очередным свободным нейроном 2 и поместим ее в S.
Перепишем логическое выражение, заменив обработанную "скобку":
(1&2)&(Х10&Х13)R1 .
Продолжая так же, закрепим нейрон 3 за "скобкой" (Х10&Х13) и сформируем соответствующую этому нейрону строку матрицы S. Запись логического выражения примет вид
(1&2)&3 R1 .
Следующий обзор этой записи приводит к замене "скобки" (12) именем нейрона 4 и к формированию строки матрицы следования, соответствующей этому нейрону. Эта строка содержит единицы в строках, соответствующих нейронам 1 и 2. Запись логического выражения примет вид
4 & 3 R1 .
Отсутствие скобок говорит о необходимости введения связей 4 R1
и 3 R1. Таким образом, строка, соответствующая нейрону R1 выходного слоя, содержит единицы в столбцах, соответствующих нейронам 3 и 4.
Трассировка решения R1 закончена.
Анализируем логическое выражение
((X1 & X7 )& (X4 & X6 )) &(X2 & X12 & X14 ) R2 .
Строка матрицы S, сформированная по "скобке" (Х1&Х7), совпадает со строкой, соответствующей нейрону 1. Значит, можно "сэкономить", повторно использовав этот нейрон. Преобразуем запись:
(1& (X4 & X6 )) &(X2 & X12 & X14 ) R2 .
За следующей "скобкой" (Х4 &Х6) закрепим нейрон 5, сформировав для него строку матрицы S, и запись примет вид
(1& 5) &(X2& X12 & X14 ) R2 .
Продолжив ее обзор, получим новый вид записи (1 & 5) & 6 R2 , а затем 7 & 6 R2 . Сформированные при этом строки матрицы S показаны на рисунке. Аналогично анализируются другие логические выражения (11.1), что не вносит новых особенностей в неформально изложенный алгоритм.
Нейросеть, представленная матрицей следования S, близка к нейросети, показанной на рис. 10.2.
Обучение-трассировка нейросети заданной структуры
Как видно из примера, рассмотренного в лекции 10, если нейросеть не может быть сведена к однослойной на заданной графической структуре, то при трассировке необходимо следовать структуре логического выражения. Это требует такой структуризации обучаемой нейросети, при которой "скобки" в порядке их вложенности соответствуют выделенным подструктурам сети. Тогда подструктуры нейросети образуют расширяемый ресурс, предоставляемый для реализации "скобок", – от максимального уровня вложенности до нулевого.
В рассматриваемой сети (рис. 11.2) максимальная длина статического пути возбуждения равна трем. Более того, данная нейросеть является трехслойной в "традиционном" смысле [13, 15, 19, 20], т.е. в ней нет связей "через слой".
Запишем первое логическое выражение из описания (11.1):
((X1& X7)& (X3& X5)) &(X10& X13)
R1.Ему соответствует максимальная длина логических цепочек, равная трем, что следует из порядка вложенности скобок. Тогда справедливо предположение о том, что "скобки" (X1&X7) и (X3&X5) могут быть реализованы не далее чем на первом слое (3 - 2 = 1), чтобы не воспрепятствовать формированию подструктур, в которые они входят. Охватывающая их "скобка" ((X1&X7)&(X3&X5)) должна быть реализована на втором слое. Не далее чем на этом же, т.е. на невыходном, слое может быть реализована и скобка (X10& X13).
Предположим, что сквозная нумерация позволяет выделить подмножества нейронов, принадлежащих одному слою или, в общем случае, имеющих одинаковую максимальную длину статической цепочки, как показано на рис. 11.2. Действительно, нейроны 1-12 образуют первый слой нейросети, нейроны 13-21 – второй слой, третий слой – выходной. Тогда и в описывающей нейросеть матрице следования S, наличие которой лишь подразумевается ввиду ее громоздкости, можно отчеркнуть строки и столбцы нейронов, принадлежащих, в данном случае, одному слою. (Напомним, что в матрице S связи обозначаются значениями весов, первоначально равными нулю.)
Такая строка соответствует нейрону 15. Однако она содержит нуль лишь в столбце нейрона 6. Меняем этот нуль в матрицах S и S1 на единицу, полагаем m15 = 1. Запись выражения преобразуется к виду
13&15 R1.
Затем реализуем единственную "скобку" нулевого уровня вложенности с помощью нейрона R1. Трассировка первого решения закончена. В результате ее введены отмеченные на рисунке связи Х3 1, Х5 1, Х7 3, Х1 3, Х10 6, Х13 6, 1 13, 3 13, 6 15, 13 R1, 15 R1.
Для трассировки решения
((X1&X7)&(X4&X6))&(X2&X12& X14) R2
построим матрицу следования S2 (рис. 11.4). Для этого исключим из матрицы S все нейроны-рецепторы, не участвующие в приведенной выше записи выражения, а также неиспользуемые нейроны выходного слоя. Затем с помощью одного просмотра сверху вниз исключим представительство тех нейронов, где число единиц в строках меньше соответствующего значения m.
При анализе "скобки" (X1& X7) обнаруживаем в столбцах, соответствующих нейронам X1 и X7, две единицы в строке, соответствующей нейрону 3, при том, что m3 = 2. Запись выражения преобразуется к виду
(3 & (X4& X6)) &(X2& X12& X14) R2.
В строке, соответствующей Х4 и Х6, нет строки, содержащей единицы во всех позициях. Находим первую строку, соответствующую нейрону первого слоя и содержащую максимальное число нулей при нулевом значении m. Такая строка, содержащая нули во всех позициях, соответствует нейрону 2. В матрицах S и S2 меняем выделенные нули на единицы, фиксируем значение m2 = 2. Запись выражения преобразуется:
(3 &2) &(X2& X12& X14) R2.
В соответствии с уровнем вложенности присутствующие в записи "скобки" могут быть реализованы как на первом, так и на втором слое нейросети. В столбцах, соответствующих Х2, Х12, Х14, нет строки нейрона первого или второго слоя, содержащей единицы во всех столбцах. Находим первую строку, содержащую максимальное число нулей при нулевом значении m. Такая строка соответствует нейрону 7. Меняем выделенные нули на единицы, фиксируем значение m7 = 2.Запись выражения принимает вид
(11.2) |
Построим матрицу S1 (рис. 11.3) на основании выражения, определяющего решение R1.
Для ее построения необходимо из матрицы S исключить строки (и столбцы), которые соответствуют переменным, не участвующим в построении решения R1, а также – представительство других решений на выходном слое.
Приступим к реализации первой "скобки" третьего уровня вложенности.
В столбцах, соответствующих событиям Х7 и Х1, ведя поиск в пределах нейронов первого слоя, найдем первую строку, которая содержит максимальное число нулей, указывающих наличие связей. Такая строка, где нули находятся во всех выделенных столбцах, соответствует нейрону 3. В матрицах S и S1 меняем эти нули на единицы – формируем единичные веса связей. В матрице S при строке, соответствующей нейрону 3, указываем число введенных единиц, m3 = 2. В записи выражения меняем "скобку" на имя нейрона, реализующего ее. Запись принимает вид
(3& (X3& X5)) &(X10& X13) R1.
Перейдем к реализации "скобки" (X3& X5) того же уровня вложенности.
Рис. 11.3. Матрица S1 после трассировки решения R1
В столбцах, соответствующих нейронам X3 и X5, найдем строку, содержащую максимальное число нулей. Такая строка соответствует нейрону 1 первого слоя. Меняем в S и S1 найденные нули на единицы, в матрице S указываем значение m1 = 2. Преобразуем запись выражения:
(3& 1) &(X10& X13) R1.
Скобка (X10& X13) может быть реализована как на первом, так и на втором слое. В столбцах, соответствующих нейронам X10 и X13, находим первую строку, содержащую максимальное число нулей. Такая строка соответствует нейрону 6. Меняем выделенные нули на единицы и указываем число таких единиц в S: m6 = 2. Запись выражения преобразуется:
(3& 1) & 6 R1.
Анализируя столбцы, соответствующие нейронам 1 и 3, находим нейрон 13 второго слоя, реализующий скобку (3& 1), отмечаем значение m13 = 2. Запись выражения преобразуется к виду
13& 6 R1.
Анализируя столбцы, соответствующие нейронам 6 и 13, включив в рассмотрение нейроны выходного слоя, находим первую строку, содержащую максимальное число нулей. Такая строка соответствует нейрону 15. Однако она содержит нуль лишь в столбце нейрона 6. Меняем этот нуль в матрицах S и S1 на единицу, полагаем m15 = 1. Запись выражения преобразуется к виду
13&15 R1.
Затем реализуем единственную "скобку" нулевого уровня вложенности с помощью нейрона R1. Трассировка первого решения закончена. В результате ее введены отмеченные на рисунке связи Х3 1, Х5 1, Х7 3, Х1 3, Х10 6, Х13 6, 1 13, 3 13, 6 15, 13 R1, 15 R1.
Для трассировки решения
((X1&X7)&(X4&X6))&(X2&X12& X14) R2
построим матрицу следования S2 (рис. 11.4). Для этого исключим из матрицы S все нейроны-рецепторы, не участвующие в приведенной выше записи выражения, а также неиспользуемые нейроны выходного слоя. Затем с помощью одного просмотра сверху вниз исключим представительство тех нейронов, где число единиц в строках меньше соответствующего значения m.
При анализе "скобки" (X1& X7) обнаруживаем в столбцах, соответствующих нейронам X1 и X7, две единицы в строке, соответствующей нейрону 3, при том, что m3 = 2. Запись выражения преобразуется к виду
(3 & (X4& X6)) &(X2& X12& X14) R2.
В строке, соответствующей Х4 и Х6, нет строки, содержащей единицы во всех позициях. Находим первую строку, соответствующую нейрону первого слоя и содержащую максимальное число нулей при нулевом значении m. Такая строка, содержащая нули во всех позициях, соответствует нейрону 2. В матрицах S и S2 меняем выделенные нули на единицы, фиксируем значение m2 = 2. Запись выражения преобразуется:
(3 &2) &(X2& X12& X14) R2.
В соответствии с уровнем вложенности присутствующие в записи "скобки" могут быть реализованы как на первом, так и на втором слое нейросети. В столбцах, соответствующих Х2, Х12, Х14, нет строки нейрона первого или второго слоя, содержащей единицы во всех столбцах. Находим первую строку, содержащую максимальное число нулей при нулевом значении m.
Такая строка соответствует нейрону 7. Меняем выделенные нули на единицы, фиксируем значение m7 = 2. Запись выражения принимает вид
(11.2) |
14 &(X2& 7) R2.
Выделяем столбцы, соответствующие нейронам Х2 и 7, и так как в этих столбцах нет строки, соответствующей нейронам второго слоя и содержащей единицы во всех позициях (нейрон 7 принадлежит первому слою и может участвовать в термах, создаваемых на втором слое), находим первую строку, соответствующую нейрону второго слоя и содержащую максимальное число нулей при нулевом значении m. Такая строка соответствует нейрону 16, который становится преемником лишь нейрона 7. Меняем выделенный нуль на единицу, фиксируем значение m16 = 1. Запись выражения принимает вид
14 &(X2&16) R2.
Теперь выделяем столбцы нейронов Х2 и 16. Находим в них строку с максимальным числом нулей при нулевом значении m не далее, чем на втором слое нейронов. Такая строка соответствует нейрону 9. Меняем выделенный нуль на единицу, полагаем m9 = 1. Запись принимает вид
14 &(9 &16) R2.
Выделяем столбцы, соответствующие нейронам 9 и 16. В них находим строку с максимальным числом нулей и при нулевом m не далее чем на втором слое нейронов. Такая строка соответствует нейрону 18.
Однако прежде чем использовать этот нейрон, заметим, что здесь мы впервые сталкиваемся с необходимостью введения дополнительной связи. Ведь нейрон 16 принадлежит "предельному" слою для реализованного им терма. Его объединение с нейроном 18 возможно лишь на слое более высокого уровня, что не позволяет реализовать все выражение. Нейрон 9 принадлежит первому слою, т.е. к предыдущему по отношению к нейрону 16. Его объединение с нейроном 16 с помощью непосредственной связи 9 16 обеспечивает правильную реализацию "скобки".
Таким образом, сформулируем правило: если "скобка" объединяет нейроны, среди которых один принадлежит слою максимального уровня, допустимого для формирования терма, а другие нейроны, образующие эту же "скобку", принадлежат предыдущему слою, то необходимо ввести дополнительные связи, соединяющие эти нейроны с первым, если такие связи не были заданы, и присвоить им единичный вес.
Введем связь 9 16 и уточним значение m16 = 2. Запись выражения принимает вид
14 &16 R2,
что с очевидностью приводит к окончанию трассировки второго решения, как показано на рис. 11.4.
Рис. 11.4. Матрица S2 после трассировки решения R2
Заметим, что дополнительная связь Х2 7, введенная на первом этапе реализации "скобки", возможно, исключила бы сложный анализ создавшейся ситуации.
Аналогично, без элементов новизны, производится трассировка решения R3 с помощью матрицы S3 (рис. 11.5) введением единичных весов связей Х1 5, Х10 5, Х8 8, 5 17, 8 17, 17 R3 .
Произведем трассировку решения R4, записав определяющее его выражение
(Х9 & (Х1 & Х10 ))& (Х2 & Х15 ) R4 .
Матрица S4 представлена на рис. 11.6.
Рис. 11.5. Матрица следования S3 после трассировки решения R3
Выделим столбцы, соответствующие нейронам Х1 и Х10, и находим в них строку, соответствующую нейрону 5, в которой единицы записаны во всех позициях, m5 = 2. Заменим "скобку" именем нейрона 5:
(Х9 &5)& (Х2 & Х15 ) R4 .
"Скобку" (Х2& Х15) реализуем с помощью нейрона 11, и запись принимает вид
(Х9 &5)&11 R4.
Анализ первой скобки приводит к единичному весу связи Х9 10, а затем 10 19. Запись выражения принимает вид
(19&5)&11 R4.
Дальнейший анализ "скобки" свидетельствует о том, что нейрон 19 принадлежит слою максимального уровня, на котором эта "скобка" может
быть реализована. Нейрон 5 принадлежит предыдущему слою. Тогда по правилу, изложенному выше, вводим дополнительную связь 5 19. Полагаем m19 = 2. Запись выражения принимает вид
19&11 R4.
Полученная "скобка" может быть реализована на выходном слое нейронов. Анализируем столбцы, соответствующие нейронам 11 и 19, находим в них первую строку с максимальным числом нулей при нулевом значении m, соответствующую нейрону 20, и вводим единичный вес связи 11 20. Запись выражения принимает вид
19&20 R4.
Однако анализ столбцов, соответствующих нейронам 19 и 20, свидетельствует об отсутствии связей этих нейронов с нейроном R4. Введем дополнительные связи 19 R4 и 20 R4.
Трассировка решения R4 закончена.
Рис. 11.6. Матрица следования S4 после трассировки решения R4
Для трассировки решения R5 составим матрицу S5 (рис. 11.7) и запишем в первоначальном виде логическое выражение
Х2&(Х11& Х13) R5.
Выделяем столбцы, соответствующие нейронам Х11 и Х13. В них нет строки, соответствующей нейрону не более чем второго слоя и содержащей единицы. Находим первую строку, содержащую максимальное число нулей при нулевом значении m. Эта строка соответствует нейрону 12. Меняем нуль на единицу, положив m12= 1; запись выражения принимает вид
Х2&(12 & Х13) R5.
Продолжаем анализ "скобки", в результате чего запись выражения принимает вид
Х2&(21 & Х13) R5.
Вновь выделяем столбцы, соответствующие нейронам 21 и Х13 и не обнаруживаем в них, в пределах второго слоя, строк, содержащих единицы или нули. Так как нейрон 21 принадлежит предельному для формируемого
терма слою, вводим дополнительную связь Х13 21. Запись выражения принимает вид
Х2&21 R5.
Дальнейшие преобразования приводят к использованию нейрона 9 и к введению дополнительных связей 9 R5 и 21 R5.
Рис. 11.7. Матрица следования S5 после трассировки решения R5
Трассировка нейросети закончена.
Оптимальное закрепление рецепторов за событиями в нейросети заданной структуры
Если задана структура нейросети (подразумевается ее "овеществленная" проекция на плоскость или даже реализация на плате, на кристалле, на решетке связанных процессорных элементов и т.д.), то от распределения рецепторов между событиями зависит возможность формирования отдельных термов без введения дополнительных связей. Например, если достоверность событий Х1 и Х7 подается на входы, значительно отстающие друг от друга, то при заданной, например, регулярной структуре связей могут возникнуть большие трудности в реализации аналога конъюнкции Х1
Х7, используемой далее в качестве отдельного терма, который входит в состав других логических конструкций. Необходимое объединение этих событий на входе одного нейрона может быть достигнуто даже не ранее, чем на выходном слое. Это потребует введения дополнительных связей для построения необходимого терма.Чтобы минимизировать число вводимых дополнительных связей или исключить их вовсе, необходимо на основе анализа конструкций, входящих в состав описания вида (11.1), построить предпочтительный ряд следования событий, реализующий компромисс в выборе минимальных расстояний между элементами этого ряда.
Пусть на рис. 11.2 представлена структура нейросети, которую следует обучить в соответствии с логическим описанием (11.1) создаваемой СПР. На рисунке отображено окончательное решение задачи трассировки, и связи с единичными весами выделены. Произведем обоснование этого решения и, прежде всего, распределим события между нейронами-рецепторами.
Воспользуемся следующим алгоритмом упорядочения событий.
Организуем сквозной просмотр всех выражений (11.1) и выпишем последовательность имен событий в порядке их обнаружения.Просматриваем слева направо сформированную последовательность и находим имя события, входящего в эту последовательность неоднократно.Находим среднее значение позиций, занимаемых именем найденного события в последовательности, и определяем для него ближайшее целое, не меньшее найденного.Найденное значение определяет новый порядковый номер данного события в последовательности.
Заносим имя события на новую позицию и исключаем другие его вхождения в последовательность.Шаги 2-4 повторяем до достижения единственности вхождения всех имен событий в последовательность.
Рис. 11.2. Обученная нейросеть
В рассматриваемом примере последовательность имен событий первоначально имеет вид
Имя Х1 входит неоднократно. Новая его позиция определяется как ](1 + 7 + 15 + 18) : 4[ = 11. После переноса Х1 на новое место (показано стрелкой) и исключения его прежних вхождений последовательность имен принимает вид
Новое место Х7 определяется как ](1 + 6) : 2[ = 4. Последовательность принимает вид
Новое место Х10 определяется как ](3 + 13 + 15) : 3[ = 11. Последовательность принимает вид
Новая позиция Х13 определяется как ](4 + 18) : 2[ =11. Получаем новый вид последовательности:
Отыскивается новое место Х2, как ](7 + 14 + 16) : 3[ = 13, и последовательность имен событий принимает окончательный вид, отображенный на рисунке:
Заметим, что при реализации на компьютере "кнопки" или окна на панели управления могут располагаться в удобном для пользователя порядке, соединяясь с закрепленными за ними рецепторами.
Заносим имя события на новую позицию и исключаем другие его вхождения в последовательность.Шаги 2-4 повторяем до достижения единственности вхождения всех имен событий в последовательность.
Рис. 11.2. Обученная нейросеть
В рассматриваемом примере последовательность имен событий первоначально имеет вид
Имя Х1 входит неоднократно. Новая его позиция определяется как ](1 + 7 + 15 + 18) : 4[ = 11. После переноса Х1 на новое место (показано стрелкой) и исключения его прежних вхождений последовательность имен принимает вид
Новое место Х7 определяется как ](1 + 6) : 2[ = 4. Последовательность принимает вид
Новое место Х10 определяется как ](3 + 13 + 15) : 3[ = 11. Последовательность принимает вид
Новая позиция Х13 определяется как ](4 + 18) : 2[ =11. Получаем новый вид последовательности:
Отыскивается новое место Х2, как ](7 + 14 + 16) : 3[ = 13, и последовательность имен событий принимает окончательный вид, отображенный на рисунке:
Заметим, что при реализации на компьютере "кнопки" или окна на панели управления могут располагаться в удобном для пользователя порядке, соединяясь с закрепленными за ними рецепторами.
Задачи обучения нейросети методом трассировки
Под обучением нейросети будем понимать наложение требуемой структуры (обученной) нейросети на заданную графическую структуру.
По логическому описанию СПР мы составляем логическую схему и "объявляем" ее нейросетью, назвав такой подход "схемотехническим". Однако он касался обучения обобщенным эталонам, т.е. воспроизведению потенциально однослойных нейросетей. Там требовалось обеспечить лишь прохождение импульса возбуждения от рецептора к нейрону выходного слоя.
Обобщим метод трассировки, ориентировав его на произвольно структурированное (использующее скобки) логическое описание СПР, в частности, – на его дистрибутивную форму.
Начнем с рассмотрения аналогий.
Задачу трассировки соединений в логической матрице для построения электронной схемы можно представить в двух вариантах.
На плате размещены логические элементы. Среди них заданы входные и выходные. Необходимо соединить элементы так, чтобы получить требуемое функциональное устройство. (При ориентации на технологии изготовления электронных плат, например печатных, учитывают дополнительные требования минимизации числа пересечений связей.)На плате размещены логические элементы и в некоторой конфигурации введены связи между ними. Топология связей, при выделении входов и выходов, может быть как случайной, так и регулярной. Необходимо подтвердить существование некоторых связей и ликвидировать другие так, чтобы сформировать требуемое функциональное устройство. При этом может допускаться введение минимального количества недостающих связей.
Как правило, при таких постановках задачи трассировки не рассматриваются обратные связи.
Исходя из аналогий, обусловленных общей логической базой, сформулируем и решим две задачи построения обученной (обучения) нейронной сети в соответствии с ее специализацией в составе СПР.
Используя предложенную нам для обучения нейросеть, позволим ее модификацию – введение недостающих связей (отвергнуть негодную сеть – значит, рассчитывать на случай), если очевидно, что без таких связей правильного функционирования добиться невозможно.
Дистрибутивные преобразования логического описания
Вторым этапом выполнения методики, в силу специфики дальнейшего перехода от булевых переменных к достоверности событий, является дистрибутивное преобразование логических функций (12.1) к виду, который обеспечивает единственность вхождения всех переменных, участвующих в одном логическом выражении.
Это преобразование выполняется с помощью свойства дистрибутивности конъюнкции по отношению к дизъюнкции и дизъюнкции по отношению к конъюнкции, что составляет суть эквивалентного дистрибутивного преобразования (12.1).
Правила эквивалентных преобразований логических выражений широко известны. Однако указанная специфика свойства дистрибутивности гарантирует возможность с помощью последовательного вынесения за скобки обеспечить единственность вхождения каждой используемой переменной в отдельное логическое выражение.
Необходимость такого преобразования обусловлена заменой операций конъюнкции и дизъюнкции их приближенным "суррогатом" - передаточной функцией. Практически такая функция основана на суммировании (взвешенных) сигналов на входе нейрона. Тогда неоднократность вхождения одних и тех же сигналов становится недопустимой.
Однако приведенный ранее пример показывает, что не всегда подобное преобразование приводит к успеху. Тогда используется прием "размножения" решений, основанный на том, что логическое выражение разбивается на составляющие выражения, объединенные операцией дизъюнкции. Для всех таких выражений, входящих в описание вместо прежнего, определяется одно общее решение.
В результате таких преобразований каждое выражение логического описания в общем случае представляет собой скобочную запись с более чем одним уровнями вложенности.
Однако указанное свойство передаточной функции, сводящей две операции к одной, порождает возможность существенного упрощения нейросети, а именно, - сведение ее к однослойной.
Ранее было показано, что с помощью приема "размножения" решений такое сведение всегда возможно. Однако оно приводит к "дроблению" сети, к размножению путей получения одних и тех же решений, к перегрузке сети заданной фиксированной структуры на этапе ее обучения.
В то же время многие реальные процессы по самому смыслу своему (экономические системы, управляющие, технологические и др.) адекватны не просто однослойным логическим нейронным сетям, но даже сетям совершенным.
Анализ на возможность построения однослойной нейросети следует проводить на этом же этапе выполнения методики до выполнения дистрибутивных преобразований.
Самый простой способ такого анализа заключается в следующем. Для каждого логического выражения в (12.1) выпишем без повторения множества используемых в них переменных (сформируем обобщенные эталоны). Проведем совместный анализ обобщенных эталонов, составленных по всем логическим выражениям, и установим, отсутствует ли полное вхождение одного из таких эталонов в другой? Если такое вхождение отсутствует (пересечение обобщенных эталонов допустимо), то возможно построение однослойной нейросети, т.е. непосредственное соединение связями нейронов-рецепторов с нейронами выходного слоя. Более того, если все обобщенные эталоны содержат одинаковое число переменных, возможно построение совершенной нейронной сети.
Если некоторый обобщенный эталон входит в состав другого (пример такой СПР приведен в лекции 9), необходимо полное воспроизведение структуры логических связей, что приводит к многослойной нейросети.
В то же время многие реальные процессы по самому смыслу своему (экономические системы, управляющие, технологические и др.) адекватны не просто однослойным логическим нейронным сетям, но даже сетям совершенным.
Анализ на возможность построения однослойной нейросети следует проводить на этом же этапе выполнения методики до выполнения дистрибутивных преобразований.
Самый простой способ такого анализа заключается в следующем. Для каждого логического выражения в (12.1) выпишем без повторения множества используемых в них переменных (сформируем обобщенные эталоны). Проведем совместный анализ обобщенных эталонов, составленных по всем логическим выражениям, и установим, отсутствует ли полное вхождение одного из таких эталонов в другой? Если такое вхождение отсутствует (пересечение обобщенных эталонов допустимо), то возможно построение однослойной нейросети, т.е. непосредственное соединение связями нейронов-рецепторов с нейронами выходного слоя. Более того, если все обобщенные эталоны содержат одинаковое число переменных, возможно построение совершенной нейронной сети.
Если некоторый обобщенный эталон входит в состав другого (пример такой СПР приведен в лекции 9), необходимо полное воспроизведение структуры логических связей, что приводит к многослойной нейросети.
Логическое описание системы принятия решений
Ассоциативному мышлению адекватны логические нейронные сети, создаваемые на основе логического описания системы управления или принятия решений в терминах алгебры высказываний. Если СПР функционально полностью определена и может быть описана в терминах математической логики, то по этому описанию целесообразно строить уже обученную нейронную сеть. Несложность такого построения способствует тому, что при модификации СПР обученная нейросеть может быть построена заново. В то же время правомерен подход, при котором нейросеть заданной структуры обучается для конкретного применения или переобучается. Алгоритмы такого обучения представлены в лекциях 4 и 11.
Структура обученной логической нейросети полностью совпадает со структурой логической схемы системы управления и принятия решений.
Составление полного и непротиворечивого логического описания – первый этап выполнения методики построения логической нейронной сети для СПР.
В лекции 1 показывалось, что в терминах алгебры высказываний (математической логики) СПР описывается системой логических выражений вида
(12.1) |
где Xi
, i = 1, …, n, - логические переменные-высказывания о наступлении событий, принимающие значения ИСТИНА (1), если событие наступило, и ЛОЖЬ (0) в противном случае; Fj , j = 1, …, S , - логические функции указанных переменных-высказываний, значение ИСТИНА которых определяет принимаемое решение Rj
.
Для непротиворечивости и полноты СПР необходимо и достаточно, чтобы для каждого набора высказываний не более чем одна логическая функция в (12.1) принимала значение ИСТИНА и чтобы не существовало такого набора переменных-высказываний на основе факторного пространства событий, для которого в системе (12.1) все логические функции имеют значение ЛОЖЬ.
При логическом описании СПР используются операции конъюнкции и дизъюнкции, но не используется операция отрицания. Это объясняется тем, что в интересах корректности и полноты отображения предмета исследований в СПР каждый задействованный фактор должен учитываться в рамках модели исчерпывающего множества событий.
Учитываются все возможные значения или состояния этого фактора. Каждый фактор А представлен множеством состояний (событий, значений, диапазонами значений)
A = {A1,… , AN} .
Это множество формируется так, что выполняется условие нормировки
где Рi
- предполагаемая пользователем (!) вероятность (достоверность) наступления события Ai
.
Например, при построении системы штрафования водителей за превышение скорости V представляется логичным охват всего возможного диапазона предполагаемого превышения, например:
90 км/ч < V 120 км/ч, 120 км/ч < V 160 км/ч, V > 160 км/ч .
Такое описание учитываемого фактора, в данном случае – скорости, не оставляет открытым вопрос "Что делать, если скорость принадлежит неучтенному диапазону изменения?"
При рассмотренном способе корректного и полного учета всех возможных событий отрицание некоторого события означает возможность альтернативного выполнения (в смысле логической операции ИСКЛЮЧАЮЩЕЕ ИЛИ) всех других событий из исчерпывающего множества
Ai
= A1 … Ai-1 Ai+1 …AN
Учитываются все возможные значения или состояния этого фактора. Каждый фактор А представлен множеством состояний (событий, значений, диапазонами значений)
A = {A1,… , AN} .
Это множество формируется так, что выполняется условие нормировки
где Рi
- предполагаемая пользователем (!) вероятность (достоверность) наступления события Ai
.
Например, при построении системы штрафования водителей за превышение скорости V представляется логичным охват всего возможного диапазона предполагаемого превышения, например:
90 км/ч < V 120 км/ч, 120 км/ч < V 160 км/ч, V > 160 км/ч .
Такое описание учитываемого фактора, в данном случае – скорости, не оставляет открытым вопрос "Что делать, если скорость принадлежит неучтенному диапазону изменения?"
При рассмотренном способе корректного и полного учета всех возможных событий отрицание некоторого события означает возможность альтернативного выполнения (в смысле логической операции ИСКЛЮЧАЮЩЕЕ ИЛИ) всех других событий из исчерпывающего множества
Ai
= A1 … Ai-1 Ai+1 …AN
Основные этапы работ
На рис. 12.1 представлены основные этапы построения СПР.
Ниже подробно рассмотрены эти этапы на основе обобщения всего предшествующего материала.
Рис. 12.1. Этапы разработки СПР
Построение логической схемы
На третьем этапе графически, в соответствии со схемотехническим подходом, применяемым в технологии построения электронных схем, составляется логическая схема выполнения всех выражений (12.1), преобразованная на втором этапе. Логические функции реализуются с помощью конъюнкторов и дизъюнкторов, связанных между собой в соответствии с представленными логическими функциями. При этом скобочная запись активно диктует структуру и взаимодействие логических элементов.
Такое представление соответствует общему виду (12.1). При допустимости построения однослойной нейросети, как говорилось выше, схема представляет собой структуру, при которой входы, на которые подаются переменные, непосредственно связаны с выходами, соответствующими решениям.
Построение матрицы следования для нейронной сети
Четвертый этап позволяет ввести в рассмотрение неопределенность и заключается в замене конъюнкторов и дизъюнкторов единой моделью нейрона, реализующего одну из простейших передаточных функций. Такая замена позволяет перейти от задания булевых переменных на входе (есть событие – нет события) к вероятности (достоверности) этих событий, то есть к заданию предполагаемых действительных оценок наступления этих событий.
За каждым событием оказывается закрепленным нейрон входного (рецепторного) слоя. Если событие отображает значение некоторого фактора, например температуры, то весь диапазон значений этого фактора разбивается на достаточные по точности малые диапазоны. Тогда при запросе к нейросети (в рабочем режиме) событие оценивается достоверностью того, что значение фактора принадлежит некоторому (возможно, нескольким) диапазону.
Такое разбиение областей значений факторов производится на этапе логического описания СПР так, чтобы впоследствии, на данном этапе выполнения методики, за каждым диапазоном оказался закрепленным нейрон-рецептор. Тогда события задаются достоверностью принадлежности значений факторов одному или более диапазонам изменения.
В графическом исполнении нейросеть неудобна в работе. Матрица следования , эффективность которой для представления и обработки параллельных процессов доказана, позволяет строить простые алгоритмы и программы для выполнения всех операций над нейронами и связями нейросети.
В матрице следования за каждым нейроном закрепляется строка и столбец с номером нейрона. В строке указывается значение веса той связи, которая исходит от некоторого нейрона в данный.
Верификация нейросети
Последний, шестой этап выполнения методики заключается в верификации логической нейросети. Рассматривая точные, определенные ситуации как комбинации булевых значений, отражающих наступление событий, для которых составлялась логическая схема, необходимо удостовериться, что максимальное возбуждение нейрона выходного слоя соответствует предполагаемому решению. Правильная работа нейросети может быть подтверждена и в том случае, если с учетом достоверности событий (действительных переменных) заранее известно предпочтительное решение. Соответствующий нейрон выходного слоя должен максимально возбудиться.
После верификации логическая нейронная сеть может эксплуатироваться в рабочем режиме.
Таким образом, в основе логической нейросети лежит запоминание опыта на базе связей вида "если …, то …". Принятие решений производится по принципу "на что более всего похожа данная ситуация" или на основе оценки среднего. Входные ситуации задаются предполагаемыми оценками достоверности отдельных событий. Это позволяет использовать неполные и недостоверные данные.
Продолжая обобщение, следует отметить:
Моделирование ассоциативного мышления является основой создания таблиц, фиксирующих опыт вида "если …, то …", т.е. связывающих возникающие ситуации с принимаемыми по ним решениями. Распространение возбуждения в нейросети с помощью передаточной функции является эффективным механизмом интерполяции (экстраполяции) опыта, нахождения наиболее близкого решения, а также нахождения математического ожидания исхода.
Благодаря логическому методу построения, математический аппарат нейронных сетей становится простым и доходчивым способом реализации "бесформульных" вычислений. Разработка нейросети недорога, она не требует специальных знаний пользователя. В то же время нейросеть легко допускает обучение и развитие, включение новых факторов, изменение решений и т.д.
Проведенные исследования позволяют сформулировать основные положения методики построения системы управления или принятия решений на основе логической нейронной сети.
Основные этапы разработки обученной нейросети для такой системы: логическое описание, составление соответствующей ему логической схемы - получение структуры нейросети, переход от булевых переменных к действительным - к достоверности событий, обоснованию применяемой передаточной функции, верификации нейросети по известному опыту.
Применение логических нейронных сетей позволяет создавать доступные широкому пользователю компьютерные системы мониторинга, управления и принятия решений во всех сферах экономической и социальной деятельности. Рассмотренные в следующих лекциях проекты таких систем в области оценки финансов и риска, в управлении и диагностике, в искусстве и развлечениях показывают универсальность подхода, возможность переориентирования нейросетей на новые применения. В особенности это касается наиболее распространенных совершенных нейросетей – однослойных, в каждом решении использующих все факторы.
Выбор и обоснование передаточной функции нейрона
На пятом этапе производится обоснование выбора передаточной функции.
Передаточная функция должна лишь условно, с наименьшей трудоемкостью воспроизводить аналог операций конъюнкции и дизъюнкции. Нет необходимости в моделировании реальных процессов, происходящих в нейроне. (Известно, что для функционирования и обеспечения жизнеспособности в "живом" нейроне происходит около 240 химических реакций.) Более того, ведь нас интересует только логика мышления, а не физические и химические механизмы ее реализации, сопровождающиеся сложными переходными процессами в отдельном нейроподобном элементе. (Это замечание можно считать критикой в адрес неуместных попыток воспроизведения т.н. сигмоидных функций при решении задач логического характера, хотя применение этих функций эффективно при решении многих "нейроподобных" задач.)
Требования к передаточной функции:
эти функции в области преодоления порога должны быть монотонно возрастающими по каждому сигналу на входе нейрона; не должно быть "угасания" сигнала возбуждения при его прохождении по сети;
сигналы возбуждения на выходном слое должны быть четко различимы по величине для различных эталонных ситуаций;
должен быть примерно равным диапазон изменения величин возбуждения нейронов выходного слоя, закрепленных за разными решениями.
В лекции 9 приведен ряд передаточных функций , тривиальных по выполнению и используемых в примерах СПР. Однако в приведенных примерах возникает проблема корректировки весов связей нейронов выходного слоя для приведения величины возбуждения этих нейронов к одному диапазону изменения.
Более того, нейросеть, реализующую СПР, необходимо рассматривать как одно звено в цепочке логического вывода, вырабатывающее информацию для последующих звеньев цепочки. Это позволяет строить сложные, многоуровневые СПР, как цепочки логических выводов, реализующие индуктивное и дедуктивное мышление.
Конкретно это означает, что величины возбуждения нейронов выходного слоя должны, как и величины возбуждения рецепторов, принадлежать диапазону [0, 1], моделируя все ту же достоверность выводов.
Представляется перспективной и подлежащей дальнейшему исследованию передаточная функция 5:
Легко видеть, что величина возбуждения каждого нейрона сети удовлетворяет указанному диапазону.
Корректировка и развитие
Выше мы уже говорили о необходимости и возможности постоянного уточнения и развития нейросети. Можно изменять представление о продвинутости банка-эталона - реального примера или несуществующего идеала. Новыми такими примерами можно дополнить базу знаний - данную нейросеть. Можно корректировать веса связей как веса отдельных показателей. Этим будет скорректировано влияние конкретного показателя на выходной результат. Можно вводить новые показатели с их весами. Можно вводить в рассмотрение новые решения и устанавливать степень влияния на него тех же или новых показателей. Можно приспособить нейросеть для решения некоторых смежных задач, учитывая влияние отдельных показателей на миграцию банков (переход с одного рейтингового уровня на другой) и т.д.
Наконец, можно, приобретя данный программный продукт с отлаженным доступом и сервисом, с развитым набором функций преобразования сети, переделать нейросеть для решения совершенно другой задачи, например - для увлекательной игры в "железнодорожную рулетку", которую мы рассмотрели ранее.
Методика мониторинга
Обученная система, которая может поступить в распоряжение пользователя после усилий высококвалифицированных экспертов - экономистов и политиков, - готова к использованию в рамках CASE-технологии (CASE - Computer Aided Software Engineering; короче - средства программного обеспечения).
Однако, предварительно сняв блокировку вполне лицензированного продукта, пользователь реализует свое право на дополнительное обучение, уточнение (например, весов связей - для усиления или ослабления влияния некоторых показателей на основе собственного опыта), введение дополнительных показателей, - для эксперимента на свой риск и ответственность, и т.д.
Теперь, предположим, он хочет исследовать ситуацию, сложившуюся вокруг банка "Инвест-Туда-И-Обратно". Естественно, что никакие разведданные не в состоянии принести ему сколько-нибудь удовлетворительной информации о целесообразности собственных вложений. И он приступает к скрупулезному сбору данных, в результате чего получает приблизительные, вероятные (как ему кажется), разноречивые характеристики, которые решает вложить в модель.
Скользя "мышкой" по экрану рецепторов, пользователь задает значения их возбуждения, исходя из вполне достоверных данных, но иногда, - учитывая варианты "или - или" (частично возбуждая разные рецепторы), иногда, - по наитию, иногда, - просто пропуская показатели, не в силах преодолеть допустимую границу порядочности. Такие показатели, как прошлый рейтинг и миграция, он пока не знает, но предполагает полученный сейчас результат использовать в дальнейшем.
Введя данные, обозрев их последний раз, он со вздохом "топает" по клавише "ОК". Тотчас вспыхивает экран выходного слоя. Яркая точка где-то вблизи области аутсайдеров красноречиво свидетельствует о защите священного гражданского права ненасильственного выбора решения о целесообразности вложения праведно накопленного капитала.
Координаты этой точки на экране определяются по известной (ранее нами неоднократно используемой) формуле нахождения среднего по координатам "засветившихся" нейронов тех банков, которым близок контролируемый банк, и по величинам их возбуждения.
Но по этим же формулам на основе рейтингов "засветившихся" банков отыскивается рейтинг исследуемого банка!
Пользователь может принять решение о дополнении базы знаний (и, следовательно, нейросети) информацией о новом банке. Это особенно целесообразно, если совет экспертов подверг существенной критике получившийся результат и указывает тем самым на ошибку нейросети. Для этого достаточно воспользоваться опцией "Дополнить", в результате выполнения которой инициируется диалог компьютера с пользователем:
"Вы хотите изменить рейтинг?" - "Да"
"Новое значение рейтинга?" - "…"
"Сохранить!"
Тогда (один вариант) нейрон выходного слоя с найденными координатами закрепляется за новым банком. Устанавливаются его связи с теми рецепторами, которым было сообщено возбуждение при вводе информации о банке. Вес каждой связи полагается равным введенной пользователем величине возбуждения соответствующего нейрона-рецептора. Теперь база знаний дополнена наподобие пристрелянных установок артиллерийской батареи после поражения очередной цели.
Однако значительное принудительное изменение рейтинга должно приводить (второй вариант) к перемещению "засвеченной" точки в область банков, обладающих соответствующим уровнем рейтинга. То есть должно производиться перезакрепление нейрона выходного слоя за банком. Это также устанавливается в результате того же диалога компьютера с пользователем.
Мониторинг банковской системы
"Где денег взять? Весь разорился я,
Все рыцарям усердно помогая.
Никто не платит".
А.С. Пушкин. "Скупой рыцарь"
В [28] приводится пример блистательного применения самоорганизующихся карт Кохонена (SOM - Self-Organizing Map [2] для исследования банковской системы России в 1999-2000 годах. В основе мониторинга лежит рейтинговая оценка. Исследование строится на автоматическом выполнении одной процедуры: по многомерному вектору параметров банков1)
на "плоском" экране компьютера высвечивается результат кластеризации - отнесение банка к различным категориям преуспевания. Для отдельного исследования различных факторов необходимо выстраивать свои SOM. Предсказание можно строить лишь на основе анализа временного ряда оценок SOM. Новые SOM необходимо строить и для продления цепочки выводов, подключив новые данные "со стороны", например - данные политического характера.
Такой подход, несомненно, эффективен и результативен. Но представляется, что по сравнению с потенциалом мозговых нейроструктур он сдерживает размах и смелость мысли, не позволяет "тянуть" длинные цепочки "посылка - следствие", совмещать прогноз с анализом, оперативно учитывать складывающуюся ситуацию и вводить в рассмотрение новые факторы и опыт экспертов. Мы должны согласиться с тем, что мозгу все это подвластно, и вновь обратиться к его структурам, предлагая проект программных средств системы мониторинга.
Обучение нейросети
Для обучения нейросети на основе экспертных оценок должны быть известны диапазоны допустимых параметров, которые позволяют считать банк идеально преуспевающим, имеющим максимальный рейтинг. Фиксируя несколько точек, координаты которых (множества значений параметров) удовлетворяют допустимым значениям рейтинга для известных или предполагаемых (с учетом возможных вариантов) банков, мы можем получить несколько идеальных представителей. Соответствующие им нейроны, т.е. элементы экрана выходного слоя, можно выделять произвольно, рассредоточивая по области экрана. Желательно, чтобы эталоны с большим рейтингом "располагались" ближе к центру.
Далее переходят к подобному же заполнению охватывающего прямоугольника, на основе следующей рейтинговой категории и т.д. - до банков-аутсайдеров.
Для проведения подобной работы эксперты должны предварительно сформировать таблицу, подобную табл. 13.1.
a11 | a12 | …… | a1n | 1 | Идеальные банки |
a21 | a22 | …… | a2n | 0,9 | |
… | … | …… | … | … | |
ar1 | ar2 | …… | arn | 0,86 | |
ar+1,1 | ar+1,2 | …… | ar+1,n | 0,85 | Менее преуспевающие банки |
… | … | …… | … | … | |
as1 | as2 | …… | asn | 0,8 | |
… | … | …… | … | … | |
au1 | au2 | …… | aun | 0,7 | Банки-аутсайдеры |
… | … | …… | … | … | |
au+v,1 | au+v,2 | …… | au+v,n | 0,1 |
При нейронах, отображающих банки, запоминаются (и записываются при символах этих нейронов на экране) величины возбуждения (рейтинги), как говорилось выше.
Система оценки странового риска
Как видно из рассмотренного примера, используемые методы анализа и прогнозирования экономических показателей (в частности, биржевых сделок), таких как котировки и объемы продаж активов на фондовом рынке, выбор наилучшего проекта строительства, определение стратегии международных торговых сделок и т.д., основаны на анализе многофакторных моделей. Разнообразие факторов политического, экономического и социального характера, а также такие конкретные показатели, как уровень инфляции, кредитные ставки банков, уровень безработицы, обменные валютные курсы, изменение объемов производства, денежная эмиссия и эмиссия ценных бумаг и др., представляют значительные трудности при формальном описании задачи, а главное - при определении зависимостей прогнозируемого результирующего показателя (котировка, объем продаж, цена и др.) от совокупности этих факторов. Даже предположение о линейности или мультипликативности не уменьшают неопределенности при аналитическом построении таких зависимостей. Таким образом, задача анализа и прогнозирования экономических показателей относится к классу трудно формализуемых [12].
Для построения адекватной модели требуется представительная статистика по всем факторам–аргументам. Статистические исследования накопленного опыта являются основой построения экспертных систем, являющихся ни чем иным, как системами принятия решений, моделирующими ассоциативное мышление. Это, в свою очередь, определяет целесообразность нейросетевого воплощения.
Исследование различных значений всех используемых факторов при априорном предположении о характере передаточной функции (можно с уверенностью считать, что такие функции, как 3 или 5, адекватны процессу ассоциативного выбора решений в данном применении) приводит к построению совершенной нейросети.
Входной (рецепторный) слой этой сети составляют нейроны, закрепленные за дискретными значениями или диапазонами изменения значения факторов. Нейроны выходного слоя соответствуют принимаемым решениям или оценкам ситуации. При этом возможна корректировка весов связей в соответствии со значимостью, степенью влияния конкретного фактора на принимаемое решение.
Возбуждение рецепторов задается в виде оценки достоверности принадлежности значения фактора данному дискретному значению или данному диапазону. Эта оценка производится на основе индивидуального опыта пользователя и является скорее интуитивной. Ряд факторов может быть оценен на основе официальной или конфиденциальной информации.
Рассмотрим на примере подход к проектированию нейросети, предназначенной для простейшей оценки странового риска.
Риск – относительный размер возможного ущерба или выигрыша, соотнесенный с вероятностью возникновения некоторого события в результате принятия того или иного решения.
Страновый риск возникает в связи с национальными особенностями функционирования государства, с которым предприятие или банк соотносят свою деятельность.
Экономическое воздействие на страновый риск в основном оказывают следующие факторы, на основе которых мы попытаемся спроектировать нейросеть, пронумеровав их:
Долговременное уменьшение роста валового национального продукта.Быстрый рост цен на продукцию.Увеличение импорта по сравнению с экспортом (отрицательное внешнеторговое сальдо).Уменьшение доходов от экспорта.Инфляция.Резкое увеличение внешней задолженности.Снижение объема обслуживания внешнего долга.Уменьшение иностранных резервов по сравнению с импортом.Криминогенная ситуация в финансовой сфере.Военные действия или наличие террористических организаций.
Очевидно, сеть должна быть восприимчива к развитию, ибо перечисленные факторы не исчерпывают всех возможных.
На рис. 13.4 создаваемая нейросеть представлена своим отображением на экране монитора компьютера и предполагает работу пользователя с ней.
Не следует рассчитывать на то, что ниже будут представлены хотя бы коэффициенты, с которыми факторы влияют на результат. Еще раз подчеркнем, что выявление зависимостей этого влияния – задача длительного исследования моделируемой системы, процесс проб и ошибок, набор статистики и анализ общественного и исторического опыта, выделение подструктур, для которых известны методы обсчета, - т.е.
длительный процесс обучения учителя. Нейросеть "сама" (пока!) не мыслит. Она лишь является инструментом хранения опыта и быстрого извлечения рекомендаций по принципу "на что более всего это похоже". В этом смысле "хорошо" обученная нейросеть, т.е. сформированная на основе достаточно точного учета многих факторов, позволяет пользователю, не столь глубоко сведущему, принимать правильные решения при помощи коллективного опыта коллег и при неточных данных, утверждая, разумеется, тезис о том, что чудес не бывает.
Задача пользователя заключается в оценке достоверности каждого диапазона (или дискретного значения) изменения меры каждого фактора. Эти оценки (на рисунке - кружки) он заносит в "окна" соответствующих нейронов-рецепторов. Запись на основе приблизительности предполагаемых оценок может производиться в несколько окон одного фактора, как показано на рисунке, приводя в возбуждение несколько рецепторов этого фактора.
Значение риска либо текст, объясняющий ситуацию и даже содержащий рекомендации, формируется в соответствующем окне.
Рис. 13.4. Экран системы оценки риска
Одна нейросеть, в основном из-за большого количества факторов ориентированная на одну категорию рисков, может давать менее точные оценки рисков других категорий (не все факторы могут быть учтены). Однако возможна разработка нейросети, ориентированной на все известные категории рисков, требующей энциклопедического, динамически уточняемого в процессе эксплуатации объема знаний для обучения (уточнения структуры связей и их весов).
Напомним, что обучение нейросети, т.е. построение связей между множеством диапазонов (значений) оценки факторов и множеством значений рисков, производится на основе экспертных оценок, а также в результате длительного личного и коллективного опыта. Пользователь может корректировать связи нейросети и веса этих связей в процессе эксплуатации.
***
Рассмотренные в лекции проекты требуют реализации в виде унифицированного стандартного программного приложения, которое, предоставляя широкий сервис пользователю, может быть легко переориентировано для многих применений.Следует подчеркнуть, что рассмотрены совершенные логические нейронные сети, которые, по-видимому, характерны для экономических задач. Это тем более утверждает целесообразность включения аппарата логических нейронных сетей в состав средств CASE-технологии.
Следует подчеркнуть, что рассмотрены совершенные логические нейронные сети, которые, по-видимому, характерны для экономических задач. Это тем более утверждает целесообразность включения аппарата логических нейронных сетей в состав средств CASE-технологии.
Кстати, авторы обращают внимание на то, что нейросетевые технологии позволяют строить наглядные функции многих переменных, как бы преобразуя многомерное пространство в одно-, двух- или трехмерное
© 2003-2007 INTUIT.ru. Все права защищены. |
Структура экрана рецепторов
Экран рецепторов (проект) показан на рис. 13.2.
Основную часть его составляет "окно прокрутки", через которое можно просматривать и задавать состояние рецепторного слоя, несомненно, не способного поместиться на статическом экране.
Рис. 13.2. Экран рецепторов
В "окне прокрутки" указаны показатели и их оценочные значения (в диапазоне [0, 1]), задаваемые соответствующим рецепторам. Эти значения - вероятностные, по достоверности, интуитивные, экспертные. Они могут предполагать охват нескольких рецепторов. Например, оценка того, что собственный капитал составляет не то 24, не то 34, не то 42 тыс. у. е., но скорее, все-таки, 24, может привести к приблизительной оценке задаваемых величин возбуждения, равных 0,6, 0,2 и 0,2 соответственно рецепторов, "отвечающих" за диапазоны (20-25], (30-35], (40-45].
На экране отображены статически (без прокрутки) задаваемые показатели, такие как рейтинг в результате прошлых измерений, выборочные "прошлые" показатели, а также показатели политической, социальной и экономической конъюнктур. (Их обилие и развитие могут все-таки потребовать прокрутки.)
Должно быть отображено управление прокруткой, а также меню основных действий. Эти действия следующие:
переход на экран выходного слоя;статистическая обработка результатов (предполагает переход к выходному экрану);введение новой связи;введение нового рецептора;введение нового нейрона выходного слоя (предполагает переключение экранов);введение нового показателя и т.д.
Структура экрана выходного слоя
Экран выходного слоя (рис. 13.3) может отображать систему концентрических (вложенных) прямоугольников или других плоских фигур, отражающих распространение рейтинга по убыванию. В центре экрана яркими точками отражены самые преуспевающие банки или предполагаемые идеальные образы. Каждый элемент экрана жестко закреплен за нейроном выходного слоя. В результате мониторинга может максимально возбудиться нейрон, соответствующий эталону, что должно быть понятно отображено. Однако скорее всего высветится точка экрана, не совпадающая ни с каким эталоном и являющаяся промежуточной или усредненной. (Эталоны (см. ниже) отображают все категории банков, отнюдь не только самые преуспевающие.)
Рис. 13.3. Экран выходного слоя
Несомненно, должно быть отображено меню, позволяющее выполнить операции усредненной оценки рейтинга, демонстрации категории преуспевания, выдачи сигналов предупреждения, текстов-заключений, рекомендуемых стратегий развития, сохранения данных для дальнейшего развития и т.д.
Структура нейросети и способы обучения
Логические функции, лежащие в основе мониторинга, преимущественно основаны на конъюнкции логических значений, утверждающих определенные диапазоны изменения параметров или показателей банков. В общем виде такая логическая функция имела бы вид
{значение i-го показателя банка принадлежит диапазону [a, b]} {указатель значения рейтинга}В [28] представлены такие показатели:
собственный капитал;сальдированные активы;ликвидные активы;обязательства до востребования;вклады населения;коэффициент ликвидности;бюджетные средства.
Фантазируя, мы могли бы развить эту систему показателей:
объем инвестиций в бурно развивающуюся экономику; объем прибыли;прошлый рейтинг и значение миграции;отчисления в фонд поддержки науки и образования;налоговые отчисления;отчисления в пенсионный фонд;отчисления в благотворительный и культурный фонды;участие в программах ЮНЕСКО и т.д.
Такой простой вид логической функции, при переходе в область действительных переменных, говорит о достаточности однослойной нейросети (рис. 13.1), содержащей входной слой рецепторов и выходной слой, указывающий на результаты мониторинга.
При создании входного слоя необходимо учитывать не только текущие показатели, но и, например, динамику изменения рейтинга - рейтинга за прошлые периоды времени.
Выходной слой должен отражать не только рейтинг, но и экспертные рекомендации, а также другие решения и выводы.
Целесообразен простейший вид обучения (т.е. построения базы знаний, какой является наша сеть), который сопровождает концепцию создания нейросети "под задачу": непосредственное введение связей в совершенной нейросети оператором-исследователем "вручную" - от рецепторов к нейронам выходного слоя в соответствии с причинно-следственными связями. Тем самым сеть создается уже обученной.
Рис. 13.1. Структура нейросети
Тогда передаточная функция должна быть тоже простейшей и основанной на суммировании величин возбуждения на входе нейрона, умноженных на вес связи (функция 5, лекция 9):
Вес ? связей все же целесообразен (по сравнению с грубым заданием всех весов равными единице) в связи с возможным желанием оператора или эксперта в разной степени учитывать влияние различных показателей.
Порог h отсекает заведомо "плохие" выводы, упрощая дальнейшую обработку (например, нахождение среднего). Коэффициент приведения k обусловлен следующим. Максимальное значение V может достигать n - числа показателей. Чтобы свести значение рейтинга в некоторый приемлемый диапазон, например в [0, 1], значения возбуждения надо преобразовать в этот диапазон, положив, например, k=1/n. Кроме того, этим коэффициентом, как и весами, можно регулировать значимость факторов в соответствии со сделанным ниже замечанием.
Принятые выше решения позволяют оперативно вносить изменения и уточнения оператором-экспертом-пользователем, развивать сеть, вводя новые факторы и учитывая опыт. Для этого оператору достаточно, "топнув" мышкой, выделить рецептор, а затем - нейрон выходного слоя, и связь установлена! Осталось только на основе предположения (ясновидения), осуществляя эксперимент, приблизительно установить вес введенной связи из диапазона (0, 1].
И здесь мы должны сделать Очень Важное Замечание (ОВЗ), распространенное на весь материал и адресованное очень внимательному читателю.
Ранее, рассматривая обучение, мы четко классифицировали исходные эталонные ситуации, считая достоверность каждого компонента равной единице. Проводя затем трассировку, мы, прокладывая динамические пути возбуждения, также полагали веса связей равными единице (или некоторому максимальному постоянному значению). Но ведь можно сразу дать возможность (дать дополнительную степень свободы) учителю учитывать факторы в той степени, с теми весами, с которыми он пожелает! То есть допустить, что разные факторы в разной степени влияют на результат, и такое влияние заложить на этапе обучения принудительно!
Например, известно, что накануне войны население в огромном количестве закупает мыло, спички и соль.
Значит, следя за этим фактором, можно предсказывать скорое наступление войны. Создавая нейросеть для предсказания исторических или социальных событий, следует выделить один или несколько рецепторов, возбуждение которых соответствует разному уровню закупок мыла, соли и спичек одновременно. Возбуждение этих рецепторов должно передаваться, влиять (наряду с другими факторами) на степень возбуждения нейрона выходного слоя, "отвечающего" за заявление: "Скоро война!".
Однако мы вправе считать, что интенсивная закупка мыла, спичек и соли - необходимое, но не такое уж достаточное условие наступления войны. Оно может свидетельствовать, например, о бурном возрождении туризма в районе Главного Кавказского Хребта. В словах "не такое уж" заключается смысл нечеткой логики [30], позволяющей учитывать не непреложность влияния события, не булеву переменную "да - нет", а некоторое промежуточное, неопределенное, взвешенное предположение типа "влияет, но не так уж прямо, что уж обязательно…". Поэтому мы сразу можем связи (все или некоторые), исходящие из данного (данных) рецептора, положить равными некоторой предполагаемой величине, меньшей единицы, корректируемой впоследствии, отражающей влияние возбуждения этого рецептора на вывод. В этом и состоит главный смысл коэффициента k.
Таким образом, одновременная закупка мыла, соли и спичек будет учитываться дважды: уровень закупки будет отображаться в уровне возбуждения соответствующих этим уровням рецепторов, а степень влияния этой закупки на вывод "Скоро война!" будет учитываться с помощью весов синапсических связей.
Согласитесь, что при построении одноуровневых сетей такой учет напрашивается, реализуется предельно просто, что мы и рекомендуем делать.
Конец ОВЗ.
Табличный метод - основа искусственного интеллекта
Выражаем признательность и уважение к идеям, высказанным Н.М. Амосовым и Д.А. Поспеловым, которые, как нам кажется, опираются на принципы мозга, "не вынутого из черепной коробки", т.е. полностью следуют основам искусственного человеческого интеллекта. Мы не всезнайки, постигшие истину в последней инстанции. Не трогая мощный пласт духовных знаний, мы обращаемся к мозгу лишь как к средству мышления, столь же простому на логическом уровне, как молоток и лопата.
При этом мы сознаем, что, в общем-то, принципы мозга известны и активно используются. Да вся наша жизнь основана на накоплении опыта "если…, то …", "что это такое и к чему это ведет", на интерполяции и экстраполяции (предвидении) этого опыта (а то и просто гадании). Мы пользуемся незримыми таблицами в нашей памяти, принудительно и вольно заполняемыми за партой, за рулем, с министерским портфелем и без него, - крутя головой на шумной улице, за книгой, у станка и у мольберта. Мы учимся, учимся всю жизнь, от школьника, проводящего бессонные ночи за букварем, до умудренного опытом профессора - мастера спорта по волейболу. Ибо с теми же таблицами мы связываем не только принятие решений, но и движение, ходьбу, игру в мяч.
Выходит, не требуя духовной пищи, с помощью таких таблиц, отражающих факты "посылка - следствие", надежно связанных с мышечно-желудочно-кишечным трактом, можно безбедно прожить свою жизнь, не испытывая гнета творческих позывов?.. Не будем здесь трогать категории духовные, моральные, нравственные. Не коснемся всесилия посредственности, так, в целом, и проводящей жизнь. Ведь нас интересуют современные информационные технологии - максимально приземленные и формализованные.
Если противопоставить ассоциативному мышлению математический счет, то справедлив вопрос: каков вес счета в жизни человека? Как шло развитие, когда человек вообще не умел считать? (Кстати, вспомним тезис Д. Менделеева: "Наука начинается тогда, когда начинают считать.") На одном ассоциативном мышлении, развивая опыт и умея интерполировать и экстраполировать его? Можно спросить читателя: сколько раз сегодня вы считали? Но зато вы водили автомобиль, играли в теннис, торопились на автобус, рассчитывая (не тот смысл слова!) успех.
Но это слишком далеко нас заведет и утомит в беспросветных спорах…)
Но, пожалуй, основное достоинство мозга - в способности параллельного выполнения сложных логических предикатов и последовательного выполнения длинных логических цепочек. Такое выполнение достигается, во-первых, при одновременной обработке всех сигналов, поступивших на рецепторы, и, во-вторых, при реализации каждым нейроном передаточной функции для поступивших величин сигналов. Передаточная функция является суррогатом логических функций булевых переменных, обращенных для обработки действительных переменных, для воплощения т.н. нечеткой логики.
Важно подчеркнуть, что информация перерабатывается в нейросети не непосредственно как таковая, а опосредствовано, на уровне оценок, на уровне ее воздействия на величину возбуждения рецепторов или нейронов входного слоя подструктур.
А как же наше формальное мышление, а как то, что И. Павлов назвал второй сигнальной системой, а как конструирование алгоритмов и правил счета? Мы полагаем, что это - все более и более высокие уровни того же логического мышления на основе правил вывода, наслоение нейронной сети и продолжение логических цепочек, попутно приводящих к развитию образной памяти, - продукт роста в процессе Развития. Мы полагаем это вполне материально воплощенным и потому реализуемым искусственно, подвластным моделированию и воспроизведению.
Хотя можно содрогнуться от подозрений в собственный адрес в сухости и заформализованности. Нет, наше Я, душевность и духовность вызывают в нас трепет и чувство непознаваемости, которое свойственно каждому нормальному человеку, строящему модель своего мировоззрения и постигающему смысл своего прихода в жизнь. Отметим могучие пласты человеческой деятельности, основанные на образном, эмоциональном, духовном мышлении. Это - искусство и творчество, основанные на красоте, любви, добре… Именно здесь мы начинаем чувствовать всю беспомощность своих построений…
И загасив острое желание углубиться в дебри философского наукоподобия, мы формулируем достаточный, "сегодняшний" принцип нейросети как элемента ИИ.
Мы должны признать, что основа имитации нейроструктуры мозга - это метод табличной интерполяции.Таблицы заполняются или по известным алгоритмам счета, или экспериментально, или экспертами.Нейросеть обеспечивает лишь высокую скорость обработки таблиц - за счет возможности лавинообразного распараллеливания.Кроме того, нейросеть допускает вход в таблицу с неточными и неполными данными, обеспечивая приблизительный ответ по принципу максимальной или средней похожести.Задача нейросетевой имитации мозга заключается не в преобразовании самой исходной информации, а в преобразовании оценок этой информации, в подмене информации величинами возбуждения рецепторов, искусно распределенных между видами, типами, параметрами, диапазонами их изменения или отдельными значениями.Точно так же нейроны выходного слоя каждой подструктуры своим возбуждением указывают на закрепленные за ними решения. (Где носители этих записей?) В то же время, эти величины возбуждения на правах исходной опосредствованной информации должны быть готовы к использованию в следующем звене "длинной" логической цепочки, без внешнего вмешательства в рабочем режиме.
Представляете, сколько бы вам пришлось считать (да еще где взять алгоритм?), для того чтобы поднять ногу для постановки на тротуар, минуя бордюр? Нет, мы не считаем, и это, пожалуй, основная сторона нашей интеллектуальной жизни, даже в науке и бизнесе. Механизмы чувствований, интуиции, автоматизма, которые мы, не в силах объяснить, адресуем подкорковому мышлению, на деле являются нормальными механизмами ассоциативного мышления с помощью таблиц базы знаний.
И главное - мы делаем это быстро! Как же нам не задуматься, как не "заглянуть в зеркало", пытаясь постичь и воспроизвести?
Наука и техника обладают колоссальным опытом построения сложных систем только лишь на основе алгоритмических, математических методов расчета, исключая какие бы то ни было методы ИИ. Алгоритмы вывода и наведения ракет-перехватчиков, расчет и выдача команд целеуказания и управления на борт по измеренным отклонениям впечатляют по объему вычислений, по частоте обновления данных и в конечном итоге - по требованиям к производительности вычислительных средств. И мы все более понимаем, что моделирование мозговых процессов, воспроизводящее методы ассоциативного мышления, открывает самые широкие возможности, присущие живым организмам. Это и высокий универсализм, и высокое быстродействие.
Природа реализует самые простые принципы, утверждая тезис, что "гениальное - просто". Сложность нагнетается количеством и структурированием простого. Мозг на логическом уровне, как мы поняли, действует на основе простых логических элементов типа "если …, то …", "посылка - следствие", приемлемых даже для простейших. Огромное количество таких элементов в принципиально столь же простом взаимодействии, соединяясь и выстраиваясь в логические цепочки, воспроизводя принципы иерархии и рекурсии, образуют сложные выводы, тотчас же обращенные для новых выводов. (Здесь можно философски порассуждать о механизмах обеспечения эволюции, от структур простейших до человеческих и далее, о законе перехода количества в качество.
Но это слишком далеко нас заведет и утомит в беспросветных спорах…)
Но, пожалуй, основное достоинство мозга - в способности параллельного выполнения сложных логических предикатов и последовательного выполнения длинных логических цепочек. Такое выполнение достигается, во-первых, при одновременной обработке всех сигналов, поступивших на рецепторы, и, во-вторых, при реализации каждым нейроном передаточной функции для поступивших величин сигналов. Передаточная функция является суррогатом логических функций булевых переменных, обращенных для обработки действительных переменных, для воплощения т.н. нечеткой логики.
Важно подчеркнуть, что информация перерабатывается в нейросети не непосредственно как таковая, а опосредствовано, на уровне оценок, на уровне ее воздействия на величину возбуждения рецепторов или нейронов входного слоя подструктур.
А как же наше формальное мышление, а как то, что И. Павлов назвал второй сигнальной системой, а как конструирование алгоритмов и правил счета? Мы полагаем, что это - все более и более высокие уровни того же логического мышления на основе правил вывода, наслоение нейронной сети и продолжение логических цепочек, попутно приводящих к развитию образной памяти, - продукт роста в процессе Развития. Мы полагаем это вполне материально воплощенным и потому реализуемым искусственно, подвластным моделированию и воспроизведению.
Хотя можно содрогнуться от подозрений в собственный адрес в сухости и заформализованности. Нет, наше Я, душевность и духовность вызывают в нас трепет и чувство непознаваемости, которое свойственно каждому нормальному человеку, строящему модель своего мировоззрения и постигающему смысл своего прихода в жизнь. Отметим могучие пласты человеческой деятельности, основанные на образном, эмоциональном, духовном мышлении. Это - искусство и творчество, основанные на красоте, любви, добре… Именно здесь мы начинаем чувствовать всю беспомощность своих построений…
И загасив острое желание углубиться в дебри философского наукоподобия, мы формулируем достаточный, "сегодняшний" принцип нейросети как элемента ИИ.
Мы должны признать, что основа имитации нейроструктуры мозга - это метод табличной интерполяции.Таблицы заполняются или по известным алгоритмам счета, или экспериментально, или экспертами.Нейросеть обеспечивает лишь высокую скорость обработки таблиц - за счет возможности лавинообразного распараллеливания.Кроме того, нейросеть допускает вход в таблицу с неточными и неполными данными, обеспечивая приблизительный ответ по принципу максимальной или средней похожести.Задача нейросетевой имитации мозга заключается не в преобразовании самой исходной информации, а в преобразовании оценок этой информации, в подмене информации величинами возбуждения рецепторов, искусно распределенных между видами, типами, параметрами, диапазонами их изменения или отдельными значениями.Точно так же нейроны выходного слоя каждой подструктуры своим возбуждением указывают на закрепленные за ними решения. (Где носители этих записей?) В то же время, эти величины возбуждения на правах исходной опосредствованной информации должны быть готовы к использованию в следующем звене "длинной" логической цепочки, без внешнего вмешательства в рабочем режиме.
Логическая нейронная сеть - средство пошагового принятия решений
Задачи пошаговой оптимизации составляют широкий класс задач исследования операций. Минимизация (максимизация) значения критериальной функции достигается в результате выполнения нескольких последовательных шагов обработки исходных данных. Это - многочисленные задачи нахождения оптимальных стратегий управления, таких как вывод космического объекта в заданную точку, минимизация длины пути следования в транспортной сети и др. Как правило, такие задачи решаются методами динамического программирования, требующими обратного и прямого проходов. Однако схему решения задачи линейного программирования, а также транспортной задачи, также можно свести к схеме пошаговой оптимизации, если она отображает процесс параллельного или последовательного смещения в соседнюю вершину многогранника допустимых решений, с меньшим значением целевой функции.
То же можно сказать о решении задачи целочисленного линейного программирования (особенно - параллельного) и многих задач нелинейного программирования, а также задач, решаемых методом "ветвей и границ".
Однако высокая сложность задач указанного типа выдвигает проблему запоминания и использования опыта, т.е. применения элементов обучения.
При решении задач оперативного управления и планирования, по-видимому, нецелесообразно каждый раз, например, прокладывать маршрут следования груза по железной дороге с учетом огромного числа динамически возникающих факторов. Конечно, пользуются простыми эвристическими алгоритмами управления, достаточно детализированными и децентрализованными для возможности учета постоянно изменяющихся условий и обстановки.
В то же время пошаговая оптимизация примитивно вырождается в последовательно принимаемое решение вида "я нахожусь в состоянии Х; куда двигаться (что делать) дальше?" Такая простая схема движения к оптимуму и порождает возможность априорного расчета оптимальных стратегий изменения состояния системы, для того чтобы в рабочем режиме по параметрам целевой функции и по текущему состоянию системы находить запомнившийся предпочтительный переход в соседнее состояние, уменьшающий значение целевой функции.
В терминах динамического программирования это означает, что обратный проход - первый акт решения задачи - может быть выполнен заранее, вне рабочего режима системы управления. На его основе происходит обучение системы. В рабочем режиме по текущим исходным данным и по промежуточному состоянию системы определяется ее целесообразный, заранее обоснованный переход в следующее промежуточное или конечное состояние. Это - прямой проход.
Такая схема соответствует и идее ситуационного управления, и рассмотренной ранее схеме нейросетевой реализации управления.
К стратегии пошаговой оптимизации следует отнести и тактические игры, заключающиеся в последовательном выполнении противниками (преимущественно, двумя) действий, приводящих к минимизации некоторой целевой функции, например функции потерь. Здесь перед отдельным игроком стоит проблема выбора наилучшего хода для сложившейся ситуации.
Для этого, несомненно, могут каждый раз рассчитываться все возможные варианты ходов с возможными ответными ходами. Может быть использован и теоретический опыт. Однако такой анализ требует огромной производительности вычислительных средств. Он недостаточно оперативен.
Здесь решение находится на основе анализа действий опытного игрока, помнящего эффективный выход из множества сложившихся ситуаций и эксплуатирующего свои способности ассоциативного мышления. Используется и коллективный опыт, теоретически обобщенный.
Автоматизация подобного анализа может быть произведена на основе разработки "подсказчика", хранящего в памяти большое количество ситуаций и рекомендующего следующий ход в соответствии с опытом экспертов, с историей и с теоретическим анализом.
Все сказанное выше определяет целесообразность реализации с помощью логической нейронной сети.
В терминах динамического программирования это означает, что обратный проход - первый акт решения задачи - может быть выполнен заранее, вне рабочего режима системы управления. На его основе происходит обучение системы. В рабочем режиме по текущим исходным данным и по промежуточному состоянию системы определяется ее целесообразный, заранее обоснованный переход в следующее промежуточное или конечное состояние. Это - прямой проход.
Такая схема соответствует и идее ситуационного управления, и рассмотренной ранее схеме нейросетевой реализации управления.
К стратегии пошаговой оптимизации следует отнести и тактические игры, заключающиеся в последовательном выполнении противниками (преимущественно, двумя) действий, приводящих к минимизации некоторой целевой функции, например функции потерь. Здесь перед отдельным игроком стоит проблема выбора наилучшего хода для сложившейся ситуации.
Для этого, несомненно, могут каждый раз рассчитываться все возможные варианты ходов с возможными ответными ходами. Может быть использован и теоретический опыт. Однако такой анализ требует огромной производительности вычислительных средств. Он недостаточно оперативен.
Здесь решение находится на основе анализа действий опытного игрока, помнящего эффективный выход из множества сложившихся ситуаций и эксплуатирующего свои способности ассоциативного мышления. Используется и коллективный опыт, теоретически обобщенный.
Автоматизация подобного анализа может быть произведена на основе разработки "подсказчика", хранящего в памяти большое количество ситуаций и рекомендующего следующий ход в соответствии с опытом экспертов, с историей и с теоретическим анализом.
Все сказанное выше определяет целесообразность реализации с помощью логической нейронной сети.
Моделирование реального времени
Проектируемая модель строится на основе логической нейронной сети, представленной на рис. 14.3, и должна удовлетворять следующим требованиям:
реализация дискретного шага модельного времени для имитации движения в реальном времени;одновременное обслуживание многих маршрутов;отсутствие ограничений выбора маршрутов внутри сети;приоритетное обслуживание маршрутов;учет загруженности станций;учет загруженности магистралей и порядка следования по ним;возможность выбора резервных или дублирующих путей следования;возможность предусмотренных остановок, выполнения скоростного режима или расписания движения;фиксация характеристик пути движения из пункта отправления к пункту назначения для формирования оптимального расписания;учет возможностей эксперимента и развития: добавление новых станций, увеличение их пропускной способности, увеличение пропускной способности магистралей и др.;модель должна быть универсальной, нетрудоемкой при разработке, быстродействующей и обладать дружественным интерфейсом.
На рис. 14.4 приведена укрупненная схема решения задачи моделирования как задачи обоснования решений о развитии железнодорожной сети с помощью модельного эксперимента, а также выбора оптимального расписания движения.
Рис. 14.4. Схема проведения исследований с помощью модели железнодорожной сети
В ее основе лежит однослойная логическая нейронная сеть (рис. 14.3), определяющая очередное перемещение движущегося объекта (поезда) в соответствии с текущей ситуацией. Дополнительные построения позволяют учитывать текущие возможности станций, занятость магистралей и интервал движения по ним, необходимость пребывания на станции не менее положенного времени.
Блок-схема проектируемой модели представлена на рис. 14.5.
Рис. 14.5. Схема модели
Блок 1 реализует функции управления, связи с пользователем и формирования транспортного потока. Каждая заявка на выполнение маршрута предполагает задание координат пункта отправления и пункта назначения, время начала движения, приоритет маршрута (литер).
В блоке 2 реализован счетчик модельного времени. Осуществляется переход к следующему такту работы модели, т.е. реализуется условная дискретность, адекватная режиму реального времени.
Блок 3 управляет циклом обработки всех выполняющихся маршрутов. Если все маршруты в такте обработаны, допускается возможность генерации (в блоке 1) новых маршрутов. Исследование маршрутов в порядке их приоритета обеспечивает преимущественное, первоочередное использование ресурсов – узлов и магистралей.
В блоке 4 проверяется, движется ли объект по магистрали, или находится на станции.
Имитация реального времени движения по магистрали, связывающей два узла, производится с помощью счетчика, связанного с объектом при его движении. Счетчик учитывает длину пути, скорость и расстояние между станциями, переведенные в количество тактов движения. Уменьшение этого счетчика на единицу в блоке 5 имитирует движение.
Так как объект занял магистраль, то для соблюдения интервала движения повышается вес синапсической связи, имитирующей эту магистраль. По мере продвижения объекта этот вес повышается (восстанавливается до единичного значения) в блоке 6 по мере продвижения.
В блоке 7 проверяется, достиг ли указанный счетчик нулевого значения? Это означает прибытие поезда на станцию.
Если достиг (блок 8), проверяется, конечный ли это пункт следования. Если да, маршрут полностью выполнен и осталось обработать информацию о его следовании (блок 19).
Если достигнутая станция не является конечной, в блоке 10 взводится счетчик времени (числа тактов) предусмотренной остановки на данной станции. Производится увеличение порога передаточной функции, соответствующей этой станции, т.к. загрузка этой станции увеличилась. Это должно быть учтено при рассмотрении возможности ее использования другими маршрутами.
Блок 11 выполняется в случае нахождения объекта движения на станции. В нем проверяется, исчерпан ли счетчик "остановки".
Если этот счетчик не равен нулю, в блоке 12 производится его уменьшение на единицу и осуществляется переход к анализу следующего маршрута (блок 3).
Если указанный счетчик исчерпан, объект (поезд) готов к дальнейшему движению. В блоке 13 производится расчет передаточной функции (раздел 2) для всех нейронов выходного слоя. Максимальная величина возбуждения определяет следующий пункт смещения объекта в сети.
Однако ранее увеличенные пороги передаточной функции, соответствующей пункту смещения, могут привести к тому, что ни один нейрон выходного слоя не возбудится. Это говорит о необходимости дополнительной задержки на станции, что проверяется в блоке 14.
Если нейросеть указала пункт смещения, в блоке 15 проверяется: позволяет ли загрузка магистрали (вес соответствующей связи) начать движение?
Если нет, в блоке 16 увеличивается значение счетчика тактов времени пребывания на станции.
При положительном результате анализа в блоке 17 рассчитывается и "взводится" счетчик движения объекта по данной магистрали.
В блоке 18 снижается вес синапсической связи, ведущей из пункта пребывания к пункту смещения.
В блоке 19 производится фиксация всей информации о маршруте для составления расписания и временной диаграммы движения.
Таким образом:
Аппарат логических нейронных сетей в наибольшей степени адекватен ассоциативному мышлению человека, реализующего последовательное принятие решения для его дальнейших действий на основе изменения ситуации. Транспортные сети, к которым следует отнести как информационные, так и железнодорожные, реализуют маршруты следования, которые можно рассматривать как последовательный выбор пункта смещения, исходя из текущего места нахождения и конечной цели. Применение элементов искусственного интеллекта - ассоциативного мышления - позволяет запоминать целесообразное смещение в различных ситуациях и строить простейшие модели следования в железнодорожных сетях. Так как эти действия целенаправленны и оперативны, то имитация природных механизмов "бесформульных" вычислений, как при моделировании сложных систем, так и в основе управления ими, позволяет существенно расширить возможности используемых вычислительных средств. Это демонстрирует предлагаемая схема универсальной модели движения в транспортной сети, учитывающая динамику приоритетного следования многих объектов в реальном времени, их совместное влияние на пропускную способность и эффективность, как время и стоимость доставки грузов.Модель допускает нетрудоемкое введение и исследование вариантов, что обеспечивает нахождение оптимальных решений при проектировании сетей железнодорожного транспорта.
Нейросетевая транспортная модель динамической маршрутизации
"- Вперед! - скомандовал сам себе бравый солдат Швейк. - Долг зовет. Я должен попасть в Будейовицы.
Но по несчастной случайности, вместо того чтобы идти от Противина на юг - к Будейовицам, стопы Швейка направились на север - к Писеку".
Я. Гашек. "Похождения бравого солдата Швейка"
Транспортная сеть представляет собой конечное множество пунктов (узлов), соединенных между собой линиями связи. Ограничения на топологию связей отсутствуют.
Случайным образом или по некоторому закону (например, по расписанию) в сети возникают заявки на транспортное перемещение, на передачу сообщений или, в общем случае, - на движение объекта из пункта отправления к пункту назначения. Такими пунктами может быть любая пара пунктов сети. Заявки требуют прокладки маршрутов следования. Маршрут может предполагать как непосредственное перемещение из пункта отправления в пункт назначения (если существует связь), так и транзитное перемещение через промежуточные пункты.
При моделировании целесообразно наблюдать единичный акт перемещения по каждому маршруту: из одного пункта в другой. Это позволяет применять динамическое управление реализацией маршрутов и изменять условия продвижения от пункта отправления к пункту назначения.
Модель ориентирована на решение задачи "проникновения" из пункта отправления в пункт назначения кратчайшим или менее загруженным доступным путем, т.е. за минимально возможное время. Решение этой задачи характерно для маршрутизации в компьютерной сети, включая Интернет, для почтовой связи, оптимизации грузовых перевозок всех видов, нефтяных и газовых магистралей и др. В то же время с помощью этой модели может быть составлено оптимальное транспортное расписание, например, движения поездов.
Для проекции сети на плоскость введем систему координат (х, у), позволяющую однозначно идентифицировать (адресовать) каждый из N пунктов сети. Координаты могут быть декартовыми, географическими и др. В соответствии с их назначением, знание их точного значения не обязательно.
Возбуждаются соответствующие этим разностям рецепторы, и для данного пункта нахождения вновь по максимальному возбуждению нейрона выходного слоя определяется следующий пункт смещения и т.д.
Координаты каждого полученного пункта смещения сравниваются с координатами пункта назначения, т.к. в случае их совпадения маршрут следования реализован.
Изменение весов связей и порогов позволяет ввести элементы динамического управления движением. Так, увеличение порога нейрона выходного слоя целесообразно связать с нагрузкой соответствующего пункта (узла). Величина возбуждения нейрона, указывающего на этот пункт, может при этом зависеть, например, от количества занятых путей станции (при "железнодорожной" интерпретации) или от количества занятых каналов обслуживания (базы данных).
Такое регулирование величины возбуждения нейронов выходного слоя позволяет строить транспортные сети с использованием резервных, обходных путей, т.к. исходные построения обученной нейросети можно производить с учетом не одного, а более пунктов смещения. Тогда пункт смещения, "возбудившийся" более других, может быть выбран для этого смещения.
Продвижение по сети с каждого пункта должно уменьшать значение соответствующего ему порога (на выходном слое) в зависимости от "физического смысла" задачи.
Регулировка синапсических весов нейрона выходного слоя может быть связана с загруженностью пути, линии передачи данных и других средств перемещения в транспортной сети. Такая регулировка требует введения дополнительного контроля состояния связи, соединяющей пункты. Синапсический вес такой связи должен снижаться при имитации движения. С этим снижением должен быть связан счетчик времени, в течение которого связь невозможна. Например, интервал следования поездов по одному пути обусловлен, в частности, необходимым расстоянием между поездами. В общем случае необходимо учитывать пропускную способность линий связи. По истечении определенного времени (когда счетчик "обнуляется") вес связи увеличивается до максимального (скорее всего, до единицы).
Таким образом, даже если величина возбуждения нейрона, указывающего на пункт смещения, высока и позволяет принять движущийся объект, учитывается состояние средства связи.
Так как работа модели тактируется, то при запретах на смещение движущихся объектов нейросеть не подвергается изменению с увеличением модельного времени на такт. Уменьшаются лишь значения счетчиков задержки. При переходе к следующему такту модельного времени вновь исследуется возможность дальнейшего продвижения объектов с новыми значениями синапсических весов и порогов нейронов выходного слоя.
С помощью подобных счетчиков можно организовывать задержки в пунктах сети для имитации остановок движения, например, поездов.
При построении обученной нейронной сети, моделирующей транспортную сеть, целесообразно усилить влияние разностей координат пункта назначения и пункта отправления таким образом, чтобы учесть меньшее количество промежуточных пунктов следования. То есть рекомендуемый пункт очередного смещения для "дальних" маршрутов может и дальше отстоять от пункта назначения или промежуточного пункта следования. Например, скорый поезд, следующий в Астрахань, первую остановку делает в Рязани, и прокладывать ему маршрут, указывая Малаховку как пункт смещения, уместный для электропоезда, вряд ли целесообразно.
Пусть ?х - разность координаты х пункта назначения и пункта нахождения (отправления или промежуточного пункта), из которого следует произвести шаг перемещения - смещение; ?у - аналогичная разность координаты у.
Для полной реализации модели достаточна однослойная логическая нейронная сеть (рис. 14.1).
Рис. 14.1. Нейросеть для пошаговой маршрутизации
Разобьем весь интервал изменения ?х для данной транспортной сети на отрезки а1, …, аm. За каждым отрезком закрепим нейрон рецепторного слоя. Возбуждение этого нейрона определяется достоверностью принадлежности найденного текущего значения ?х соответствующему отрезку.
Весь интервал возможного изменения ?у также разобьем на отрезки b1, …, bn. За каждым отрезком закрепим нейрон-рецептор. Его возбуждение определяется достоверностью того, что текущее значение ?у принадлежит соответствующему отрезку.
Закрепим N рецепторов за пунктами сети. Возбуждение этих рецепторов определяет пункт нахождения - пункт отправления или промежуточный пункт, из которого следует произвести смещение.
Выходной слой состоит из N нейронов. Их возбуждение определяет пункты, в которые необходимо или возможно произвести смещение.
Рекомендация по смещению не обязательно однозначна. Могут выдаваться варианты смещения, которые подлежат дополнительному анализу с учетом различных динамических факторов.
Синапсические связи вводятся так, чтобы каждое единичное возбуждение рецепторов всех элементов тройки {ai, bj, <k-й пункт нахождения>} приводил к максимальному возбуждению нейрона выходного слоя, называющего пункт дальнейшего смещения.
Передаточную функцию целесообразно выбрать как
Таким образом, первоначально по разностям координат х и у пункта отправления и пункта назначения отыскивается промежуточный пункт смещения. Для продолжения имитации движения возбуждается нейрон рецепторного слоя, закрепленный за полученным пунктом смещения, т.е. за новым пунктом нахождения. По его координатам и координатам пункта назначения вновь определяются ?х и ?у.
Возбуждаются соответствующие этим разностям рецепторы, и для данного пункта нахождения вновь по максимальному возбуждению нейрона выходного слоя определяется следующий пункт смещения и т.д.
Координаты каждого полученного пункта смещения сравниваются с координатами пункта назначения, т.к. в случае их совпадения маршрут следования реализован.
Изменение весов связей и порогов позволяет ввести элементы динамического управления движением. Так, увеличение порога нейрона выходного слоя целесообразно связать с нагрузкой соответствующего пункта (узла). Величина возбуждения нейрона, указывающего на этот пункт, может при этом зависеть, например, от количества занятых путей станции (при "железнодорожной" интерпретации) или от количества занятых каналов обслуживания (базы данных).
Такое регулирование величины возбуждения нейронов выходного слоя позволяет строить транспортные сети с использованием резервных, обходных путей, т.к. исходные построения обученной нейросети можно производить с учетом не одного, а более пунктов смещения. Тогда пункт смещения, "возбудившийся" более других, может быть выбран для этого смещения.
Продвижение по сети с каждого пункта должно уменьшать значение соответствующего ему порога (на выходном слое) в зависимости от "физического смысла" задачи.
Регулировка синапсических весов нейрона выходного слоя может быть связана с загруженностью пути, линии передачи данных и других средств перемещения в транспортной сети. Такая регулировка требует введения дополнительного контроля состояния связи, соединяющей пункты. Синапсический вес такой связи должен снижаться при имитации движения. С этим снижением должен быть связан счетчик времени, в течение которого связь невозможна. Например, интервал следования поездов по одному пути обусловлен, в частности, необходимым расстоянием между поездами. В общем случае необходимо учитывать пропускную способность линий связи. По истечении определенного времени (когда счетчик "обнуляется") вес связи увеличивается до максимального (скорее всего, до единицы).
Таким образом, даже если величина возбуждения нейрона, указывающего на пункт смещения, высока и позволяет принять движущийся объект, учитывается состояние средства связи.
Так как работа модели тактируется, то при запретах на смещение движущихся объектов нейросеть не подвергается изменению с увеличением модельного времени на такт. Уменьшаются лишь значения счетчиков задержки. При переходе к следующему такту модельного времени вновь исследуется возможность дальнейшего продвижения объектов с новыми значениями синапсических весов и порогов нейронов выходного слоя.
С помощью подобных счетчиков можно организовывать задержки в пунктах сети для имитации остановок движения, например, поездов.
При построении обученной нейронной сети, моделирующей транспортную сеть, целесообразно усилить влияние разностей координат пункта назначения и пункта отправления таким образом, чтобы учесть меньшее количество промежуточных пунктов следования. То есть рекомендуемый пункт очередного смещения для "дальних" маршрутов может и дальше отстоять от пункта назначения или промежуточного пункта следования. Например, скорый поезд, следующий в Астрахань, первую остановку делает в Рязани, и прокладывать ему маршрут, указывая Малаховку как пункт смещения, уместный для электропоезда, вряд ли целесообразно.
Нейросетевой "подсказчик" в тактической игре
"Остап … подошел к одноглазому, сидевшему за первой доской, и передвинул королевскую пешку с клетки е2 на клетку е4". И. Ильф, Е. Петров. "Двенадцать стульев"
Схема пошаговой оптимизации наилучшим образом ложится на схему игры, где последовательные действия одного или нескольких игроков приводят к успеху, обусловленному правилами.
Единичное действие, чаще всего называемое ходом, должно либо статистически, либо комбинационно приводить к увеличению "качества" или к уменьшению "штрафа" на пути к победе (или к поражению). И здесь большое значение имеет не только длительный анализ всех возможных продолжений, грозящий цейтнотом, но и огромный опыт и фактические знания, переродившиеся в интуицию и позволяющие действовать механически в условиях блиц-турнира. Следовательно, должны быть реализованы механизмы запоминания и извлечения опыта и знаний в пошаговых действиях. Основным средством такой реализации является нейросеть - как природная, так и искусственная.
Рассмотрим игру в шахматы. Аналогом пункта в транспортной сети здесь является позиция на шахматной доске, состоящей из 64 клеток. Каждая клетка может быть пустой или иметь значение символа занимаемой фигуры.
То есть каждая клетка i может принимать значение из множества {
, пешка белая, ладья белая, конь белый, слон белый, ферзь белый, король белый, пешка черная, ладья черная, конь черный, слон черный, ферзь черный, король черный}. При этом позиции являются симметричными относительно цвета фигур. Игроку, прибегающему к услугам "подсказчика", главное - указать: "фигуры мои - фигуры противника". Играть можно "самому с собой", как бы поворачивая доску после очередного хода. (Если "подсказчик" играет сам с собой, логично предположить, что такая игра всегда будет сводиться к ничьей?)Тогда рецепторный слой однослойной логической нейронной сети должен состоять (рис. 14.6) из 64 групп нейронов. Каждая группа закреплена за одной клеткой и, в свою очередь, состоит из 13 нейронов-рецепторов.
Пример модели транспортного маршрутизатора из центрального пункта отправления
Рассмотрим пример транспортного маршрутизатора, планирующего движение из одного, центрального пункта к периферийным пунктам со специальной топологией связей. Транспортная сеть представлена на рис. 14.2, где все пункты заданы своими координатами (х, у) в системе координат, связанной с центром.
Рис. 14.2. Транспортная сеть
По величине и знаку разности координат пункта назначения и исходного или промежуточного пункта нахождения с помощью простейшей однослойной нейросети (рис. 14.3) может быть найден пункт смещения, т.е. тот пункт, в который следует переместиться для дальнейшего следования. Целесообразно использовать рассмотренную ранее передаточную функцию, положив все веса равными единице, а пороги - равными двум.
Рис. 14.3. Транспортная нейросеть
Как рассматривалось выше, нейросеть отображает рекомендуемые смещения для всех возможных ситуаций, складывающихся на основе текущего нахождения объекта и соотношения между его координатами и координатами пункта назначения.
Если координаты найденного пункта смещения совпадают с координатами пункта назначения, маршрут реализован.
В противном случае отыскиваются разности координат пункта назначения и найденного пункта смещения. Они определяют единичное возбуждение соответствующих рецепторов входного слоя. Так же возбуждается рецептор, соответствующий найденному пункту смещения. Эти три возбужденных рецептора вновь определяют новый пункт смещения.
Так продолжается до совпадения координат пункта смещения с координатами пункта назначения. В данном примере потребуется сделать не более двух шагов.
Например, при движении из пункта 0 по адресу пункта 6 с координатами (-50, 150) оказывается, что ?x < 0, ?y
0. Тогда нейрону 1 сообщается значение возбуждения, равное 1. Такое же значение сообщается нейрону 4, а также нейрону 5, соответствующему центральному пункту. Тогда V27 = 1, V28 = ... V46 = 0. То есть найден промежуточный пункт 1. Тогда возбуждение нейрона 6 полагается равным единице и устанавливается, что относительно пункта 1 координаты пункта назначения определяют неравенства ?х 0, ?у 0.Значит, следует сообщить единичное возбуждение нейронам 2 и 4. Возбуждение всех других рецепторов полагается нулевым. При расчете передаточной функции для всех нейронов выходного слоя выдается рекомендация следования в пункт 6, т.к. единичное возбуждение приобретает нейрон 32. Маршрут составлен: 0 1 6.
Нейросеть, представленная на рис. 14.3, предполагает одностороннее перемещение - от центра к периферии. Поэтому конечные пункты оказались "зависшими", не влияющими на дальнейшее смещение. Однако легко развить эту нейросеть (нецелесообразно усложнять рисунок), предположив возможность возвращения в центральный пункт, или движения через центральный пункт, если задан маршрут из пункта отправления одного сектора в пункт назначения другого сектора. Внутри сектора движение может осуществляться через его локальный центральный пункт также на основе анализа указанной выше разности координат.
Таким образом, моделирование сложной транспортной сети любой природы с помощью логической нейронной сети оказывается исключительно простым и универсальным.
Значит, следует сообщить единичное возбуждение нейронам 2 и 4. Возбуждение всех других рецепторов полагается нулевым. При расчете передаточной функции для всех нейронов выходного слоя выдается рекомендация следования в пункт 6, т.к. единичное возбуждение приобретает нейрон 32. Маршрут составлен: 0 1 6.
Нейросеть, представленная на рис. 14.3, предполагает одностороннее перемещение - от центра к периферии. Поэтому конечные пункты оказались "зависшими", не влияющими на дальнейшее смещение. Однако легко развить эту нейросеть (нецелесообразно усложнять рисунок), предположив возможность возвращения в центральный пункт, или движения через центральный пункт, если задан маршрут из пункта отправления одного сектора в пункт назначения другого сектора. Внутри сектора движение может осуществляться через его локальный центральный пункт также на основе анализа указанной выше разности координат.
Таким образом, моделирование сложной транспортной сети любой природы с помощью логической нейронной сети оказывается исключительно простым и универсальным.