Биологический нейрон состоит из тела клетки и двух типов внешних древоподобных ветвей: аксона (передатчика) и дендритов (приемников). Нейрон получает импульсы от других нейронов через дендриты и передает сигналы, сгенерированные телом клетки, вдоль аксона, который в конце разветвляется на волокна. На окончаниях этих волокон находятся синапсы. Все взаимодействие нейронов идет как раз через синапс, который, по сути, является волокном аксона одного нейрона и дендритом другого. Когда импульс достигает синапаса, высвобождаются специальные химические вещества, благодаря которым возбуждается или затормаживается (это зависит от типа синапса) электрический импульс. Результативность синапса настраивается проходящими через него сигналами – синапс обучается. Так складывается некая "память" на определенную внешнюю реакцию. Именно это фундаментальное свойство (способность к бучению)
нервной системы было взято за основу при построении нейросетей.
Если продолжить эту аналогию, выяснится, что для моделирования биологической нейросети (а затем и нейрокомпьютера) необходимо сначала построить математический нейрон. Все предельно просто. Математический нейрон также состоит из ячейки (тело), входа
(синапс дендрита) и выхода (волокно аксона). "Самонастройку" биологического синапса имитируют путем введения весов. Каждый вход умножается на соответствующий вес, аналогичный синаптической силе, после чего все произведения суммируются. Таким образом и определяется уровень активации нейрона. После построения искусственного нейрона можно приступить к созданию нейросети.
Нейропроцессоры
Элементной базой нейрокомпьютеров являются нейрочипы. Сейчас подобные устройства производят практически все развитые страны мира. Порадуемся вместе тому, что самые быстрые нейрочипы в мире - разработка российского научно-технического центра "Модуль". Первый
опытный образец отечественного процессора NM 6403 был изготовлен на заводе компании Samsung, так как сделать на российских мощностях столь высокотехнологичное изделие невозможно. Впрочем, достаточно быстро лицензию на производство NM 6403 купила Fujitsu…Из иностранных компаний производителей нейрочипов можно назвать Siemens, Adaptive Solutions, Synaptics, Philips, Intel, IBM и др.
Обычно нейронный процессор состоит из двух блоков: скалярного и векторного. Первый блок играет роль универсального вычислительного устройства, и его основное назначение - подготовка данных для второго блока. Векторный же блок предназначен для выполнения сложных
векторно-матричных операций, и он способен обрабатывать данные различной разрядности. Рассмотрим тот же NM 6403. Центральное звено - векторный блок, оперирующий 64-разрядными словами. Одновременно может обрабатываться до 32-х подобных слов. При этом на каждую
инструкцию векторного процессора затрачивается от 1 до 32-х тактов. Примечательно, что векторные инструкции могут выполняться параллельно с инструкциями скалярного процессора. Следом за своим легендарным предшественником идет модель NM 6404 с тактовой частотой 133 МГц (у 6403 - 50 МГц). NM6404 - высокопроизводительный DSP-ориентированный RISC-процессор. По системе команд совместим с NM6403. Имеются два идентичных программируемых интерфейса
для работы с внешней памятью различного типа и два коммуникационных порта для возможного построения многопроцессорных систем.
Конкурент российского NM 6403 - нейпроцессор MA16 от компании Siemens, изготовленный на основе комплементарных транзисторов с изолированным затвором. Состоит из 610 тыс. транзисторов и выполняет 400 млн. операций сложения и умножения в секунду. Работа процессора распараллелена на четыре одинаковых процессорных элемента. Используется в качестве элементной базы нейрокомпьютера Synaps 1 и нейроускорителей Synaps 2 и Synaps 3.
Всемирно известные компании IBM и Intel также занимаются разработкой нейпроцессоров. Продукт Intel ETANN 80170NX представляет собой сверхбольшую интегральную схему (СБИС) и содержит 64 нейрона. Каждый из 64-х входов соединен с 64-мя синапсами. Обучение
проводится в два этапа, так как простого получения удовлетворительного уровня ошибки недостаточно для точного моделирования аналоговой работы схемы. Вторым этапом является CIL-trainig, в результате которого веса записываются в СБИС после каждого цикла, а выход сети используется в процессе обучения.
Разработка компании IBM, ZISC036, представляет собой нейропроцессор векторно-прототипной архитектуры и содержит 36 нейронов. Чип запоминает прототипные векторы весов, а затем соотносит их с входным вектором. Время загрузки входного вектора составляет 3,5 мс, время появления результата - 0,5 с.
Другое программирование
Не могу не упомянуть то, что нейрокомпьютинг принципиально меняет сам способ использования персональных компьютеров. Здесь на место программирования, по сути, приходит обучение нейрокомпьютера. Тем не менее, есть существенные особенности программирования средств
аппаратной поддержки нейронных вычислений. Как уже говорилось, нейрокомпьютеры состоят из множества работающих параллельно нейронов, поэтому в нейровычислениях на первый план выходят задачи параллельной обработки данных. Впрочем, тема параллельных вычислений вовсе не нова и пришла не из мира нейрокомпьютеров. Однако в нейрокомпьютинге слово "параллельный" наполняется особым смыслом. Дело в том, что важно предусмотреть не только параллельную работу нескольких процессоров, но и параллельную обработку различных данных на одном и том же процессоре. Здесь важно организовать не только сам процесс вычислений, но и продумать подготовку данных с целью предотвращения взаимной блокировки выполняемых одновременно процессов.
В результате в нейропрограммировании к программисту предъявляются совершенно иные требования, чем при "традиционной" работе. Здесь разработчику необходимо совершенно по-другому строить логику программы для максимального использования ресурсов системы и
эффективного распределения нагрузки между процессорами.
Плюсы и минусы
Несмотря на все свои достоинства, нейрокомпьютеры также обладают рядом существенных недостатков, часто взаимосвязанных. Многие из подобных устройств уникальны и создаются для решения конкретных задач. Обычно это задачи, связанные с нелинейной логикой и теорией
самоорганизации. Из уникальности решения вытекает главный недостаток - высокая стоимость.
Тем не менее, очевидно, что, по сравнению с обычными компьютерами, нейрокомпьютеры обладают рядом преимуществ. Среди основных достоинств нейронных вычислительных машин можно назвать очень высокое быстродействие за счет высокой степени параллельности
алгоритмов. Кроме того, многие эксперты отмечают, что устойчивые нейросистемы могут создаваться из ненадежных элементов, обладающих значительным разбросом параметров.
Нейрокомпьютеры сегоднЯ
Большинство современных реализаций нейронный вычислительных систем представляют собой мощный "традиционный" персональный компьютер с дополнительной нейро-платой. Именно такие системы делает компания Fujitsu. Кроме них, стоит вспомнить Mark I Розенблатта. Конечно, прекрасная идея и отличная разработка почти полвека назад не прошли незамеченными и реализовались в последующих моделях. Производством "Марков" сейчас занимается компания TRW.
Так, модель Mark III представляет собой рабочую станцию, содержащую до 15-ти процессоров семейства Motorola 68000 с математическими сопроцессорами. Все процессоры объединены шиной VME. "Старший брат" Mark IV - однопроцессорный суперкомпьютер с конвейерной
архитектурой. Он поддерживает до 236 тыс. виртуальных процессорных элементов, что позволяет обрабатывать до 5 млн. межсоединений в секунду.
Известная американская компания Texas Instruments на основе разработок Кембриджского университета изготовила свой нейрокомпьютер - NETSIM с производительностью аж 450 млн.
межсоединений в секунду! Другой нейрокомпьютер WIZARD/CRS 1000 от компании Computer Recognitiion Systems (CRS) широко используется в промышленных системах автоматического контроля.
Еще раз упомяну тот радостный факт, что в мире насчитывается свыше 50-ти случаев промышленного использования нейрокомпьютеров. Более того, это уже не далекие от жизни научные задачи, а реальность. Подобные системы управляют в реальном времени самолетами и ракетами и применяются в непрерывном производстве.
Нейротехнологии служат и обществу: для распознавания человеческих лиц, букв, сигналов радаров, отпечатков пальцев и т.д. С помощью нейрокомпьютеров составляются прогнозы погоды,
курсы акций, решаются различные стратегические задачи. На основе нейронных сетей построены экспертные системы, широко используемые в медицине и геологии. Думаю, не ошибусь, если скажу, что нейрокомпьютеры в недалеком будущем станут серьезными конкурентами своих электронных "коллег".