WHAT IS НОТ & WHAT IS NOT
"Нейронные сети? Дорогая игрушка, не более", - скажет один. "Модная игрушка", - добавит другой.
"Шаманство", - отрубит третий. Подождите, не горячитесь.
Вспомните, что четыре года назад говорили о компьютерах notebook, а три года назад - о накопителях CD-ROM.
А теперь посмотрите на акции фирмы Медиа Механикс и магазины концерна "Белый ветер",
загодя почувствовавших перспективность новых рынков. Их история успеха проста как клавиша Esc.
Доверились интуиции, вовремя рискнули вложить капитал, получили солидную фору во времени
и сумели ею правильно воспользоваться. Именно так сколачиваются состояния на Западе,
где все существующие рынки уже поделены и за каждый цент прибыли идет настоящее сражение.
Именно так скоро будет и на поле чудес нашего компьютерного рынка.
Дикие прерии российского бизнеса, подчинясь неумолимым законам капитализма, медленно, но верно видоизменяются. Кольт и седло, незаменимые финансовые инструменты первоначального накопления капитала, перестают помогать при столкновениях с крупными профессиональными фирмами, захватившими лучшие угодья. Жаркое дыхание конкуренции ощущают все - от старушек-побирушек до банкиров и рэкетиров. Как выжить в этом сложном и нестабильном мире, а еще лучше - как добиться процветания, несмотря на усиливающийся натиск конкурентов? Рецепты просты - во-первых, вооружить свой бизнес более мощными средствами, чем у соперников, и, во-вторых, найти незанятую "золотую жилу" на рынке. Не исключено, что нейронные сети, о которых пойдет речь в данной статье, способны решить обе эти задачи.
А ЗА УГЛОМ ШЛА РЕВОЛЮЦИЯ...
О нейронных сетях как профессиональном инструменте для финансовых операций серьезно заговорили в конце 80-х годов, когда революционные работы Дж.Хопфилда и других математиков дали второе дыхание нейроматематике, более двадцати лет прозябавшей на задворках науки. Родившаяся в конце 40-х годов на гребне волны интереса к моделированию структур человеческого мозга, теория нейронных сетей первоначально породила много радужных надежд, которые не сумела оправдать как из-за слабости технической базы, так и по причине неразвитости самой теории. Первый нейрокомпьютер - т.н. персептрон Розенблатта - умел сносно распознавать буквы и простые картинки, но пасовал перед задачей идентификации движущихся целей и другими проблемами реального мира. О серьезном применении нейронных сетей в промышленности, а тем более финансах, тогда не было и речи. А после критических работ М.Минского нейронные сети и вовсе были отправлены "на скамейку запасных", уступив место на переднем крае науки экспертным системам, нечеткой логике и другим модным теориям.
Однако в начале 80-х, с появлением микропроцессоров и сверхбольших интегральных схем, появилась техническая возможность сделать "вторую попытку". Серия работ Дж.Хопфилда, Т.Кохонена и ряда других ученых создала теоретический фундамент для появления нового поколения нейронных сетей, принципиально более мощных, чем классический персептрон. Многослойные сети Дж.Хопфилда, настраиваемые с помощью специальных алгоритмов обучения, стали демонстрировать способность распознавания ранее предъявленных образцов в сложных наборах зашумленных, неполных и противоречивых входных данных.
За сравнительно короткое время были построены нейрокомпьютеры для распознавания речи и изображений, для задач классификации в биологии и диагностики в медицине и многих, многих других применений. А поскольку задачи распознавания и классификации во многом близки задачам ситуационного моделирования, довольно скоро появились ней-росистемы, адаптированные для прогнозирования и краткосрочных предсказаний. И когда точность прогнозирования, устойчиво достигаемая нейросетевыми пакетами на реальных задачах, превысила 95% - в очередь за нейросистемами встали и финансисты.
Если у вас в ушах уже зазвучал шаманский бубен, а в глазах запрыгали отблески грядущих "черных вторников" - расслабьтесь. Нейронные сети в том виде, как их сегодня применяют банкиры, бизнесмены и военные, это не "черные ящики", раздающие туманные предсказания, а вполне конкретные (и даже серийно выпускаемые) программные пакеты и специализированные многопроцессорные системы. Их использование проще всего пояснить на ряде примеров.
Финансовая корпорация Citicorp применяет крупный специализированный нейрокомпьютер для анализа и краткосрочного предсказания колебаний курсов валют. В соответствии со статистикой, собранной за год использования нейрокомпьютера, совокупная точность предсказаний превзошла результаты самых опытных брокеров корпорации. Важно заметить, что нейрокомпьютеры в основном используются не столько для предсказания биржевых крахов (хотя и для них тоже) сколько для выполнения огромных объемов рутинной - но весьма ответственной - работы по ежедневной, ежечасной, а зачастую и ежеминутной коррекции валютных котировок на ведущих мировых биржах.
Chemical Bank ведет активные финансовые операции на валютных биржах 23 стран. Ежедневно в аналитический отдел банка со всего мира стекается информация о тысячах сделок, совершенных брокерами банка. Проанализировать (и даже просмотреть) ее всю практически невозможно. Поэтому в банке развернута крупная программная система фирмы Neural Data, которая осуществляет предварительную обработку информации, "отфильтровывая" подозрительные сделки. С ними-то и работают эксперты аналитического отдела, определяя, что двигало брокером в каждом случае - излишний азарт, недостаток опыта или элементарная недобросовестность.
Финансовая компания LBS Capital Management, установив в своем аналитическом отделе небольшой нейрокомпьютер, добилась существенного повышения точности предсказания биржевых индексов S&P 500 по сравнению с используемыми ранее пакетами статистического анализа.
Консультативная фирма George Pugh специализируется на оценке финансового состояния различных фирм по заказам банков и кредитных компаний. После установки и настройки нейропакета стоимостью $1500, фирма добилась практически 100% совпадения своих предварительных оценок с результатами последующих детальных аудиторских проверок.
Фирма Richard Borst, торгующая недвижимостью, применяет предельно дешевый ("университетский") нейропакет для уточнения оценки выставляемых на продажу домов и квартир. Как свидетельствуют старожилы фирмы, внедрение нейропакета (стоимостью всего $300!) увеличило оборот фирмы в Нью-Йорке и Пенсильвании на 6%.
Мой приятель Джим - журналист-аналитик, работающий в "информационной империи" McGraw-Hill. Весь его офис стоит менее $2000, помещается в кармане и состоит из портативного palmtop-компьютера, факс-модема и нейропакета Brain Maker. Ежедневно Джим подключается к необъятным базам данных McGraw-Hill и при помощи специальной утилиты DataMaker "просеивает" через свой нейропакет мегабайты финансовой, экономической и прочей информации. После нескольких минут яростного перемалывания тысяч и тысяч разнородных цифровых параметров, нейропакет выдает (кстати, в виде изящных таблиц Excel) прогноз ряда макроэкономических индикаторов - на завтра, на неделю и на месяц вперед. Попытка проделать такой объем аналитической работы вручную (даже с использованием вспомогательных программ корреляционного анализа), наверное, привела бы беднягу на больничную койку в первый же день.
В новом американском боевике "The Clear And Present Danger", повествующем о микровойне спецназа США против колумбийской нарко-мафии, можно насчитать около пяти явных примеров применения нейронных сетей администрацией Президента (разумеется, их президента) - в распознавании голоса и речи, в ситуационном моделировании и управлении "интеллектуальной" бомбой.
Можно привести многие тысячи подобных примеров. В мире сейчас известно более 100 фирм, специализирующихся на нейронных сетях и их коммерческих применениях. Только в США таких фирм более 70. Мировой рынок нейросетевых продуктов стабильно растет не менее чем на 40% в год и в 1994 году составил около 600 млн. долларов.
При этом основной объем средств, вкладываемых в индустрию нейронных сетей, приходится не на дорогостоящие уникальные образцы, а на широкий спектр серийных изделий. Так, например, фирма California Scientific Software продала уже в общей сложности 20 тысяч нейропакетов и нейрокомпьютеров по цене от $300 до $50000.
Таким образом, можно констатировать, что в последнее десятилетие западный мир пережил настоящую революцию в использовании нейро-сетевых продуктов. Увы, можно также заключить, что эта революция совершенно не коснулась нашей страны. Так, по данным автора, в банках и финансовых компаниях России применяются сегодня 42 крупных банковских программных системы и лишь 3 из них включают в себя средства анализа и прогнозирования финансовых тенденций.
(Впрочем, положение уже начало меняться - как минимум два московских банка активно осваивают мощные нейропакеты.) А как вы думаете, сколько банков Запада такими средствами обладают? Правильно, все. Каждый западный банк, каждая финансовая компания и большинство крупных промышленных фирм имеют в своем распоряжении программно-аппаратные комплексы для финансового анализа - прогнозирования рыночной конъюнктуры, оценки кредитных и инвестиционных рисков, предсказания курсов акций и валют и многого другого. Некоторые из этих комплексов базируются на использовании традиционных методов корреляционного анализа, некоторые - на аппарате экспертных систем, многие - на нейросетевых решениях. Давайте теперь постараемся ответить на вопрос, как устроены нейронные сети и почему они так привлекают финансистов ?
ПОЧЕМУ ИХ СТРЕЛЫ ЛЕТЯТ ДАЛЬШЕ, ЧЕМ НАШИ КОПЬЯ ?
Что такое нейронная сеть, нейро-плата и нейрокомпьютер? Прежде всего, пусть вас не вводит в заблуждение употребление слова "нейро". Нейронная сеть похожа на мозг человека (и даже муравья) не более чем стакан коктейля па Северный Ледовитый океан. Вы же не воспринимаете буквально такие математические термины как "метод четырех русских" или "алгоритм отжига". Вот и словосочетание "теория нейронных сетей" - не более чем обобщенное название вполне конкретной и формальной области математики.
С математической точки зрения нейронная сеть представляет собой многослойную сетевую структуру, состоящую из однотипных (и сравнительно простых) процессорных элементов - нейронов. Нейроны, связанные между собой сложной топологией межсоединений, группируются в слои (как правило, два - три), среди которых выделяются входной и выходной слои. В нейронных сетях, применяемых для прогнозирования, нейроны входного слоя воспринимают информацию о параметрах ситуации, а выходной слой сигнализирует о возможной реакции на эту ситуацию. Перед постановкой на "боевое дежурство" нейронная сеть проходит специальный этан настройки - обучения. Как правило, сети предъявляется большое количество (сотни и тысячи) заранее подготовленных примеров, для каждого из которых известна требуемая реакция сети. Если сеть реагирует на очередной пример неадекватно, т.е. состояние выходного слоя отличается от заданного, внутренняя структура сети подвергается некоторой модификации для минимизации ошибки (в большинстве случаев корректируются веса соединений).
После определенного периода обучения сеть достигает состояния, соответствующего минимальной суммарной ошибке. Для некоторых задач суммарная ошибка cocтaвляeт 2 - 3%, для других может доходить до 10 - 15%, ряд задач вообще не поддается решению на нейронных сетях. К счастью, прикладные аспекты теории нейронных сетей сегодня насколько изучены, что практически для каждой пользовательской задачи можно най-ти описание наиболее подходящей для ее решения структуры нейронной сети, а также ожидаемое качество результатов. Написаны десятки книг. ежемесячно проходят специализированные конференции и семинары. Достаточно сказать, что груды лишь одного семинара "Искусственный интеллект на Уолл-стрит" составляют шесть увесистых томов!
С коммерческой точки зрения нейронные сети воплощаются в виде программных пакетов (иногда даже поставляемых вместе с исходными текстами, как, например, пакет OWL), в виде плат-акселераторов для персональных ЭВМ, в виде нейро-БИС а также в виде специализированных нейрокомпь-ютеров. Для большинства приложений, кроме самых крутых или очень специфических, на первых порах бывает достаточно простого программного пакета.
Рассмотрим использование нейронной сети для финансовых приложений на простом примере. Представим, что вы - брокер на фондовой бирже и хотите использовать нейропакет для прогнозирования изменений в своем "портфеле игрока". Пусть вас интересуют завтрашние котировки акций двадцати фирм, входящих в ваш "портфель". Интуитивно ясно, что эти котировки зависят (более или менее, прямо или косвенно) от собственных предшествующих значений, от котировок всех остальных ценных бумаг, представленных на бирже, от курсов основных валют и индексов инфляции, от ряда макроэкономических параметров, а также от некоторых дополнительных факторов - вчерашней рекламы, грядущих выборов в Думу и пр. Отлично, пусть все эти факторы образуют вектор входных значений для настройки сети. Теперь соберем данные о биржевой ситуации за достаточно длительный период. Для некоторых видов прогнозов достаточно данных за 1 - 2 недели, для других же необходима выборка за несколько кварталов. В США такие базы финансовых данных сами являются коммерческим продуктом (кстати, не очень дешевым) и аккуратно ведутся в течение многих лет. Есть биржевые параметры, которые регистрируются с 1901 года!
Однако мы отвлеклись. Итак, собраны данные по всем параметрам, которые нам кажутся существенными, за достаточно длительный период. Теперь подготовим данные по искомым выходным параметрам (курсам двадцати акций нашего портфеля) за тот же период - они будут использоваться для обучения. Соберем все данные в одном текстовом файле в виде весьма простой таблички и запустим наш нейропакет в режиме обучения. Если примеров мало, их можно пропускать по нескольку раз. Через пятнадцать минут ваш пакет обучен. Для самоуспокоения потес-тируйте его на паре-тройке примеров - и назавтра вы сможете предъявлять ему реальные данные по биржевой ситуации, а в ответ получать прогноз относительно завтрашнего состояния ваших акций. Все?
Нет, не все. Добавьте маленькую программку, позволяющую вашему пакету автоматически обновлять данные, получая их непосредственно из сводок, распространяемых по электронной почте. Теперь в ваших руках действительно мощное оружие, способное, не отнимая времени и сил, вооружать вас знанием биржевых тенденций и даже подсказывать стратегию биржевой игры.
Давайте теперь вкратце перечислим основные преимущества нейронных сетей:
1. Наиболее ценное свойство нейронных сетей - способность обучаться на множестве примеров в тех случаях, когда неизвестны закономерности развития ситуации и какие бы то ни было зависимости между входными и выходными данными. В таких случаях (а к ним можно отнести до 80% задач финансового анализа) пасуют как традиционные математические методы, так и экспертные системы.
2. Нейронные сети способны успешно решать задачи, опираясь на неполную, искаженную, зашумленную и внутренне противоречивую входную информацию.
3. Для использования методов корреляционного анализа вам понадобится профессионал-математик. Эксплуатация обученной нейронной сети по силам и старшекласснику.
4. Нейросетевые пакеты позволяют исключительно легко подключаться к базам данных, электронной почте и т.д. и автоматизировать процесс ввода и первичной обработки данных.
5. Внутренний параллелизм, присущий нейронным сетям, позволяет практически безгранично (насколько хватит кошелька) наращивать мощность вашей нейросистемы. Вы можете начать с простого и дешевого пакета, потом перейти на профессиональную версию, потом добавить одну-две-три платы-ускорителя, потом перейти на специализированный нейро-компьютер - с гарантией полной преемственности всего ранее созданного программного обеспечения.
ПАКЕТ BRAIN MAKER: ПЕРВЫЙ СРЕДИ РАВНЫХ
Итак, на мировом рынке представлены десятки нейросетевых изделий, разнящихся по назначению, возможностям и цене. Какой из них предпочесть? Разумеется, это зависит от поставленной задачи и серьезности ваших намерений. Наиболее крупные банки и финансовые корпорации, такие как Manhattan Bank или American Express, могут себе позволить нейросетевые системы на базе суперкомпьютеров SNAP фирмы HNC и CNAPS фирмы Adaptive Solutions по цене от $50000. Те, кто ориентируется на использование нейропаке-тов на традиционных компьютерах, часто выбирают программы фирм Neuron Data и Nestor, либо ExploreNet фирмы HNC. Однако это также весьма дорогие и мощные системы, создаваемые "под ключ" но заказу серьезных клиентов.
А что делать тем, кто только начинает знакомиться с нейронными сетями и пока не ощущает потребности в установке супердорогих систем? О, для них создан целый спектр недорогих нейропакетов, издаются специальные журналы и проводятся многочисленные конференции. Давайте для примера познакомимся с одним представителем класса "нейропакетов для большинства", семейством Brain Maker фирмы CSS (California Scientific Software), причисляемым многими аналитиками к числу лидеров.
Brain Maker v-3.1 - новая версия популярного нейросетевого пакета BrainMaker фирмы CSS, получившего в 1990 году приз журнала PC Magazine "Лучший программный продукт года".
Первоначально разработанный фирмой Loral Space Systems по заказу NASA и Johnson Space Center, пакет BrainMaker был вскоре адаптирован для коммерческих приложений и сегодня используется несколькими тысячами финансовых и промышленных компаний, а также оборонными ведомствами США для задач прогнозирования, оптимизации и моделирования ситуаций.
Назначение пакета BrainMaker - решение задач, для которых пока не найдены формальные методы и алгоритмы, а входные данные неполны, зашумлены и противоречивы. К таким задачам относятся биржевые и финансовые предсказания, моделирование кризисных ситуаций, распознавание образов и многие другие.
BrainMaker решает поставленную задачу, используя математический аппарат теории нейронных сетей (более конкретно - сеть Хопфилда с алгоритмом обучения back propagation). В оперативной памяти строится модель многослойной нейронной сети, которая обладает свойством обучаться на множестве примеров, оптимизируя свою внутреннюю структуру. При правильном выборе структуры сети и обучении на достаточно большом количестве примеров можно добиться достоверности результатов в 97% и даже выше.
BrainMaker 3.1 может работать на IBM PC AT 286 и выше с объемом оперативной памяти от 640 байт. Существуют версии BrainMaker для MS DOS и MS Windows, а также для Apple Macintosh.
Базовая (и наиболее массовая - 16 тысяч проданных копий) версия пакета BrainMaker стоит $950. Кроме нее в семейство BrainMaker входят также:
Версия пакета для университетов, BrainMaker Student стоимостью всего $295. Она особенно популярна у небольших фирм и программистов-"надомников", специализирующихся на создании приложений для не очень сложных задач. Вероятно, она получит распространение и у нас, поскольку американские ограничения на продажу ее только студентам в современных российских условиях воспринимаются как абстракция.
Toolkit Option набор из трех дополнительных программ, увеличивающих возможности BrainMaker:
Binary - переводит обучающую информацию в двоичный формат для ускорения обучения;
Hypersonic Training - использует высокоскоростной алгоритм обучения;
Plotting - отображает факты, статистику и другие данные в графическом виде.
BrainMaker Professional ($1495) профессиональная версия пакета BrainMaker с расширенными функциональными возможностями. Включает в себя все опции Toolkit. Число нейронов в слое увеличено до 8192 (для Windows-версии - до 37767).
Genetic Training Option (для BrainMaker Pro) - программа автоматической оптимизации нейронной сети для решения заданного класса задач, использующая генетические алгоритмы для "селекции" наилучших решений.
DataMaker Editor - специализированный редактор для автоматизации подготовки данных при настройке и использовании нейронной сети.
Training Financial Data - специализированные наборы данных для настройки нейронной сети на различные виды аналитических, коммерческих и финансовых операций. Включают реальные значения макроэкономических показателей NYSE, NAD-DAW, ASE, ОЕХ, DOW и других, индексы инфляции, статистические данные биржевых сводок по различным видам продукции, а также информацию по фьючерсным контрактам и многое другое.
BrainMaker Accelerator - специализированная нейроплата-акселера-тор на базе сигнальных процессоров TMS320C25 фирмы Texas Instruments. Вставленная в Ваш персональный компьютер AT 386, 486 или Pentium, она в несколько раз ускоряет работу пакета BrainMaker. Так, плата BrainMaker Accelerator ускорит компьютер PC 486DX-50 в три раза.
BrainMaker Accelerator Pro - профессиональная многопроцессорная нейронная плата. Она содержит пять сигнальных процессоров TMS320C30 и от 5 до 32 Мб оперативной памяти. Вставленная в ваш PC 486DX-50, она ускорит его более чем в сорок (!) раз.
Для иллюстрации возможностей плат-акселераторов можно привести несколько цифр, характеризующих быстродействие пакета BrainMaker на различных компьютерных платформах. Основной характеристикой, используемой для определения производительности нейросетевых изделий, является количество элементарных операций (обработки одного соединения между нейронами) в секунду. Быстродействие пакета Brain Maker характеризуется следующими цифрами:
80286 / 12 МГц - 125 000 соединений / сек
80386 / 33 МГц - 495 000 соединений / сек
80486 / 33 МГц - 700 000 соединений / сек
80486 / 50 МГц - 1 000 000 соединений / сек
Accelerator Board - 3 000 000 соединений / сек
Accelerator Pro - 41 300 000 соединений / сек
"КЛИЕНТ ГОТОВ"
Определенно, российский рынок созрел для использования нейронных сетей. Косвенным подтверждением этого может служить реакция на редкие статьи по данной тематике, время от времени появляющиеся в прессе. Вышедшая три года назад в "Журнале доктора Добба" обстоятельная статья "От нейрона к нейрокомпьютеру" (N 1, 1992) не нашла практически никакого отклика - так, пара вялых звонков. Реакция на достаточно короткую статью в январском номере журнала "Монитор" ("Нейронные сети на пути к российскому рынку", 1995) была диаметрально противоположной. Десятки звонков, дюжина заманчивых предложений, множество вопросов о возможностях различных систем и условиях поставок. Так что не сегодня-завтра можно ожидать первых презентаций инициативных фирм, желающих ухватить "синюю птицу" сверхприбылей, которые сулит новый рынок.
А есть ли нейросети в России уже сегодня? Да, есть. Узок их круг, страшно далеки они от народа. Однако только за последний месяц в России было продано (практически без всякой рекламы!) почти два десятка нейропакетов, по цене от обычной персоналки до приличной иномарки. Столько же было распространено на условиях, близких к share-ware (т.е. почти даром). И есть явные признаки того, что в ближайшее время спрос на нейросистемы возрастет.
Уже сегодня нейропакеты в Москве используют:
- крупная компания, специализирующаяся на оптовых поставках зерна - для прогнозирования урожаев и потребности в зерновых культурах;
- два средних размеров банка - для проведения биржевых операций и анализа кредитных рисков;
- три крупных правительственных учреждения - для ситуационного моделирования и экономического прогнозирования;
- небольшая финансовая компания - для игры на фондовой бирже; химический институт - для анализа результатов химических реакций;
- пара полузакрытых НИИ - для обработки сигналов и изображений;
- несколько небольших компьютерных фирм - для создания собственных пакетов для биржевых и финансовых приложений.
Кстати, на новорожденном российском рынке нейросистем уже наметились первые рыночные тенденции. Наиболее активно нейропакеты для финансовых приложений приобретают и осваивают не банки, большие, осторожные и неповоротливые, а маленькие шустрые фирмы, которые спешат построить флотилию самодельных аналитических систем и первыми выйти в плавание по неспокойным волнам нашего финансового рынка. В их действиях просматривается простой экономический расчет. Предложите нейро-систему любому банку и вам ответят, что инструментальный пакет за $1500 им не нужен, а вот настроенную систему, способную решать их насущные задачи и увеличивать прибыль от биржевых операций они, пожалуй, возьмут и за 20 тысяч (кстати, примерно столько стоят лицензии на хорошие западные пакеты). А настроенную систему можно сделать из упомянутого инструментального пакета за пару месяцев, имея двух программистов и ящик черного кофе. Подсчитали прибыль? Кстати, именно так зарабатывает деньги большинство фирм, специализирующихся на нейронных сетях. Около 55% объема рынка нейросистем составляют не программные пакеты и не аппаратные средства, а заказные системы, сдаваемые "под ключ".
Не менее привлекательным представляется создание собственных небольших тиражируемых пакетов для различных клиентов - торговцев недвижимостью, страховых компаний, медиков и др. Вложив 300 долларов и немного фантазии, любой программист-одиночка может стать автором и владельцем оригинального нейросетевого пакета, способного, например, автоматически ставить диагноз по рентгенограмме или идентифицировать собеседника но голосу. Американцы любят рассказывать легенды об умельцах, "сделавших себя" на разработке подобных приложений. Что ж, попутного ветра!
Масалович Андрей Игоревич - кандидат физ.-мат. наук, автор более 100 печатных работ.
Окончил МАИ (факультет прикладной математики) в 1984 г.
Лауреат стипендии РАИ "Выдающимся ученым России" за 1993 г.