Краткое содержание прошлой "серии"
Попробуем тезисно обозначить содержание прошлой статьи.
Современные компьютеры подобны левому полушарию нашего мозга и для них характерны: последовательная обработка информации, заданный алгоритм обработки, иерархическая структура алгоритмов, разбиение сложной задачи на простые.
Нейрокомпьютеры подобны правому полушарию мозга и характеризуются параллельной обработкой информации, непосредственным оперированием с целыми образами, алгоритм формируется путем обучения на примерах.
Немного истории
В середине 20 века - начале зарождения компьютерной техники - обозначилось два направления развития компьютеров. Первое направление, возникшее в середине 30-х годов, основывается на доказанную Тьюрингом возможность выполнения сколь угодно сложных вычислений с помощью простейших вычислительных устройств. Машина Тьюринга состояла из ленты с записанной на ней программой и обрабатывающего эту программу автомата. Такая предельно упрощенная конструкция способна вычислять любые рекурсивные функции, обрабатывая информацию последовательно.
В 1945 году в своей докладной записке фон Нейман обосновал принципы организации вычислений в последовательных универсальных ЭВМ. Именно это направление привело к созданию современных компьютеров, сохранив основную идеологию. Ход вычислений последовательный, алгоритм задается извне программистом, компьютеру остается лишь как можно быстрее все это выполнить.
В предыдущей статье мы обсудили те принципиальные проблемы, с которыми сталкивается дальнейшее развитие компьютеров. По всей видимости, последовательные компьютеры скоро не смогут развиваться так же интенсивно, как до сих пор, и не смогут удовлетворять растущие потребности человечества.
Второе направление - нейрокомпьютинг. Ключевая работа Мак Коллока и Питтса по нейро-вычислениям появилась в 1943 году, т.е. на два года раньше докладной записки фон Неймана. Нейрокомпьютинг - вычисление в сетях формальных нейронов, во многом напоминающих обработку информации мозгом. Каждый нейрон в такой сети представляет собой пороговый элемент, на вход которого подаются сигналы с других нейронов, причем каждый входной сигнал умножается на соответствующий ему коэффициент значимости (синаптический вес). Такие сети способны обрабатывать информацию целыми образами, не разбивая ее на части. Нерокомпьютеры предлагают относительно простую технологию порождения алгоритмов путем обучения. Врожденный параллелизм нейрокомпьютинга и способность решать задачи, которые не имеют алгоритма решения, безусловно дают этому способу большие принципиальные преимущества.
Однако последовательная архитектура вычислений имела очень важное преимущество на ранних стадиях развития компьютеров - она позволяла получать полезные результаты уже при малом количестве аппаратуры. Параллельные вычисление требовали не только большего количества аппаратуры, но и больших вычислительных затрат на обучение нейросети. Быстрое развитие вычислительной техники вскоре сняло такого рода ограничения для нейрокомпьютинга.
Первый нейрокомпьютер Snark был построен Марвином Минским в 1951 году. Но практического применения он так и не нашел. Первый успех нейрокомпьютинга связывают с разработкой Френка Розенблатта - персептроном (perception - восприятие). Персептрон был впервые смоделирован на универсальной ЭВМ IBM-740 в 1958 году. Аппаратный вариант персептрона - Mark I Perceptron, был изготовлен в 1960 году и предназначался для распознавания зрительных образов. Его рецепторное поле состояло из 400 точек (матрица 20х20 элементов), и он был способен решать ряд задач, к примеру, распознавать буквы.
Позднее, в 1969 году Минский в соавторстве с Пайпертом дает математическое обоснование принципиальной, как им казалось, ограниченности персептронов. С этого времени ученые охладели к идее нейрокомпьютинга. Интерес к нейросетям пробудился с новой силой лишь в начале 80-х после теоретических робот Джона Хопфилда. Он обогатил теорию параллельных вычислений идеями из области физики и ввел такие понятия, как коллективное взаимодействие нейронов, энергия сети, температура обучения и т.д.
Настоящий бум нейросетей начался после публикации Румельхартом метода обучения многослойного персептрона методом обратного распространения ошибки. При помощи этого метода были сняты ограничения о которых писали Минский с Пайпертом.
Далее я расскажу вам современное состояние дел с нейросетевыми технологиями.
Нейронные сети сегодн
Основная задача нейрокомпьютеров - обработка образов на основе обучения. Подобно биологическим организмам нейросети нацелены на параллельную обоработку широкополосных образов. В новой нейронной схемотехнике, как и в мозге, отсутствуют общие шины, нет разделения на активный процессор и пассивную память. Вычисления, как и обучение распределены по всем активным элементам - нейронам, каждый из которых и есть элементарный процессор образов, который производит хоть и простейшую операцию, но сразу над большим количеством входов. Как вычисления, так и обучение, полностью параллельны. Это дает возможность решать задачи непосильные даже самым мощным суперкомпьютерам, несмотря на миллионнократную разницу в быстродействии элементной базы.
Прогнозы характера обрабатываемой информации в ближайшие десятилетия говорят в пользу увеличения доли именно образной обработки. Так, по мнению Билла Гейтса, через десяток лет до 90% операционной системы будет занято распознаванием образов. Это значит, что ближайшие годы - годы активного развития нейрокомпьютинга.
Сейчас нейросети существуют как бы в трех ипостасях: нейро-эмуляторы - программы, написанные на обычные последовательные компьютеры и способные эмулировать простейшие нейросети; DSP-процессоры (Digital Signal Processor); CNN (Cellular Neural Networks).
Очевидно, что нейро-эмуляторы способны моделировать только работу простейшей нейросети с весьма ограниченными функциями. Выигрыша в быстродействии вообще никакого. Такие эмуляторы можно найти в виде бесплатных программ в Internet.
Развитие современной цифровой техники дало разработчикам богатый конструкторский материал для построения цифровых нейрокомпьютеров. Это по существу специализированные матричные ускорители, использующие матричный послойный характер обработки сигналов в нейросетях. Примерами таких DSP-процессоров может служить продукт Texas Instruments TMS320C80 и российский процессор NM6404 разработанный НТЦ "Модуль" (CR №21(71) 1999 г.). Эти процессоры реализуют сразу две технологии - DSP и RISC.
Однако сама природа нейросетевой обработки информации - аналоговая, и дополнительного выигрыша в скорости вычислений и плотности вычислительных элементов можно добиться, используя специализированную аналоговую элементную базу. Примером такой аналоговой сети с локальными связями между элементами (CNN) может служить процессор Silicon Retina фирмы Synaptics.
Краткие характеристики некоторых существующих процессоров можно почерпнуть из таблицы:
| Название нейропроцессора | Тип | Емкость (нейронов/синапсов) | Производительность, умножений с сумированием в сек
|
|---|
| Silicon Retina (Synaptics) | Аналоговый | 48х48 | ?
|
| ETANN (Intel) | Аналоговый | 64/104 | 2*109
|
| N64000 (Inova) | Цифровая | 64/105 | 9*108
|
| MA-16 (Siemens) | Цифровая | 16/256 | 4*108
|
| RN-200 (Ricoh) | Гибридная | 16/256 | 3*109
|
| NeuroClassifier (Mesa Research Institute) | Гибридная | 7/426 | 2*1010
|
Процессоры эти используются в качестве нейро-ускорителей к обычным PC и используют PCI-шину либо как целый компьютер тоже с PCI-интерфейсом.
Производительность современных нейро-процессоров нагляднее всего можно представить в сравнении с существующими природными нейросетями:
Как видно, современные нейро-процессоры чуть посообразительнее мухи, но глупее таракана. Это не так уж и плохо, учитывая способность мухи к маневрированию (исключая задачу со стеклом).
Область применения нейропроцессоров
Нейропроцессоры по природе своих вычислительных "способностей" наиболее близки к человеку, а значит и их применение целесообразно буквально во всех областях жизни. Давайте лучше на примерах поговорим где уже используется нейрокомпьютинг.
Экономика и бизнес: предсказание рынков, автоматический дилинг, оценка риска невозврата кредитов, предсказание банкротств, оценка стоимости недвижимости, выявление пере- и недооценки компаний, автоматическое рейтингование, оптимизация портфелей, оптимизация товарных и денежных потоков, автоматическое считывание чеков и форм, безопасность транзакций по пластиковым карточкам.
Компания HNC Software является признанным лидер в области коммерческих приложений, основанных на нейросетевом распознавании образов. Одним из продуктов этой компании является система Falcon, отслеживающая попытки несанкционированного использования кредитных карт. Потери банков-эмитентов от различного рода злоупотреблений с пластиковыми картами достигают десятков миллионов долларов в год. Falcon обучается на большом числе зафиксированных в прошлом случаев мошенничества и в дальнейшем использует выявленные ею различия в характере поведения легальных хозяев и злоумышленников.
Программа ProfixMax Bankruptcy, обученная на доступной статистике, предсказывает риск банкротства клиентов банка по динамике платежного баланса.
Система SkuPlan предсказывает динамику спроса на различный ассортимент розничных торговцев в зависимости от рекламных вложений, погоды, праздников и т.д.
Медицина: обработка медицинских изображений, мониторинг состояния пациентов, диагностика, факторный анализ эффективности лечения, фильтрация показаний приборов от шумов.
Авиация: обучаемые автопилоты, распознавание сигналов радаров, адаптивное пилотирование сильно поврежденного самолета.
Конструкторы гиперзвуковых самолетов сталкиваются с проблемой человеческого фактора. Человек на высоких скоростях пилотирования самолета не всегда способен адекватно и быстро отреагировать на изменение ситуации. Фирма Accurate Automation Corp., Chattanooga, TN по заказу NASA и Air Force разработала гиперзвуковой беспилотный самолет-разведчик названный LoFLYTE (Low-Observable Flight Test Experiment). Эта работа включала и разработку обучающейся нейронной сети, которая обучалась пилотированию копируя приемы пилотов. Скорость обработки поступающих сигналов позволяет пилотировать этот самолет на скоростях 4-5 Махов, когда скорости реакции человека-пилота может уже не хватать.
Вот еще одна интересная разработка в области авиации. Компания McDonnell Douglas Electronic Systems разработала автоматический переключатель режимов полета при повреждении конструкции самолета. Данные от 20 сенсорных датчиков и сигналов пилота используются нейросетью для выработки около 100 аэродинамических параметров полета. Сеть способна адаптироваться к непредсказуемым аэродинамическим режимам, таким как потеря части крыла и т.д.
Связь: сжатие видео-информации, быстрое кодирование-декодирование, оптимизация сотовых сетей и схем маршрутизации пакетов.
Нейросети уже продемонстрировали способность сжатия черно-белого изображения до 120:1, а цветного до 240:1.
Интернет: ассоциативный поиск информации, электронные секретари и агенты пользователя в сети, фильтрация информации в push-системах, рубрикация новостных лент, адресная реклама, адресный маркетинг для электронной торговли.
Нейросетевой продукт SelectCast фирмы Aptex Software Inc. выявляет профили интересов пользователей Internet и предлагает им соответствующим образом отфильтрованную рекламу. Согласно исследованиям, отклик на таким образом отфильтрованную рекламу в среднем в два раза выше, чем на обычную. На отдельные виды рекламы отклик возрос в пять раз.
Политические технологии: анализ и обобщение социологических опросов, предсказание динамики рейтингов, выявление значимых факторов, объективная кластеризация электората, визуализация социальной динамики населения.
Примеров применения нейрокомпьютерных технологий накоплено уже много. В целом области применения нейрокомпьютеров можно охарактеризавать так: там, где нужен гений, а гении нужны везде. Усиленные разработки в этой области ведутся не только за рубежом, но и в России. Мы уже не раз писали об этом и еще вернемся к этой теме. Скорее всего, что процессоры с элементами нейрокомпьютинга появятся скоро и на PC в виде видеоакселераторов. Что-ж поживем - увидим.
В.Калинкин
При подготовки статьи были использованы материалы
НТЦ "Модуль", фирм НейрОК и НейроКомп
статьи "Нейрокомпьютеры: какие они?", "Компьютеры и мозг",
"Нейрокомпьютинг - состояние и перспективы" автор С.А.Шумский.