Логические нейронные сети

Стратегии обучения и самообучения

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

"Учиться, учиться и еще раз учиться!"

"Мы все учились понемногу…"

5.1. Динамизм обучения

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

Итак, можно учить по "чистым" эталонам, объединив их в эталоны обобщенные. Но "ближе к жизни" можно учить по разным "частным" эталонам (то, что мы называем жизненным опытом), приводящим к одному решению. Например, можно (возвращаясь к многострадальному примеру) последовательно "показывать" эталоны B1A1C2, B1A1C1 и т.д., приводящие к решению R1. Можно предъявлять вперемежку разные эталоны, приводящие к разным решениям. И это справедливо соответствует диалектике познания на основе гипотез, экспериментов и опыта, гласящей, что мир познаваем, но всего познать нельзя, ибо, мы добавляем, - Бесконечность!

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

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

Того же требует технология трассировки - "прокладывания" опорных путей в сети. Она ставит вопрос ребром: "Что делать, если событие наступило?"

Как и все знания в основе нашей мудрости, сеть должна эволюционировать: пополняться и развиваться. Лишь на этой основе можно ставить вопрос не только об обучении (с учителем), но и о самообучении.

Таким образом, мы не сразу предъявляем сети весь обобщенный эталон, например, A1B1C1C2C3C4C5, приводящий к решению R1, а последовательно развиваем его, предъявляя частные эталоны "в полном смысле" - как единичные значения соответствующих булевых переменных или целых. Возможно, что мы не все такие эталоны даже можем перебрать практически. Например, спустя год после успешной деятельности Компании Петя впервые направился к Марине, торгующей тибетским бальзамом. Пусть лишь глубокий анализ ситуации показал, что это требует трассировки решения A2B3C3->R4.

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

Другой путь учета новых эталонов заключается в "обнулении" или минимизации лишь тех весов связей, которые обусловлены предыдущим значением обобщенного эталона, приводящего к тому же решению. Это выводит использованные ранее нейроны в ресурс. Затем трассировка может быть выполнена заново по уточненному обобщенному эталону. Этот путь может оказаться более коротким, если не учитывать затрат на ликвидацию следов присутствия устаревшего обобщенного эталона. (Операции "чистки" весьма распространены в практике человеческой деятельности!) Мы не оспариваем этот путь, полагаясь на творческое, критическое настроение читателя, и признаемся честно, что мы этот путь не исследовали, полагаясь на интуицию. Интуиция же нам подсказывает, что надо действовать как-то проще, тем более что мы не постесняемся ввести дополнительные связи в сеть, если понадобится.

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

Пусть предъявление эталонов A1B1C2 и A1B1C4 ("текущий" обобщенный эталон A1B1C2C4 ), требующих решения R1, а также предъявление текущих обобщенных эталонов A1B2C1C2C3, A1B2C4C5, A2B3C1C2C3C4C5, A2B1C1C2C3C4C5, требующих соответственно решений R2, R3, R4, R5, привели к трассировке нейросети (к ее текущему состоянию), представленной на рис. 5.1.

(рис 5.1) Частично обученная нейронная сеть

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

Матрица следования S, соответствующая получившейся сети, показана на рис. 5.2.

(рис 5.2) Матрица следования

Как видим, сеть оказалась весьма "запутанной" дополнительными связями. Обучение всем обобщенным эталонам сразу (пример в лекции 4) выявляет термы, использующиеся при получении различных решений. Здесь же термы не складывались, нейроны почти не переиспользовались.

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

Пусть в процессе эксплуатации обученной сети выяснилось, что ситуации (эталоны) А1B1C1 и A1B1C3, в дополнение к ранее предусмотренным, не только возможны, но требуют того же решения R1. Это означает, что обобщенный эталон A1B1C2C4 мы должны расширить до подобного эталона A1B1С1C2C3C4, требующего решения R1. То есть нам необходимо построить путь возбуждения (трассы) B1, A1, C1, C2, C3, C4 -> Вых1. Однако при его построении мы не хотим изменять уже ранее построенный путь возбуждения B1, A1, C2, C4 -> Вых1.

Значит, надо проложить трассы, дополнить сеть путем возбуждения C1, C3 -> Вых1. При этом нам бы хотелось максимально объединить, пересечь, слить этот путь с уже построенным ранее путем возбуждения, ведущим в Вых1.

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

Здесь важно сделать Замечание в дополнение к алгоритму трассировки, рассмотренному в лекции 4:

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

Продолжим рассмотрение примера, ведущее к обобщению.

Для нового обобщенного эталона на основе матрицы S, так же, как мы это делали в предыдущем разделе, построим (рис. 5.3) матрицу S*[B1, A1, C1, C2, C3, C4 -> Вых1].

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

(рис 5.3) Матрица следования для обучения уточненному эталону

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

(рис 5.4) Шаг преобразования матрицы следования

"Спускаемся" по столбцу, соответствующему нейрону С1, и в строке, не являющейся входом, находим, если таковой имеется, первый нулевой элемент. Полагаем его равным единице и отражаем введенное изменение в матрице S. Если нулевого элемента в столбце не нашлось, находим первый "пустой" элемент (или отмеченный транзитивной связью - все равно) и полагаем его равным единице. Этим мы вводим дополнительную связь, отраженную в матрице S. В данном случае такой связью с единичным весом является связь С1 -> 2.

То же проделываем с нейроном С3, введя дополнительную связь с единичным весом С3 -> 2 (рис. 5.5).

(рис 5.5) Шаг преобразования матрицы следования

Отметим, что наше решение основано на эвристике, и место появления новых возбужденных связей может быть оспорено. Например, могли быть построены связи С1-> 2, С3 -> 9, или С1-> Вых1, С3 -> 9, или С1-> 9, С3-> Вых1, и т.д.

Мы не приводим еще более усложнившегося рис. 5.1 уточненной сети, предоставив читателю возможность проверить усвоение материала с помощью легкого нажатия красным карандашом прямо в книжке в направлении стрелок, которые исходят из кружочков, помеченных символами С1 и С3, и входят в кружок, помеченный цифрой 2. Однако намек на такое уточнение делаем на рис. 5.6.

(рис 5.6) Полностью обученная нейросеть (намек)

5.2. Не задавайте глупых вопросов!

"Родила царица в ночь

Не то сына, не то дочь $$\dots$$ "

Мы учим сеть по обобщенным эталонам, несомненно опираясь на здравомыслие пользователя. Так, обучая обобщенному эталону A1B2B3C1C2C3, мы предполагаем задание "логичных" вопросов типа: "Какое решение принять, если Вася на своем прекрасном "Volvo" отправился в павильон "Роксана", в который накануне завезена из Китая большая партия косметики?". Вы задаете сети ясный вопрос, полагая А1 = В3 = С2 = 1 (на самом деле вы знаете об истинном происхождении косметики), и получаете столь же ясный ответ: "Принимай решение (или значение твоей прибыли) R2!"

Но что, если при сформировавшихся связях задать вопрос В3 = С1 = С2 = С3 = 1? Максимального и равного возбуждения на выходе достигнет даже не один нейрон! Но что означал этот вопрос и что означал ответ? Судить ли по неоднозначности ответа о том, что на входе сформировано "объединение" вопросов, обусловившее неоднозначность ответов? (Каков вопрос - таков ответ?) А всегда ли получается неоднозначный ответ?

Зададим вопрос, положив А2 = В1 = В2 = 1. Максимального возбуждения достигнет нейрон Вых5. Но предусматривалось ли решение R5 в ответ на такую ситуацию? Хотя завоз продукции фирм Красный киллер и Пират в палатки С1, С2 и С3 накануне визита Пети вполне возможен!

Несомненно, для правильного ответа надо правильно ставить вопрос. Корректность использования нейросети должна быть обусловлена теми правилами, которые брались за основу ее разработки. Если мы положили, что события А, В, С обязательно должны участвовать в формировании вопросов, то для задания других вопросов сеть необходимо дополнительно обучить.

Например, вопрос "Фирма В3 направила свою продукцию в палатки С1, С2 и С3, - что делать?" требует тщательной проработки нового ответа R6 на свободном нейроне Вых6 выходного слоя и формирования ( трассировки ) пути возбуждения В3, С1, С2, С3 -> Вых6.

Однако возможности неоднозначного ответа (одинаковой величины возбуждения нейронов выходного слоя) этим избежать не удается. Придется анализировать всю картину возбуждения нейронов выходного слоя и выдавать все ответы вида: "Продукция фирмы В3 поступила в палатки С1, С2, С3 "; "Это впоследствии, скорее всего, приведет к решениям R2 и R4 ". А это, нетрудно видеть, влечет необходимость надстройки сети вторым логическим уровнем, где выходной слой нейронов первого уровня становится (возможно, в совокупности со своим входным слоем) входным слоем. Так могут быть продолжены логические цепочки наших умозаключений.

Это еще раз свидетельствует о том, что нельзя законсервировать себя как носителя нейросети на всю жизнь, получив стандартный объем знаний, удостоверенный "красным" дипломом. Надо думать, надо учиться, надо развиваться, смело задавая "запрещенные", глупые вопросы $$\dots$$

***

Как показал исторический опыт, демократия и гласность без запретов кроме вреда ничего не приносят. Или это не так? Или именно запрещенные вопросы милы Развитию? Рассмотрим это подробнее ниже.

5.3. Познание нового - основа самообучения

"Кто стрелял, куда попал?"

Конечно, вы сами можете открыть квантовую механику. Но лучше спросить "Что это такое?" за кружкой пива у бедного студента, подрабатывающего грузчиком в соседнем гастрономе.

Мы научили сеть множеству эталонов - даже сформированных в обобщенные эталоны. Теперь, подавая на вход даже искаженные образы, мы можем ответить на вопрос "На какой эталон в большей мере он похож?". И максимально возбужденный нейрон ответит нам на него. Рассмотрим, однако, более внимательно пороги, которым мы уделяли недостаточное внимание.

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

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

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

Мы даже можем представить себе возможный диалог между Нейрокомпьютером (НК) и Учителем (У):

НК (Величина возбуждения ни одного нейрона выходного слоя не одолела порога):

- Это что-то новенькое! Повтори вопрос; может, величины возбуждения на входе малы?

У:

- Повторяю вопрос.

НК (Результат тот же):

- Все же это что-то новенькое. Приводит ли это к одному из известных решений, или решение новое?

У (Варианты):

  • - Это должно привести к решению R5.
  • - Это новое решение R6.
  • НК (Соответствующие варианты):

  • - Произвожу трассировку по уточненному обобщенному эталону для решения R5.
  • - Рассматриваю твой вопрос как новый обобщенный эталон. Произвожу трассировку к выходному нейрону Вых6, соответствующему решению R6.
  • (Пауза)

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

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

    Например, диалог при медицинской диагностике формируется, несомненно, на основе отработанной стратегии допроса. Предполагается, что вопросы структурированы и даже образуют порядок следования, отраженный графически, так, что одни вопросы исключают другие. Например, уместен ли вопрос "Снились ли вам гномики?" после отрицательного ответа на вопрос "Спали ли вы в эту ночь?" - при рецидивах недержания?

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

    Правда, новым решением - реакцией на этот вопрос - может быть ответ: "Не задавай глупых вопросов!"

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

    НК (Первый вопрос после входа):

    - Что у вас болит?

    П:

    - Голова, живот, пальчик.

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

    - Ковыряли ли вы в носу на сон грядущий?

    П:

    - Да.

    НК:

    - Мыли ли вы руки, ложась спать?

    П (Варианты):

  • - Я мою только ноги.
  • - Нет.
  • НК (Варианты):

  • - Не задавайте глупых вопросов!
  • (На правах рекламы) - Не волнуйтесь, но вы страдаете манией величия. Вам срочно необходимо обратиться в Российский Пенсионный Фонд!
  • ***

    В этом месте остановись, читатель, и отрешенным взором обозначь ясную мысль: "Так может ли существо, называемое Божьей Тварью, жить и действовать одним лишь мозгом - нейросетью в механическом, бессознательном состоянии? Достаточен ли мозг в такой ограниченной интерпретации аппарата, инструмента, - для творчества и самопознания? Или все нами изложенное не достойно даже червячка? Есть ли в нас что-то выше такого мозга?" и т.д. и т.д.

    Нет, не хочется чувствовать себя только думающей машиной! - И мы размашисто осеняем себя крестным знамением…

    Страницы:

    "Учиться, учиться и еще раз учиться!"

    "Мы все учились понемногу…"

    5.1. Динамизм обучения

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

    Итак, можно учить по "чистым" эталонам, объединив их в эталоны обобщенные. Но "ближе к жизни" можно учить по разным "частным" эталонам (то, что мы называем жизненным опытом), приводящим к одному решению. Например, можно (возвращаясь к многострадальному примеру) последовательно "показывать" эталоны B1A1C2, B1A1C1 и т.д., приводящие к решению R1. Можно предъявлять вперемежку разные эталоны, приводящие к разным решениям. И это справедливо соответствует диалектике познания на основе гипотез, экспериментов и опыта, гласящей, что мир познаваем, но всего познать нельзя, ибо, мы добавляем, - Бесконечность!

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

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

    Того же требует технология трассировки - "прокладывания" опорных путей в сети. Она ставит вопрос ребром: "Что делать, если событие наступило?"

    Как и все знания в основе нашей мудрости, сеть должна эволюционировать: пополняться и развиваться. Лишь на этой основе можно ставить вопрос не только об обучении (с учителем), но и о самообучении.

    Таким образом, мы не сразу предъявляем сети весь обобщенный эталон, например, A1B1C1C2C3C4C5, приводящий к решению R1, а последовательно развиваем его, предъявляя частные эталоны "в полном смысле" - как единичные значения соответствующих булевых переменных или целых. Возможно, что мы не все такие эталоны даже можем перебрать практически. Например, спустя год после успешной деятельности Компании Петя впервые направился к Марине, торгующей тибетским бальзамом. Пусть лишь глубокий анализ ситуации показал, что это требует трассировки решения A2B3C3->R4.

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

    Другой путь учета новых эталонов заключается в "обнулении" или минимизации лишь тех весов связей, которые обусловлены предыдущим значением обобщенного эталона, приводящего к тому же решению. Это выводит использованные ранее нейроны в ресурс. Затем трассировка может быть выполнена заново по уточненному обобщенному эталону. Этот путь может оказаться более коротким, если не учитывать затрат на ликвидацию следов присутствия устаревшего обобщенного эталона. (Операции "чистки" весьма распространены в практике человеческой деятельности!) Мы не оспариваем этот путь, полагаясь на творческое, критическое настроение читателя, и признаемся честно, что мы этот путь не исследовали, полагаясь на интуицию. Интуиция же нам подсказывает, что надо действовать как-то проще, тем более что мы не постесняемся ввести дополнительные связи в сеть, если понадобится.

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

    Пусть предъявление эталонов A1B1C2 и A1B1C4 ("текущий" обобщенный эталон A1B1C2C4 ), требующих решения R1, а также предъявление текущих обобщенных эталонов A1B2C1C2C3, A1B2C4C5, A2B3C1C2C3C4C5, A2B1C1C2C3C4C5, требующих соответственно решений R2, R3, R4, R5, привели к трассировке нейросети (к ее текущему состоянию), представленной на рис. 5.1.

    (рис 5.1) Частично обученная нейронная сеть

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

    Матрица следования S, соответствующая получившейся сети, показана на рис. 5.2.

    (рис 5.2) Матрица следования

    Как видим, сеть оказалась весьма "запутанной" дополнительными связями. Обучение всем обобщенным эталонам сразу (пример в лекции 4) выявляет термы, использующиеся при получении различных решений. Здесь же термы не складывались, нейроны почти не переиспользовались.

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

    Пусть в процессе эксплуатации обученной сети выяснилось, что ситуации (эталоны) А1B1C1 и A1B1C3, в дополнение к ранее предусмотренным, не только возможны, но требуют того же решения R1. Это означает, что обобщенный эталон A1B1C2C4 мы должны расширить до подобного эталона A1B1С1C2C3C4, требующего решения R1. То есть нам необходимо построить путь возбуждения (трассы) B1, A1, C1, C2, C3, C4 -> Вых1. Однако при его построении мы не хотим изменять уже ранее построенный путь возбуждения B1, A1, C2, C4 -> Вых1.

    Значит, надо проложить трассы, дополнить сеть путем возбуждения C1, C3 -> Вых1. При этом нам бы хотелось максимально объединить, пересечь, слить этот путь с уже построенным ранее путем возбуждения, ведущим в Вых1.

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

    Здесь важно сделать Замечание в дополнение к алгоритму трассировки, рассмотренному в лекции 4:

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

    Продолжим рассмотрение примера, ведущее к обобщению.

    Для нового обобщенного эталона на основе матрицы S, так же, как мы это делали в предыдущем разделе, построим (рис. 5.3) матрицу S*[B1, A1, C1, C2, C3, C4 -> Вых1].

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

    (рис 5.3) Матрица следования для обучения уточненному эталону

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

    (рис 5.4) Шаг преобразования матрицы следования

    "Спускаемся" по столбцу, соответствующему нейрону С1, и в строке, не являющейся входом, находим, если таковой имеется, первый нулевой элемент. Полагаем его равным единице и отражаем введенное изменение в матрице S. Если нулевого элемента в столбце не нашлось, находим первый "пустой" элемент (или отмеченный транзитивной связью - все равно) и полагаем его равным единице. Этим мы вводим дополнительную связь, отраженную в матрице S. В данном случае такой связью с единичным весом является связь С1 -> 2.

    То же проделываем с нейроном С3, введя дополнительную связь с единичным весом С3 -> 2 (рис. 5.5).

    (рис 5.5) Шаг преобразования матрицы следования

    Отметим, что наше решение основано на эвристике, и место появления новых возбужденных связей может быть оспорено. Например, могли быть построены связи С1-> 2, С3 -> 9, или С1-> Вых1, С3 -> 9, или С1-> 9, С3-> Вых1, и т.д.

    Мы не приводим еще более усложнившегося рис. 5.1 уточненной сети, предоставив читателю возможность проверить усвоение материала с помощью легкого нажатия красным карандашом прямо в книжке в направлении стрелок, которые исходят из кружочков, помеченных символами С1 и С3, и входят в кружок, помеченный цифрой 2. Однако намек на такое уточнение делаем на рис. 5.6.

    (рис 5.6) Полностью обученная нейросеть (намек)

    5.2. Не задавайте глупых вопросов!

    "Родила царица в ночь

    Не то сына, не то дочь $$\dots$$ "

    Мы учим сеть по обобщенным эталонам, несомненно опираясь на здравомыслие пользователя. Так, обучая обобщенному эталону A1B2B3C1C2C3, мы предполагаем задание "логичных" вопросов типа: "Какое решение принять, если Вася на своем прекрасном "Volvo" отправился в павильон "Роксана", в который накануне завезена из Китая большая партия косметики?". Вы задаете сети ясный вопрос, полагая А1 = В3 = С2 = 1 (на самом деле вы знаете об истинном происхождении косметики), и получаете столь же ясный ответ: "Принимай решение (или значение твоей прибыли) R2!"

    Но что, если при сформировавшихся связях задать вопрос В3 = С1 = С2 = С3 = 1? Максимального и равного возбуждения на выходе достигнет даже не один нейрон! Но что означал этот вопрос и что означал ответ? Судить ли по неоднозначности ответа о том, что на входе сформировано "объединение" вопросов, обусловившее неоднозначность ответов? (Каков вопрос - таков ответ?) А всегда ли получается неоднозначный ответ?

    Зададим вопрос, положив А2 = В1 = В2 = 1. Максимального возбуждения достигнет нейрон Вых5. Но предусматривалось ли решение R5 в ответ на такую ситуацию? Хотя завоз продукции фирм Красный киллер и Пират в палатки С1, С2 и С3 накануне визита Пети вполне возможен!

    Несомненно, для правильного ответа надо правильно ставить вопрос. Корректность использования нейросети должна быть обусловлена теми правилами, которые брались за основу ее разработки. Если мы положили, что события А, В, С обязательно должны участвовать в формировании вопросов, то для задания других вопросов сеть необходимо дополнительно обучить.

    Например, вопрос "Фирма В3 направила свою продукцию в палатки С1, С2 и С3, - что делать?" требует тщательной проработки нового ответа R6 на свободном нейроне Вых6 выходного слоя и формирования ( трассировки ) пути возбуждения В3, С1, С2, С3 -> Вых6.

    Однако возможности неоднозначного ответа (одинаковой величины возбуждения нейронов выходного слоя) этим избежать не удается. Придется анализировать всю картину возбуждения нейронов выходного слоя и выдавать все ответы вида: "Продукция фирмы В3 поступила в палатки С1, С2, С3 "; "Это впоследствии, скорее всего, приведет к решениям R2 и R4 ". А это, нетрудно видеть, влечет необходимость надстройки сети вторым логическим уровнем, где выходной слой нейронов первого уровня становится (возможно, в совокупности со своим входным слоем) входным слоем. Так могут быть продолжены логические цепочки наших умозаключений.

    Это еще раз свидетельствует о том, что нельзя законсервировать себя как носителя нейросети на всю жизнь, получив стандартный объем знаний, удостоверенный "красным" дипломом. Надо думать, надо учиться, надо развиваться, смело задавая "запрещенные", глупые вопросы $$\dots$$

    ***

    Как показал исторический опыт, демократия и гласность без запретов кроме вреда ничего не приносят. Или это не так? Или именно запрещенные вопросы милы Развитию? Рассмотрим это подробнее ниже.

    5.3. Познание нового - основа самообучения

    "Кто стрелял, куда попал?"

    Конечно, вы сами можете открыть квантовую механику. Но лучше спросить "Что это такое?" за кружкой пива у бедного студента, подрабатывающего грузчиком в соседнем гастрономе.

    Мы научили сеть множеству эталонов - даже сформированных в обобщенные эталоны. Теперь, подавая на вход даже искаженные образы, мы можем ответить на вопрос "На какой эталон в большей мере он похож?". И максимально возбужденный нейрон ответит нам на него. Рассмотрим, однако, более внимательно пороги, которым мы уделяли недостаточное внимание.

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

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

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

    Мы даже можем представить себе возможный диалог между Нейрокомпьютером (НК) и Учителем (У):

    НК (Величина возбуждения ни одного нейрона выходного слоя не одолела порога):

    - Это что-то новенькое! Повтори вопрос; может, величины возбуждения на входе малы?

    У:

    - Повторяю вопрос.

    НК (Результат тот же):

    - Все же это что-то новенькое. Приводит ли это к одному из известных решений, или решение новое?

    У (Варианты):

  • - Это должно привести к решению R5.
  • - Это новое решение R6.
  • НК (Соответствующие варианты):

  • - Произвожу трассировку по уточненному обобщенному эталону для решения R5.
  • - Рассматриваю твой вопрос как новый обобщенный эталон. Произвожу трассировку к выходному нейрону Вых6, соответствующему решению R6.
  • (Пауза)

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

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

    Например, диалог при медицинской диагностике формируется, несомненно, на основе отработанной стратегии допроса. Предполагается, что вопросы структурированы и даже образуют порядок следования, отраженный графически, так, что одни вопросы исключают другие. Например, уместен ли вопрос "Снились ли вам гномики?" после отрицательного ответа на вопрос "Спали ли вы в эту ночь?" - при рецидивах недержания?

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

    Правда, новым решением - реакцией на этот вопрос - может быть ответ: "Не задавай глупых вопросов!"

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

    НК (Первый вопрос после входа):

    - Что у вас болит?

    П:

    - Голова, живот, пальчик.

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

    - Ковыряли ли вы в носу на сон грядущий?

    П:

    - Да.

    НК:

    - Мыли ли вы руки, ложась спать?

    П (Варианты):

  • - Я мою только ноги.
  • - Нет.
  • НК (Варианты):

  • - Не задавайте глупых вопросов!
  • (На правах рекламы) - Не волнуйтесь, но вы страдаете манией величия. Вам срочно необходимо обратиться в Российский Пенсионный Фонд!
  • ***

    В этом месте остановись, читатель, и отрешенным взором обозначь ясную мысль: "Так может ли существо, называемое Божьей Тварью, жить и действовать одним лишь мозгом - нейросетью в механическом, бессознательном состоянии? Достаточен ли мозг в такой ограниченной интерпретации аппарата, инструмента, - для творчества и самопознания? Или все нами изложенное не достойно даже червячка? Есть ли в нас что-то выше такого мозга?" и т.д. и т.д.

    Нет, не хочется чувствовать себя только думающей машиной! - И мы размашисто осеняем себя крестным знамением…

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