Нейрокомпьютер
Нейрокомпью́тер (от нейро... и компьютер), вычислительная система, в которой аппаратное и программное обеспечение оптимизировано для реализации алгоритмов решения задач на основе принципов работы нейронных сетей.
Появление нейрокомпьютера обусловлено прежде всего отказом от логического базиса (И, ИЛИ, НЕ), используемого в компьютерах с т. н. архитектурой фон Неймана, сначала на уровне описания алгоритмов решения задач, затем на уровне элементной базы вычислительных машин с постепенным переходом на использование в качестве базовых элементов вычислительной системы формальных нейронов (с соответствующими алгоритмами настройки весовых коэффициентов входных сигналов), которые в простейшем случае моделируют функции биологических нейронов. Нейросетевые алгоритмы решения задач обеспечивают максимально возможный уровень распараллеливания вычислений при современной аппаратной реализации по сравнению с другими алгоритмами. По способу обработки сигналов различают цифровые, аналоговые и аналого-цифровые нейрокомпьютеры (именно нейрокомпьютеры обусловили тенденцию возврата к аналоговым методам обработки информации, обладающим высоким быстродействием и низкой стоимостью). См. также Аналоговая вычислительная машина.
Нейрокомпьютеры применяют в основном для решения общесистемных задач (обработка сигналов – речевых, сейсмических, радиолокационных, гидроакустических и других; обработка изображений – биометрических, аэрокосмических и других; реализация систем принятия решений, систем защиты информации и др.), задач промышленного назначения (в геоинформационных, телекоммуникационных, космических, навигационных системах, для диагностики технических систем и др.), социально-экономических задач (в медицине, биоинформатике, образовании, экономике и др.).
Основные преимущества нейрокомпьютера: параллелизм вычислений, что обусловливает высокое быстродействие; низкие требования к стабильности и точности параметров элементарных узлов; устойчивость к помехам и разрушениям (выходу из строя) формальных нейронов при большой пространственной размерности системы (причём устойчивые и надёжные нейронные сети могут создаваться из низконадёжных элементов, имеющих большой разброс параметров).
Архитектура нейрокомпьютеров
Известны реализации нейрокомпьютеров в виде совокупности нейрочипов (цифровых, аналоговых, аналого-цифровых); встраиваемых блоков, аппаратно реализующих различные физические принципы действия (оптические, молекулярные, квантовые); классических рабочих станций или супер-ЭВМ различной архитектуры с программным обеспечением, реализующим нейросетевые алгоритмы решения задач. Специализированные нейрочипы часто реализуются на основе процессорных матриц (систолических процессоров). Такие нейрочипы близки к обычным RISC-процессорам [англ. Restricted (reduced) Instruction Set Computer – компьютер с сокращённым набором команд] и объединяют в своём составе некоторое число процессорных элементов, а управляющая и дополнительная логика, как правило, строится на базе дополнительных схем. Основное отличие нейрочипов от других процессоров – это обеспечение высокого параллелизма вычислений за счёт применения специализированного нейросетевого логического базиса или конкретных архитектурных решений. Использование возможности представления нейросетевых алгоритмов для реализации на нейросетевом логическом базисе является основной предпосылкой резкого увеличения производительности нейрочипов.
Различают также нейросигнальные процессоры, ядро которых составляют типовые процессоры цифровой обработки сигналов (ПЦОС, цифровой сигнальный процессор; англ. Digital Signal Processor – DSP), а реализованная на кристалле дополнительная логика обеспечивает выполнение характерных нейросетевых операций (например, дополнительный векторный процессор и т. п.).
Архитектура нейрокомпьютера на базе мультипроцессорных вычислительных комплексов с раздельной памятью строится на основе элементарных машин (ЭМ), объединяемых в вычислительный комплекс посредством коммуникационной сети. Каждая ЭМ состоит из центрального процессора и оперативной памяти; т. к. каждый процессор имеет свою собственную память, то отсюда название – вычислительный комплекс с разделённой оперативной памятью. Так как вычислительный комплекс состоит из достаточно автономных ЭМ, эту структуру можно считать и многомашинным вычислительным комплексом. ЭМ реализуются на базе т. н. транспьютеров [англ. transputer = TRANSfer (передатчик) + comPUTER (вычислитель), разработан фирмой Inmos (Великобритания) в 1979]. Транспьютер – элемент построения многопроцессорных систем, выполненный на одном кристалле большой (сверхбольшой) интегральной схемы (СБИС). Объективной причиной их появления стала возможность реализовать в одном кристалле 16-разрядный (а несколько позднее 32-разрядный) микропроцессор, память и четыре канальных адаптера (последовательных интерфейсов связи, работающих независимо друг от друга и независимо от центрального процессора). Это позволило создавать вычислительные системы, собирая их как конструктор, впервые с возможностью подборки числа процессоров, адекватных сложности решаемой задачи. Под ЭВМ с массовым параллелизмом в отличие от классических многопроцессорных ЭВМ с числом процессоров 2, 4, 8, 16 (как правило, не более) понимают ЭВМ с числом процессоров 4, 8, 10, 16, 32, 128, 256, 512, 1024 и более, в которых соблюдается принцип линейного (или почти линейного) роста производительности в зависимости от числа процессоров (физического объёма или стоимости). Появление таких ЭВМ связано с разработкой фирмой Inmos транспьютера T414. В отличие от обычных микропроцессоров в транспьютере на кристалле были реализованы: 32-разрядный микропроцессор; внутрикристалльное оперативное запоминающее устройство (ОЗУ) объёмом 2 Кбайт; четыре канальных адаптера. Для разработки следующей версии транспьютера T800 фирме Inmos понадобилось около пяти лет. В него были введены два блока: блок выполнения операций с плавающей запятой; внутрикристалльное ОЗУ объёмом 4 Кбайт. Преимуществами транспьютерной идеологии построения сверхвысокопроизводительных ЭВМ были также развитое программное обеспечение, система интерфейсных СБИС (канальные, графические, ввода изображений и др.), система проблемноориентированных СБИС (обработка сигналов, изображений, дисковые системы, реализация тригонометрических функций и т. п.). Интерфейсные и проблемно-ориентированные транспьютерные СБИС имели, как и транспьютеры, свойство каскадируемости с использованием стандартных каналов связи. Транспьютерные системы, разработанные в 1990-х гг., были наиболее эффективной реализацией нейрокомпьютеров, как программно-аппаратных эмуляторов.
Классификация нейрокомпьютеров
Исходя из архитектуры нейрокомпьютеров и нейронных сетей, нейрокомпьютеры классифицируют по типу логики (цифровые, аналоговые и гибридные); типу реализации нейросетевых алгоритмов – с полностью аппаратной реализаций и с программно-аппаратной реализацией (когда нейроалгоритмы хранятся в постоянном запоминающем устройстве); характеру реализации нелинейных преобразований – с жёсткой структурой нейронов (аппаратно реализованных) и нейрокристаллы с настраиваемой структурой нейронов (перепрограммируемые); гибкости структуры нейронных сетей – с жёсткой и переменной нейросетевой структурой (т. е. топология нейронных сетей реализована жёстко или гибко). С точки зрения конструктивной реализации нейрокомпьютеры можно подразделить на изделия, реализованные в виде карт и модулей, и конструктивно-автономные системы. Нейрокомпьютеры, изготовленные в виде карт (виртуальные нейрокомпьютеры), как правило, предназначены для установки в слот расширения стандартного персонального компьютера. С другой стороны, нейрокомпьютеры в виде модулей соединяются с управляющей Host-ЭВМ (ведущей ЭВМ) по стандартному интерфейсу или шине. Рассматривая подходы к аппаратной реализации нейрокомпьютеров в виде конструктивно-автономных систем, необходимо отметить, что, несмотря на широкое распространение различных высокопараллельных ускорителей для различных задач, число моделей полнофункциональных нейрокомпьютеров невелико, т. к. большинство из них служат для специального применения.
Первые разработки нейрокомпьютеров
Аппаратные разработки нейрокомпьютеров начались в 1950-е гг. и велись параллельно с работами над универсальными ЭВМ; постепенно сфера применения нейрокомпьютеров расширялась вследствие роста числа сложных формализуемых и неформализуемых задач, решить которые на классических компьютерах было невозможно или очень трудно. Первый в мире нейрокомпьютер «MARK-1», перцептрон (рис. 1, рис. 2), создан в 1958–1960 гг. американским нейрофизиологом Ф. Розенблаттом.


