"В огороде бузина, а в Киеве дядька".
Действительно, как связать между собой вещи несовместимые, вызывающие насмешку, но несомненно влияющие на степень мрачных раздумий о смысле жизни?..
И здесь мы сталкиваемся с действительно
$$\dots$$ Бытует теоретико-практическая предпосылка, объявляющая, что
В книге "От кого мы произошли?" (М.: ООО "АиФ Принт", 2000), в главе "Почему мы смотрим друг другу в глаза?" Э. Мулдашев говорит об известных ему 22 параметрах, отражающихся на глазной области лица и динамически описывающих морально-психологическое состояние собеседника-партнера. Однако обсчитать на компьютере удалось лишь два. Автор удивлен той колоссальной скоростью, с которой ведет такую обработку человеческий мозг: "Воистину велик Бог, создавший такое компьютерное совершенство мозга!"
Мы можем добавить, что кошка тоже смотрит в глаза своему благодетелю, оценивая его расположение: даст еду или не даст? А вот волк не смотрит в глаза. Он бегло, с холодным равнодушием взглядывает из клетки на движущееся пока еще мясо: палач избегает взгляда своей жертвы.
Мы уже не удивляемся высокой скорости мозга. Мы знаем, что это - распараллеливание обрабатываемой информации. И мы понимаем, что без параллельных вычислительных средств заниматься моделированием работы мозга, т.е. "больших" нейросетей, - бессмысленно.
Именно возможности параллельной обработки информации, наряду с допустимым отсутствием формальных
расчетов - только на основе
"В России революция - дрогнула мать
сыра земля, замутился белый свет…"
Нейросетевые технологии основаны на моделировании деятельности мозга. А как сказал Р. Шеннон, "Моделирование есть искусство" [29]. И как любое искусство, модель нейросети может базироваться на примерах, опыте и общих рекомендациях.
Рассмотрим пример, который навеян славным временем революционной перестройки, предлагающей нам эталоны актуальности, культурного ориентира и предприимчивости.
Вася и Петя - друзья. Нет, не в том смысле: они почти нормальной сексуальной ориентации. Скорее в
смысле вечной святой мужской дружбы, без смущения применяющей слово "друг". Обозначим А
- множество друзей,
Вася и Петя - крутые парни. Они плохо учились в школе, и это хорошо! Они создали "крышу", под которой успешно трудится ряд палаток
$$\begin{array}{rl} С = \{"Оксана", "Роксана", \\ "Марина","Регина", \\ "Св. Аполлинария"\}\end{array}$$заботливо опекаемые хозяйками, соответственно, Оксаной и Роксаной, Мариной и Региной, а также Аполлинарией. Палатки реализуют продукцию фирм
$$В = \{Красный Киллер, Пират, Ночная Бабочка\}$$Фирма Красный Киллер в секретных подвалах славных подразделений бойцов холодной войны
на основе бабушкиного самогона и контрабандного синтетического спирта гонит всемирно известную вино-водочную
продукцию отличного качества. Фирма Пират производит аудио- и видеопродукцию и другие культурные
ценности. Фирма Ночная Бабочка стряпает французскую косметику из мосластых московских дворняг.
Ситуацию контролирует дядя Рамзай из налогового ведомства, который имеет свой маленький частный бизнес. С каждой сложившейся ситуацией, определяемой тем, кто из друзей какие палатки "накрыл" и чья продукция находилась на реализации, дядя Рамзай связывает свою долю прибыли, основанную, мягко говоря, на шантаже. Дядя Рамзай имеет свой штат осведомителей: пару бомжей - жертв предыдущей амнистии, и пару-тройку голопузых апологетов трудного детства, которые с некоторой долей достоверности, за небольшую мзду и мелкое попустительство, доставляют ему информацию.
Дядя Рамзай - прогрессивный бизнесмен, и оценки прибыли решает проводить на высоком математическом уровне, обратившись за помощью к нам (рис. 3.1). Мы хорошо учились в школе, и это - плохо! Мы, как истинные альтруисты и ученые-бессеребренники, с радостью поможем ему, - бесплатно.
(рис 3.1) Предмет исследованияА информации приходится обрабатывать дяде Рамзаю много. Он, прямо скажем, работает в условиях неопределенности
и усиленных помех. Судите сами. Оксана делит любовь между Васей и Петей. Роксана - пока нет. Марина и Регина, жалея,
подкармливают юных следопытов. Аполлинария вообще закадрила хахаля из местной мэрии и разъезжает в длиннющем "линкольне".
Тщетно пытаясь разрушить узы бескорыстной дружбы, фирма Пират напрямую подмазала Васю, снизив нагрузку вымогательства на
свою продукцию. Петя, кажется, пошел на нарушение Конвенции и вторгается в область, контролируемую конкурентами. (Ох, не избежать благородной
разборки, со стрельбой и окровавленными трупами!) Скоро отмотает свой срок Никита, и предприятие расширится и т.д., и т.д., и т.д. $$\dots$$
Все такие обстоятельства прямо или косвенно влияют на долю прибыли дяди Рамзая.
Однако, разбираясь в столь сложной ситуации - для демонстрации действительно очень трудно формализуемой задачи, - мы чувствуем, как чем-то липким покрываются наши честные ладошки. А потому мы решительно отталкиваемся от $$\dots$$ и со сладким упоением возносимся на уровень милого сердцу абстрактного, математического, формально-логического мышления.
Но, прежде всего, принимая столь ответственный заказ, мы хотим четко уяснить, что хочет дядя Рамзай, - чтобы все же максимально формализовать задачу. И после долгих согласований мы устанавливаем:
Итак, ступим на путь абстрагирования.
Пусть по стечению обстоятельств, которые мы будем называть событиями, принимаются решения. Решения образуют конечное множество. Каждое решение соответствует некоторой, в общем случае не единственной, комбинации событий. Предположим наличие нескольких вариантов одного события.
Введем "удобную", не обязательно единственно возможную, иерархию событий на основе их совместимости и алгоритмически привычного представления.
Считая, что варианты каждого вида событий образуют исчерпывающее множество, алгоритм работы системы можно записать как
$$if \ \ A1 \ \ then \\ \ \ if \ \ B1 \ \ then \ \ R1 \ \ else \\ \ \ \ \ if \ \ (C1\vee C2\vee C3) \\ \ \ \ \ \ \ then \ \ R2 \ \ else \ \ R3 \\ else \\ if \ \ B3 \ \ then \ \ R4 \ \ else \ \ R5.$$Здесь R1 - R5 - принимаемые решения.
Одно решение соответствует некоторой, в общем случае не единственной, комбинации событий. Для изображения
таких комбинаций воспользуемся записями, например, вида $$А1\wedge (В2\vee В3)\wedge (С4\vee С5)$$. Это означает,
что Вася отправился в палатку то ли к Регине, то ли к Аполлинарии, торгующей продукцией то ли фирмы Пират,
то ли фирмы Ночная Бабочка. Однако эта же запись означает, что все составляющие ее конъюнкции $$А1\wedge В2\wedge С4$$, $$А1\wedge В3\wedge С4$$ и др. приводят к одному и тому же решению.
Проанализировав и перебрав все возможные ситуации, с учетом одинакового принимаемого решения, получим
систему логических высказываний -
Тогда, например, первое логическое высказывание означает "Если Вася отправился в одну из пяти
палаток, и все они торгуют сегодня продукцией фирмы Красный Киллер, то следует принять решение R1 (например, заказать туристическую путевку)".
Второе логическое высказывание означает: "Если Вася посетил одну из палаток С1, С2 или С3, торгующих сегодня продукцией фирм В2 и (или) В3,
то следует принять решение R2 " и т.д.
Определим теперь возбуждение
Например, как объединить величину превышаемой водителем скорости и тип автомобиля иностранного производства со вчерашним неудачным выступлением любимой автоинспектором футбольной команды, - при нахождении величины штрафа? Ведь каждый из перечисленных факторов должен определить некоторые общие, приведенные значения возбуждения.
Такое приведение также зависит от задачи. Поскольку нейроны - нечто стандартное для данной задачи
или класса задач, то каждая характеристика нейрона - величина возбуждения, веса его
Дадим рекомендации, основанные на "событийном" принципе.
В нашем новом примере о превышении скорости разобьем скорость на диапазоны штрафования, например,
[90-100), [100-110), [110-120), [120-200]. За каждым диапазоном скорости закрепим нейрон
Однако более универсальный подход основан на связывании величины возбуждения рецептора с достоверностью - вероятностью того, что величина скорости принадлежит одному или нескольким диапазонам. Такой подход мы и намерены воплотить в дальнейшем.
А именно, хотя бы интуитивно (а интуиция основана на опыте) определим достоверность того, что интересующая нас величина принадлежит данному диапазону. С какой достоверностью она принадлежит второму диапазону? А третьему?
Здесь явно просматривается концепция нечетких множеств [30].
Множество называется нечетким, если элементы входят в него с некоторой вероятностью.
Но можно даже уйти от понятия достоверности как вероятностной категории. Все ли мы знакомы с понятием
Тогда, на этапе обучения нейросети, получим возможность формирования аналога некой таблицы, в соответствии с которой будет действовать инспектор. (Однако здесь пока не рассматривается процесс обучения нейросети - формирование этой таблицы, - а только принцип формирования данных для входа в нее.)
Выделим нейроны, "отвечающие" за типы автомобилей: отечественного производства, "мерседес", "вольво", "джип" и т.д. Величину возбуждения этих нейронов будем полагать равной 1 - на этапе обучения, или равной достоверности события - в рабочем режиме. Аналогично выделим рецепторы, "отвечающие" за другие возможные события: степень интеллигентности водителя (так же по диапазонам изменения), выигрыш или проигрыш любимой команды и т.д.
Следовательно, на входном слое будут формироваться приведенные значения возбуждения.
В рабочем режиме мы, таким образом, получили возможность использования неопределенной, недостоверной информации. Например, инспектор не смог из-за высокой скорости отличить "ниву" от "чероки". Тогда он решает ввести значение 0,5 в графу "нива" (величина возбуждения рецептора, "отвечающего" за "ниву", станет равной 0,5) и 0,5 - в графу "джип-чероки" (такой же станет величина возбуждения соответствующего рецептора). Однако, подумав, он на всякий случай вводит величину 0,2 в графу ВАЗ 2104, что также во власти его сомнений. Так же инспектор поступает и с другими характеристиками сложившейся ситуации в поисках наиболее достоверного решения по принципу наибольшей похожести.
Реализуем подход, используемый при построении схем устройств компьютера и другой электронной техники. Выделим функционально полную, для данного применения, систему булевых функций - дизъюнкцию $$\vee$$ и конъюнкцию $$\wedge.$$
Отрицание нам не понадобится, мы пока не рассматриваем тормозящие связи.
Нарушив принятые обозначения, построим (рис. 3.2) схему, реализующую алгоритм счета значения выражения (3.1). Предполагаем, что на вход будут подаваться значения булевых переменных, обозначающих события.
(рис 3.2) "Электронная" схема системы принятия решенийТакая электронная схема могла бы нам верно служить, способствуя быстрому определению необходимой реакции на сложившуюся ситуацию, если мы предусмотрели все возможные ситуации, знали, какое решение соответствует каждой из них, и всегда обладали полной и точной информацией о происходящих событиях. Но ведь не зря мы обращаем внимание на те помехи и неопределенность, в условиях которых приходится жить и работать. Мы должны оперировать только достоверностями либо другими оценками событий, пытаясь определить, какой ситуации более всего соответствуют сложившиеся обстоятельства.
Значит, мы должны из точного, детерминированного представления перейти в область ассоциативного, неточного, приблизительного мышления! Но степень (частота) угадывания должна быть достаточно высока.
Именно здесь должна помочь
Прежде всего надо перейти от типа булевых переменных к типу действительных, введя в обращение не
непреложность событий, а лишь вероятности или другие весовые оценки их наступления (электронной технике
это не свойственно). Затем необходимо реализовать аналоги булевых функций над этим новым типом данных, т.е.
заставить нейроны с помощью весов, порогов и самой
Выберем i -го) нейрона, с числом m входов-дендритов:
где $$\xi (x) = x$$ при x >= 0, 0 - в противном случае.
Здесь Vj, как всегда, - величина возбуждения (другого нейрона), поступающая
на j -й вход.
Тогда нейрон-
(рис 3.3) Модель нейрона-конъюнктораПри обучении предполагается, что входные сигналы - булевы переменные, принимающие значения 0, 1.
Положим $$\omega _{ij} = 1/m$$ и выберем $$\delta < 1/m$$. Тогда для того,
чтобы преодолеть порог, на всех входах должны быть "1"; недостаток хотя бы одной "1"
приведет к тому, что взвешенная сумма будет более чем на 1/m меньше указанной суммы весов.
При переходе к действительным переменным, когда вместо событий рассматриваются, например, лишь предполагаемые вероятности их наступления, экспериментальный выбор значения $$\delta$$ может обусловить ту границу, когда считаться с возможностью данной комбинации событий нецелесообразно.
Нейрон-
(рис 3.4) Модель нейрона-дизъюнктораПонятно, что при полной определенности в режиме обучения возбуждение поступает по единственному входу
(нейрон реализует функцию "ИСКЛЮЧАЮЩЕЕ ИЛИ" ). В условиях неопределенности предполагается,
что нейрон имитирует выполнение функции "ИЛИ", допуская возбуждение более чем на одном входе.
Итак, поменяем тип данных и заменим нейронами все элементы на схеме рис.
3.2. Получим
Теперь позволим дяде Рамзаю поучиться, поэкспериментировать, задавая различные достоверности событий, - возможных или невозможных.
Например, зададим "правильную" и абсолютно достоверную ситуацию В3 = 1, А1 = 1, С4
= 1 (Вася отправился к Регине, торгующей ямайским ромом). Легко проследить, что в первом такте
возбудятся нейроны 1 и 6, реализующие дизъюнкцию. Величина их возбуждения равна
"1". В следующем такте возбуждение нейронов 1, 6 и А1 приведет
к возбуждению (с величиной, равной "1") нейронов 7 и 9, а в следующем такте
- сигналы возбуждения нейронов 6 и 7 поступят на вход нейрона-конъюнктора Вых3.
Никакой другой нейрон выходного слоя не возбудится.
(рис 3.5) Нейросеть с "конъюнкторами" и "дизъюнкторами"Рассмотрим другую ситуацию, неопределенную и недостоверную.
Пусть то ли Вася, то ли Петя - "разведчик" не установил точно - направился то ли к Оксане, то ли к Аполлинарии, торгующим в этот день то ли тройным одеколоном, то ли золотым диском группы "Та-ра-рам".
Дядя Рамзай, по выданной нами инструкции, решает использовать интуитивные оценки веса или, на нашем
языке, оценить достоверность каждой компоненты возникшей ситуации. Поскольку прогулки как Васи, так и Пети
одинаково достоверны, то дядя Рамзай полагает величину возбуждения нейронов А1 и А2
равной 0,5 ( VA1 = VA2 = 0,5 ). После долгих раздумий он по наитию полагает VB1
= 0,8, VB2 = 0,8, VC1 = 0,7, VC5 = 0,8.
Замечание. Напоминаем еще раз, что требовать
Сдавая
(рис 3.6) Расчет примераВажность данного примера требует повторения рисунка нейросети (рис. 3.6) с проставленными возле нейронов значениями сигналов возбуждения.
В итоге ситуация скорее всего имеет решение R5, и уж никак не R4. Однако
ситуация, соответствующая решению R1, требует внимания.
Пусть при вполне определенной ситуации (все достоверности принимают значение "1") каждое
решение Ri приносит прибыль Mi. Тогда средняя величина ожидаемой
прибыли для нашей неопределенной ситуации рассчитывается так:
Конечно, полученное решение столь же неопределенно, как и тот карточный расклад, что предвещает трогательную встречу в казенном доме, поэтому мы погружаемся в дальнейший поиск.
Мы построили
Предположим теперь (рис. 3.5, 3.6),
что все нейроны одинаковы, реализуют одну
Введем ту же, но без ограничения по величине возбуждения,
Положим $$\omega _{ij} = 0,8,\ h = 0,2$$. Сеть представлена на рис. 3.7.
(рис 3.7) Расчет примера на нейросетиПодадим на вход, например, ситуацию {A1, B1, C3}, требующую решения R1.
Величины возбуждений нейронов показаны на рисунке.
На основе расчетов по полученной сети составим табл. 3.1, отображающую
правильную (!) работу сети при получении различных решений. При этом связи, предыстория которых определена дизъюнкторами,
требуют проверки не более чем одного "представителя": в рассмотренном примере получаем тот же результат, если вместо С3 положим С1 или С2.
| Ситуация | Требуемое решение | VВых1 | VВых2
| VВых3 | VВых4 | VВых5 |
|---|---|---|---|---|---|---|
| {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 |
VB1 = VB2 = 0.8, VA1 = VA2
= 0.5, VC1 = 0.7, VC5 = 0.8 | ? | 0,824 | 0,529 | 0,593 | 0,312 | 1,003 |
Анализируя первые восемь строк таблицы, соответствующие достоверным ситуациям, видим, что по крайней мере максимум возбуждения определяется устойчиво верно.
Рассмотрим ту же неопределенную ситуацию. Она отражена в последней строке таблицы. Близка ли она
более всего ситуации, когда Петя направился к Аполлинарии и надо принимать решение R5?
Ситуация с Васей, устремившимся туда же, дает примерно тот же ответ.
Отметим, что по убыванию величин возбуждения нейронов выходного слоя, вновь полученный результат полностью совпадает с полученным по "схемотехнической" сети (рис. 3.5), так что и величина средней прибыли, по-видимому, будет близка найденной ранее.
Однако не проще было бы применять способ построения нейросети, близкий к табличному? Что, если каждую ситуацию непосредственно "замкнуть" на соответствующее решение, избежав сложной путаницы промежуточных слоев нейронов и не рассчитывая множества вариантов для нахождения максимального возбуждения и распределения возбуждения на выходном слое?
Очень часто на практике так и поступают. Поэтому широкое распространение получили так называемые
(рис 3.8) Однослойная нейросетьВозьмем ту же
Данная R5, хотя порядок убывания величин
возбуждения выходного слоя отличен от ранее полученного. Предпочтительность решений R2 и R3
меняется местами.
| Ситуация | Требуемое решение | VВых1 | VВых2 | VВых3
| VВых4 | VВых5 |
|---|---|---|---|---|---|---|
| {A1, B1, C3} | R1 | 2,2 | 1,4 | 0,6 | 0,6 | 1,4 |
| {A1, B2, C2} | R2 | 1,4 | 2,2 | 1,4 | 0,6 | 1,4 |
| {A1, B3, C3} | R2 | 1,4 | 2,2 | 1,4 | 1,4 | 0,6 |
| {A1, B2, C4} | R3 | 1,4 | 1,4 | 2,2 | 0,6 | 1,4 |
| {A1, B3, C5} | R3 | 1,4 | 1,4 | 2,2 | 1,4 | 0,6 |
| {A2, B3,C1} | R4 | 1,4 | 1,4 | 0,6 | 2,2 | 1,4 |
| {A2, B1, C3} | R5 | 1,4 | 0,6 | 0 | 1,4 | 2,2 |
| {A2, B2, C4} | R5 | 0,6 | 0,6 | 1,4 | 1,4 | 2,2 |
VB1 = VB2 = 0.8, VA1 = VA2
= 0.5, VC1 = 0.7, VC5 = 0.8 | ? | 2,04 | 1,4 | 0,84 | 1,4 | 2,68 |
Тактирование работы сети, столь характерное для каждой управляющей системы, которая отслеживает состояние
сети в дискретные моменты времени, определяет потактовое продвижение по ней волны возбуждений от
На практике широко исследуются многослойные сети типа
Нейронную сеть можно изучать статически, исследуя ее структуру, и динамически, исследуя в ней прохождение возбуждений.
Статические исследования нейросети показывают, что она представляет собой ориентированный граф G
без контуров. Вершины его соответствуют нейронам, дуги -
Граф малопригоден для формальных исследований и компьютерных алгоритмов. Удобнее пользоваться матричным
отображением нейросети. Таким способом представления можно отобразить как структуру, конфигурацию, топологию
графа, так и численные значения характеристик его
Составим S (рис. 3.9), число строк (и столбцов) которой равно числу нейронов сети, включая нейроны входного
и выходного слоя. Каждая строка (и столбец с тем же номером) соответствуют одному нейрону.
Элемент (i, j) этой матрицы - суть непустой объект, содержащий вес $$\omega _{ij}$$
синапсической связи j -> i, если такая связь существует. В то же время элементы матрицы S
следует интерпретировать как булевы переменные, равные "1" в случае ненулевого значения указанного веса. Это разрешает
выполнение логических операций над строками и столбцами матрицы S, рассматривая ее как аналогичную
(рис 3.9) Матрица следования с транзитивными связямиМатрицу S можно изучать в статическом режиме, исследуя и корректируя возможные пути
прохождения возбуждений. По этой же матрице в динамическом режиме (моделирования) можно исследовать
действительные пути прохождения возбуждений. Такое исследование связано с потактовым расчетом величин
возбуждения нейронов.
Нулевые строки (входы) матрицы S соответствуют нейронам
Нейроны образуют статические цепочки $$\alpha _{1} \to \alpha _{2} \to \dots \to \alpha _{m}$$, длины m, если существуют синапсические связи
(впредь будем опускать слово "синапсические") вида $$\alpha _{k} \to \alpha _{k+1}$$.
Составляя все статические цепочки по графу G, можно выделить одну или более цепочек максимальной длины. Такие цепочки
назовем критическими. (В традиционных
Пусть по i->j->k мы обнаружили отсутствие непосредственной
связи i->k, т.е. элемент матрицы S, стоящий на пересечении k -й
строки и i -го столбца, равен "0". Однако очевидно опосредствованное влияние возбуждения
нейрона i на величину возбуждения нейрона k, что указывает на наличие i -> k. Нахождение
Алгоритм дополнения матрицы S
Для всех i = 1, 2 ,..., N:
Формируем новое значение строки i логическим сложением этой строки со строками, соответствующими
непустым элементам в ней. "Новые" непустые элементы заменяем на не пустые элементы, обозначающие
В нашем примере матрица S, дополненная
Зафиксируем некоторое подмножество R нейронов r
выходного. Построим множество цепочек, ведущих из выделенного подмножества нейронов R->r.
Представим алгоритм формирования R->r.
S строки
и столбцы, которые соответствуют нейронам, не принадлежащим R.S все
строки и столбцы, отображающие нейроны выходного слоя, кроме нейрона r.S строки
и столбцы, отображающие нулевые позиции строки нейрона r.S строки
и столбцы, отображающие нейроны внутренних слоев нейросети, в том случае, если в результате предыдущего вычеркивания
эти строки оказались нулевыми.На рис. 3.10 матрицей S[B1, A1, C1 -> Вых1] отображено
множество цепочек, ведущих из нейронов В1, А1, С1 в нейрон Вых1, т.е. [B1, A1, C1] -> Вых1.
(рис 3.10) Статический путь возбужденияТеперь рассмотрим фактор возбуждения и проанализируем возможные динамические пути прохождения возбуждений.
m назовем статическую цепочку, составленную из нейронов, первые m?1
которых обладают отличной от нуля величиной возбуждения.
Динамическая цепочка возбуждений является вырожденной, если ее последний элемент обладает нулевой
величиной возбуждения. Вырожденная динамическая цепочка возбуждений характеризует
Предъявим сети некоторый образ или эталон (не будет большой ошибки, если и здесь при предъявлении
мы будем пользоваться словом "образ", ибо все есть образ чего-то), приводящий к возбуждению
нейроны R. В результате
возбуждения сети оказался возбужденным некоторый нейрон r выходного слоя. Сформировался, таким образом, R -> r ; очевидно,
его образуют нейроны, входящие в состав R -> r, так как некоторые нейроны могут остаться невозбужденными.
В общем случае не все нейроны, составляющие
Главный механизм запоминания, реализованный в природе, можно представить так. Импульс возбуждения,
проходя через синапс, "нагревает" и уменьшает его сопротивление, увеличивая синапсический вес.
В последующих тактах, при последующих предъявлениях эталона, импульс возбуждения увереннее одолевает путь
возбуждения, с большей определенностью указывая соответствующий образ (как говорится, "Сложилась связь"),
а используемые при этом
Здесь работает известное правило Хебба [19, 20]: Синапсический вес связи двух возбужденных нейронов увеличивается.
Таким способом даже достигается эффект локализации и максимизации возбуждения на выходном слое, дублирующий, а возможно, исключающий необходимость взаимодействия соседних нейронов.
По-видимому,
Отметим и важную роль воображения: эталоны на входном слое поддерживаются достаточно долго, возобновляются или моделируются. По-видимому, здесь большое значение имеет эпифиз, "третий глаз" - орган воображения и медитации, память и генератор видений.
При создании искусственных механизмов обучения нейросети возникают вопросы:
По-видимому, третий аспект в большей степени соответствует самообучению, самонастройке. Вмешательство
в наш мозг на этом уровне исключено. Однако система искусственного интеллекта - в более выгодном положении.
Ведь она находится под нашим неусыпным контролем, реализуя обучение "с учителем", и допускает любое
вторжение, корректирующее вынужденные недостатки естественного интеллекта. Поэтому, рассматривая пример (и пытаясь
накопить хоть какой-то опыт), мы будем увеличивать
Что же касается величины изменения синапсических весов, то вряд ли необходимо относительно каждого нейрона решать системы дифференциальных уравнений в частных производных. (Речь идет о методе обратного распространения ошибки, подробно изложенном в [20].) Природа больше рассчитывает на авось, "на глазок" и другие мудрые и практические приблизительные ориентиры, малопривлекательные теоретически. В данном случае нас более обнадеживает "прилив крови" в нужном направлении, стимулируемый информационным раздражителем или легким подзатыльником. В связи с этим введем некую переменную $$\delta \omega$$, выверяемую практически (а то и просто единицу), уменьшаемую или увеличиваемую при необходимости.
Таким образом, нам удалось перейти от схемотехники к
Справедливо желание построения универсальных моделей нейросетей в составе программного обеспечения
компьютера, снабженных механизмами приспособления под задачу пользователя. Еще более справедливо желание
построить набор аппаратных средств - нейросетей (
Для наглядности воспользуемся как матричным, удобным алгоритмически, так и графическим представлением нейросети.
Однослойная
(рис 3.11) Формирование однослойной нейросетиПусть используется предложенная выше
Значения $$\omega _{ij}$$ предстоит подобрать, а значения hi
положим равными нулю.
Закрепим 10 нейронов
(рис 3.12) Матрица следования для однослойной нейросетиЗдесь отображен ее окончательный вид, т.к. сначала все веса связей принимаются равными нулю.
Для того чтобы сформировать решение R1 на нейроне Вых1, надо значительно
увеличить веса связей этого нейрона с нейронами В1, А1, С1, С2, С3, С4, С5, т.е. построить
[B1, A1, C1, C2, C3, C4, C5] -> Вых1 и вдоль него по некоторой
дисциплине увеличить веса связей.
В данном случае результат очевиден, поэтому обратим внимание на некоторый общий подход.
Установим веса связей между нейронами В1, А1, С1, С2, С3, С4, С5 с одной стороны, и
нейроном Вых1 - с другой равными единице, оставив нулевыми веса связей этого нейрона с
другими нейронами
Здесь вновь прослеживается преимущество нейросети, способной элементарно просто учитывать наблюдаемые или интуитивно предполагаемые поправки, требующие огромных исследований и расчетов.
Поступив так же со всеми выделенными нейронами выходного слоя, получим окончательный вид
…Так какую же сеть предложить дяде Рамзаю? Ведь надо и подоходчивее, и попрактичнее, но и так, чтобы не казалось уж слишком просто.
Предположим, мы располагаем некоторым банком "красиво" изображенных графических схем, которые
можно положить в основу структуры нейросети. Понравившуюся структуру мы решаем интерпретировать как
Пусть выбранная нами h
= 0.
Однако сеть обладает специфической топологией, затрудняющей ее обучение. Сеть многослойная, что исключает связи "через слой", присутствующие, например, на рис. 3.7 как результат построения нейросети "под задачу". Да и связь между слоями скорее соответствует известному предупреждению "шаг влево, шаг вправо $$\dots$$ ".
Будем использовать метод опорных путей, или трассировки, расширяющий использованный выше
Итак, для успешной, наглядной и легко рассчитываемой трассировки решим вопрос кардинально: какие
веса полагать равными нулю, а какие - единице? Все прочие возможности, например $$min\ \omega _{ij} = 0,1$$, введение порога h = 0,5 и т.д., будут способствовать более плавной работе сети, непрерывности
перехода из состояния в состояние.
Применив принципы
(рис 3.13) Результат трассировки многослойной нейросетиДалее будет представлен формальный алгоритм трассировки. Однако чтобы настроиться на его понимание, следует проанализировать свои действия и сделать следующие выводы:
Для автоматизации трассировки необходимо матричное представление, только и доступное компьютеру.
На рис. 3.14 отражен R1. Он строится по алгоритму, изложенному в разд. 3.5. В данном случае
(рис 3.14) Динамический путь возбужденияАналогично получают
Поставим теперь задачу дальнейших исследований: как построить все необходимые
$$\dots$$ Вот теперь-то мы довольны! Мы снабдили дядю Рамзая универсальной обучаемой нейросетью. Теперь, если он, раскаявшись, вновь возлюбит свою благороднейшую профессию, он найдет ей (сети) достойное применение в водворении Васи, Пети K0 на то спальное место, которого они действительно заслуживают.
Итак, располагая знаниями о ситуациях на входе управляющей системы и реакциях на каждую из них, получаем
таблицу. В одном столбце, так называемом запросном поле, - вектор-ситуация, в другом,
Для ее воплощения можно применить технологии построения ассоциативной памяти, столь широко используемой в современных вычислительных системах. Если между ситуациями ввести операции отношения, то можно построить операции вида "найти ближайшую величину слева (справа)", "найти ближайшие включающие границы" и т.д. Идея ассоциативной ЭВМ давно реализована, например в STARAN [15] (1977 г.).
На основе вышесказанного строится
Однако необходимость выхода на большие размерности ограничивает возможность построения "большой" ассоциативной памяти по существующей технологии. Ведь такая память, даже при реализации единственной операции, основана на одновременном сравнении входного вектора с запросными частями всех ее регистров и с выдачей содержимого ответного поля в случае совпадения.
Выходит, что мозг не может непосредственно хранить таблицы, а моделирует их с помощью нейросетевых механизмов? Можно вспомнить, что исходные предложения (например, Кохонена) по применению нейросетей касались именно ассоциативной памяти.
Зачем же нам следовать столь неловкому воплощению?
Ответ может быть лишь таким: все хорошо к месту. Просто более тщательно следует определять области разумного применения каждого из различных средств решения задач искусственного интеллекта. И как можно раньше уйти от опасных для здоровья вопросов философски-мистического характера.
Хотя и следует вновь заглянуть "в зеркало".
Где мы используем принцип нейросети непосредственно, а не косвенно, - посредством расчета, анализа баз знаний и т.д.? По-видимому, обязательно там, где мы получаем первичную информацию для последующих выводов: органами зрения, слуха, обоняния, осязания. На этом же уровне мы способны провести первичную классификацию и принять оперативное решение: убежать от стремительно приближающегося автомобиля, надеть противогаз и т.д.
Значит, в нашей жизнедеятельности, требующей разнообразного проявления, существует такая ниша, эффективная на самом низком уровне животного состояния, где решение должно быть сверхоперативным, скорее - рефлекторным, не допускающим анализа. Этому способствует высокий параллелизм сети. Именно высокий параллелизм, наряду с исключением сложных расчетов, обусловил взрыв интереса к системам искусственного интеллекта в начале 1980-х годов, когда остро встала задача разработки вычислительных средств сверхвысокой производительности.
И этим мы вновь затронули важный вопрос актуальности аппаратной реализации нейросети или
Этот параллелизм выражается в том, что одновременно обрабатывается большое число цепочек нейронов. При этом каждый нейрон обрабатывается хотя и по одному алгоритму, но - по разным его ветвям: один, в конце концов, возбудится, другой нет; связи нейрона индивидуальны и изменяются не идентично связям других нейронов и т.д.
Тогда, ставя задачу разработки параллельного вычислительного устройства - нейрокомпьютера, способного имитировать работу нейросети с учетом ее достоинств по реализации высокой производительности, следует учесть, что:
При программной реализации нейросети перечисленные требования соответствуют SPMD-технологии ("одна программа - много потоков данных") [9], привлекательность которой обоснована для многих приложений параллельного решения задач высокой сложности.
Привлекательна реализация "большой" нейросети на основе сетевых технологий.
При аппаратной реализации НК (или его аппаратной поддержке) также необходимо учесть следующее требование: один нейроподобный элемент должен делить время между имитацией многих нейронов. Жесткая аппаратная имитация нейросети, соответствующая связи "один нейроподобный элемент - один нейрон", неэффективна, т.к. ограничивает возможную размерность моделируемой сети.
Учитывая специализацию нейрокомпьютера при применении сетевых технологий в рамках построения более сложных управляющих систем, целесообразно, чтобы НК использовался как сопроцессор под управлением мощного и универсального компьютера-монитора. Это же обусловлено разнообразными функциями "учителя" по формированию, заданию и регулировке параметров, по обучению и по дальнейшему применению результатов. В рамках сегодняшних компьютерных технологий НК должен дополнять персональный компьютер как его внешнее устройство и "врезаться" в существующие ОС.
***
Итак, мы знаем языки логического вывода, экспертные системы, самообучающиеся системы управления. Но в природе первично воплощены лишь нейросети!
Почему же мы, располагая столь богатым арсеналом средств искусственного интеллекта, в основе своей (как нам кажется!) опирающихся далеко не на одни только нейросети, самодовольно недоумеваем, отчего они не были первоначально заданы Природой, а явились плодом нашей творческой гениальности? И мы кощунственно вопрошаем:
- Ты что, Господи, не мог додуматься до этого Сам?
И посылается нам догадка с Неба: о Великой Целесообразности, о непрерывности и преемственности Развития, о предлагаемом Базисе, требующем Надстройки, о вечной Причинно-Следственной Вытекаемости… Мозг - конструктивно целесообразен, развиваем, универсален, самодостаточен. Мозг - основа, на которой еще не то можно построить!
Здесь можно привести пример колеса, не существующего в живых организмах. Какова должна быть длина нерва, чувствующего обод колеса? Значит, колесо должно быть отделено от живого существа! Но не рожать же матери отдельно ребенка, отдельно - колесо к нему. И сказал Господь Человеку:
- Я дам тебе разум, а колесо ты сделаешь сам $$\dots$$
Нет, додумался Он, Высший Разум, - посредством средства, вложенного в нас $$\dots$$ Мы сыграли роль слепых исполнителей предназначенного, предопределенного, предсказанного $$\dots$$ Словно микробы в желудочно-кишечном тракте - в заблуждении о личном счастье и сытости, - в действительности мы работаем на Волю Создателя, помогая Ему в главной и глобальной установке на Развитие.
"В огороде бузина, а в Киеве дядька".
Действительно, как связать между собой вещи несовместимые, вызывающие насмешку, но несомненно влияющие на степень мрачных раздумий о смысле жизни?..
И здесь мы сталкиваемся с действительно
$$\dots$$ Бытует теоретико-практическая предпосылка, объявляющая, что
В книге "От кого мы произошли?" (М.: ООО "АиФ Принт", 2000), в главе "Почему мы смотрим друг другу в глаза?" Э. Мулдашев говорит об известных ему 22 параметрах, отражающихся на глазной области лица и динамически описывающих морально-психологическое состояние собеседника-партнера. Однако обсчитать на компьютере удалось лишь два. Автор удивлен той колоссальной скоростью, с которой ведет такую обработку человеческий мозг: "Воистину велик Бог, создавший такое компьютерное совершенство мозга!"
Мы можем добавить, что кошка тоже смотрит в глаза своему благодетелю, оценивая его расположение: даст еду или не даст? А вот волк не смотрит в глаза. Он бегло, с холодным равнодушием взглядывает из клетки на движущееся пока еще мясо: палач избегает взгляда своей жертвы.
Мы уже не удивляемся высокой скорости мозга. Мы знаем, что это - распараллеливание обрабатываемой информации. И мы понимаем, что без параллельных вычислительных средств заниматься моделированием работы мозга, т.е. "больших" нейросетей, - бессмысленно.
Именно возможности параллельной обработки информации, наряду с допустимым отсутствием формальных
расчетов - только на основе
"В России революция - дрогнула мать
сыра земля, замутился белый свет…"
Нейросетевые технологии основаны на моделировании деятельности мозга. А как сказал Р. Шеннон, "Моделирование есть искусство" [29]. И как любое искусство, модель нейросети может базироваться на примерах, опыте и общих рекомендациях.
Рассмотрим пример, который навеян славным временем революционной перестройки, предлагающей нам эталоны актуальности, культурного ориентира и предприимчивости.
Вася и Петя - друзья. Нет, не в том смысле: они почти нормальной сексуальной ориентации. Скорее в
смысле вечной святой мужской дружбы, без смущения применяющей слово "друг". Обозначим А
- множество друзей,
Вася и Петя - крутые парни. Они плохо учились в школе, и это хорошо! Они создали "крышу", под которой успешно трудится ряд палаток
$$\begin{array}{rl} С = \{"Оксана", "Роксана", \\ "Марина","Регина", \\ "Св. Аполлинария"\}\end{array}$$заботливо опекаемые хозяйками, соответственно, Оксаной и Роксаной, Мариной и Региной, а также Аполлинарией. Палатки реализуют продукцию фирм
$$В = \{Красный Киллер, Пират, Ночная Бабочка\}$$Фирма Красный Киллер в секретных подвалах славных подразделений бойцов холодной войны
на основе бабушкиного самогона и контрабандного синтетического спирта гонит всемирно известную вино-водочную
продукцию отличного качества. Фирма Пират производит аудио- и видеопродукцию и другие культурные
ценности. Фирма Ночная Бабочка стряпает французскую косметику из мосластых московских дворняг.
Ситуацию контролирует дядя Рамзай из налогового ведомства, который имеет свой маленький частный бизнес. С каждой сложившейся ситуацией, определяемой тем, кто из друзей какие палатки "накрыл" и чья продукция находилась на реализации, дядя Рамзай связывает свою долю прибыли, основанную, мягко говоря, на шантаже. Дядя Рамзай имеет свой штат осведомителей: пару бомжей - жертв предыдущей амнистии, и пару-тройку голопузых апологетов трудного детства, которые с некоторой долей достоверности, за небольшую мзду и мелкое попустительство, доставляют ему информацию.
Дядя Рамзай - прогрессивный бизнесмен, и оценки прибыли решает проводить на высоком математическом уровне, обратившись за помощью к нам (рис. 3.1). Мы хорошо учились в школе, и это - плохо! Мы, как истинные альтруисты и ученые-бессеребренники, с радостью поможем ему, - бесплатно.
(рис 3.1) Предмет исследованияА информации приходится обрабатывать дяде Рамзаю много. Он, прямо скажем, работает в условиях неопределенности
и усиленных помех. Судите сами. Оксана делит любовь между Васей и Петей. Роксана - пока нет. Марина и Регина, жалея,
подкармливают юных следопытов. Аполлинария вообще закадрила хахаля из местной мэрии и разъезжает в длиннющем "линкольне".
Тщетно пытаясь разрушить узы бескорыстной дружбы, фирма Пират напрямую подмазала Васю, снизив нагрузку вымогательства на
свою продукцию. Петя, кажется, пошел на нарушение Конвенции и вторгается в область, контролируемую конкурентами. (Ох, не избежать благородной
разборки, со стрельбой и окровавленными трупами!) Скоро отмотает свой срок Никита, и предприятие расширится и т.д., и т.д., и т.д. $$\dots$$
Все такие обстоятельства прямо или косвенно влияют на долю прибыли дяди Рамзая.
Однако, разбираясь в столь сложной ситуации - для демонстрации действительно очень трудно формализуемой задачи, - мы чувствуем, как чем-то липким покрываются наши честные ладошки. А потому мы решительно отталкиваемся от $$\dots$$ и со сладким упоением возносимся на уровень милого сердцу абстрактного, математического, формально-логического мышления.
Но, прежде всего, принимая столь ответственный заказ, мы хотим четко уяснить, что хочет дядя Рамзай, - чтобы все же максимально формализовать задачу. И после долгих согласований мы устанавливаем:
Итак, ступим на путь абстрагирования.
Пусть по стечению обстоятельств, которые мы будем называть событиями, принимаются решения. Решения образуют конечное множество. Каждое решение соответствует некоторой, в общем случае не единственной, комбинации событий. Предположим наличие нескольких вариантов одного события.
Введем "удобную", не обязательно единственно возможную, иерархию событий на основе их совместимости и алгоритмически привычного представления.
Считая, что варианты каждого вида событий образуют исчерпывающее множество, алгоритм работы системы можно записать как
$$if \ \ A1 \ \ then \\ \ \ if \ \ B1 \ \ then \ \ R1 \ \ else \\ \ \ \ \ if \ \ (C1\vee C2\vee C3) \\ \ \ \ \ \ \ then \ \ R2 \ \ else \ \ R3 \\ else \\ if \ \ B3 \ \ then \ \ R4 \ \ else \ \ R5.$$Здесь R1 - R5 - принимаемые решения.
Одно решение соответствует некоторой, в общем случае не единственной, комбинации событий. Для изображения
таких комбинаций воспользуемся записями, например, вида $$А1\wedge (В2\vee В3)\wedge (С4\vee С5)$$. Это означает,
что Вася отправился в палатку то ли к Регине, то ли к Аполлинарии, торгующей продукцией то ли фирмы Пират,
то ли фирмы Ночная Бабочка. Однако эта же запись означает, что все составляющие ее конъюнкции $$А1\wedge В2\wedge С4$$, $$А1\wedge В3\wedge С4$$ и др. приводят к одному и тому же решению.
Проанализировав и перебрав все возможные ситуации, с учетом одинакового принимаемого решения, получим
систему логических высказываний -
Тогда, например, первое логическое высказывание означает "Если Вася отправился в одну из пяти
палаток, и все они торгуют сегодня продукцией фирмы Красный Киллер, то следует принять решение R1 (например, заказать туристическую путевку)".
Второе логическое высказывание означает: "Если Вася посетил одну из палаток С1, С2 или С3, торгующих сегодня продукцией фирм В2 и (или) В3,
то следует принять решение R2 " и т.д.
Определим теперь возбуждение
Например, как объединить величину превышаемой водителем скорости и тип автомобиля иностранного производства со вчерашним неудачным выступлением любимой автоинспектором футбольной команды, - при нахождении величины штрафа? Ведь каждый из перечисленных факторов должен определить некоторые общие, приведенные значения возбуждения.
Такое приведение также зависит от задачи. Поскольку нейроны - нечто стандартное для данной задачи
или класса задач, то каждая характеристика нейрона - величина возбуждения, веса его
Дадим рекомендации, основанные на "событийном" принципе.
В нашем новом примере о превышении скорости разобьем скорость на диапазоны штрафования, например,
[90-100), [100-110), [110-120), [120-200]. За каждым диапазоном скорости закрепим нейрон
Однако более универсальный подход основан на связывании величины возбуждения рецептора с достоверностью - вероятностью того, что величина скорости принадлежит одному или нескольким диапазонам. Такой подход мы и намерены воплотить в дальнейшем.
А именно, хотя бы интуитивно (а интуиция основана на опыте) определим достоверность того, что интересующая нас величина принадлежит данному диапазону. С какой достоверностью она принадлежит второму диапазону? А третьему?
Здесь явно просматривается концепция нечетких множеств [30].
Множество называется нечетким, если элементы входят в него с некоторой вероятностью.
Но можно даже уйти от понятия достоверности как вероятностной категории. Все ли мы знакомы с понятием
Тогда, на этапе обучения нейросети, получим возможность формирования аналога некой таблицы, в соответствии с которой будет действовать инспектор. (Однако здесь пока не рассматривается процесс обучения нейросети - формирование этой таблицы, - а только принцип формирования данных для входа в нее.)
Выделим нейроны, "отвечающие" за типы автомобилей: отечественного производства, "мерседес", "вольво", "джип" и т.д. Величину возбуждения этих нейронов будем полагать равной 1 - на этапе обучения, или равной достоверности события - в рабочем режиме. Аналогично выделим рецепторы, "отвечающие" за другие возможные события: степень интеллигентности водителя (так же по диапазонам изменения), выигрыш или проигрыш любимой команды и т.д.
Следовательно, на входном слое будут формироваться приведенные значения возбуждения.
В рабочем режиме мы, таким образом, получили возможность использования неопределенной, недостоверной информации. Например, инспектор не смог из-за высокой скорости отличить "ниву" от "чероки". Тогда он решает ввести значение 0,5 в графу "нива" (величина возбуждения рецептора, "отвечающего" за "ниву", станет равной 0,5) и 0,5 - в графу "джип-чероки" (такой же станет величина возбуждения соответствующего рецептора). Однако, подумав, он на всякий случай вводит величину 0,2 в графу ВАЗ 2104, что также во власти его сомнений. Так же инспектор поступает и с другими характеристиками сложившейся ситуации в поисках наиболее достоверного решения по принципу наибольшей похожести.
Реализуем подход, используемый при построении схем устройств компьютера и другой электронной техники. Выделим функционально полную, для данного применения, систему булевых функций - дизъюнкцию $$\vee$$ и конъюнкцию $$\wedge.$$
Отрицание нам не понадобится, мы пока не рассматриваем тормозящие связи.
Нарушив принятые обозначения, построим (рис. 3.2) схему, реализующую алгоритм счета значения выражения (3.1). Предполагаем, что на вход будут подаваться значения булевых переменных, обозначающих события.
(рис 3.2) "Электронная" схема системы принятия решенийТакая электронная схема могла бы нам верно служить, способствуя быстрому определению необходимой реакции на сложившуюся ситуацию, если мы предусмотрели все возможные ситуации, знали, какое решение соответствует каждой из них, и всегда обладали полной и точной информацией о происходящих событиях. Но ведь не зря мы обращаем внимание на те помехи и неопределенность, в условиях которых приходится жить и работать. Мы должны оперировать только достоверностями либо другими оценками событий, пытаясь определить, какой ситуации более всего соответствуют сложившиеся обстоятельства.
Значит, мы должны из точного, детерминированного представления перейти в область ассоциативного, неточного, приблизительного мышления! Но степень (частота) угадывания должна быть достаточно высока.
Именно здесь должна помочь
Прежде всего надо перейти от типа булевых переменных к типу действительных, введя в обращение не
непреложность событий, а лишь вероятности или другие весовые оценки их наступления (электронной технике
это не свойственно). Затем необходимо реализовать аналоги булевых функций над этим новым типом данных, т.е.
заставить нейроны с помощью весов, порогов и самой
Выберем i -го) нейрона, с числом m входов-дендритов:
где $$\xi (x) = x$$ при x >= 0, 0 - в противном случае.
Здесь Vj, как всегда, - величина возбуждения (другого нейрона), поступающая
на j -й вход.
Тогда нейрон-
(рис 3.3) Модель нейрона-конъюнктораПри обучении предполагается, что входные сигналы - булевы переменные, принимающие значения 0, 1.
Положим $$\omega _{ij} = 1/m$$ и выберем $$\delta < 1/m$$. Тогда для того,
чтобы преодолеть порог, на всех входах должны быть "1"; недостаток хотя бы одной "1"
приведет к тому, что взвешенная сумма будет более чем на 1/m меньше указанной суммы весов.
При переходе к действительным переменным, когда вместо событий рассматриваются, например, лишь предполагаемые вероятности их наступления, экспериментальный выбор значения $$\delta$$ может обусловить ту границу, когда считаться с возможностью данной комбинации событий нецелесообразно.
Нейрон-
(рис 3.4) Модель нейрона-дизъюнктораПонятно, что при полной определенности в режиме обучения возбуждение поступает по единственному входу
(нейрон реализует функцию "ИСКЛЮЧАЮЩЕЕ ИЛИ" ). В условиях неопределенности предполагается,
что нейрон имитирует выполнение функции "ИЛИ", допуская возбуждение более чем на одном входе.
Итак, поменяем тип данных и заменим нейронами все элементы на схеме рис.
3.2. Получим
Теперь позволим дяде Рамзаю поучиться, поэкспериментировать, задавая различные достоверности событий, - возможных или невозможных.
Например, зададим "правильную" и абсолютно достоверную ситуацию В3 = 1, А1 = 1, С4
= 1 (Вася отправился к Регине, торгующей ямайским ромом). Легко проследить, что в первом такте
возбудятся нейроны 1 и 6, реализующие дизъюнкцию. Величина их возбуждения равна
"1". В следующем такте возбуждение нейронов 1, 6 и А1 приведет
к возбуждению (с величиной, равной "1") нейронов 7 и 9, а в следующем такте
- сигналы возбуждения нейронов 6 и 7 поступят на вход нейрона-конъюнктора Вых3.
Никакой другой нейрон выходного слоя не возбудится.
(рис 3.5) Нейросеть с "конъюнкторами" и "дизъюнкторами"Рассмотрим другую ситуацию, неопределенную и недостоверную.
Пусть то ли Вася, то ли Петя - "разведчик" не установил точно - направился то ли к Оксане, то ли к Аполлинарии, торгующим в этот день то ли тройным одеколоном, то ли золотым диском группы "Та-ра-рам".
Дядя Рамзай, по выданной нами инструкции, решает использовать интуитивные оценки веса или, на нашем
языке, оценить достоверность каждой компоненты возникшей ситуации. Поскольку прогулки как Васи, так и Пети
одинаково достоверны, то дядя Рамзай полагает величину возбуждения нейронов А1 и А2
равной 0,5 ( VA1 = VA2 = 0,5 ). После долгих раздумий он по наитию полагает VB1
= 0,8, VB2 = 0,8, VC1 = 0,7, VC5 = 0,8.
Замечание. Напоминаем еще раз, что требовать
Сдавая
(рис 3.6) Расчет примераВажность данного примера требует повторения рисунка нейросети (рис. 3.6) с проставленными возле нейронов значениями сигналов возбуждения.
В итоге ситуация скорее всего имеет решение R5, и уж никак не R4. Однако
ситуация, соответствующая решению R1, требует внимания.
Пусть при вполне определенной ситуации (все достоверности принимают значение "1") каждое
решение Ri приносит прибыль Mi. Тогда средняя величина ожидаемой
прибыли для нашей неопределенной ситуации рассчитывается так:
Конечно, полученное решение столь же неопределенно, как и тот карточный расклад, что предвещает трогательную встречу в казенном доме, поэтому мы погружаемся в дальнейший поиск.
Мы построили
Предположим теперь (рис. 3.5, 3.6),
что все нейроны одинаковы, реализуют одну
Введем ту же, но без ограничения по величине возбуждения,
Положим $$\omega _{ij} = 0,8,\ h = 0,2$$. Сеть представлена на рис. 3.7.
(рис 3.7) Расчет примера на нейросетиПодадим на вход, например, ситуацию {A1, B1, C3}, требующую решения R1.
Величины возбуждений нейронов показаны на рисунке.
На основе расчетов по полученной сети составим табл. 3.1, отображающую
правильную (!) работу сети при получении различных решений. При этом связи, предыстория которых определена дизъюнкторами,
требуют проверки не более чем одного "представителя": в рассмотренном примере получаем тот же результат, если вместо С3 положим С1 или С2.
| Ситуация | Требуемое решение | VВых1 | VВых2
| VВых3 | VВых4 | VВых5 |
|---|---|---|---|---|---|---|
| {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 |
VB1 = VB2 = 0.8, VA1 = VA2
= 0.5, VC1 = 0.7, VC5 = 0.8 | ? | 0,824 | 0,529 | 0,593 | 0,312 | 1,003 |
Анализируя первые восемь строк таблицы, соответствующие достоверным ситуациям, видим, что по крайней мере максимум возбуждения определяется устойчиво верно.
Рассмотрим ту же неопределенную ситуацию. Она отражена в последней строке таблицы. Близка ли она
более всего ситуации, когда Петя направился к Аполлинарии и надо принимать решение R5?
Ситуация с Васей, устремившимся туда же, дает примерно тот же ответ.
Отметим, что по убыванию величин возбуждения нейронов выходного слоя, вновь полученный результат полностью совпадает с полученным по "схемотехнической" сети (рис. 3.5), так что и величина средней прибыли, по-видимому, будет близка найденной ранее.
Однако не проще было бы применять способ построения нейросети, близкий к табличному? Что, если каждую ситуацию непосредственно "замкнуть" на соответствующее решение, избежав сложной путаницы промежуточных слоев нейронов и не рассчитывая множества вариантов для нахождения максимального возбуждения и распределения возбуждения на выходном слое?
Очень часто на практике так и поступают. Поэтому широкое распространение получили так называемые
(рис 3.8) Однослойная нейросетьВозьмем ту же
Данная R5, хотя порядок убывания величин
возбуждения выходного слоя отличен от ранее полученного. Предпочтительность решений R2 и R3
меняется местами.
| Ситуация | Требуемое решение | VВых1 | VВых2 | VВых3
| VВых4 | VВых5 |
|---|---|---|---|---|---|---|
| {A1, B1, C3} | R1 | 2,2 | 1,4 | 0,6 | 0,6 | 1,4 |
| {A1, B2, C2} | R2 | 1,4 | 2,2 | 1,4 | 0,6 | 1,4 |
| {A1, B3, C3} | R2 | 1,4 | 2,2 | 1,4 | 1,4 | 0,6 |
| {A1, B2, C4} | R3 | 1,4 | 1,4 | 2,2 | 0,6 | 1,4 |
| {A1, B3, C5} | R3 | 1,4 | 1,4 | 2,2 | 1,4 | 0,6 |
| {A2, B3,C1} | R4 | 1,4 | 1,4 | 0,6 | 2,2 | 1,4 |
| {A2, B1, C3} | R5 | 1,4 | 0,6 | 0 | 1,4 | 2,2 |
| {A2, B2, C4} | R5 | 0,6 | 0,6 | 1,4 | 1,4 | 2,2 |
VB1 = VB2 = 0.8, VA1 = VA2
= 0.5, VC1 = 0.7, VC5 = 0.8 | ? | 2,04 | 1,4 | 0,84 | 1,4 | 2,68 |
Тактирование работы сети, столь характерное для каждой управляющей системы, которая отслеживает состояние
сети в дискретные моменты времени, определяет потактовое продвижение по ней волны возбуждений от
На практике широко исследуются многослойные сети типа
Нейронную сеть можно изучать статически, исследуя ее структуру, и динамически, исследуя в ней прохождение возбуждений.
Статические исследования нейросети показывают, что она представляет собой ориентированный граф G
без контуров. Вершины его соответствуют нейронам, дуги -
Граф малопригоден для формальных исследований и компьютерных алгоритмов. Удобнее пользоваться матричным
отображением нейросети. Таким способом представления можно отобразить как структуру, конфигурацию, топологию
графа, так и численные значения характеристик его
Составим S (рис. 3.9), число строк (и столбцов) которой равно числу нейронов сети, включая нейроны входного
и выходного слоя. Каждая строка (и столбец с тем же номером) соответствуют одному нейрону.
Элемент (i, j) этой матрицы - суть непустой объект, содержащий вес $$\omega _{ij}$$
синапсической связи j -> i, если такая связь существует. В то же время элементы матрицы S
следует интерпретировать как булевы переменные, равные "1" в случае ненулевого значения указанного веса. Это разрешает
выполнение логических операций над строками и столбцами матрицы S, рассматривая ее как аналогичную
(рис 3.9) Матрица следования с транзитивными связямиМатрицу S можно изучать в статическом режиме, исследуя и корректируя возможные пути
прохождения возбуждений. По этой же матрице в динамическом режиме (моделирования) можно исследовать
действительные пути прохождения возбуждений. Такое исследование связано с потактовым расчетом величин
возбуждения нейронов.
Нулевые строки (входы) матрицы S соответствуют нейронам
Нейроны образуют статические цепочки $$\alpha _{1} \to \alpha _{2} \to \dots \to \alpha _{m}$$, длины m, если существуют синапсические связи
(впредь будем опускать слово "синапсические") вида $$\alpha _{k} \to \alpha _{k+1}$$.
Составляя все статические цепочки по графу G, можно выделить одну или более цепочек максимальной длины. Такие цепочки
назовем критическими. (В традиционных
Пусть по i->j->k мы обнаружили отсутствие непосредственной
связи i->k, т.е. элемент матрицы S, стоящий на пересечении k -й
строки и i -го столбца, равен "0". Однако очевидно опосредствованное влияние возбуждения
нейрона i на величину возбуждения нейрона k, что указывает на наличие i -> k. Нахождение
Алгоритм дополнения матрицы S
Для всех i = 1, 2 ,..., N:
Формируем новое значение строки i логическим сложением этой строки со строками, соответствующими
непустым элементам в ней. "Новые" непустые элементы заменяем на не пустые элементы, обозначающие
В нашем примере матрица S, дополненная
Зафиксируем некоторое подмножество R нейронов r
выходного. Построим множество цепочек, ведущих из выделенного подмножества нейронов R->r.
Представим алгоритм формирования R->r.
S строки
и столбцы, которые соответствуют нейронам, не принадлежащим R.S все
строки и столбцы, отображающие нейроны выходного слоя, кроме нейрона r.S строки
и столбцы, отображающие нулевые позиции строки нейрона r.S строки
и столбцы, отображающие нейроны внутренних слоев нейросети, в том случае, если в результате предыдущего вычеркивания
эти строки оказались нулевыми.На рис. 3.10 матрицей S[B1, A1, C1 -> Вых1] отображено
множество цепочек, ведущих из нейронов В1, А1, С1 в нейрон Вых1, т.е. [B1, A1, C1] -> Вых1.
(рис 3.10) Статический путь возбужденияТеперь рассмотрим фактор возбуждения и проанализируем возможные динамические пути прохождения возбуждений.
m назовем статическую цепочку, составленную из нейронов, первые m?1
которых обладают отличной от нуля величиной возбуждения.
Динамическая цепочка возбуждений является вырожденной, если ее последний элемент обладает нулевой
величиной возбуждения. Вырожденная динамическая цепочка возбуждений характеризует
Предъявим сети некоторый образ или эталон (не будет большой ошибки, если и здесь при предъявлении
мы будем пользоваться словом "образ", ибо все есть образ чего-то), приводящий к возбуждению
нейроны R. В результате
возбуждения сети оказался возбужденным некоторый нейрон r выходного слоя. Сформировался, таким образом, R -> r ; очевидно,
его образуют нейроны, входящие в состав R -> r, так как некоторые нейроны могут остаться невозбужденными.
В общем случае не все нейроны, составляющие
Главный механизм запоминания, реализованный в природе, можно представить так. Импульс возбуждения,
проходя через синапс, "нагревает" и уменьшает его сопротивление, увеличивая синапсический вес.
В последующих тактах, при последующих предъявлениях эталона, импульс возбуждения увереннее одолевает путь
возбуждения, с большей определенностью указывая соответствующий образ (как говорится, "Сложилась связь"),
а используемые при этом
Здесь работает известное правило Хебба [19, 20]: Синапсический вес связи двух возбужденных нейронов увеличивается.
Таким способом даже достигается эффект локализации и максимизации возбуждения на выходном слое, дублирующий, а возможно, исключающий необходимость взаимодействия соседних нейронов.
По-видимому,
Отметим и важную роль воображения: эталоны на входном слое поддерживаются достаточно долго, возобновляются или моделируются. По-видимому, здесь большое значение имеет эпифиз, "третий глаз" - орган воображения и медитации, память и генератор видений.
При создании искусственных механизмов обучения нейросети возникают вопросы:
По-видимому, третий аспект в большей степени соответствует самообучению, самонастройке. Вмешательство
в наш мозг на этом уровне исключено. Однако система искусственного интеллекта - в более выгодном положении.
Ведь она находится под нашим неусыпным контролем, реализуя обучение "с учителем", и допускает любое
вторжение, корректирующее вынужденные недостатки естественного интеллекта. Поэтому, рассматривая пример (и пытаясь
накопить хоть какой-то опыт), мы будем увеличивать
Что же касается величины изменения синапсических весов, то вряд ли необходимо относительно каждого нейрона решать системы дифференциальных уравнений в частных производных. (Речь идет о методе обратного распространения ошибки, подробно изложенном в [20].) Природа больше рассчитывает на авось, "на глазок" и другие мудрые и практические приблизительные ориентиры, малопривлекательные теоретически. В данном случае нас более обнадеживает "прилив крови" в нужном направлении, стимулируемый информационным раздражителем или легким подзатыльником. В связи с этим введем некую переменную $$\delta \omega$$, выверяемую практически (а то и просто единицу), уменьшаемую или увеличиваемую при необходимости.
Таким образом, нам удалось перейти от схемотехники к
Справедливо желание построения универсальных моделей нейросетей в составе программного обеспечения
компьютера, снабженных механизмами приспособления под задачу пользователя. Еще более справедливо желание
построить набор аппаратных средств - нейросетей (
Для наглядности воспользуемся как матричным, удобным алгоритмически, так и графическим представлением нейросети.
Однослойная
(рис 3.11) Формирование однослойной нейросетиПусть используется предложенная выше
Значения $$\omega _{ij}$$ предстоит подобрать, а значения hi
положим равными нулю.
Закрепим 10 нейронов
(рис 3.12) Матрица следования для однослойной нейросетиЗдесь отображен ее окончательный вид, т.к. сначала все веса связей принимаются равными нулю.
Для того чтобы сформировать решение R1 на нейроне Вых1, надо значительно
увеличить веса связей этого нейрона с нейронами В1, А1, С1, С2, С3, С4, С5, т.е. построить
[B1, A1, C1, C2, C3, C4, C5] -> Вых1 и вдоль него по некоторой
дисциплине увеличить веса связей.
В данном случае результат очевиден, поэтому обратим внимание на некоторый общий подход.
Установим веса связей между нейронами В1, А1, С1, С2, С3, С4, С5 с одной стороны, и
нейроном Вых1 - с другой равными единице, оставив нулевыми веса связей этого нейрона с
другими нейронами
Здесь вновь прослеживается преимущество нейросети, способной элементарно просто учитывать наблюдаемые или интуитивно предполагаемые поправки, требующие огромных исследований и расчетов.
Поступив так же со всеми выделенными нейронами выходного слоя, получим окончательный вид
…Так какую же сеть предложить дяде Рамзаю? Ведь надо и подоходчивее, и попрактичнее, но и так, чтобы не казалось уж слишком просто.
Предположим, мы располагаем некоторым банком "красиво" изображенных графических схем, которые
можно положить в основу структуры нейросети. Понравившуюся структуру мы решаем интерпретировать как
Пусть выбранная нами h
= 0.
Однако сеть обладает специфической топологией, затрудняющей ее обучение. Сеть многослойная, что исключает связи "через слой", присутствующие, например, на рис. 3.7 как результат построения нейросети "под задачу". Да и связь между слоями скорее соответствует известному предупреждению "шаг влево, шаг вправо $$\dots$$ ".
Будем использовать метод опорных путей, или трассировки, расширяющий использованный выше
Итак, для успешной, наглядной и легко рассчитываемой трассировки решим вопрос кардинально: какие
веса полагать равными нулю, а какие - единице? Все прочие возможности, например $$min\ \omega _{ij} = 0,1$$, введение порога h = 0,5 и т.д., будут способствовать более плавной работе сети, непрерывности
перехода из состояния в состояние.
Применив принципы
(рис 3.13) Результат трассировки многослойной нейросетиДалее будет представлен формальный алгоритм трассировки. Однако чтобы настроиться на его понимание, следует проанализировать свои действия и сделать следующие выводы:
Для автоматизации трассировки необходимо матричное представление, только и доступное компьютеру.
На рис. 3.14 отражен R1. Он строится по алгоритму, изложенному в разд. 3.5. В данном случае
(рис 3.14) Динамический путь возбужденияАналогично получают
Поставим теперь задачу дальнейших исследований: как построить все необходимые
$$\dots$$ Вот теперь-то мы довольны! Мы снабдили дядю Рамзая универсальной обучаемой нейросетью. Теперь, если он, раскаявшись, вновь возлюбит свою благороднейшую профессию, он найдет ей (сети) достойное применение в водворении Васи, Пети K0 на то спальное место, которого они действительно заслуживают.
Итак, располагая знаниями о ситуациях на входе управляющей системы и реакциях на каждую из них, получаем
таблицу. В одном столбце, так называемом запросном поле, - вектор-ситуация, в другом,
Для ее воплощения можно применить технологии построения ассоциативной памяти, столь широко используемой в современных вычислительных системах. Если между ситуациями ввести операции отношения, то можно построить операции вида "найти ближайшую величину слева (справа)", "найти ближайшие включающие границы" и т.д. Идея ассоциативной ЭВМ давно реализована, например в STARAN [15] (1977 г.).
На основе вышесказанного строится
Однако необходимость выхода на большие размерности ограничивает возможность построения "большой" ассоциативной памяти по существующей технологии. Ведь такая память, даже при реализации единственной операции, основана на одновременном сравнении входного вектора с запросными частями всех ее регистров и с выдачей содержимого ответного поля в случае совпадения.
Выходит, что мозг не может непосредственно хранить таблицы, а моделирует их с помощью нейросетевых механизмов? Можно вспомнить, что исходные предложения (например, Кохонена) по применению нейросетей касались именно ассоциативной памяти.
Зачем же нам следовать столь неловкому воплощению?
Ответ может быть лишь таким: все хорошо к месту. Просто более тщательно следует определять области разумного применения каждого из различных средств решения задач искусственного интеллекта. И как можно раньше уйти от опасных для здоровья вопросов философски-мистического характера.
Хотя и следует вновь заглянуть "в зеркало".
Где мы используем принцип нейросети непосредственно, а не косвенно, - посредством расчета, анализа баз знаний и т.д.? По-видимому, обязательно там, где мы получаем первичную информацию для последующих выводов: органами зрения, слуха, обоняния, осязания. На этом же уровне мы способны провести первичную классификацию и принять оперативное решение: убежать от стремительно приближающегося автомобиля, надеть противогаз и т.д.
Значит, в нашей жизнедеятельности, требующей разнообразного проявления, существует такая ниша, эффективная на самом низком уровне животного состояния, где решение должно быть сверхоперативным, скорее - рефлекторным, не допускающим анализа. Этому способствует высокий параллелизм сети. Именно высокий параллелизм, наряду с исключением сложных расчетов, обусловил взрыв интереса к системам искусственного интеллекта в начале 1980-х годов, когда остро встала задача разработки вычислительных средств сверхвысокой производительности.
И этим мы вновь затронули важный вопрос актуальности аппаратной реализации нейросети или
Этот параллелизм выражается в том, что одновременно обрабатывается большое число цепочек нейронов. При этом каждый нейрон обрабатывается хотя и по одному алгоритму, но - по разным его ветвям: один, в конце концов, возбудится, другой нет; связи нейрона индивидуальны и изменяются не идентично связям других нейронов и т.д.
Тогда, ставя задачу разработки параллельного вычислительного устройства - нейрокомпьютера, способного имитировать работу нейросети с учетом ее достоинств по реализации высокой производительности, следует учесть, что:
При программной реализации нейросети перечисленные требования соответствуют SPMD-технологии ("одна программа - много потоков данных") [9], привлекательность которой обоснована для многих приложений параллельного решения задач высокой сложности.
Привлекательна реализация "большой" нейросети на основе сетевых технологий.
При аппаратной реализации НК (или его аппаратной поддержке) также необходимо учесть следующее требование: один нейроподобный элемент должен делить время между имитацией многих нейронов. Жесткая аппаратная имитация нейросети, соответствующая связи "один нейроподобный элемент - один нейрон", неэффективна, т.к. ограничивает возможную размерность моделируемой сети.
Учитывая специализацию нейрокомпьютера при применении сетевых технологий в рамках построения более сложных управляющих систем, целесообразно, чтобы НК использовался как сопроцессор под управлением мощного и универсального компьютера-монитора. Это же обусловлено разнообразными функциями "учителя" по формированию, заданию и регулировке параметров, по обучению и по дальнейшему применению результатов. В рамках сегодняшних компьютерных технологий НК должен дополнять персональный компьютер как его внешнее устройство и "врезаться" в существующие ОС.
***
Итак, мы знаем языки логического вывода, экспертные системы, самообучающиеся системы управления. Но в природе первично воплощены лишь нейросети!
Почему же мы, располагая столь богатым арсеналом средств искусственного интеллекта, в основе своей (как нам кажется!) опирающихся далеко не на одни только нейросети, самодовольно недоумеваем, отчего они не были первоначально заданы Природой, а явились плодом нашей творческой гениальности? И мы кощунственно вопрошаем:
- Ты что, Господи, не мог додуматься до этого Сам?
И посылается нам догадка с Неба: о Великой Целесообразности, о непрерывности и преемственности Развития, о предлагаемом Базисе, требующем Надстройки, о вечной Причинно-Следственной Вытекаемости… Мозг - конструктивно целесообразен, развиваем, универсален, самодостаточен. Мозг - основа, на которой еще не то можно построить!
Здесь можно привести пример колеса, не существующего в живых организмах. Какова должна быть длина нерва, чувствующего обод колеса? Значит, колесо должно быть отделено от живого существа! Но не рожать же матери отдельно ребенка, отдельно - колесо к нему. И сказал Господь Человеку:
- Я дам тебе разум, а колесо ты сделаешь сам $$\dots$$
Нет, додумался Он, Высший Разум, - посредством средства, вложенного в нас $$\dots$$ Мы сыграли роль слепых исполнителей предназначенного, предопределенного, предсказанного $$\dots$$ Словно микробы в желудочно-кишечном тракте - в заблуждении о личном счастье и сытости, - в действительности мы работаем на Волю Создателя, помогая Ему в главной и глобальной установке на Развитие.
Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.