Свежий номер №20 (445) / Нейросимуляция
 
Дата публикации: 24.05.2002

VAN, volov@uni-scope.com

 
Страница 1
Страница 2 >>

Многочисленные золотоискатели, отправившиеся на поиски нейросетевого счастья лет десять тому назад, быстро смекнули, на чем надо делать деньги. Зачем самому искать золото, когда к твоим услугам толпы страждущих, но без инструментов и знаний? Гораздо проще продавать все новые и новые инструменты и чуть-чуть собственного опыта! Сегодня на рынке программного обеспечения есть нейросимуляторы на любой вкус и цвет - ознакомьтесь для примера с далеко не полным списком подобных программ на canopus.lpi.msk.su/project31/software.html.

Так вот ты какой, северный олень!

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

В отличие от них, толковый нейросимулятор 1 легко приспособить для решения практических задач на персональном компьютере, если не требуется производить вычисления как можно быстрее. Вообще-то, нейронные сети только при обучении охочи до вычислительных ресурсов, а будучи обученными, работают очень шустро. Тем не менее, существуют симуляторы, поддерживающие нейроускорители - платы с процессорами цифровой обработки сигналов (DSP). Признаком добротного симулятора является подробное описание по применению с вводным курсом в теорию НС плюс техническая поддержка. Самые продвинутые симуляторы позволяют конструировать НС с экзотическими архитектурами и применять алгоритмы обучения, разработанные пользователем, а также обеспечивают мощное графическое отображение поведения НС при обучении (что очень важно!) и, если верить рекламе, генерируют исходный код на Си++. У «продвинутых», как и следовало ожидать, единственный недостаток - заоблачная цена.

Другой отряд нейросетевого «персонального» программного обеспечения ориентирован на тугие кошельки и оптимизирован под выполнение конкретных задач. Наиболее распространены предназначенные для финансистов нейропредсказатели платежеспособности, банкротства и т. п. Как правило, их интерфейс выполнен «по последней моде», правда, бесплатно пощупать можно только демонстрационные версии, подозрительно смахивающие на «мультяшки», - не реальные нейросимуляторы, а имитацию, дающую на демонстрационных данных великолепные демонстрационные же результаты, по которым сложно оценить возможности продукта. Разумеется, уже появились и русскоязычные версии, и оригинальные российские симуляторы, сделанные с учетом «национальной» специфики.

Кроме того, есть промышленное нейросетевое ПО, эксклюзивное по сути и назначению, намертво взаимосвязанное со специализированным «железом». Последнее осуществляет предварительную обработку поступающих извне сигналов, передает полученные данные (образы) на вход НС, ускоряет функционирование самой НС и выводит готовую информацию в нужном виде. Возможность работы в реальном времени достигается посредством параллельных вычислений с использованием нейропроцессоров или же путем запараллеливания нескольких стандартных DSP. В некоторых случаях одного DSP оказывается достаточно, благо эти процессоры буквально «рождены» для НС, выполняя за один такт операцию умножения с накоплением суммы - наиболее часто используемую операцию в алгоритме любой нейросети. Дополнительные же DSP берут на себя ускорение вычислений на этапе предварительной обработки. Впрочем, на этом этапе НС пока используются больше в исследовательских целях, поскольку реализация совместной (особенно одновременной) работы нескольких НС разного типа не так проста, как казалось ранее.

«Открытые» сведения о промышленном нейросетевом ПО фактически отсутствуют. Ни заказчик, ни изготовитель не склонны раскрывать ноу-хау перспективных направлений и наработок. Из обрывочных сведений известно, что НС управляют разливкой стали, идентифицируют цели на экранах радаров, выявляют незаконные платежи с пластиковых карточек, распознают аномальную работу самолетных и танковых двигателей, идентифицируют объекты по акустическим шумам, выбирают маршрут автономным роботам, дистанционно определяют главное лицо в группе беседующих и т. д.

Неужели преимущества нейросетей столь велики, что весьма немалые затраты с лихвой окупаются? Или шум вокруг нейросетей - лишь очередной способ выманивания денег у инвесторов, зачарованных радужными перспективами «эры интеллектуализации»? И то и другое имеет место, причем трудно сказать, чего больше! Все зависит от того, с кем поведешься, так что избегайте случайных связей и не покупайтесь на клятвенные заверения мигом «горы свернуть».

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

NeuralWorks Pro II/Plus
(Aspen Technology,
www.neuralware.com)

Цена от $1995 до $4995 в зависимости от платформы (DOS, Windows, NT, Sun, RS6000, SGI) плюс $1,5-3 тыс. за консультации, обучение и поддержку. Судя по описанию, один из самых крутых - поддерживаются все известные типы нейросетей и алгоритмов обучения, включая разрабатываемые с использованием средств симулятора, обеспечивается автоматическая оптимизация спрятанного слоя нейронов, графически отображаются функционирование нейросетей и средства диагностики. Профессиональный вариант ($9995-14995), выполненный в виде специализированной среды разработки, позволяет генерировать исходный Си-код и использовать программирование на Си, то есть разрабатывать любые новые нейросети, а также включает пакеты для применений в реальном времени в совокупности с нечеткой логикой и генетическими алгоритмами. К сожалению, демо-версии практически недоступны, а уж про стоимость и говорить нечего: «по-нашему - это шок».


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


NeuroSolution
(NeuroDimension, www.nd.com)

Цена зависит от комплектации и предоставляемых возможностей и колеблется от $195 до $1995. Лицензия для коммерческого использования созданных продуктов - еще $1995. Дополнительный модуль ($195-1495 в зависимости от уровня основной программы) генерирует DLL-библиотеки нейросетей, созданных в NeuroSolution, а удовольствие работать непосредственно из Excel обойдется еще в $195. Приятный сюрприз: из Интернета можно скачать ознакомительную версию (около 11 Мбайт) и одну главу из электронной книги по применению НС (вся книга - $30).

Широкий набор типов нейросетей (Multi Layer Perceptron, модульные MLP, симбиоз IIR-фильтров с MLP, гибридные нейросети, нейросети анализа главных компонентов - PCA, адаптивный фильтр, нейросети с обратными связями, Кохонен, LVQ и т. д.) и алгоритмов обучения: BPE, Momentum, QuickProp, а так же Sanger и Oja для PCA. Общее количество весовых коэффициентов - до одного миллиона. Симулятор прост в освоении, у него хорошая справочная система, прекрасный графический интерфейс (правда, несколько перегруженный украшениями).

Работа с этим нейросимулятором сродни игре в Lego, и создать НС можно четырьмя путями. Первый - с помощью wizard’а - очень полезен для начинающих. По ходу дела «помощник» будет выводить на экран множество информации о выбранной НС и окажет реальное содействие при создании нейросети с запланированной архитектурой. Другой путь - модифицировать прилагаемые демо-макросы. Третий - изменить макеты нейросетей из электронного руководства. Наконец, можно собирать (макетировать) НС «ручками», используя меню и пиктограммы.

Чтобы ввести данные (форматы: ASCII, двоичный, BitMap), достаточно подцепить картинку (объект) ввода к картинке (объекту) входа нейросети и, щелкнув правой кнопкой мыши, сделать необходимые настройки в свойствах объекта ввода. Из приятных мелочей следует отметить объекты вычисления FFT (до 4096 точек) и генератора сигналов (синус, две пилы, прямоугольник). Объекты различной индикации и графиков можно наплодить по своему усмотрению и наблюдать за поведением любого выхода в процессе обучения (рис. 1). Причем программа сама подсказывает, к какому из объектов макета допускается подцеплять новый объект.

Рис. 1

В качестве проверки на работоспособность и отсутствие «дурилок» в демонстрационном режиме я протестировал нейросеть с обратными связями из легкой весовой категории (Elman). Что именно нейросеть должна делать - не столь важно, демо-задачка из тривиальных, зато понаблюдать, как НС будет обучаться, всегда полезно. Все параметры не настраиваю, пребывая в надежде, что фирма постаралась не ударить лицом в грязь. Из десяти стартов НС дважды упорно не пожелала обучиться, чего и следовало ожидать от нейросети с обратными связями. Что ж, спасибо фирме за честность - тем, кто не пытается скрыть присущие продукту недостатки в его демо-версии, можно доверять.

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

MatLab + Neural Network Toolbox
(MathWorks, www.mathworks.com)

Основные преимущества: «все в одном» (для цивилизованных стран) и «горбушечная» псевдодоступность (для России). При покупке цивилизованным способом за каждый компонент этого «флакончика» пришлось бы отваливать немалые деньги: за один нейросетевой «тулбокс» - под $2000, да за MatLab - под $3500 (правда, образовательным заведениям фирма делает скидку).

Этому пакету досталось тяжелое наследство предыдущих версий: командно-строковый интерфейс, украшенный «виндовым» обрамлением. Запомнить все функции и их параметры - все равно что выучить от корки до корки новый язык, правда, по мере терпеливого освоения «языка» его достоинства видишь все лучше.

Набор типов нейросетей стандартен. В версии 3.0 появилась возможность гибкого конструирования НС, а также были добавлены вероятностные и регрессионные нейросети. Несколько веселее с алгоритмами обучения: современный джентльменский набор и алгоритм обучения Levenberg-Marquardt собственной персоной.

Предусмотрен демонстрационный режим, воспользовавшись которым, оценим работу пресловутой НС с обратными связями (Elman). Здесь нейросеть должна предсказать периодические прямоугольные импульсы. На первый взгляд задачка никчемная, но служит хорошей проверкой на работоспособность НС подобной архитектуры. Не меняя настроек, загружаю готовый матлабовский файл, и обучение начинается. За изменением ошибки можно наблюдать в отдельном окне прямо по ходу обучения. Согласно замыслу авторов демонстрашки, ошибка должна достичь величины 0,01. После предусмотренных пяти сотен повторов ошибка опустилась лишь до 1,00 (рис. 2), и как я ни бился, начиная обучение заново, желаемого результата не последовало. Взамен программа предлагала попытаться продолжить обучение или добавить спрятанных нейронов.

Рис. 2

Настораживает заявление фирмы, что максимальное количество нейронов и весовых коэффициентов не ограничено, и это при 16 Мбайт минимально требуемой памяти, если верить описанию! Сколько на самом деле понадобится памяти, чтобы компьютер не впадал в прострацию, MathWorks скромно умалчивает. Но запавшим на матлабовские прелести и желающим не ограничиваться школьными задачками советую запастись памятью, ибо даже 128 Мбайт для этого симулятора - семечки.

BrainMaker
(California Scientific Software, www.calsci.com)

Цена пакета в Штатах варьируется от $195 за обычную версию до $795 за профессиональную (95/98/NT/2000). Реализована только MLP-нейросеть: до 512 нейронов в каждом слое, до 8 слоев, до 32К весов между слоями нейронов 2. Работает с форматами Excel, Lotus, dBase, ASCII, binary. В профи-версии добавлены «финансовые» форматы (CompuTrack, MetaStock, CSI), а также отображение тренда весов во времени, прунинг (шаманство с весовыми коэффициентами) и генерация Си-кода. Задействовано 32-битное ускорение вычислений за счет использования MMX-команд. Поддерживаются нейросетевые платы-ускорители, в частности производства Adaptive Solutions. Любопытная деталь: California Scientific Software не предлагает модные алгоритмы ускорения обучения, делая ставку на аппаратное ускорение, благо дешевеющие, но шустрые в векторно-матричных вычислениях DSP справляются с MLP отменно.

Рис. 3

Демо-версии скачать с калифорнийского сайта нельзя, зато фирма готова прислать свой продукт по почте хоть «к черту на рога» при оплате карточкой. В Москве частично русифицированный BrainMaker продается в «ТОРА-Центре» за 795 у.е. 3 Демонстрашка BrainMaker сделана в лучших традициях черно-белого кино (рис. 3), поиграться можно только рандомизацией весовых коэффициентов. Утверждение, что нейросетевой пакет Brain Maker завоевал симпатии российских финансистов как идеальное «оружие» для «поражения целей» в условиях, максимально приближенных к «боевым», оставлю на совести фирмы. Замечу только, что классический по архитектуре MLP не является идеальным предсказателем в сравнении со специализированными нейросетями.


1 (обратно к тексту) - Например, универсальный штутгартовский симулятор под Unix, к которому приложили руку профессионалы.
2 (обратно к тексту) - В профессиональной версии - до 32К нейронов при якобы неограниченном количестве весов.
3 (обратно к тексту) - Кстати, там же можно найти и «Сборник исходных текстов основных 20 нейронных сетей на языке С» всего лишь за полтора килобакса….

 
Страница 1
Страница 2 >>


VAN
volov@uni-scope.com
 


<< Солнечные собачки
Все материалы номера
Персональный интеллект >>