В нашем мире происходит непрерывная эволюция. Неважно в какой отрасли. Будь то цивилизация, общество или наука. Сродни человеческой эволюции развиваются информационные технологии. От поколения к поколению создается что-либо новое, неизведанное, которое раньше казалось утопией. Интересно посмотреть, что же ожидает нас в компьютерном мире.
Сейчас человечество активно использует компьютеры пятого поколения. Это и навороченные Intel-машины с HyperTreading (которые, кстати, ошибочно относят к шестому поколению), и самые обычные непроизводительные компьютеры. История развития компьютерной техники оставила свой отпечаток – компьютеры пятого поколения исполняются на супер больших интегральных схемах, поэтому никто не имеет право превозносить даже самые производительные машины.
Утопия или эволюция?
Микропроцессоры уже изжили себя. Частота, доведенная до предельных значений, несомненно радует глаз человека и программное обеспечение, которое он использует. Переход к машинам следующего поколения вполне логичен: новая технология должна раз и навсегда решить проблему производительности и пропускной способности. Данные по проводам будут передаваться со значительными
большими ограничениями, нежели по более совершенным каналам связи.
И тут человек задумался, проведя простую параллель между электроникой и... человеческим мозгом. Да, именно с помощью этого, до конца не изученного органа можно было сотворить идеальную машину - нейрокомпьютер.
На самом деле, я немного приукрасил ход событий, допустив две исторических ошибки. Во-первых, нейротехнология всегда требовала выполнения лишь определенных задач, непосильных для обычного “железного” компьютера. Во-вторых, первые упоминания об этой технологии появились еще в далеком 1943 году, в то время, когда об обычных машинах лишь мечтали. Но обо всем по
порядку.
Историческая нить
Базу для нейротехнологии заложили два известных ученых. Это Уоррен Маккалок
и Уолтер Питтс. Пытаясь сформировать математическую модель человеческого мозга, они невольно сформулировали главные принципы построения простейшей нейросети.
Вообще, нейросеть это параллельная сеть, которая связывает ряд простых элементов. В роли последних выступают нейроны – главные компоненты головного мозга. Такая сеть должна взаимодействовать с объектом сродни нервной системе. Главное требование к нейросети – приближенное восстановления отображения по заданному ряду его значений. К сожалению, в 1943 году первые упоминания о нейросети были лишь теорией.
Время шло, ученые менялись. И вот наступает долгожданный 1958 год, когда ученые-кибернетики во главе с Френком Розенблаттом изобрели первую нейромашину – перецептон (perception - восприятие). Данная модель умела решать простые задачи классификации, а обучение нейрокомпьютера занимало всего полчаса на самом мощном в те времена IBM-704. Перецептон применялся для распознавания изображений, точнее это была его главная цель. Если верить историческим данным, со своей задачей он справлялся на “отлично”.
Как видно, перецептон произвел огромное впечатление на ученых, а сама нейротехнология показалась им весьма перспективной и модной наукой. Перецептон постоянно дорабатывался, вплоть до 1969 года. Это именно то время, когда научное течение ждал временный анабиоз, вплоть до 1982 года. Что же послужило закрытию научных проектов?
На самом деле все просто. Ученые со временем стали понимать, что от перецептона не добиться выполнения абсолютно всех задач. Он умел лишь сравнивать объект с каким-либо зашитым эталоном, моделью. Не более. Все ожидания ученых от нейромашины оказались напрасными, поэтому о науке забыли на долгие годы.
Итак, 1982 год. Джон Хопфилд с помощью специальных методов теоретической физики разработал модель ассоциативной памяти нейронной сети. Последняя очень приглянулась
Агентству перспективных военных исследований
(DARPA) США. Военные нуждались в новой технологии, поэтому нейромашины нашли свое новое применение. Через четыре года
Дэвидом Румельхатом был придуман многослойный перецептон, который обучался по принципиально новому методу "обратного распространения ошибки". Его возможности на порядок превышали первые модели, поэтому многослойная нейромашина быстро нашла свое применение.
Принцип работы нейромашин
Даже в описании исторического развития нейромашин я упоминал неизвестные термины. Время расставить все точки над “i” и рассказать о принципе работы нейрокомпьютера.
Исходя из вышеописанного, нейрокомпьютер имеет два режима работы – обучающий и обычный. В обучающем режиме, машина учится успешно выполнять поставленную задачу. Рассмотрим традиционный метод обучения, который называется "метод обратного распространения ошибки". Сперва, с помощью заранее известных исходных данных и результатов,
происходит обучение сети посредством подачи входных данных. На выходе сравнивается значение сети с реальным результатом. Естественно, что необученная сеть будет выдавать неверные значения. Но веса нейтронов корректируются и со временем данные принимают достоверный вид. После того, как погрешность принимает допустимое значение, сеть переводят в рабочий режим. На вход поступают данные, они обрабатываются, и на выходе получаем ответ с определенной долей вероятности. Так работает примитивная нейронная сеть обратного распространения. В действительности, существует большое количество разнообразных способов увеличения точности ответов и ускорения обучения сетей.
Применение технологии
Нейротехнология никогда не обрела такой масштабной популярности, если бы не интерес силовых ведомств. Именно благодаря им нейрокомпьютеры нашли свое первое применение. Это контроль воздушного пространства, который включает детектирование цели и ее анализ, вскрытие криптоалгоритмов, моделирование военной обстановки и многое другое. Даже сейчас в НИИ ведутся работы по составлению новейших алгоритмов. Последние, естественно, разглашать никто не хочет.
В наше время нейромашины применяются практически во всех областях деятельности. Нейросеть незаменима при решении задач, в которых отсутствует алгоритм или не известны принципы решения, но накоплено достаточное количество примеров. Также при неполных, зашумленных или противоречивых данных, либо просто при большом количестве входной информации. Таким образом, технологию используют при проверке достоверности подписей, документов, отпечатков пальцев и т.д.
Раз уж я заговорил о новых методах аутентификации, то следует отметить тот факт, что нейрокомпьютеры широко используют работники службы безопасности. Так, например, способности нейросетей к классификации применяются для отслеживания операций с крадеными кредитными картами и поддельными чеками. Специализированная система Falcon фирмы HNC позволяет по частоте сделок и характеру покупок выделить подозрительные операции и сигнализировать об этом. Благодаря этой системе потери банков от таких операций заметно уменьшились. В настоящее время Falcon контролирует более 260 миллионов счетов 16 крупнейших эмитентов кредитных карт. Аналогичная система, разработанная фирмой ITC, используется для обработки операций с кредитными картами Visa. В 1995 году с помощью этой системы были предотвращены нелегальные сделки на сумму более 100 миллионов долларов.
Не менее важной целью использования нейромашин является распознавание человеческой речи. Как правило, это нужно для управления какими-либо процессами. Этой узкой целью занимается компания "НейроПроект". Недавно был создан проект системы для речевого управления встроенным калькулятором Windows. Система уверенно распознает любое из 36 слов, сказанных в микрофон любым человеком. Для классификации используется двухкаскадная иерархическая нейросеть, где первый каскад состоит из одного перцептрона (1000 входов, 24 нейрона в скрытом слое, 6 выходов), а второй каскад - из 6 перцептронов с различными параметрами. Первый перцептрон осуществляет грубое распознавание слова, относя его к одному из 6 классов. Роль второго каскада - точно классифицировать слово внутри каждого из классов.
НardWare
Все вышеперечисленные разработки относятся к программному обеспечению. Если судить об аппаратном, то в этой отрасли лидирует компания Intel. Еще в 1989 году был представлен первый промышленный образец i80170NX ETANN (Electrically Trainable Analog Neural Network), процессор, который использовался в военном нейрокомпьютере. Применение распараллеленной архитектуры в нейропроцессоре позволило добиться производительности 2 миллиарда операций в секунду. Данный процессор (и его преемник - i80160NC) весьма успешно работает в различных системах, в которых необходимо решение
не формализуемых задач.
Вслед за Intel разработкой процессоров заинтересовались и другие компании: Motorola, Echelon, IBM, Siemens, Fujitsu и другие.
Что касается российского вклада в науку, хочется отметить фирму НТЦ "Модуль", вышедшую на компьютерный рынок в 1998 году. Компанией был представлен нейропроцессор NM6403. Его спроектировали и разработали Российские инженеры, правда, производится нейропроцессор на мощностях компании Samsung.
Слово компаниям
Информация имеет свойство устаревать. Чтобы проверить ее достоверность и актуальность, я решил опросить ряд компаний, которые более-менее компетентны в такой сфере, как нейротехнология. К сожалению, далеко не все фирмы откликнулись на мою просьбу о сотрудничестве, но все же некоторые данные удалось получить.
В опросе принимали участие следующие компании:
StatSoft Industry (www.statsoft.ru). Представитель: Гусаров Юрий.
NeuroProject (www.neuroproject.ru). Представитель: Персианцев И.Г.
NeuralWare (www.neuralware.com). Представитель: Bob Everly.
НТЦ "Модуль" (www.module.ru). Представитель: Лысенко Т.Л.
Представитель последней фирмы ответил, что “Модуль” более не занимается нейроразработками, поэтому ответы на все вопросы получить не удалось. Компания дала лишь сведения о своем процессоре NM6403. Зарубежная фирма NeuralWare также посчитала себя некомпетентной в некоторых вопросах, поэтому ответы на них не прозвучали вообще.
Когда по вашему мнению нейрокомпьютеры окончательно сместят текущие PC 5 поколения? Примерно через сколько лет люди забудут о PC?
StatSoft: В ближайшее время PC ничего не грозит. Должно пройти еще много времени для начала массового производства и внедрения нейрокомпьютеров (если это вообще произойдет).
NeuroProject: Никогда, потому что огромное количество задач могут быть решены с помощью строгих математических методов с высокой точностью, недоступной нейросистемам.
NeuralWare: Нейрокомпьютеры нельзя относить к какому-либо поколению. Это отдельная узконаправленная наука, которая никогда не соприкоснется с обычными PC. Все, что умеет PC, не умеет нейро и наоборот.
Что планируется выпускать Вашей компанией? Какой статус Вашей фирмы на текущий момент? Чего вы добились в нейротехнологии?
StatSoft: Нашим главным достижением является система STATISTICA Neural Networks. Она соответствует самым современным технологиям и показывает наилучшие рабочие характеристики среди нейросетевых пакетов, представленных сейчас на рынке программного обеспечения. Эта система предоставляет огромное количество уникальных возможностей и будет полезна не только экспертам по нейронным сетям (предоставляя им широчайший выбор типов нейронных сетей и алгоритмов обучения), но и новичкам в области нейросетевых вычислений (для них предусмотрены такие инструменты, как Мастер решений, который проведет пользователя через все необходимые этапы создания нейронной сети). Наш пакет с успехом применяется на нескольких крупных российских предприятиях для моделирования технологических процессов.
В системе реализованы следующие возможности:
- Пре- и пост-процессирование;
- Анализ главных компонент и Понижение размерности;
- Самые современные, оптимизированные и мощные алгоритмы обучения сети;
- полный контроль над всеми параметрами, влияющими на качество сети, такими как функции активации и ошибок, сложность сети.
Также мы предлагаем дополнительный продукт - генератор исходного кода, который создает исходный системный код нейросетевой модели (в виде файла на языке C, C++, C#), который можно отдельно скомпилировать и интегрировать в вашу программу.
NeuroProject: Наша компания занимается разработкой нейросетевых (и не только) алгоритмов и их программной реализацией для решения научных и прикладных задач. Мы являемся партнером и официальным эксклюзивным дистрибьютором американской компании Ward Systems Group Inc., соавторами серии программных продуктов этой компании. В частности, программный продукт GeneHunter (надстройка Excel, реализующая генетические алгоритмы) разработана нашими сотрудниками.
NeuralWare: Мы производим различное программное обеспечение для нейрозадач. Полный список приводить не имеет смысла – посетите наш сайт
www.neuralware.com. Одно скажу, отличительной особенностью нашей компании является то, что наш софт распространяется практически под все платформы.
Насколько востребована нейротехнология. Как вы считаете, легким ли будет переход к эпохе нейрокомпьютеров?
StatSoft: Нейротехнология сейчас занимает свою нишу, контуры этой ниши уже примерно определены спектром задач, которые сводятся к распознаванию образов. Я сомневаюсь в том, что переход вообще произойдет, а если и произойдет, то очень нелегко.
NeuroProject: Ровно настолько, насколько она помогает решать задачи, не решаемые методами традиционной математики. Например, трудно представить существование строгой математической модели, по которой опытный врач ставит диагноз как на основании множества данных объективных анализов, так и не формализуемых характеристик пациента, таких как, например, выражение глаз, голос, состояние кожного покрова и т.п. Что касается перехода, его сложность не превысит перехода к персональным машинам.
NeuralWare: Я уже сказал, что мы никогда не соединяли нейротехнологию и PC-архитектуру. Это две разные вещи. Сама же нейротехнология в наше время очень востребована и используется во многих отраслях. Производится финансирование на новые алгоритмы, поэтому наука до сих пор разрабатывается различными научно-исследовательскими организациями.
Кому в наше время больше необходим нейрокомпьютер. В официальных источниках сказано, что нейротехнологию используют военные, ученые и спецслужбы. Так ли это?
StatSoft: Да, действительно, некоторые задачи, которые возникают в среде военных, ученых, спецслужб, и не поддаются решению классическими методами, успешно могут быть решены с помощью применения нейротехнологий. Кроме того, нейронные сети находят широкое применение в медицине и финансах (на фондовых рынках).
NeuroProject: Это далеко не полный перечень. Еще медицина, экология, финансы... Примеры можно найти практически в любой отрасли человеческой деятельности.
NeuralWare: Технология применяется в различных отраслях, а не только в военных целях, как вы сказали. Задачи, которые под силу лишь нейротехнике могут потребовать решения практически в любой отрасли. Но, к сожалению, многим не по карману программное обеспечение, которое способно решить проблему.
Расскажите про историю вашей компании. Почему вы стали заниматься именно нейроразработками?
StatSoft: Компания StatSoft Inc. существует на рынке уже почти 20 лет. Основное направление ее деятельности - производство программного обеспечения для статистического анализа и визуализации данных. С некоторого времени оказалось, что нейросетевые методы могут успешно дополнить методы классической статистики, и расширить области применения производимого ПО. И тогда
нейросетевой пакет вышел в производство.
NeuroProject: Как физики-экспериментаторы, мы, более 10 лет назад, столкнулись с необходимостью в реальном масштабе времени решать задачу автоматического управления сложной физической установкой. По
математической постановке данная задача относится к классу обратных задач, т.е. по значению функции нужно определить значения переменных. В нашем случае, например, было необходимо, измеряя спектр свечения плазмы газового лазера, регулировать давление, состав газовой смеси и напряжение на разрядной камере, чтобы удерживать установку в нужном режиме. Зная давление, состав газовой смеси и напряжение на разрядной камере, расчет спектра свечения плазмы представляет собой прямую задачу и не составляет особого труда. Решение обратной задачи традиционными методами математики - процедура весьма длительная, в то время как натренированная нейронная сеть дает ответ практически мгновенно. Именно это послужило толчком к началу наших работ в данном направлении.
По официальным данным, нейротехнология зародилась еще с 43 года, когда учеными была составлена математическая модель мозга. Чуть позже был придуман первый нейрокомпьютер перцептрон. Какое время вы бы отнесли к началу развития нейротехнологии?
StatSoft: Конец 1970-х годов. Дело в том, что в 1969 году вышла книга Минского и Пейперта (M. Minsky & S. Papert), в которой была доказана принципиальная ограниченность возможностей известных на тот момент типов нейросетей. Потребовалось около десятилетия на то, чтобы накопить новые знания о деятельности мозга, разработать новые типы нейронных сетей, и тем самым возобновить интерес к искусственным нейронным сетям. Кроме того, до конца 70-х их развитие тормозилось недостаточным прогрессом в области микроэлектроники и компьютерной техники.
NeuroProject: Если говорить о начале широкого использования нейронных сетей, то это - появление персональных компьютеров.
NeuralWare: Нейротехнология как наука зародилась в конце 60-начале 70-х годов, несмотря на то, что первые упоминания о нейромашинах были значительно раньше.
Сейчас нейротехнология направлена на решение определенных задач (распознавание речи, образов). Будет ли этот спектр расширен до такого, что нейрокомпьютеры смогут решать абсолютно все задачи?
StatSoft: Нет. Методологии, с помощью которой можно было бы решить все задачи, не существует, это утопия.
NeuroProject: Вряд ли. Нейрокомпьютеры умеют “чувствовать”, но не умеют логически мыслить. Конечно, возможно объединение PC и нейро в одно целое, но, думаю, такого не произойдет.
NeuralWare: Предположение противоречит доказательству Пейперта и Минского, которое гласило, что нейромашина никогда не будет способна решать абсолютно все задачи. Поэтому ответ на Ваш вопрос – нет.
Известно, что каждая нейросистема должна пройти свой период обучения. Какое время составляет самый мощный (на этот момент) нейрокомпьютер и что необходимо делать для уменьшения этого времени?
StatSoft: Затрудняюсь ответить о времени обучения самого мощного нейрокомпьютера. Не вижу методов для качественного уменьшения времени обучения - это характерная черта и слабое место нейротехнологии.
NeuroProject: Здесь, наверное, уместно уточнить следующее. Следует различать программную имитацию нейронной сети и ее реализацию в микросхеме или в специализированном компьютере. В настоящее время широко используется именно программная реализация нейросетевых систем на обычных вычислительных машинах, где все вычисления в принципе выполняются последовательно. Универсальный
нейрокомпьютер в "железном" воплощении - дело обозримого будущего.
Теперь о времени обучения. Во-первых, существует множество различных
нейросетевых архитектур, и время обучения для них различно. Для обучения некоторых - достаточно однократного предъявления тренировочного набора, другие же требуют предъявить этот набор много тысяч раз. На нынешних персональных компьютерах в зависимости от задачи время обучения может составлять от долей секунд до нескольких суток.
Что необходимо делать для сокращения времени обучения – повышать производительность компьютера. Принципиальное качество нейровычислений - абсолютная параллельность, поэтому с развитием параллельных вычислительных машин и аппаратных решений нейросетевых архитектур время обучения сократится на много порядков величины.
Какие цели нейротехнологии наиболее востребованы и почему (распознавание речи, аутентификация, отслеживание подписей и т.д.)?
StatSoft: 1) Распознавание подписей и другой биометрической информации в системах аутентификации. Здесь нейросети демонстрируют самое высокое качество распознавания. Все эти задачи объединены под названием "классификация и распознавание образов".
2) Прогнозирование одних показателей (величин) по другим. Нейронные сети могут смоделировать зависимость любой степени сложности, и этим они выигрывают перед другими методами.
NeuroProject: На эту тему можно много и аргументировано фантазировать - в каждой области человеческой деятельности найдется задача для этих технологий.
NeuralWare: Технология применяется для аутентификации, распознавания образов, а также для анализа подписей. Этим заинтересованы военные и специальные службы, из-за чего данным целям отдается наибольший приоритет.
Как обстоит дело с интеграцией безопасности и нейрокомпьютеров? Есть ли вероятность ошибки при распознавании образа, речи, голоса человека в системах с нейроанализом? Какие методы контроля за ошибками вы бы выделили?
StatSoft: Вероятность ошибки есть. В хороших системах она составляет около 0.01%. Существует множество методов контроля за погрешностью нейросистем. Есть разные внешние факторы, которые могут повлиять на качество работы нейросистем. Например, если при сборе информации для ее обучения человек ошибся, это, конечно же, повлияет на работу нейросети, и сама технология здесь не при чем. Собственно говоря, процесс обучения нейросистемы это и есть процесс последовательного уменьшения погрешности.
NeuroProject: Вероятность ошибки безусловно есть, если нет признаков, по которым образы различаются (как, например, различить две одинаковых монеты одна от другой) или нейронная сеть при обучении не имела примеров образов какого-то класса. Нейронную сеть лучше использовать в тех случаях, когда надо получить качественный ответ – к какой категории относится данный образ, например, какая это буква, чье это лицо, много или мало, куда изменится цена акций - в сторону уменьшения или увеличения и т.п. В случае определения количества, ответ всегда будет приближенным.
Например, можно обучить сеть перемножать числа, но на вопрос, сколько будет дважды два, можно получить ответ 3,98 или 4,03.
NeuralWare: Во всем есть ошибки. Погрешность определяется качественным аппаратным обеспечением, а также алгоритмом обучения нейросети. Обычно вероятность ошибки колеблется от 0.01 до 0.03%.
Какие самые передовые нейропроцессоры вы бы отметили? Каков
российский вклад и вашей компании в частности в создании нейрожелеза?
StatSoft: Наша компания не занимается нейрожелезом, мы используем лишь нейросетевые пакеты для работы на обычных PC.
NeuroProject: В данном вопросе мы не компетентны, поскольку занимаемся не аппаратными, а программными средствами.
Модуль: В 1998 году мы выпускали процессор NM6403. Область применения NM6403 довольно широка. Он используется для обработки видеоданных, в радиолокационных системах и в криптографии. Весьма интересен созданный на базе нейропроцессора аппаратно-программный комплекс "Трафик-Монитор", который измеряет в реальном масштабе времени статистические характеристики транспортного потока для последующего принятия решения по организации и регулирования дорожного движения. Он позволяет измерить не только общее количество прошедших транспортных средств, но и классифицировать их по типам.
Что касается общей картины о производителях, то качественными разработками отличается фирмы Intel и IBM.
Востребованы ли специалисты по нейротехнологиям в наше время. Как много таких специалистов? Какова их примерная заработная плата?
StatSoft: Не обладаю такой информацией.
NeuroProject: По нашему опыту можно заключить, что у нас такие специалисты востребованы в аналитических отделах крупных банков, финансовых и торговых компаний. Уровень их зарплаты нам не известен.
Что вы можете сказать о ценах на нейропроцессоры и на нейромашины в целом. Уменьшаются ли они со временем?
StatSoft: Уменьшаются, как и должно происходить с ценами на технологические новшества.
NeuroProject: Если речь идет о железе, то вопрос не по адресу. Если о программном обеспечении, то цены на программные продукты находятся в диапазоне от сотни долларов до десятков тысяч.
Подведение итогов
В результате опроса можно сделать вывод, что
объединить нейромашины с PC компьютерами не
получится. Хотя бы потому, что нейротехнология направлена на решение распознавательных задач, а PC – полностью логическая структура. Хотя, на мой взгляд, человек может объединить какие угодно технологии, и сделать это довольно успешно. Использование же нейромашин в повседневной жизни человека позволит решить проблему ограниченной пропускной способности и производительности. Уже сейчас ведутся первые попытки объединения нейромашин в большую сеть, а также составление нейрокластеров. И это только начало...