Вес синапсической связи – вес входа нейрона.
Нейронная сеть – причудливо связанная сеть нейронов посредством многих входов (дендритов – в биологии) каждого нейрона и его единственного ветвящегося выхода (в биологии - аксона), по которому возбуждение может передаваться другим нейронам. Обладает входным (рецепторным) и выходными слоями нейронов.
Входной (рецепторный) слой – множество нейронов нейронной сети , получающих возбуждение вне сети.
Выходной слой – множество нейронов нейронной сети, возбуждение которых указывает на решение задачи или логический вывод, чаще всего окончательно определяемые по максимально возбужденному нейрону.
Логическая нейронная сеть – нейронная сеть, на рецепторы которой подается сигнальная информация, интерпретируемая как достоверность соответствующих данных. Она формируется на основе логического описания систем распознавания, управления и принятия решений, адекватно отображает механизмы мозга.
Режим обучения – формирование причинно-следственных связей между рецепторами и нейронами выходного слоя нейронной сети посредством выбора весов синапсических связей для направленного распространения возбуждения.
Режим распознавания (рабочий режим) – имитация ассоциативного мышления: определение того, какое решение более всего соответствует ситуации, заданной на рецепторах.
Локализация возбуждения нейронов выходного слоя – усиление и сосредоточение высокого возбуждения нейронов выходного слоя, сопровождающееся подавлением слабо возбужденных нейронов.
Выводы
1. Нейронные сети образуют базовый механизм самого низкого уровня ассоциативного мышления.
2. Основным элементом такой сети является нейрон – прибор, средство выполнения пороговой функции активации, монотонно возрастающей по каждому аргументу в области преодоления порога. Моделирование нейрона заключается в аппаратной, программной, биохимической и др. реализации процедуры выполнения арифметически и логически простой функции активации.
3. Режим обучения нейронной сети заключается в выборе системы весов связей, удовлетворяющих специальному условию. Максимальное (единичное) возбуждение рецепторов, отображающее известную ситуацию, распространяясь по сети, должно приводить к наибольшему (по отношению к другим) возбуждению того нейрона выходного слоя, за которым закреплен известный ответ - численное или принимаемое решение по данной ситуации.
4. В рабочем режиме на рецепторном слое задается возбуждение нейронов так, чтобы в наибольшей степени, на вероятностно-логическом уровне, приближенно отразить возникшую ситуацию. Тогда максимально возбудившийся нейрон выходного слоя указывает на наиболее близкое, предпочтительное решение (в случае преодоления порога возбуждения). Так реализуется модель ассоциативного мышления.
5. При "живом" моделировании с применением видео ввода возникает заманчивая возможность построения туристических и развлекательных объектов и мероприятий. Например, таких, как Парк фантасмагорий.
6. Рецепторный слой изначально формируется на основе известных точек или диапазонов факторного пространства, которые в совокупности со значениями других факторов представляют множество ситуаций, для которых известны решения. Ситуации и решения образуют отношения вида "если – то", образующие базу знаний. В рабочем режиме компоненты интересующей ситуации могут не совпадать с теми значениями, для которых существуют рецепторы. Кроме того, данные о возникшей ситуации могут быть нечеткими, то есть определяемыми с некоторой вероятностью. В этом случае необходимо возбуждать рецепторы в соответствии с оценкой достоверности принадлежности фактора тем значениям или диапазонам, для которых существуют рецепторы (распределяя "единицу" между "близкими" рецепторами). Пользователь может при желании приближенно реализовать некоторый предполагаемый закон распределения этой достоверности.
7. Практика человеческого мышления говорит о высокой устойчивости распознавания на основе описания объектов в пространстве признаков.
8. При формировании "длинных" логических цепочек, для устойчивости и помехозащищенности, целесообразно производить локализацию возбуждения нейронов каждого промежуточного выходного слоя.
9. "Технически" оправдана локализация связей на "коре" таким образом, чтобы все подсистемы логического вывода оказывались взаимосвязанными и близкими – для реализации многих "длинных" логических цепочек в различной комбинации. В частности, это привело к значительной площади коры головного мозга.
3. Построение обученных логических нейронных сетей
3.1. Нейронная сеть для распознавания символов
Пусть перед нами экран, разбитый на двенадцать клеток, 4 x 3. Клетки отображают дискретность элементов изображения. При фокусировании изображения клетка либо засвечивается, либо нет. "Засветка" определяет единичное значение величины ее возбуждения, "не засветка" — нулевое. Так, буква О определяет засветку клеток, определенную на рис.2.1. Буква А засвечивает экран, как показано на рис.2.2.
Что надо сделать, чтобы некий конструируемый прибор мог распознать, какая это буква? Очевидно, надо все сигналы возбуждения клеток экрана, засвечиваемые буквой О, подать на конъюнктор, реализующий схему И. Единичный сигнал на выходе конъюнктора, как показано на рис.2.1, сформируется тогда и только тогда, когда засветятся все клетки экрана, на которые ложится изображение буквы О. Наличие единичного сигнала на выходе конъюнктора и определит ответ: "Это буква О".

Рис. 2.1. Обучение букве "О"

Рис. 2.2. Обучение букве "А"
Пометим каждую клетку экрана ее координатами. Тогда на языке математической логики проделанную процедуру можно записать в виде логических высказываний — предикатов:


Эти предикаты определяют "электронное" воплощение методами схемотехники.
При этом буквы не будут "мешать" друг другу, так как засветка соответствующих им клеток экрана частично не совпадает и единичное значение конъюнкции определится только для одной из них.
А если на экран подать букву К? Тогда ни один из двух конъюнкторов не выработает единичное значение, так как не произойдет полное совпадение засветки соответствующих им клеток экрана. Чтобы "научить" систему букве К, необходимо ввести еще один конъюнктор и проделать те же построения, что и выше.
Таким образом, мы можем говорить, что построили систему распознавания двух "правильно" заданных букв.
Но что делать, если буквы на экране пишутся дрожащей рукой? Тогда мы должны разрешить альтернативную засветку каких-то соседних клеток экрана и учитывать это с помощью операции дизъюнкции ИЛИ. Как известно, в результате выполнения этой операции формируется единичный сигнал в том случае, если на входе есть хоть один единичный сигнал.
Рассмотрим возможность распознавания буквы О, допустив возможность засветки клеток (1,1), (1,3), (4,1), (4,3). Тогда ранее построенный предикат примет вид:

Аналогично, для буквы А допустим засветку клеток (1,1) и (1,3):


Рис. 2.3. Совместное обучение буквам "О" и "А"
Таким образом, была реализована логическая схема для обучения и распознавания, используя "схемотехнический" подход, основанный на применении булевых функций и оперирующий булевыми переменными 0, 1.
3.2. Построение простой логической нейронной сети
Теперь совершим шаг, который определяет простоту природного воплощения, рассчитанного на неполноту данных, недостоверность, "зашумленность", требование высокого быстродействия, высокой надежности и унифицированности.
Природа и мы, как ее часть, никогда не располагает точной, определенной и достоверной информацией. Засветка клеток экрана, как и рецепторов нашего глаза, не бывает полной, образ не бывает правильным, присутствуют шумы, пропуски и т. д. Тогда жизненную важность обретают понятия похожести, ассоциаций. "На что более всего похож "показанный" образ, возникшая ситуация, и какие ответные действия наиболее обоснованы?" — вот вопрос, определяющий принцип нашей жизни среди многих опасностей и свершений. Ассоциативность нашего мышления является абсолютной.
Значит, надо уйти от вполне определенных булевых переменных (0, 1, "да — нет", "белое — черное" и т. д.) в сторону неопределенности, достоверности или других подобных оценок информации в сторону действительных переменных.
Но тогда необходимо уйти и от булевой алгебры, так как понятия конъюнкции и дизъюнкции для действительных переменных не определены. Тут приходит на помощь анализ и применение принципов природной реализации — принципов нейронной сети, воплощенных в нашем мозге.
Преобразуем полученную ранее обученную схему (рис.2.4) в нейронную сеть.
Каждая клетка экрана — это нейрон-рецептор, который в результате засветки обретает некоторую величину возбуждения, принимающую значение между нулем и единицей. Рецепторы, заменившие экран, образуют входной, или рецепторный, слой нейросети. Каждый конъюнктор и дизъюнктор заменим единой для всей сети моделью нейрона. Введем выходной слой сети, состоящий в нашем примере из двух нейронов, возбуждение которых определяет результат распознавания. Назовем нейроны выходного слоя по названиям букв — О и А.
Рецепторы, подобно экрану, возбуждаются извне. Все же другие нейроны, имитируя распространение возбуждения в мозге, реализуют передаточную функцию (в терминах теории автоматического регулирования) или функцию активации (в терминах теории нейронных сетей). Эта функция преобразует сигналы на входе нейрона, с учетом весов этих входов (пока отложим их рассмотрение), в величину возбуждения данного нейрона, передаваемого далее по сети в соответствии со связями нейронов и достигающего одного или более нейронов выходного слоя.

Рис. 2.4. Нейронная сеть для распознавания букв "О" и "А"
Поскольку работа мозга имитируется на логическом уровне, функция активации выбирается достаточно простой. Так, в рассматриваемом примере достаточно выбрать следующую функцию активации для нахождения величины
возбуждения i-го нейрона:

Затем положим :

Здесь суммируются все сигналы (величины возбуждения), которые пришли от всех нейронов, связанных с данным. Порог может быть единым для всех нейронов. Однако он подбирается так, чтобы исключить возбуждение нейрона выходного слоя при показе не предусмотренной буквы.
Проверим, как построенная нейросеть реагирует на четко заданные эталоны букв. Под четкостью будем понимать то, что величина возбуждения, реально отражающая достоверность, максимальна и равна единице. Тем самым будет выполнена верификация построенной нейросети.
Пусть при показе буквы О засветились нейроны-рецепторы (1,1), (1,2), (1,3), (2,1), (2,3), (3,1), (3,3), (4,2). Тогда, при h = 0 величины возбуждения нейронов примут значения
Нейрон О возбудился более, чем нейрон А, указывая тем самым, что скорее всего была показана буква О. Аналогично можно рассчитать реакцию нейросети на все возможные конфигурации четко заданных эталонов букв.
А теперь введем в рассмотрение неопределенность, которая может иметь место. Пусть в процессе показа буквы О четкость утрачена и величины возбуждения нейронов-рецепторов принимают значения:
![]()
Считаем:
![]()
Но при таком "крупно зернистом" экране налагаемые на него образы букв О и А пересекаются весьма существенно, и зашумленный показ букв обладает малой устойчивостью.
Рассмотренный принцип распознавания является обобщением принципа простейшего персептрона, предложенного Ф. Розенблатом в 1959 г. [4] и ставшего классическим.
3.3. Построение обученной нейронной сети "Железнодорожная рулетка"
Рассмотрим увлекательную детскую игру "железнодорожную рулетку", основанную на задаче о встрече: "Из пунктов А и В навстречу друг другу…" и т. д.

Рис. 2.5. Железнодорожная рулетка
Начальник станции Кукуевка (старший) и начальник станции Пырловка одновременно выпускают навстречу друг другу два паровоза (рис.2.5) со скоростью либо 60, либо 80 км/час. Длина перегона составляет 4 км. Небольшой нюанс заключается в том, что пути перегона то сходятся в один, на протяжении одного километра, то расходятся. И тогда, в зависимости от точки встречи, со станции Кукуевка надо выслать на соответствующий километр либо линейного 1 с приветственным флажком, либо линейного 2 со службой скорой помощи.
Решение о такой посылке усложняется помехами в линии передачи данных, в связи с чем, скорости паровозов сообщаются с достоверностью, меньшей единицы. Кроме того, необходимо каждый эксперимент связать с ожидаемыми денежными затратами на единовременную добавку к зарплате линейных.
Как видно из постановки задачи, без элементов искусственного интеллекта в ее решении не обойтись.

Рис. 2.6. Система принятия решений
Произведем предварительные расчеты, чтобы представить себе все варианты будущего поведения системы принятия решений для ее обучения. Представим (рис.2.6) графически структуру логического функционирования создаваемой системы принятия решений для каждой возможной ситуации.
Ситуация 1. Кукуевский паровоз имеет скорость 60 км/ч (Событие А1). Пырловский паровоз имеет скорость 60 км/ч (Событие В1). Одновременное выполнение этих событий обозначим А1&В1. Тогда точка встречи находится как раз посредине перегона, что, скорее всего, требует помощи линейного 2. Но возможно и везение за счет неточного определения скоростей. Тогда на всякий случай потребуется линейный 1. Принимаемое решение, заключающееся в отправлении обоих линейных на границу второго и третьего километров, назовем решением R1. С ним связаны расходы на единовременное пособие М1.
Ситуация 2. Кукуевский паровоз имеет скорость 60 км/ч (Событие А1), но пырловский паровоз имеет скорость 80 км/ч (Событие В2). Выполняется условие А1&В2. Тогда их точка встречи находится на втором километре пути, и, следовательно, требует решения R2: "Отправить линейного 1 на второй километр!" В активе указанного линейного 1 появляется сумма М2 условных единиц.
Ситуация 3. Кукуевский паровоз имеет скорость 80 км/ч (Событие А2), пырловский паровоз имеет скорость 60 км/ч (Событие В1). Выполняется условие А2&В1. Тогда их точка встречи находится на третьем километре пути, что требует вмешательства линейного 2 (решение R3), с оплатой труда в М3 условных единиц.
Ситуация 4. Кукуевский и пырловский паровозы имеют скорость 80 км/ч (Событие А2&В2), что, ввиду высокой скорости перемещения линейных в середину перегона, требует решения R4 с затратами М4.
А теперь оживим эту структуру, заставим ее действовать, как, по-видимому, на логическом уровне действуют структуры нашего мозга.
Представим себе, что на месте каждого овала (потом — кружочка, на рис.2.6 справа) действует нейроподобный элемент (просто нейрон). Нейроны входного слоя — рецепторы приходят в возбужденное состояние (подобно сетчатке глаза) в соответствии с той ситуацией, которую мы задаем на входе системы. Например, мы хотим испытать ситуацию А1&В2. Тогда мы полагаем величины возбуждения нейронов А1 и В2 равными единице и записываем: VA1 = VB2 = 1. При этом мы не забываем позаботиться о том, чтобы величины возбуждений нейронов А2 и В1 остались равными нулю.
Для других нейронов, "принимающих" возбуждение в соответствии со стрелками, введем функцию активации, в результате выполнения которой формируется величина V возбуждения каждого нейрона. Для нашего случая, не долго думая (ибо существует большой произвол в выборе вида функции активации), определим вид такой функции :
| (2.1) |
где i — индекс нейрона, "передающего" свое возбуждение данному нейрону, h — порог активации нейрона.
В рассматриваемом случае стрелки со всей определенностью указывают направление передачи возбуждений.
Положим h = 1 и рассчитаем величины возбуждения нейронов выходного слоя для четко заданной единицами, эталонной, ситуации А1& В2

Таким образом, "высветилось" то решение, которое необходимо принять, и старт линейным должен быть дан. Проверим, что также работает разработанная сеть по всем эталонам, по которым ее обучили, проложив "проводочки" от каждой исходной посылки к следствию.
Для этого поэкспериментируем. Задавая события по принципу "да - нет", "1 - 0", мы предполагали булевский тип исходных данных. А что, если поменять, обобщить тип исходных данных, допустив рассмотрение нечетких значений возбуждения рецепторов, интерпретируемых как достоверность? Или даже каких-то других взаимных оценок?
Например, в результате искажения информации начальник станции Кукуевка принял решение считать скорость пырловского паровоза равной не то 60, не то 80 км/ч. Но скорее всего — 60! И подойдя к компьютеру, он по наитию набирает: А1 = 1, А2 = 0, В1 = 0,7, В2 = 0,4. На какую ситуацию это указывает, и какое решение наиболее правильно? Считаем:

Мы видим, что максимальной величины возбуждения достиг нейрон R1, определивший главное решение. Но мы вправе учесть и решение R2 с меньшим приоритетом.
По известной формуле нахождения среднего мы можем оценить математическое ожидание того на сколько облегчится карман начальника Кукуевской станции:
![]()
3.4. "Схемотехнический" подход к построению нейросети "под задачу"
Как и ранее, реализуем подход, используемый при построении схем устройств компьютера и другой электронной техники. Выделим функционально полную, для данного применения, систему булевых функций — дизъюнкцию
и конъюнкцию
.
Отрицание нам не понадобится, мы пока не рассматриваем тормозящие связи.
Предположим, что на вход схемы будут подаваться значения булевых переменных, обозначающих события.
Такая электронная схема могла бы верно служить, способствуя быстрому определению необходимой реакции на сложившуюся ситуацию, если мы предусмотрели все возможные ситуации, знали, какое решение соответствует каждой из них, и всегда обладали полной и точной информацией о происходящих событиях. Но ведь не зря мы обращаем внимание на помехи и неопределенности, в условиях которых приходится принимать решение. Мы должны оперировать только достоверностями либо другими оценками событий, пытаясь определить, какой ситуации более всего соответствуют сложившиеся обстоятельства.
Значит, мы должны из точного, детерминированного представления перейти в область ассоциативного, неточного, приблизительного мышления! Но степень (частота) угадывания должна быть достаточно высока.
Именно здесь должна помочь нейросеть, реализующая нечеткую логику.
Прежде всего, надо перейти от типа булевых переменных к типу действительных, введя в обращение не непреложность событий, а лишь вероятности или другие весовые оценки их наступления. (Электронной технике это не свойственно.) Затем необходимо реализовать аналоги булевых функций над этим новым типом данных, т. е. заставить нейроны с помощью весов, порогов и самой функции активации приближенно выполнять дизъюнкции и конъюнкции с учетом вариации и неопределенности данных. При этом абсолютно достоверные данные, несомненно, приведут к известным решениям, а по неточным данным можно определить лишь вес каждого из возможных решений. Тогда по максимальному весу можно будет заключить, на что более всего похожа данная неопределенная ситуация и какое решение следует принять.
Выберем функцию активации произвольного (i-го) нейрона, с числом m входов-дендритов, первоначально рассчитав значение :
| (2.2) |
Затем находим Vi := if V < h then 0 else if V > 1 then 1 else V.
Здесь Vi, как и ранее, величина возбуждения (другого нейрона), поступающая на j - й вход данного нейрона.
Тогда нейрон-конъюнктор может быть реализован с помощью существенно высокого порога (рис.2.7), где значение
обусловлено некой поправкой, достаточной, чтобы для преодоления порога сигналы возбуждения с высокой вероятностью поступали обязательно по всем входам.

Рис. 2.7. Модель нейрона-конъюнктора
При обучении предполагаем, что входные сигналы — булевы переменные, принимающие значения 0, 1. Положим
и выберем
. Тогда для того, чтобы преодолеть порог, на всех входах должны быть "1"; недостаток хотя бы одной "1" приведет к тому, что взвешенная сумма будет более чем на 1/m меньше указанной суммы весов.
При переходе к действительным переменным, когда вместо событий рассматриваются, например, лишь предполагаемые вероятности их наступления, экспериментальный выбор значения
может обусловить ту границу, когда считаться с возможностью данной комбинации событий нецелесообразно.
Нейрон - дизъюнктор реализуется, наоборот, при низком значении порога, но при высоких значениях весов. Порог выбирается так, чтобы уже при возбуждении на одном входе возникал сигнал возбуждения на выходе.
Сигнал на выходе нейрона-дизъюнктора не превышает "1" . |

Рис. 2.8. Модель нейрона-дизъюнктора
Получим нейросеть на рис.2.9, где нейроны-конъюнкторы заштрихованы розовым и красными цветами, а дизъюнкторы - голубым цветом.
Поработаем с этой схемой, задавая различные достоверности событий, — возможных или невозможных.
Например, зададим "правильную" и абсолютно достоверную ситуацию В3 = 1, А1 = 1, С4 = 1 . Легко проследить, что в первом такте возбудятся нейроны 1 и 6, реализующие дизъюнкцию. Величина их возбуждения равна "1". В следующем такте возбуждение нейронов 1, 6 и А1 приведет к возбуждению (с величиной, равной "1") нейронов 7 и 9, а в следующем такте — сигналы возбуждения нейронов 6 и 7 поступят на вход нейрона-конъюнктора Вых3. Никакой другой нейрон выходного слоя не возбудится.

Рис. 2.9. Нейросеть с "конъюнкторами" и "дизъюнкторами"
Рассмотрим другую ситуацию неопределенную и недостоверную.
Для определения функций возбуждения воспользуемся формулой
| (2.3) |
Полагаем величину возбуждения нейронов А1 и А2 равной 0,5 (V_{A1} = V_{A2} = 0,5), V_{B1} = 0,8, V_{B2} = 0,8, V_{C1} = 0,7, V_{C5} = 0,8.
Замечание. Напоминаем еще раз, что требовать исчерпывающего множества событий и непременного выполнения нормировочного условия не обязательно. Достоверность может выбираться по наитию, на уровне чувств. Именно эти качества неопределенности, субъективности, наличия жизненного опыта и интуиции присущи механизмам ассоциативного мышления.
Сдавая нейросеть "в эксплуатацию", установим веса всех конъюнкторов равными 0,5, а дизъюнкторов — равными 1. Пороги конъюнкторов и дизъюнкторов определим значениями h= 0.4 и h= 0 соответственно.
Важность данного примера требует повторения рисунка нейросети (рис.2.10) с проставленными возле нейронов значениями сигналов возбуждения.
В итоге ситуация скорее всего имеет решение R5 и уж никак не R4. Однако ситуация, соответствующая решению R1, требует внимания и т. д.
Пусть при вполне определенной ситуации (все достоверности принимают значение "1") каждое решение Ri приносит прибыль
. Тогда средняя величина ожидаемой прибыли для нашей неопределенной ситуации рассчитывается так:


Рис. 2.10. Расчет примера
3.5. Построение нейросети "под задачу"
Мы построили нейросеть с конъюнкторами и дизъюнкторами.
Предположим теперь, что все нейроны одинаковы, реализуют одну функцию активации, а веса и пороги реализуют равные и общие возможности.
Воспользуемся функцией активации (2.3) без ограничения по величине возбуждения, но не отрицательной (отрицательное значение разности примем нулевым). Положим
.
Сеть представлена на рис.2.11. Зададим на входе ситуацию {A1, B1, C3}, требующую решения R1. Величины возбуждений нейронов показаны на рисунке.
На основе расчетов по полученной сети составим табл. 2.1, отображающую правильную работу сети при получении различных решений. При этом связи, предыстория которых определена дизъюнкторами, требуют проверки не более чем одного "представителя": в рассмотренном примере получаем тот же результат, если вместо С3 положим С1 или С2.

Рис. 2.11. Расчет примера на нейросети
Таблица 2.1. Примеры расчета принимаемых решений | ||||||
Ситуация | Требуемое решение |
|
|
|
|
|
{A1, B1, C3} | R1 | 1.144 | 0.76 | 0.28 | 0.024 | 0.248 |
{A1, B2, C2} | R2 | 0.504 | 1.144 | 0.664 | 0.024 | 0.248 |
{A1, B3, C3] | R2 | 0.504 | 1.144 | 0.664 | 0.504 | 0.024 |
{A1, B2, C4} | R3 | 0.504 | 0.664 | 1.144 | 0.024 | 0.224 |
{A1, B3, C5} | R3 | 0.504 | 0.664 | 1.144 | 0.504 | 0.024 |
{A2, B3,C1} | R4 | 0.024 | 0.504 | 0.024 | 1.144 | 0.504 |
{A2, B1, C3} | R5 | 0.504 | 0.28 | 0 | 0.504 | 0.888 |
{A2, B2, C4} | R5 | 0.024 | 0.024 | 0.504 | 0.504 | 0.888 |
Анализируя первые восемь строк таблицы, соответствующие достоверным ситуациям, видим, что, по крайней мере, максимум возбуждения определяется устойчиво верно. Так что верификация нейронной сети прошла успешно и сеть заслуживает доверия.
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 |






