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

Нейронные сети с обратными связями

Показывать лекцию целиком

6.1. К вопросу происхождения человека

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

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

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

(рис 6.1) Нейросеть для решения вопроса о происхождении человека

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

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

При построении нейросети учитываем следующее.

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

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

Одновременно положительная обратная связь должна усиливать возбуждение нейронов 2 и 3, "ответственных" за тезисы о божественном и марсианском происхождении человека.

Такое же влияние на нейроны 1–3 должны оказывать и другие выводы, за которые "ответственны" нейроны 7–9.

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

На стрелках, обозначающих связи, указаны их веса $$\omega,$$ в том числе – отрицательные. Выбор весов обусловлен тем, что три события-высказывания, соответствующие нейронам 1–3, образуют исчерпывающее множество событий. Тогда, в соответствии с условием нормировки, уменьшение достоверности одного из них должно увеличивать достоверность других.

Выберем передаточную функцию

$$\begin{array}{l} V:=\sum_j \omega_j V_j\\ V_{i }:= if \: V>h_{i}\: then \: (if \: V <1\: then \: V\: else\: 1 )\: else\: 0 \end{array}$$

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

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

А именно, пусть V1 = 1, V2 = V3 = 0, V4 = V5 = 0,5.

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

По заданным значениям произведем первый цикл обсчета величины возбуждения остальных нейронов: V6 = ... = V10 = 1 .

При втором цикле обсчета получаем V1 = V2 = V3 = 0,33 , V4 = 0,2 при неизменившихся значениях величин возбуждения других нейронов.

Третий цикл обсчета позволяет уточнить значения V6 = V7 = V8 = V9 = 0 , V10 = 1 .

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

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

Более того, если в начале исследований мы уже недостаточно уверены в предположении, что человек произошел от обезьяны, т.е. положили V1 < 1 , то это лишь усиливает правоту предположения о божественном или марсианском его происхождении.

Например, положим V1 = 0,8, V2 = V3 = 0,1 .

В результате первого же уточнения этих значений получим V1 = 0,267, V2 = V3 = 0,367 . И лишь возбуждение нейрона 10 остается неизменным, утверждающим тезис о том, что философское отношение к действительности благотворно влияет на физиологические возможности.

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

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

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

В то же время как с позиций диалектики согласовать правомочность всех трех предположений о происхождении человека?

Напрашивается следующая модель. Бог, конечно же, создал человека, но – на Марсе! В результате охлаждения Солнца марсианская "элита", в лице отнюдь не лучших представителей рабочего класса и трудовой интеллигенции, воспользовавшись высокими достижениями в области науки и техники (несомненно – и в области искусственного интеллекта), перебралась на Землю, где успешно спуталась с местными обезьянами.

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

6.2. Как же вводить обратные связи?

"Я дух родного твоего отца,

На некий срок скитаться осужденный

Ночной порой, а днем гореть в огне,

Пока мои земные окаянства

Не выгорят дотла".

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

Рассмотрим непрерывную, динамически контролируемую работу уже обученной сети в реальном времени.

Пусть дядя Рамзай своими собственными глазами видел Васю, беседующего с Оксаной близ ее палатки. И было это не более пяти минут назад. Ясно, что по крайней мере еще минут на двадцать Васю следует исключить из процесса оценки достоверности последующих ситуаций. Желательно этот процесс автоматизировать. Это значит, что на входном слое должна быть учтена информация "Вася уже у Оксаны, следовательно, дальнейшее рассмотрение комбинаций с их участием нецелесообразно". И если вдруг появившийся Вовочка, прося на пряник, сообщает, что только что видел Васю у св. Аполлинарии, то дядя Рамзай, корректируя исходную информацию на текущий момент, должен игнорировать или учесть незначительно (в случае неверия собственным глазам) информацию Вовочки. Мы хотели бы, чтобы достоверность такой информации, с участием Васи и Оксаны, автоматически снижалась. Либо, наоборот, достоверность ситуаций без их участия должна увеличиваться.

И здесь мы можем не гоняться за достоверностью, требуя принадлежности ее величины диапазону [0, 1], а перейти к более общему понятию веса информации. Этот вес необходимо рассматривать как функцию времени. Ведь логично, что с течением времени вероятность участия Васи и Оксаны в последующих ситуациях должна как бы восстанавливаться.

Что необходимо для такой работы сети?

  • Надо с большей определенностью дифференцировать ситуации на выходном слое. Например, если в решениях R1 и R2 замешаны не только Вася и Оксана, но и другие участники игры, то это затрудняет принятие конкретного решения только по Васе и только по Оксане. Нам необходимо корректировать дальнейшее решение по вхождению комбинации A1C1, и не связывать, не объединять его, например, с вхождением комбинации A1C2. Значит, надо расширить множество {Ri} принимаемых решений, повторяя ("размножая", см. лекцию 1), если необходимо, одно и то же решение для разных эталонных комбинаций.
  • Необходимо ввести обратную связь, осуществляющую влияние решения, осуществляемого по Васе ( А1 ) и Оксане ( С1 ), на достоверность или вес информации, связанные с их дальнейшим участием в складывающихся ситуациях, то есть на величины возбуждения нейронов А1 и С1, даже вопреки попыткам искусственно задать высокие значения этих величин.
  • Конкретными рекомендациями могут быть:

  • Детализация, дифференциация эталонных ситуаций, по которым принимается не только "прямое" решение Ri, но и "обратное" решение, корректирующее характер использования исходных данных.
  • Установление отрицательной обратной связи, которая ведет от каждого нейрона, отвечающего за решение по Васе, к нейрону А1 входного слоя.
  • Установление отрицательной обратной связи, которая ведет от каждого нейрона, отвечающего за решение по Оксане, к нейрону С1 входного слоя.
  • Установление "положительной" обратной связи от нейронов выходного слоя, отвечающих за решения по Васе, к нейрону А2, что усиливает шансы Пети в дальнейшей игре дяди Рамзая.
  • Установление "положительной" обратной связи от нейронов выходного слоя, отвечающих за решения по Оксане, к нейронам С2, ..., С5. (Однако этого, как и указанного в пункте 4, можно и не делать.)
  • Строго следуя данным рекомендациям, на основе "размножения" решений, рекомендуемого в лекции 1, построим более подробную систему предикатов, которую мы воплотим с помощью нейросети:

    $$\begin{array}{lcr} A1\ B1\ C1\to R1 A2\ B3\ C1\to R4 \\ A1\ B1\ C2\to R1 A2\ B3\ C2\to R4\\ A1\ B1\ C3\to R1 A2\ B3\ C3\to R4\\ A1\ B1\ C4\to R1 A2\ B3\ C4\to R4\\ A1\ B1\ C5\to R1 A2\ B3\ C5\to R4\\ A1\ B2\ B3\ C1\to R2 A2\ B1\ B2\ C1\to R5\\ A1\ B2\ B3\ C2\to R2 A2\ B1\ B2\ C2\to R5\\ A1\ B2\ B3\ C3\to R2 A2\ B1\ B2\ C3\to R5\\ A1\ B2\ B3\ C4\to R3 A2\ B1\ B2\ C4\to R5\\ A1\ B2\ B3\ C5\to R3 A2\ B1\ B2\ C5\to R5\end{araay}$$ (рис 6.2) Нейросеть с обратными связями

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

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

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

    Модуль веса обратной связи в нашем случае должен быть убывающей функцией времени. Пользуясь допустимыми условностью и приблизительностью, преследуя цель скорее качественную, нежели количественную, можно рассчитать величину отрицательной обратной связи по простой формуле. Например, если считать, что на один визит Вася расходует не менее 25 минут, то вес $$\omega$$ одного из дендритов нейрона А1 (аналогично – других нейронов входного слоя) находится следующим образом:

    $$\omega=\left \{ \begin{array}{ll} k\cdot \cfrac{t-t_0-25}{25}, \mathbox{при} \: t_0 < t \le t_0+25\\ 0, \mathbox{в \: противном \: случае} \end{array}\rigth$$

    Здесь:

    t0 – последний момент времени вовлечения соответствующей особы в действие (хранится в составе информации о данной особе – А1, А2, С1 и др.);

    t0 + 25 – ожидаемое время повторного допустимого "использования" особы в деле;

    t – текущий момент поступления новых разведданных, требующих использования нейросети;

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

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

    $$\begin{array}{l} V:=\sum_j \omega_j V_j \\ V_i := \: if \: V > h \: then \: V \:else \: 0 \end{array}$$
    Вернуться к учебному плану