Построение примитивной нейросети
Говоря о вещах несогласуемых, мы вспоминаем поговорку: «В огороде бузина, а в Киеве дядька». Как же связать объекты, между собой не совместимые, вызывающие усмешку, но, несомненно, влияющие на раздумья о смысле жизни?
Здесь мы сталкиваемся с действительно трудно формализуемой задачей, требующей мобилизации нашего ассоциативного мышления.
Существует мнение о том, что нейросеть формируется «под задачу». Однако в природе есть идеальная, универсальная, «унифицированная» нейросеть — наш мозг. И каждый из нас не испытывает серьезных технических трудностей, если становится не коммерсантом, а, скажем, блестящим специалистом по реликтовым захоронениям мезозойского периода. Более того, если человек талантлив, то он талантлив во всем.
В книге Э. Мулдашева «От кого мы произошли?» в главе «Почему мы смотрим друг другу в глаза?» автор говорит об известных ему 22 параметрах, отражающихся на глазной области лица и динамически описывающих морально психологическое состояние собеседника — партнера. Однако обсчитать на компьютере удалось лишь два. Автор удивлен той колоссальной скоростью, с которой ведет описанную обработку человеческий мозг: «Воистину велик Бог, создавший такое компьютерное совершенство мозга!»
Мы уже не удивляемся высокой скорости работы мозга. Известно, что это — процесс распараллеливания обрабатываемой информации, и без параллельных вычислительных средств заниматься моделированием работы мозга, т.е. «больших» нейросетей, — бессмысленно.
Именно особенности параллельной обработки информации наряду с возможным отсутствием формальных расчетов (только на основе ассоциативного мышления) привлекли к себе внимание проектировщиков суперЭВМ в период так называемого японского вызова, в начале 1980х годов.
Нейросетевые технологии основаны на моделировании деятельности мозга, а по классическому утверждению Р. Шеннона, «моделирование есть искусство». И как каждое искусство, модель нейросети базируется на примерах, опыте и общих рекомендациях.
Рассмотрим пример, навеянный временем перестройки.
Вася и Петя — друзья. Обозначим А — множество друзей:
А = {А1, А2} = {Вася, Петя}.
Вася и Петя создали «крышу», под которой успешно трудится ряд палаток:
заботливо опекаемые хозяйками, соответственно Оксаной и Роксаной, Мариной и Региной, а также Аполлинарией. Палатки реализуют продукцию фирм:
Фирма Красный киллер производит винноводочную продукцию отличного качества. Фирма Пират специализируется на аудио и видеопродукции и других культурных ценностях, а фирма Ночная бабочка — на французской косметике из мосластых московских дворняг.
Ситуацию контролирует дядя Рамзай из налогового ведомства, который имеет свой маленький частный бизнес. С каждой сложившейся ситуацией, определяемой тем, кто из друзей какие палатки посетил и чья продукция находилась на реализации, дядя Рамзай связывает свою долю прибыли, основанную, мягко говоря, на шантаже. Дядя Рамзай имеет свой штат осведомителей: пару бомжей жертв предыдущей амнистии, и парутройку голопузых апологетов трудного детства, которые с некоторой долей достоверности доставляют ему информацию.
Дядя Рамзай — прогрессивный бизнесмен, и оценки прибыли производит с помощью математического аппарата, обратившись за помощью к нам. А информации дяде Рамзаю приходится обрабатывать много. Он, прямо скажем, работает в условиях неопределенности и усиленных помех. Судите сами. Оксана делит любовь между Васей и Петей. Роксана — пока нет. Марина и Регина, жалея, подкармливают юных следопытов. Аполлинария заполучила покровителя в местной мэрии и разъезжает в длиннющем "линкольне". Тщетно пытаясь разрушить узы бескорыстной дружбы, фирма Пират подкупила Васю, снизив нагрузку вымогательства на свою продукцию. Петя, кажется, пошел на нарушение «закона» и вторгается в область, контролируемую конкурентами. Все такие обстоятельства прямо или косвенно влияют на долю прибыли дяди Рамзая.
А мы, принимая заказ на очень трудно формализуемую задачу, хотим уяснить, что нужно дяде Рамзаю, и устанавливаем:
он хочет, задавая исходные данные на основе неполной или недостоверной информации своих агентов, всетаки распознать с наибольшей определенностью, что это за ситуация и на какую прибыль можно рассчитывать;
он хочет, задавая исходную ситуацию с некоторой достоверностью, установить среднюю величину прибыли;
он хочет сделать вывод о частоте появления различных ситуаций, чтобы перераспределить таксу за молчание о шалостях Васи и Пети.
Итак, абстрагируемся. Пусть по стечению обстоятельств, которые мы будем называть событиями, принимаются решения R1, R2, R3, R4, R5.
События выражаются записями, например, вида {A1, B2, С3} Это означает, что Вася (А1) отправился в палатку Марины {СУ), торгующей в этот раз продукцией фирмы Пират
Решения образуют конечное множество. Каждое решение носит сугубо личностный характер и определяет тактику дальнейшего поведения, надежду на существенное приобретение, тур поездку и т.д. Одно решение соответствует некоторой, в общем случае не единственной, комбинации событий. Для изображения таких комбинаций воспользуемся записями, например, вида
Это означает, что Вася отправился в палатку то ли к Регине, то ли к Аполлинарии, торгующей продукцией то ли фирмы Пират, то ли фирмы Ночная бабочка. Однако эта же запись означает, что все составляющие ее конъюнкции и другие приводят к одному и тому же решению.
Проанализировав и перебрав все возможные ситуации, с учетом одинакового принимаемого решения получим систему логических высказываний — предикатов как основу формализации задачи при построении нейросети:
Тогда, например, первое логическое высказывание означает: «Если Вася отправился в одну из пяти палаток, и все они торгуют сегодня продукцией фирмы Красный киллер, то следует принять решение R1 (например, заказать туристическую путевку)».
Второе логическое высказывание означает: «Если Вася посетил одну из палаток С1, С2 или С3, торгующих сегодня продукцией фирм B2 и (или) B3, то следует принять решение R2» и т.д.